计网复习-4
网络层
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范围内唯一,主机号在网络号指明的网络内唯一。
子网掩码将局域网进一步进行划分,分为子网号和主机号。
求网络地址:主机号全部填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报文本身不再发送,第一个分片后续的所有数据报片都不发送,对组播地址的数据报不发送