网络层

4.1 功能

  • 只提供简单灵活的无连接的尽最大努力交付的数据报服务

4.1.1 异构网络互连

  • 网络互联:两个以上的计算机网络,通过一定的方法,用一些中间设备(又称中继设备),互相连接起来,以构成更大的网络系统。

  • 物理层:转发器,集线器

  • 数据链路层:网桥或交换机

  • 网络层:路由器

  • 网络层以上:网关

  • 优点:互联网上主机通信,就如同在一个网络上通信,看不到互联网各个网络具体异构细节。

4.1.2 路由与转发

  • 路由选择:根据特定的路由选择协议构造路由表,同时按照复杂的分布式算法,经常/定期和相邻路由器交换路由信息而不断更新维护路由表,从而动态地改变所选择的路由
  • 分组转发:路由器根据转发表查询,将用户的IP数据报从合适的端口转发出去

4.2 路由算法

4.2.1 距离-向量路由算法

  • 所有结点定期将自己的路由表发送给与之相邻的结点,相邻结点收到后,根据自己的路由表和收到的路由表,更新自己的路由表,然后再将自己的路由表发送给与之相邻的结点,如此循环,直到所有结点的路由表都不再发生变化。
  • 选择表包括: 路径目的地路径代价(距离)
  • 实质:迭代计算一条路由中的站段数或延迟时间,从而达到一个目标的最短通路

4.2.2 链路状态路由算法

  • 测试所有直接链路状态,然后定期将所得状态广播发送给网上其他所有结点;链路状态发生变化,利用 Dijkstra算法 计算出最短路径。

4.3 IPv4

4.3.1 IPv4分组格式

一个IP分组由首部和数据部分组成:首部前一部分长度固定:20B,所有IP分组必须有。

首部重要字段:

  • 版本4位,IP协议的版本,IPv4为 4 ,IPv6为 6 ,目前广泛使用的版本号是 4

  • 首部长度4位,以32位为单位,最大值为 15×4B=60B ,最常用首部长度为20B

  • 区分服务(TOS)8位,服务类型,用于区分不同的服务,包括 3 位的优先权字段(取值可以从 000−111 所有值), 4 位的TOS子字段和 1 位的未用位但必须置 0

  • 总长度16位,IP分组的总长度,即首部和数据之和的长度,单位为字节,因此数据报最大长度为 216−1=65535B

  • 标识16位,计数器,产生数据报就加一。用于数据报分片时标识分组,以便分组重组。

  • 注: 标识 不是 序号 ,因为IP是 无连接 的,不保证数据报的顺序。

  • 标志3位,目前只有两位有效,最低位 MF(More Fragment) 和第二位 DF(Don’t Fragment) ,用于数据报分片

  • 片偏移13位,分片后某片的偏移量,片偏移以 8B 为偏移单位。除最后一个分片外,每个分片的长度都是 8B的整数倍

  • 生存时间(TTL)8位,数据报在网络中可通过路由器的最大值,标识分组在网络中的寿命,确保分组不会在网络中永远循环;经过一个路由器之前,TTL减一,当TTL为0时,分组被丢弃

  • 协议8位,协议字段,即分组的数据部分上交给哪个协议进行处理,如 6 代表 TCP , 17 代表 UDP , 1 代表 ICMP

  • 首部校验和16位,用于检验首部是否出错

  • 源IP地址32位,用于标识发送方主机

  • 目的IP地址32位,用于标识接收方主机

4.3.2 IP数据报分片

  • 一个链路层数据报能承载的最大数据量称为 最大传送单元MTU
  • 链路层的MTU严格地限制着IP数据报的长度,各段链路可能使用不同的链路层协议,故其MTU也不同,例如以太网MTU为 1500B ,许多广域网的MTU不超过 576B
  • 当IP数据报总长度大于MTU时,就需要对数据报进行分片,以便于传输;较小的数据报就称为
  • 每个数据片都要添加相应的首部;其标识号为原始的标识号,片偏移量为该片相对于原始数据报的偏移量
  • 在标志位中,DF=0,表示可以分片;DF=1,表示不允许分片;MF=0,表示最后一个分片;MF=1,表示不是最后一个分片

4.3.3 IPv4地址

  • IP地址::={<网络号>,<主机号>} ,网络号标志主机/路由器连接到的网络。主机号标志主机/路由器。
  • 网络号在整个Internet范围内唯一,主机号在网络号指明的网络内唯一

7.jpg

22.jpg

12.jpg

  • 子网掩码将局域网进一步进行划分,分为子网号和主机号。

  • 求网络地址:主机号全部填0

  • 求直接广播地址:主机号全部填1

  • 最后一个可用ip地址:主机号全部填1再-1

子网划分

  • 先判断地址类别,从而了解子网占几位
  • 得到网络位,子网位,主机位后写出对应的ip地址范围

或者

  • 根据子网数量要求,确定子网位数
  • 再根据子网位数,确定主机位数,从而写出ip地址范围

CIDR路由聚合

  • 使用CIDR时,路由表中每个项目由网络前缀下一跳地址组成。在查找路由表时选择具有最长网络前缀的路由。

4.4 ARP/DHCP/ICMP

4.4.1 地址解析协议(ARP)

4.4.2 网际控制报文协议(ICMP)

  • 功能:报告差错和异常情况
  • 种类:ICMP差错报告报文,ICMP询问报文
  • 类型:终点不可达(不能交付),源点抑制(拥塞),时间超过(TTL <= 0),参数错误(首部字段有值不正确),改变路由(更好的路由)
  • 不应发送ICMP报文的情况:对ICMP报文本身不再发送,第一个分片后续的所有数据报片都不发送,对组播地址的数据报不发送