[学习/自用]计算机网络 知识点

计算机网络

约定

本笔记中,在没有其他特殊说明的情况下,A为发送方,B为接收方,C为中间人(例如路由)

本笔记按照TCP/IP参考模型构造

第一章 概述

  1. 互联网正式标准的三个阶段

    互联网草案、建议标准(RFC)、互联网标准(STD, 包含多个RFC)

  2. 端系统的两种通信方式:

    B/S、P2P方式

  3. 电路交换

    1. 特点:面向连接
    2. 阶段:建立连接、通信、释放连接
    3. 缺点:通信线路利用率低
  4. 分组交换:采用存储转发技术

    1. 概念:将报文均分为几段,每段加上地址
    2. 优点:
      1. 动态分配带宽
      2. 分组独立选择转发路由
      3. 可以不预先建立连接
      4. 保证可靠
    3. 缺点
      1. 排队引发时延
      2. 报文附加地址段需要增加开销
  5. 接入网(AN)不属于互联网的核心/边缘部分

  6. 带宽:本来指信号的频带宽度(频域称谓),计算机网络中指某信道所能通过的最高数据率(时域称谓)

  7. 吞吐量:单位时间内通过某网络(信道、接口)的数据量,用于确定实际上网络经过的数据量

  8. 时延:从A端发往B端所需要的时间

    1. 发送时延:\(发送时延=数据帧长度/发送速率\)提高链路带宽减少发送时延
    2. 传播时延:\(传播时延=信道长度/信号传播速度\)理论上传输时延由物理规则限制
    3. 处理时延:由互联网核心部分设备处理分组产生的时间
    4. 排队时延:分组在路由器中排队等待的时间
    5. \(时延带宽积=传播时延\times带宽\)
  9. 往返时间RTT:A→(PAC)→B→(ACK)→A需要的时间

  10. 利用率

    1. 信道利用率:信道被利用的时间占比(单位为百分比)
    2. 网络利用率:信道利用率的加权平均
    3. $当前网络时延 = 空闲时延 / (1- 网络利用率) $
  11. OSI标准:受法律认可,但是TCP/IP受到广泛应用

第二章 物理层

  1. 物理层协议也成为物理层“规程”

  2. 主要任务:机械特征、电气特征、功能特征、过程特征

  3. 基带信号:来自信息源,存在直流、低频分量,不利于传输

    基带调制:将基带信号进行编码,使得其适合于在信道上传输,变换后仍然为基带信号

    带通调制:将基带信号搬移到更高的频段

  4. 基带调制编码方式

    • 不归零制:正电平表示1
    • 归零制:正脉冲表示1
    • 曼彻斯特编码(具有自同步能力:可提取时钟频率,下同):位中心(例如2.5V)上为1(5V),下(0V)为0
    • 差分曼彻斯特编码:位开始跳变为1(即与前一位不同就跳变)
  5. 带通调制编码方式:调幅、调频、调相

  6. 信道极限容量和码间串扰问题

    1. 信噪比:信号的平均功率和噪声功率之比,\(SNR= 10\log_{10}(S/N)\)
    2. 极限信息传输功率(香农公式)\(C=W\log_{2}(1+S/N)\),式中\(W\)为信道带宽,单位为\(Hz\),S为信号平均功率,N为信道高斯噪声功率
  7. 传输媒体

    1. 导引型(例如电缆)
      1. 双绞线:5类常用
      2. 同轴电缆
      3. 光缆:利用全反射。分为单模、多模
    2. 非导引型(自由空间,利用无线电)
  8. 信道复用

    1. 时分复用TDM:所有用户在不同的时间内占用同样的带宽,TDM时隙周期出现

      缺点:线路资源浪费

      STDM:按需动态分配时隙

    2. 波分复用WDM:光的频分复用

    3. 码分复用CDM

      1. 码分多址CDMA,用户码型独立,不会产生干扰。频谱类似于白噪声,不易被敌人察觉
      2. 发送方法:发送1时发送码片序列,发送0时发送码片序列的反码。将每个比特转换为m长度的码片,因此频带宽度提升
      3. 扩频通信:直接序列扩频、跳频扩频FHSS
      4. 码片序列要求:①必须各不相同②必须互相正交。实际系统常用伪随机码序列
      5. 规格化内积来区分不同的用户发送的信息
  9. 宽带(超过200kbits/s)接入技术

    1. 非对称数字用户线ASDL:电话线改造,低频用于电话通信,高频用于网络通信

      DMT技术:频分复用,ADSL的数字业务中分为上下行信道,40~1100Hz

    2. 光纤同轴混合网HFC:改造电视线路

    3. 光纤入户接入网技术FTTx

第三章 数据链路层

  1. 数据链路层传输的是帧

  2. 数据链路层所有协议都不是可靠传输协议

  3. 数据链路层工作

    1. 封装成帧
      1. 目标:在一段数据前后添加首部、尾部确定帧的定界
      2. 帧定界符冲突:字节/字符填充:遍历要发送的数据,在冲突的字符(SOH、EOT字符)前面加一个ESC(0x1B)字符/字节
    2. 透明传输
    3. 差错控制
      1. 尾加循环冗余校验码CRC,称为帧检验序列FCS。FCS亦可使用非CRC方法得出
      2. 任何差错都导致FCS不通过校验,丢弃此帧
      3. 差错控制只能做到无差错接受(即可以保证传输过程中接收到的帧都是无差错的),而不是可靠传输(发什么收什么)
  4. PPP协议

    1. 标志位0x7E
    2. 字符填充:信息部分中0x7E变为0x7D, 0x5E, 0x7D变为 0x7D, 0x5D,ASCII控制字符前面加一个0x7D
    3. 零比特填充:五个连续1,后面补一个0.
  5. 广播信道数据链路层

    1. 局域网数据链路层IEEE 802.3

      1. 数据链路层的两个子层:逻辑链路控制LLC(一般不考虑)、媒体接入控制MAC
    2. 载波监听多点接入/碰撞(CSMA/CD)协议(总线以太网)此乃重点

      1. 多个计算机接入到一根总线上
      2. 不可靠交付
      3. 曼彻斯特编码
      4. 每次总线上只能有一个设备占用总线,否则发生碰撞。通过探测总线(载波监听)来确定是否可以发送数据
      5. CSMA/CD只能执行双向交替通行(半双工)
      6. 争用期:发送数据站最多间隔两倍端端往返时延就能察觉碰撞,此时间称为争用期/碰撞窗口。在争用期内没有碰撞才能确定数据不被碰撞
    3. 集线器星形拓扑

      1. 同样是一个总线网
    4. 以太网总的信道利用率不能达到100%

    5. 信道利用率最大值:设\(\tau\)为端端时延, \(T_0\)为帧发送时间,理想情况下信道极限利用率

      \[\ S_{max} = \frac{T_0}{T_0 + \tau} = \frac{1}{1+a}, a= \frac{\tau}{T_0} \]

  6. MAC层:又称为物理地址,局域网中称为“介质访问控制子层”

    1. 结构:高24位:组织唯一标识符,低24位:拓展唯一标识符(用于标识所有适配器)
    2. 地址第一位为I/G位,指定单站地址(0)或组地址(1)
    3. 地址第二位为G/L位,用于指定全球管理(0)与本地管理(1)
    4. 适配器(网卡)检查MAC地址:
      1. 发往本站(包括单播(一对一)、广播(一对所有)、多播(一对多))的帧收下,否则丢弃
      2. 适配器能识别单播、广播地址,可以用编程的方法识别多播地址
      3. 只有目的地址才能使用广播地址和多播地址
      4. 混杂模式:监听到的包全部记下来
    5. 常见MAC地址格式:以太网V2,IEEE 802.3。
      1. 以太网V2数据报结构:同步码(01重复7字节,用于比特同步) + 帧开始定界符(10..11,1字节) + 目的地址 + 源地址 + 上层协议类型 + 数据字段(小于64-18=46字节时,填充整数字节的填充字段) + FCS帧检验字段
      2. IEEE 802.3 数据报结构:(同上)将上层协议类型更换为长度/类型字符,小于0x0600时数据字段封装LLC帧
  7. 拓展以太网

    1. 集线器:拓展以太网覆盖范围,但是吞吐量未提高

    2. 网桥/交换机:

      1. 网桥工作在数据链路层,用于转发MAC地址

      2. 第二层交换机(L2 switch)工作在数据链路层

        接口有存储器、即插即用、地址表自学习、硬件结构转发

        • 自学习:发送帧时记录下设备和接口的绑定,如果目的地址有绑定,则发送到目的地址;如果无绑定,则广播给所有主机。设置有效时间,超时删除记录
        • 生成树STP协议:用于在逻辑上切断某些环路,让主机链路总是无环的。避免兜圈子
    3. 虚拟以太网(VLAN)

      1. 逻辑上将各个主机划分到一个类局域网区内,
      2. 在以太网帧中插入4字节标识符(VLAN标记),以太网帧更名为802.1Q帧
    4. 高速以太网(超过100Mbit/s)、吉比特以太网(超过1Gbit/s)、PPPoE

      1. 100BASE-TX:网段最大程度100米,2对UTP5类线或者STP
      2. 100BASE-T4:100米,4对UTP3或者UTP5
      3. 100BASE-FX:2000米,2对光纤
    5. 吉比特以太网(超过1Gbit/s)

      1. 1000BASE-SX,550米,多模光纤

      2. 1000BASE-LX,5000米

      3. 1000BASE-CX,25米

      4. 1000BASE-T,100米

第四章 网络层

网络层提供无连接不可靠数据报服务

  1. 网际协议IP

    1. 五种不同的中间设备
      • 物理层:转发器
      • 数据链路层:网桥
      • 网络层:路由器
      • 数据链路层+网络层:桥路器
      • 网络层以上:网关
    2. IP地址:所有连接在互联网上的主机分配在全世界范围内唯一的32位(IPv4)标识符
      1. 由互联网名字和数字分配机构ICANN分配
      2. 分类IP地址:
        1. 两段IP地址:网络号、主机号
          • A类地址:0 + 7位网络号(网络号供共1字节)
            • 最大可指派网络数:\(2^7-1-1=126\)(注意这里减2,下面的BC类都是减1),可分配主机数:\(2^{24} -2 = 166777214\)(此处都是减2)
          • B类地址:10 + 14位网络号(2字节)
            • 最大可指派网络数\(2^{14} -1 = 16383\),可分配主机数:\(2^{16}-2 = 65534\)
          • C类地址:110 + 21位网络号(3字节)
          • D类地址:1110 + 多播地址
          • E类保留地址:1111 + 保留地址
        2. 将32位地址每8位转换一次10进制,保存为xxx.xxx.xxx.xxx形式(点分法)
        3. 特殊IP地址
          • 0.0.0.0:本机(见DHCP),源
          • 0.host-id:本网络上的主机,源
          • 1111.1111(两个段都是全1):本网络内广播(路由不转发),目的
          • netid.1111(host-id全是1):对net-id网段广播,目的
          • 127.?(主机号不全为1和0),环回测试,目的,源
        4. 一个路由器至少应当有两个不同的IP地址
    3. ARP协议:IP转硬件地址
      1. 绑定IP和MAC地址,并存储有效时间TTL
      2. 发送数据报流程:查询ARP表,如有绑定则直接发送,如无绑定则广播ARP请求分组,并存储响应分组
        1. ARP请求(响应)分组:发送方硬件地址+发送方IP+目标硬件地址(如无为0)+目标IP地址
        2. ARP请求分组只在本地进行广播
      3. ARP只负责同一局域网内地址转换问题,如需要跨网段,则需要将数据报发完路由器
      4. IP到MAC解析自动执行
    4. IP数据报(按照自左向右顺序)
      1. 4, IP协议版本
      2. 4, 首部长度,最大为60字节
      3. 8, 区分服务
      4. 16, 总长度。数据报和首部的数据之和的长度,单位为字节。总长度不大于MTU
      5. 16, IP数据报标识
      6. 3, 标志位, 第一位MF标识是(1)否(0)后面还有分片。第二位DF标识是否允许分片(0)
      7. 13, 片偏移,指示分组在分片后某片的相对位置,以8个字节为单位
      8. 8, TTL,标识数据报在网络中可通过的路由器数最大值
      9. 8, 协议代号
      10. 16, 首部校验和(反码算术求和)
      11. 32,32, 源、目标地址
    5. 路由器分组转发算法:思路:按目标地址巡线。如果没有路由表指明的路由器,则转发给默认路由。否则出错。
  2. 三级IP地址(划分子网)

    1. 结构:网络号+子网号+主机号
    2. 子网对外网络透明,只是某单位内部对网络执行划分
    3. IP地址 AND 子网掩码 = 网络地址
    4. 改进的路由器分组转发算法:目标地址中需要和子网掩码执行按位与来找到对应的网络地址
  3. 无分类域间路由选择CIDR

    1. 结构:网络前缀+主机号(斜线记法)例如22.78.56.5/24,这个24代表网络前缀的位数。

      网络前缀代替网络号、子网号

    2. CIDR掩码:斜杠后面的数字代表的连续的1的个数,例如10.0.0.0/10,255.192.0.0(1111 1111 11 00~)

      网络前缀都相同的连续IP地址称为CIDR地址块

    3. 路由聚合:前n位(CIDR地址块)表示一个路由项目

    4. 最长前缀匹配:路由表中同时有两个CIDR块和目的地址匹配时,优先选择前缀匹配的路由记录

  4. ICMP:差错报告报文和询问报文

    1. 差错报文:不可达、超时、参数错误、重定向
    2. 询问报文:PING、tracert
  5. 路由选择协议算法

    互联网采用分层次的路由选择协议

    1. 内部:路由信息协议RIP

      • 分布式、基于向量的路由选择协议

      • 距离使用“跳”数计量,一条路径最多只能包含15个路由器。超过(≥16)即为不可达

      • 选择具有路由器最少的路由

      • 特点:仅交换相邻路由器的信息、交换路由表、按照固定时间间隔交换信息

      • 合并路由表的方法:绘制网络结点图

      • 缺点:好消息传播的快、坏消息慢。网络故障需要经一段时间才能传遍所有路由器

      • RIP2具有鉴别功能

    2. 内部:开放短路径优先OSPF

      • 洪泛通信(用于更新全网(一般是区域内)链路状态)、建立全网的拓扑结构图
      • 路由器维护一个链路状态数据库
      • 使用IP数据报发送
      • OSPF具有鉴别功能
    3. 外部:BGP

      • 选出自治区域内的BGP发言人,交换路径向量,向量结点为自治系统
  6. 路由器

    • (其他略)分组丢弃:由输入输出队列溢出导致的
    • 交换结构:(其他略)纵横交换结构:2N条总线,第N端口转发的垂直总线空闲则接通水平总线,否则等待
  7. IPv6

    1. 结构:

      1. 4, 版本
      2. 8, 通信量类,区分不同数据报的类别、优先级
      3. 20, 流标号:从A到B的一系列数据报流都具有相同的流标号
      4. 16, 有效载荷长度(IP数据报去除基本首部以外的字节数)
      5. 8, 下一个首部
      6. 8, 跳数限制。此值每次转发时-1
      7. 128,128 源、目标地址
    2. 六种拓展首部:逐跳选择、路由选择、分片、鉴别、封装安全有效载荷、目的站选项

    3. 地址:单播、多播、任播(一组计算机随便交付一个)

    4. 每16位用十六进制表示,用冒号分隔,0000简写为0

      连续的一串0可以取代为一对冒号,但是只能用一次(零压缩) FF05:0:0:0:0:0:0:B3 = FF05::B3

      可用CIDR记法

    5. 特殊IPv6地址

      1. 未指明:全为0,::/128
      2. 环回地址:00...1(最后一位为1), ::1/128
      3. 多播地址:前8位为1: FF08::/10
      4. 本地链路单播地址:FE80::/10,用于在不接入互联网的情况下执行局域网通信
    6. ICMPv6

      1. 用于报告差错、获取信息、探测邻站、管理多播通信等
  8. IP多播

    1. 多播地址不能是源地址
    2. IGMP协议
  9. VPN、NAT

    1. 专用IP地址块
      • 10.0.0.0~10.255.255.255:A类,或称为24位块,10.0.0.0/8
      • 172.16.0.0~172.31.255.255:B类,或称为20位块
      • 192.168.0.0~192.168.255.255:C类,或称为16位块
    2. 网络地址转换:用路由器的全网IP通信,之后再交付给请求的主机。(或者绑定到端口)
  10. MPLS

  11. 其他

    1. 以太网802.3最大可传送帧长:1500字节

第五章 运输层

  1. 两台主机之间的通信就是应用进程进行互相通信

  2. UDP

    1. 主要特点
      • 无连接,因此不需要套接字
      • 不保证可靠交付
      • 面向报文
      • 没有拥塞控制
      • 首部开销小,只有8字节
    2. 结构:
      1. 伪首部(仅计算校验和时加上,其他时候删掉):4源IP+4目标IP+标志位(0x00,0x17)+2长度
      2. 2,源端口+2,目的端口
      3. 2,长度
      4. 2,校验和(连上伪首部,二进制累加然后取反)
  3. TCP

    1. 主要特点

      • 面向连接,点对点(单播通信),具有套接字
      • 可靠交付
      • 全双工通信
      • 面向字节流(即数据在TCP看来就是字节流,不分数据报),将过长的字节流划分短,生成TCP数据报
    2. 套接字:绑定IP和端口号

    3. 可靠传输协议

      停等协议

      1. 基本思路:A发一个分组B确认一个分组,A再发下一个分组
    4. 超时重传ARQ

      • A发送分组之后设置计时器,B在计时器时间内回复收到信息到A.如果超时,则重传(确认丢失机制)

      • 确认迟到:丢弃重复的确认和重传的分组

      • A需要暂时缓存已发送的分组,以备重发

      • 超时定时比平均往返时间长一点

      • 信道利用率太低

      1. 流水线(连续ARQ、滑动窗口协议)
    5. TCP报文格式:首部最小长度:20字节,最多40字节

      1. TCP报文格式
        1. 8, 源+ 8, 目的
        2. 16 序号:报文段传输的第一个字节的序号
        3. 16, 确认号:期望收到的下一个报文段的第一个字节的序号
        4. 4, 数据偏移:表示起始数据距离起始TCP报文段位置的偏移,单位为4字节
        5. 6, 保留字
        6. 6, 标志字:URG, ACK, PSH, RST, SYN, FIN
        7. 8, 窗口字段
        8. 8 检验和(要加上伪首部)
        9. 8, 紧急指针
        10. 选项字段(长度可变)
    6. TCP可靠传输:字节单位的滑动窗口、超时重传、选择确认SACK

      1. 加权平均往返时间\(RTT_S\)

        \[RTT_S = (1-\alpha) RTT_S + \alpha RTT \]

        \(\alpha\)推荐值为0.125

      2. 超时重传时间\(RTT_O\)

      \[RTO=RTT_S + 4\times RTT_D\\ RTT_D = (1-\beta)RTT_D + \beta |{RTT_S-RTT}| \]

      \(\beta\)推荐值为0.25

      1. Karn算法:用于测量具有重传时的RTT:(修正后)\(RTO = \gamma RTO\),报文段每重传一次,RTO增大为原来的\(\gamma\)
    7. 流量控制

      1. 原理:利用rwnd字段调整接收方可以一次接受的窗口大小
      2. 持续计时器:防止死锁
      3. Nagle算法:先发送一个字节,在接收到响应之后再发送报文
    8. 拥塞控制

      1. 网络发生拥塞的标志:分组丢失

      2. TCP的拥塞控制:发送端维护一个拥塞窗口CWND,实际发送窗口值\(\text{wnd} = \min(\text{CWND},\text{SWND})\)。拥塞端口动态的根据网络的拥塞程度变化

      3. 判断拥塞:重传定时器超时、收到重复的三个ACK

      4. 拥塞控制算法

        1. 慢开始:由小到大逐渐增大拥塞窗口,每经过一个传输轮次CWND加倍

          设置慢开始门限,cwnd值低于此门限时,使用慢开始算法,高于门限时,使用拥塞避免算法:CWND每过一个轮次+1

          一旦出现拥塞:门限降低为当前cwnd的一半和2的最大值,cwnd=1,执行本算法

        2. 快重传:A一旦收到3个重复确认,立即向B重传

        3. 快恢复:A一旦收到3个重复确认,门限降低为当前cwnd的一半,cwnd重设为门限,再次执行拥塞避免算法

      5. 主动队列管理:RED算法

    9. TCP运输建立

      1. 连接建立:三次握手
        • A: SYN = 1 , SEQ = x
        • B: SYN = 1 , ACK = 1, seq = y, ack = x+1
        • A: ACK = 1 , seq = x+1, ack = y +1
      2. 连接释放:四次握手

第六章 应用层

本章略去内容较多

  1. DNS服务

  2. FTP服务

    1. 21:负责控制信号,20:负责文件信号
    2. TFTP:89端口
  3. TELNET:将击键和命令转换为NVT格式传送

  4. 万维网

    1. URL

      1. 格式:<协议>://<主机>:<端口>/<路径>

      2. HTTP:面向事务的超文本传送协议

        1. HTTP/1.0: 无状态

          缺点:每请求一个文档就需要两倍RTT开销

        2. HTTP/1.1:持续链接

      3. 代理服务器CDN

      4. HTTP报文、HTML语言(略)

    2. XML

    3. 邮件服务:送信SMTP,收信POP3、IMAP,通用互联网邮件扩充MIME

  5. DHCP服务:服务器端口67,客户端口68

  6. 简单网络管理服务SNMP:使用UDP

  7. P2P

posted @ 2022-06-05 23:16  二氢茉莉酮酸甲酯  阅读(260)  评论(0编辑  收藏  举报