计算机网络 | 网络层
- 计算机网络 | 网络层
- 功能概述
- SDN(Software-Defined Networking)
- 路由算法与路由协议
- IPv4
- IPv4 分组
- IPv4 分组的格式
- IPv4 数据报分片
参考视频:王道计算机考研 计算机网络
参考书:《2022年计算机网络考研复习指导》
计算机网络 | 网络层
功能概述
网络层:向上提供简单的、无连接的、尽最大努力交付的数据报服务。
- 功能一:路由选择与分组转发:让数据在路由器之间走最佳的路径。
- 功能二:异构网络互联:让不同的设备(手机、电脑、平板等)都能正常连接。
- 功能三:拥塞控制
- 开环控制(静态):在拥塞之前就提前设计解决。
- 闭环控制(动态):在拥塞时自动调整解决问题。
拥塞:在通信子网中,因出现过量的分组而引起网络性能下降的现象。
数据在各层的传输形式:
OSI参考模型 | 各层次的传输单元 |
---|---|
应用层 | 报文 |
传输层 | 报文段 |
网络层 | IP数据报,分组(如果IP数据报太大就切割成分组) |
数据链路层 | 帧 |
物理层 | 比特流 |
SDN(Software-Defined Networking)
数据平面:用于控制数据处理过程中各种具体处理转发过程。处理时间短,在路由器中用硬件实现。
控制平面:用于控制、管理网络协议的运行,比如 OSPF 协议、RIP 协议、BGP 协议。处理时间长,在路由器中用软件实现。
分为两种:
- 每路由器法
- SDN 法
每路由器法:
SDN 法:
注:上面的交换机实际上是路由器。
SDN 控制器的三个层次:
- 对于网络控制应用程序的接口:SDN 控制器通过“北向接口”与网络控制应用程序交互,该 API 允许网络控制应用程序在状态管理层之间读写网络状态。
- 网络范围状态管理层:由 SDN 控制平面作出的最终控制决定,将要求控制器具有有关网络的主机、链路等最新状态信息。
- 通信层:负责 SDN 控制器与受控网络设备之间的通信(OpenFlow 协议),包含“南向接口”。
例题:
小结:
路由算法与路由协议
路由算法的分类:
层次路由:
- 内部网关协议(IGP):也称域内路由选择。
- 外部网关协议(EGP):也称域间路由选择。
示例:
IPv4
IPv4 分组
IPv4 分组的格式
一个 IP 分组由首部和数据部分组成:
- 首部:固定长度为 20 比特, 是所有 IP 分组必需的。后面是一些可选字段,长度可变,用来提供错误检测及安全等机制。
- 数据部分:TCP、UDP段。
IP 数据报格式:
名称 | 英文 | 注释 | 大小 |
---|---|---|---|
版本 | Version | ipv4或者ipv6 | 4位 |
首部长度 | IHL | 此处数值再乘以4才是真正大小,同时因为IP数据报固定长度为20字节,所以此处最小值为5,即二进制的0101 | 4位 |
区分服务 | DSCP + ECN | 希望获得哪种服务,用的比较少 | 8位 |
总长度 | Total Length | 首部+数据的长度,最大为216-1=65535B | 16位 |
标识 | Identification | 用来表示是哪一个数据报的分片,不同的分片标识各不相同 | 8位 |
标志 | Flags | 用来表示是否分片和分片是否结束 | 3位,但实际有用的只有后两位 |
片偏移 | Fragment Offset | 用来标记分片之后,该分片在原来的数据报的位置,以8字节为单位 | 13位 |
生存时间 | Time To Live 即TTL | 每经过一个路由器TTL-1,0时自动放弃,根据系统不同默认的TTL不同 | 8位 |
协议 | Protocol | 用来标记协议名的字段值,如TCP、UDP、ICMP等 | 8位 |
首部检验和 | Header Checksum | 检验首部的字段是否出错,出错就丢弃此数据报 | 8位 |
源地址 | Source IP Address | 发送方ip地址 | 32位 |
目的地址 | Destination IP Address | 接收方ip地址 | 32位 |
可选字段 | Options | 用来排错等安全检测 | 未知,可在0-40位之间 |
填充 | 将数据报对齐成4字节的整数倍,数值全部为0 | 未知,根据可选字段来定 |
注:总长度单位是 1B,片偏移单位是 8B,首部长度单位是 4B。
IPv4 数据报分片
最大传送单元(MTU):一个数据链路层数据报能承载的最大数据量。
以太网的 MTU 是 1500 字节。
如果 IP 分组超过了某链路的 MTU 值?
IP 数据报分片。
例题: