计算机网络
第四章 网络层
author:slightwjq
2023年1月7日
4.1 网络层功能
网络层设计思路是向上只提供简单灵活的、无连接的、尽最大努力交付的数据服务。路由器主要完成的功能是路由选择和分组转发。
拥塞控制
因网络出现过量的分组而引起网络性能的下降的现象称为拥塞。如果网络吞吐量下降到零,那么网络可能已进入死锁状态。拥塞控制的方法有两种:开环控制和闭环控制。
4.2 路由算法
距离-向量路由算法
所有结点定期的将它们整个路由表传送给与之相邻的结点。路由表包含每条路径的目的地和路径的代价。
链路状态路由算法
要求每个参与该算法的结点都拥有完全的网络拓扑信息,典型的是OSPF算法。一个结点检查所有直接链路状态,并将其所得的状态信息发送给网上所有其他结点。
层次路由
因特网将整个互联网划分为许多较小的自治系统。路由选择协议可以分为:
- 一个自治系统内部所使用的的路由选择协议称为内部网关协议IGP,有RIP和OSPF等。
- 自治系统之间所使用的路由选择协议称为外部网关协议EGP,有BGP。
4.3 IPV4
IPV4分组
分组格式:一个IP分组由首部和数据部分组成,首部前一部分长度固定,共20B。
首部重要字段如下:
- 版本:IP协议版本,当前为4
- 首部长度:占4位,以32位为单位,常用20B。
- 总长度:占16位,单位是字节,最大长度65535B。
- 标识:占16位,当数据报长度超过MTU时,必须分片,此时每个数据报片都复制一次标识号,以便能正确组装成原来的数据报。
- 标志:占3位,最低位为MF,MF = 1表示后面还有分片,MF = 0表示最后一个分片。中间一位是DF,DF = 0时允许分片。
- 片偏移:占13位,8字节为单位,除最后一个分片,每个分片一定是8B的整数倍。
- 生存时间TTL:占8位,表示可通过的路由器数的最大值。
- 协议:占8位,表示数据用的何种协议。
- 首部校验和:16位。
- 源地址字段:占4B,发送方IP。
- 目的地址字段:占4B,接收方IP。
以太网MTU = 1500B,许多广域网MTU不超过576B。
IPV4地址与NAT
IP地址:连接到因特网的每台主机都分配的一个32bit的全球唯一标识符。IP地址由网络号和主机号两部分组成。
- 主机号全0表示网络本身。
- 主机号全1表示广播地址。
- 127.x.x.x保留为还回自检,目的地址为还回地址的数据报永不出现在任何网络上。
- 32位全0表示本主机。
- 32位全1表示整个TCP/IP网络广播,但由于路由器隔离广播域,也是本网络广播。
网络地址转换NAT:指通过专用网络地址转换为公用地址,从而对外隐藏内部管理的IP地址。
子网划分与子网掩码、CIDR
子网划分:两级IP不够灵活,因而又增加了子网号字段。
子网掩码:字码掩码与主机号AND运算,即可得到子网地址。路由器交换信息时,除了给出目的网络地址和下一跳外还必须给出子网掩码。
无分类编制CIDR:使用“网络前缀”的概念代替了子网络的概念。使用IP地址/网络前缀的记法。
默认路由:在分组转发过程中,用0.0.0.0/0表示默认路由,目的网络不在转发表中即选择默认路由。
ARP、DHCP和ICMP
地址解析协议ARP:完成IP地址到MAC地址的映射。每台主机都有ARP高速缓存,用来存放本局域网上的映射表,称为ARP表。如果缓存中没有,则使用MAC地址为全1的帧封装并广播ARP请求分组。目的主机收到广播之后,向源主机单播响应一个ARP响应分组。
动态主机配置协议DHCP:常用于给主机动态分配IP地址,是应用层协议,基于UDP的。
网际报文控制协议ICMP:让主机或路由器报告差错和异常情况,是IP层协议。报文类型有两种ICMP差错报告报文和ICMP询问报文。
差错报告报文类型:
终点不可达:不能交付。
源点抑制:拥塞。
时间超过:报文TTL = 0。
参数问题:首部字段有误。
改变路由(重定向)。
询问报文有:回送请求和回答报文、时间戳请求和回答报文、地址掩码请求和回答报文、路由器询问和通告报文。
4.4 IPV6
根本上解决IP地址耗尽问题,IPv6地址有64位。
4.5 路由协议
路由信息协议RIP
RIP是一种分布式的基于距离向量的路由选择协议。
RIP规定:- 每个路由器都要维护其自身到每个网络的距离记录。
- 距离也称跳数,每经过一个路由器+1.
- RIP优先选择跳数少的路径。
- RIP允许一条路径最多包含15个路由器,即RIP只适用于小型互联网。
- 默认在任意两使用RIP路由器之间每30s广播一次RIP路由更新信息。
- 不支持子网掩码的RIP广播。
开放最短路径优先协议OSPF
OSPF协议是使用分布式链路状态路由算法的典型代表。
与RIP的区别:
- OSPF向本自治系统所有路由器使用洪泛法发送信息。
- 发送的信息是本路由器相邻所有路由器的链路状态。
- 只有当链路状态变化时,才发送此信息。
- OSPF是网络层协议,直接使用IP数据报。
特点:
- 对不同链路根据服务类型不同设置不同的代价。
- 多路径间的负载平衡。
- 对路由器间交换的分组有鉴别功能。
- 支持可变长度的子网划分和CIDR。
- 每个链路都带上一个32位序号,序号越大,状态越新。
边界网关协议BGP
BGP协议是不同自治系统的路由器之间交换路由信息的协议。BGP只寻找较好的路径而非最好。是应用层协议,是基于TCP的。
特点:
- BGP交换路由信息的结点数量是自治系统的数量级。
- 每个自治系统的边界路由器是很少的。
- 支持CIDR。
- 运行之后只在发生变化时更新变化的部分。
4.6 IP组播
组播仅应用于UDP,让源主机把单个分组发送给一个组播地址,主机可以选择加入或离开一个分组。主机组播时仅发送一份数据,只有在数据传送路径出现分叉时才复制继续转发。
IGMP
要使路由器知道组播组成员信息,要使用因特网组管理协议IGMP。
4.7 移动IP
移动IP技术是指移动结点以固定的网络IP地址实现跨越不同网段的漫游功能,并保证基于网络IP的网络权限在漫游过程中不发生改变。
4.8 网络层设备
路由器是一种具有多个输入/输出端口的专用计算机,其任务是连接不同的网络并完成路由转发。多个逻辑网络互联必须使用路由器。
路由器的关键部件是交换结构,交换结构本身就是一个网络。路由器是面向协议的。
路由表是根据路由选择算法得到的,主要用途是路由选择。路右边有四个项目:目的网络IP地址、子网掩码、下一跳IP地址、接口。
- 本文作者: 魏静崎
- 本文链接: https://slightwjq.github.io/2023/10/17/计算机网络-第四章/
- 版权声明: 该文章来源及最终解释权归作者所有