1. 网络层功能
1.1 网络层功能概述
- 主要任务是把 分组 从源端传到目的端,为分组交换网上的不同主机提供通信服务。
- 网络层传输单位是 数据报。
- 数据报与分组的关系:分组是切割数据报后的一个片段,整体与部分的关系
功能一:路由选择与分组转发
- 路由选择: 确定哪一条路径 构造路由表
- 分组转发:当一个分组到达时所采取的动作 转发表查询、转发等
功能二:异构网络互联
网络互联,指将两个以上的计算机网络,通过一定方法,用一种或多做通信处理设备(即中间设备)相互连接,构成更大的网络系统。
网络互联通常指用路由器进行网络互联和路由选择。
中间设备:又称中间系统或中断系统,分为以下4种:
- 物理层中断系统:中断器、集线器(Hub)
- 数据链路层中断系统:网桥或交换机
- 网络层中断系统:路由器
- 网络层以上的中断系统:网关
功能三:拥塞控制
两种方法:
- 开环控制 静态
- 闭环控制 动态
1.2 数据交换方式
1.2.1 电路交换
- 优点
- 通信时延小
- 有序传输
- 没用冲突
- 实时性强
- 缺点
- 建立连接时间长
- 线路独占,使用效率低
- 灵活性差
- 无差错控制能力
1.2.2 报文交换
- 优点
- 无需建立连接
- 存储转发,动态分配线路
- 线路可靠性较高
- 路线利用率较高
- 多目标服务
- 缺点
- 有存储转发时延
- 报文大小不定,需要网络结点有较大缓存空间
1.2.3 分组交换
分组:把大的数据块分割成小的数据块。
- 优点:
- 无需建立连接
- 存储转发,动态分配线路
- 线路可靠性较高(分组较短,出错几率较小)
- 线路利用率较高
- 相对于报文交换,存储管理更容易
- 缺点:
- 有存储转发时延
- 需要传输额外的信息量
- 乱序到目的主机时,要对分组排序重组
1.2.3.1 数据报方式
- 数据报方式 为网络层提供 无连接服务 。
无连接服务:不事先为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径可能不同。
- 因特网在使用
- 每个分组携带源和目的地址
- 路由器根据分组的目的地址转发分组:
- 基于路由协议/算法构建转发表;
- 检索转发表;
- 每个分组独立选路。
1.2.3.2 虚电路方式
- 虚电路方式 为网络层提供 连接服务 。
连接服务:首先为分组的传输确定传输路径(建立连接),然后沿该路径(连接)传输系列分组,系列分组传输路径相同,传输结束后拆除连接。
- 虚电路将
数据报方式
和电路交换方式
结合,以发挥两者优点。 - 虚电路:一条源主机到目的主机类似于电路的路径(逻辑连接),路径上所有结点都要维持这条虚电路的建立,都维持一张虚电路表,每一项记录了一个打开的虚电路的信息。
数据报&虚电路
例题:报文交换&分组交换
注意点:
- 1Byte = 8 bit, Mbps = 106bps, kbps = 103bps
- 大部分不考虑,需要注意
- (见图片)
三种数据交换方式比较总结
-
报文交换 和 分组交换 都采用存储转发。
-
传送数据量大,且传输时间远大于呼叫时,选择 电路交换 。
电路交换传输时延最小。
-
从信道利用率看, 报文交换 和 分组交换 优于 电路交换 ,其中分组交换时延更小。
2. IP数据报格式
-
TCP/IP协议栈
2.1 IP数据报格式
-
版本: 有4位,表示使用的IP协议的版本是 IPv4 还是 IPv6 (v表示version)
-
首部长度:单位是 4 B,最小为 5
从图中可以看到,首部长度有 4 位, 4 位用二进制可以表示 24 = 16个数(0~15);
若首部长度为 8 (单位4B),则 8 * 4B = 32B ;
若首部长度为 5(单位4B), 则 5 * 4B = 20B,刚好为固定部分的长度;
8 bit = 1 B, 每一行为 32 bit,即 4 B,固定部分长度共5行,故为 20 B。
-
区分服务:指示期忘获得哪种类型的服务
-
总长度: 首部 + 数据, 单位是 1 B
总长度有 16 位, 16 位用二进制可以表示 216 = 65536个数(0~65535);
上限值为,总长度为 65535(单位1B),则 65535 * 1B = 65535 B;
一般总长度若太长会进行分组,达不到上限值。
-
标识:同一数据报的分片使用同一标识
-
标志:共有 3位,但只有 2 位 有意义 x __ __
- 中间位DF(Don’t Fragment):
- DF = 1,禁止分片
- DF = 0,允许分片
- 最低位MF(More Fragment):
- MF = 1,后面 “还有分片”
- MF = 0,代表最后一片 / 没分片
(分片自然是在 DF = 0 的情况下考察)
- 中间位DF(Don’t Fragment):
-
片偏移:指出较长分组分片后,某片在原分组中的相对位置,占 13 位,以 8 B 为单位
- 除了最后一个分片,每个分片长度一定是 8 B 的整数倍 。
-
生存时间(TTL):IP分组的保质期。经过一个路由器 -1 ,变成 0 则丢弃。
-
协议: 数据部分的协议,占 8 位
巧记:TCP面向连接的服务,非常的 “ 6 ”;UDP 不面向连接,数据容易出现丢包现象被遗弃,即 “17”。
-
首部检验和:只检验首部
-
源 IP 地址和目的 IP 地址: 32位
-
可选字段(长度可变): 0 ~ 40B,用来支持排错、测量及安全等措施
-
填充: 全0,把首部不成 4B 的整数倍
💦单位小结
- 总长度单位 1 B
- 片偏移单位 8 B
- 首部长度单位 4 B
记忆口诀: 1总 8片 的 首4
2.2 IP数据报分片
-
最大传送单元 MTU (Maximum Transmission Unit)
链路层数据帧可封装数据的上限
-
以太网的 MTU 是 1500 字节
与 IP数据报 标识、标志、偏移量有关
- IP数据报分片例题
MTU 为 1420 B , 首部占 20 B, 因此数据部分最大容量为 1400 B(分片使数据部分越大越好,但不能超过 MTU)。
第一分片数据部分相较原数据部分无偏移,因此偏移量为 0,位于原数据中的 0 ~ 1399 B;
第二分片数据部分在原数据中接在第一分片之后,即从原数据的 1400B 处开始,因此偏移量为 1400 B / 8 B = 175 (偏移量单位 为 8 B ,因此要除8),位于原始数据中的 1400 ~ 2799 B;
第三分片数据部分在原数据中接在第二分片之后,即从原数据的 2800B 处开始,因此偏移量为 2800 B / 8 B = 350 (偏移量单位 为 8 B ,因此要除8),位于原始数据中的 2800 ~ 3799 B;
3. IPv4地址
3.1 分类的IP地址
-
IP地址:全世界唯一的 32位 / 4 字节 标识符, 标识路由器主机的 接口
-
IP地址::={<网络号>,<主机号>}
例:
-
分类:
A类:
-
8位表示网络号,24位表示主机号;网络号中前一位用来分类,0表示位A类地址;
-
除用来分类的位数外,7位用来表示网络号,共可表示 27 个数,但要减去网络号全0(表示本网)、网络号全1(表示环回地址),故最大可用网络数为 27 - 2,第一个可用的为1,最后一个可用的为126 ;
-
主机号为24位,故 共可表示 224 个数,减去主机号全0(表示本网络本身)、主机号全1(表示广播地址),故**最大可用网络数为 224 - 2 **
B类:
- 16位表示网络号,16位表示主机号;网络号中前两位用来分类,10表示位B类地址;
- 除用来分类的位数外,14位用来表示网络号,共可表示 214 个数,减去网络号全0(表示本网)的情况,故最大可用网络数为 214 - 1,第一个可用的为128.1(10000000 00000001),最后一个可用的为191.255(10111111 11111111);
- 主机号为16位,故 共可表示 216 个数,减去主机号全0(表示本网络本身)、主机号全1(表示广播地址),故**最大可用网络数为 216 - 2 **
C类:
- 24位表示网络号,8位表示主机号;网络号中前三位用来分类,110表示位C类地址;
- 除用来分类的位数外,24位用来表示网络号,共可表示 224 个数,减去网络号全0(表示本网)的情况,故最大可用网络数为 224 - 1,第一个可用的为192.0.1(11000000 00000000 00000001),最后一个可用的为223.255.255(11011111 11111111 11111111);
- 主机号为8位,故 共可表示 28 个数,减去主机号全0(表示本网络本身)、主机号全1(表示广播地址),故**最大可用网络数为 28 - 2 **
-
-
特殊IP地址:
NetID网络号 HostID主机号 作为IP分组源地址 作为IP分组目的地址 用途网络 全0 全0 可以 不可以 本网络范围内表示本主机,路由表中用于表示默认路由(表示整个Internet网络) 全0 特定值 可以 不可以 表示本网内某个特定主机 全1 全1 不可以 可以 本网广播地址(路由器不转发) 特定值 全0 不可以 不可以 网络地址,表示一个网络 特定值 全1 不可以 可以 直接广播地址,对特定网络上的所有主机进行广播 127 任何数(非全0/1) 可以 可以 用于本地软件环回测试,称为环回地址
主机号全0表示网络本身;主机号全1表示广播地址;127.0.0.0(即除分类位外前7位网络号均为1)表示环回地址。
-
私有IP地址
只可以在本网、本地网、专用网中使用
路由器对目的地址是私有IP地址的数据报一律不进行转发
3.2 网络地址转换NAT
-
网络地址转换NAT(Network Address Translation):
在 专用网 连接到 因特网 的路由器上安装 NAT 软件, 安装了 NAT 软件的路由器叫 NAT路由器 ,它至少有一个有效的 外部全球IP地址。
例:
A 与B进行通信,A发送一个数据报(含源IP地址192.168.0.3,目的IP地址213.18.2.4,端口号为 30000(假设为该端口号));
数据报到达 NAT路由器,进行网络地址转换,将源IP替换为172.38.1.5,端口号替换为40001;
B向C发送数据,B发送一个数据报(含源IP地址213.18.2.4,目的IP地址172.38.1.5,端口号为 40002(假设为该端口号));
数据报到达 NAT路由器,进行网络地址转换,将目的IP替换为192.168.0.4,端口号替换为30001;
3.3 子网划分和子网掩码
-
分类的IP地址的弱点:
- IP地址空间的利用率有时很低。
- 两级IP地址不够灵活。
3.3.1 子网划分
![image-20211213200223923](第4章%20网络层.assets/image-20211213200223923.png)
3.3.2 子网掩码
- 例题:
求网络地址只需将 IP 地址 与 子网掩码 相与:
子网掩码前两段均为255,即前 16 位均为 1,与IP地址前 16 位相与仍为 IP地址前16位值,即141.14;
子网掩码最后一段为0,即后 8 位均为 0,与IP地址后8位相与全为0,即0;
只需求解第三段相与结果:IP地址第三段72的二进制形式为 0100 1000,子网掩码第三段192的二进制形式为 1100 0000,相与结果为 0100 0000,即为 64;
即网络地址为:141.14.64.0
若:
求出结果 网络地址仍为 : 141.14.64.0
相同IP地址与不同 子网掩码 可以得出 相同的 网络地址.
-
例题
子网掩码 255.255.252.0 ,二进制形式为 1111 1111 1111 1111 1111 1100,即前 22 位(8+8+6)为 网络号+子网号,后10位为主机号;
由IP地址180.80可知为B类地址,即网络号为16位,即上述子网号为6位;
IP地址第三段77的8位中,后2位为主机号部分,77的二进制为 0100 11 01 ,蓝色部分为主机号位;棕色部分为子网位(010011 00,即76);
表示子网IP的地址为:180.80.76.0;
由于发送的是广播分组,广播地址主机号全为1,即 第三、四部分为 0100 11 11 1111 1111,即180.80.79.255.
故本题选 D
-
二进制与十进制的一些转换
3.3.3 使用子网时分组的转发
3.4 无分类编址 CIDR
变长子网掩码
3.4.1 无分类域间路由选择 CIDR:
-
消除了传统的 A类、B类和 C 类地址以及划分子网的概念。
CIDR 记法:IP地址后加 “/” ,然后写上网络前缀(可任意长度)的位数.eg: 128.14.32.0/ 20 -
融合子网地址与子网掩码,方便子网划分。
-
CIDR 把 网络前缀都相同 的连续的 IP 地址组成一个 “CIDR地址块”。
网络前缀 位数 和 具体数字 相同。
其中,可用地址数为 2 12-2 (主机号全0全1不可用)
-
例: 计算 192.199.170.82/27 的最大最小地址
👉 有 “ / ”,为 CIDR 编址,前27位为网络前缀,后5位为主机号,故看最后8位即可,前24位固定为192.199.170.的形式;
👉 82的二进制为: 0101 0010 ;
👉 主机号全为0时为最小地址,即第四部分(即最后8位)为:010┊0 0000 即64,故最小地址为 192.199.170.64;
👉 主机号全为1时为最大地址,即第四部分(即最后8位)为:010┊1 1111 即95,故最大地址为 192.199.170.95;
3.4.2 构成超网
-
将多个子网聚合成一个较大的子网,叫做构成超网,或路由聚合。
-
方法:将网络前缀缩短
👋 网络1、网络2 前缀均为17,前两段(即前16位)相同,最后一段(即最后8位)也相同,主要看第三段;
👋网络1第三段转为二进制为 0┊000 0000;
网络2第三段转为二进制为 1┊000 0000;
进行合并,网络前缀前移一位融合成更大的地址块:206.1.0.0/16,该地址块将网络1和网络2包含在一起了。
-
最长前缀匹配
使用 CIDR 时,查找路由表可能会得到几个匹配结果,应选择具有最长网络前缀的路由。
前缀越长,地址块越小,路由越具体。
- 例:(涉及到路由算法和路由协议相关知识)
🚗 第一行网络的网络前缀为8位,若题干目的地址网络前缀为8位,则对应网络号为 132.0.0.0,与第一行网络一致,暂时保留;
🚗 第二行网络的网络前缀为11位,若题干目的地址网络前缀为11位,则19对应二进制为 000┊1 0011,对应网络号为 132.0.0.0,与第二行网络一致,暂时保留;
🚗 第三行网络的网络前缀为22位,若题干目的地址网络前缀为22位,则237对应二进制为1110 11┊01,对应网络号为 132.19.236.0,与第三行网络不一致,不匹配;
🚗 故选择第二个目的网络进行下一跳,即选B.
-
例题:
😀 192.168.2.0/24为CIDR编址,在此基础上再次进行划分,划分了多少位看接下来说的子网掩码;
😀 划分的子网掩码 255.255.255.248,主要看248,其二进制形式为:1111 1┊000,该处前5位为子网号,后3位为主机号;
😀 ❗❗❗ 最大子网个数为 :25 = 32;每个子网可分配的最大地址数为:23 - 2 (很忘记减2😭)
注意:在CIDR编址中,子网号是可以全0和全1的,故子网数不用减去2
3.5 ARP协议
3.5.1 发送数据的过程
-
对于每一个主机/路由器,有 ARP高速缓存(像小仓库一样,存有局域网内 IP地址与MAC地址的映射)
-
ARP协议
在同一个局域网下 -
广播ARP请求分组
1号主机发送一个数据帧:
IP1:主机的IP地址; IP3:要查询的IP地址
MAC1:自己主机的物理地址
FF-FF-FF-FF-FF:目的主机的物理地址
(全F即全1,代表在局域网内具有广播效应的帧/请求分组)
(交换机所有端口可转发广播分组)
-
单播ARP响应分组(目的主机响应)
3号主机发送一个数据帧:
把物理地址(例子中为MAC3)的映射返回给主机(主机1)
最终传输过程
在不同局域网下 -
广播ARP请求分组:
1号主机发送一个数据帧:
IP6:默认网关
-
单播ARP响应分组(目的主机响应,此处为该默认网关的路由器)
路由器发送一个数据帧:
把物理地址(例子中为路由器)的映射返回给主机(主机1)
对于第一个路由器
对于第二个路由器
第一个路由器和第二个路由器是 点对点的PPP协议
-
3.5.2 ARP协议
-
诞生原因:在实际网络的链路上传送数据帧时,最终必须使用MAC地址
-
ARP协议:完成主机或路由器IP地址到MAC地址的映射 (解决下一跳走哪)
-
ARP协议使用过程:
-
ARP协议4种典型情况:
-
ARP协议自动进行
-
例题:
解:
3.6 DHCP协议
-
主机如何获得IP地址?两种方法
⭕ 静态配置
⭕ 动态配置
-
DHCP协议
动态主机配置协议DHCP是 应用层 协议,使用 客户 / 服务器 方式,客户端和服务端通过 广播 方式进行交互,基于 UDP 。
DHCP提供 即播即用 联网的机制,主机可以从服务器动态获取 IP 地址、子网掩码、默认网关、DNS服务器名称与 IP 地址,允许 地址重用,支持 移动用户加入网络,支持 在用地址续租。
3.7 ICMP 协议
-
ICMP协议(网际控制报文协议)
-
ICMP协议支持主机或路由器:--------> 发送特定ICMP报文
- 差错(或异常)报告 👉 ICMP差错报文
- 网络探询 👉 ICMP询问报文
-
ICMP具体应用
-
PING
测试两个主机之间的连通性,使用了 ICMP回送请求和回答报文.
-
Traceroute
跟踪一个分组从源点到终点的路径,使用了 ICMP时间超过差错报告报文.
-
3.7.1 ICMP差错报告报文(5种)
-
ICMP 差错报文几种类型
-
终点不可达:当路由器或主机不能交付数据报时就向源点发送终点不可达报文.(无法交付)
-
源点抑制(现已取消这种功能)❌❌❌❌❌
-
时间超过:当路由器收到生存时间 TTL = 0 的数据报时,除丢失该数据报外,还要向源点发送时间超过报文。当终点在预先规定的时间内不能收到一个数据报的全部数据片时,就把已收到的数据报片都丢失,并向源点发送时间超时报文。( TTL = 0 )
-
参数问题:当路由器或目的主机收到的数据报的首部中有的字段不正确时,就丢弃该数据报,并向源点发送参数问题报文。(首部字段有问题)
-
改变路由(重定向):路由器把改变路由报文发送给主机,让主机知道下次应该将数据报发送给另外的路由器(可通过更好的路由)。(值得更好的路由)
-
-
ICMP差错报文数据字段
-
不应发送ICMP差错报文的情况
3.7.2 ICMP询问报文
- ICMP 询问报文几种类型
- 回送请求和回答报文:主机或路由器向特定目的主机发送的询问,收到此报文的主机必须给源主机或路由器发送 ICMP 回送回答报文。(测试目的站是否可达以及了解其相关状态)
- 时间戳请求和回答报文:请某个主机或路由器回答当前的日期和时间。(用来进行时钟同步和测量时间)
- 掩码地址请求和回答报文(现已取消这种功能)❌❌❌❌❌
- 路由器询问和通告报文(现已取消这种功能)❌❌❌❌❌
4. IPv6
-
为什么有IPv6?
32 位 IPv4 地址空间已分配殆尽,CIDR、NAT 治标不治本,IPv6从根本上解决地址耗尽问题;
想改进首部格式,以实现 快速处理 / 转发数据报,以及支持 QoS的功能;
· 补充:
-
IPv6数据报格式
具体:
-
版本:
指明了协议版本,总是 6
-
优先级:
区分数据报的类别和 优先级
-
流标签:
“流”是互联网络上从特定源点到特定终点的一系列数据报。
所有属于同一个流的数据报都具有同样的流标签。
-
有效载荷长度:
有效载荷(扩展首部+数据)长度
-
下一个首部:
标识下一个扩展首部或上层协议首部
-
跳数限制:
相当于 IPv4 的 TTL
-
- IPv6和IPv4区别
- IPv6 将地址从 32 位(4B)扩大到 128位(16B),更大的地址空间。
- IPv6 将 IPv4 的 校验和字段彻底移除,以减少每跳的处理时间。
- IPv6 将 IPv4 的可选字段移出首部,变成了 扩展首部,成为灵活的首部格式,路由器通常不对扩展首部进行检查,大大提高了路由器的处理效率。
- IPv6 支持 即插即用(即自动配置),不需要DHCP协议。
- IPv6 首部长度必须是 8B的整数倍,IPv4 首部是 4B 的整数倍。
- IPv6 只能在主机处分片,IPv4 可以在路由器和主机处分片。
- ICMPv6:附加报文类型 “分组过大”。
- IPv6 支持资源的预分配,支持实时视像等要求,保证一定的带宽和时延的应用。
- IPv6 取消了协议字段,改成下一个首部字段。
- IPv6 取消了总长度字段,改用有效载荷长度字段。
- IPv6 取消了服务类型字段。
-
IPv6 地址表示形式
⭕ 一般形式:冒号十六进制积法
如:48F5 : AA12 : 0216 : FEBC : BA5F : 039A : BE9A : 2170
⭕ 压缩形式:
-
IPv6 基本地址类型
补充:
假如数据报中封装的目的地址是一个任播地址,则它会给任播组内的一台主机发送数据报,通常是离它最近的那一台。
-
IPv6 向 IPv4 过渡的策略
5. 路由算法与路由协议概述
5.1 路由算法
- 最佳路由:“”最佳“只能是相对于某一种特定要求下得出的较为合理的选择而已。
5.1.1 路由算法的分类
-
静态路由算法(非自适应路由算法):管理员手工配置路由信息.
-
🧀优点
简便、可靠,在 负荷稳定、拓扑变化不大的网络中 运行效果很好,广泛用于高度安全性的军事网络和较小的商业网络。
🧀缺点
路由更新慢,不适用大型网络。
-
-
动态路由算法(自适应路由算法):路由器间彼此交换信息,按照路由算法优化出路由表项.
-
🧀优点
路由更新块,适用 大型网络,及时响应链路费用或网络拓扑变化。
🧀缺点
算法复杂,增加网络负担
-
动态路由算法可分为两类
- 全局性 链路状态路由算法 OSPF :所有路由器掌握完整的网络拓扑和链路费用信息。
- 分散性 距离向量路由算法 RIP :路由器只掌握物理相连的邻居及链路费用。
-
5.1.2 RIP协议与距离向量算法
-
一些概念:
-
RIP
是一种分布式的基于 距离向量 的路由选择协议,是因特网的协议标准,最大优点是 简单。
RIP 协议要求网络中每一个路由器都维护从 它自己到其他每一个目的网络的唯一最佳距离记录(即一组距离).
-
距离:
通常称为 “跳数”,即从源端口到目的端口所经过的路由器个数,经过一个路由器跳数 + 1.
特别的 从一路由器到直接连接的网络距离为1 .
RIP允许一条路由最多只能包含 15 个路由器,因此 距离为 16 表示网络不可达. -----> RIP协议只适用于 小互联网
-
-
RIP协议交换信息
- 仅和 相邻路由器 交换信息.
- 路由器交换的信息是 自己的路由表.
- 每30s 交换一次路由信息,然后路由器根据新信息更新路由表。若超过 180s 没收到邻居路由器的通告,则判定邻居没了,并更新自己的路由表.
🎨路由器刚开始工作时,只知道 直接连接的网络的距离(距离为1) ,接着每一个路由器只和数目非常有限的相邻路由器交换并更新路由信息.
🎨 经过若干次更新后,所有路由器最终会知道到达本自治系统任何一个网络的最短距离和下一跳路由器的地址,即 收敛.
-
距离向量算法
-
修改相邻路由器发来的 RIP 报文 中 所有表项
对地址为X的相邻路由器发来的 RIP报文 ,修改此报文中的所有项目:把 “下一跳” 字段中的地址改为 X,并把 所有的 “距离” 字段 + 1.
-
对修改后的 RIP报文 中的每一个项目,进行以下步骤:
(1)R1路由表中若没有 Net3,则把该项目填入 R1 路由表;
(2)R1路由表中若有 Net3,则查看下一跳路由器地址:
⚾若下一跳是 X ,则用收到的项目替换源路由表中的项目(即以最新的为主).
⚾若下一跳不是 X,原来距离比从 X 走的距离远则更新,否则不作处理 .
-
若 180s 未接收到相邻路由器 X 的更新路由表,则把 X 记为不可达的路由器,即把**距离设置为 16**.
-
返回.
-
-
RIP协议报文格式
🔺RIP 是 应用层协议,使用 UDP 传送数据.
-
RIP协议特点
当网络出现故障时,要经过比较长的时间(例如数分钟)才能将此信息传送到所有的路由器,“慢收敛”.
-
例题
-
解:
答案为 B
- 小结
5.1.3 OSPF协议与链路选择算法
-
开放最短路径优先 ( OSPF ) 协议:
“开放“标明 OSPF 协议不受某一家厂商控制,是 公开发表的;
”最短路径优先“是因为使用了 Dijkstra 提出的 最短路径算法SPF.
-
OSPF 最主要的特征是使用 分布式的**链路状态协议**
-
OSPF 的特点:
其他特点:
-
链路状态路由算法
-
OSPF的区域
-
OSPF分组
考纲中OSPF属于网络层协议,但也有人说其是传输层的协议(考试按考纲来)
5.2 分层次的路由选择协议
-
分层次原因:
(1) 因特网规模很大
(2) 许多单位不想让外界知道自己的路由选择协议,但还想连入因特网
-
自治系统AS:
在单一的技术管理下的一组路由器,而这些路由器使用一种 AS 内部的路由选择协议和共同的度量以确定分组在该 AS 内的路由,同时还使用一种 AS 之间的路由协议以确定在 AS 之间的路由。
一个 AS 内的所有网络都属于一个行政单位来管辖,一个自治系统的所有路由器在本自治系统内都必须连通。
5.2.1 BGP协议
-
BGP 所交换的网络可达性的信息就是要 到达某个网络索要经过的一系列AS。
当 BGP 发言人互相交换了网络可达性的信息后,各 BGP 发言人就根据所采用的策略从收到的路由信息中找出到达各 AS 的 较好 路由。
-
BGP 协议交换信息的过程
BGP协议交换的信息包含的是 一个完整的路径,所以称之为一组路径向量。
-
BGP协议的报文格式
一个 BGP 发言人与其他自治系统中的 BGP 发言人要交换路由信息,就要先 建立TCP连接,即通过TCP传送,然后在此连接上交换 BGP报文以建立 BGP 会话(session),利用 BGP会话交换路由信息。
🔺BGP 是 **应用层 **协议,借助 **TCP **传送(TCP可提供可靠服务,可以简化路由选择协议)
-
BGP协议特点
- BGP 支持 CIDR ,因此BGP的路由表也应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。
- 在 BGP 刚刚运行时,BGP的邻站是交换整个的 BGP 路由表。但以后只需要在 发送变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销都有好处。
-
BGP-4的四种报文
5.3 三种路由协议比较
-
RIP:
是一种分布式的基于距离向量的 内部网关路由选择协议,通过广播 UDP 报文来交换路由信息。
-
OSPF:
是一个 内部网关协议,要交换的信息量较大,应使报文的长度尽量短,所以不使用传输层协议(如 UDP 或 TCP),而是直接采用 IP。
-
BGP:
是一个 外部网关协议,在不同的自治系统之间交换路由信息,由于网络环境复杂,需要保证可靠传输,所以采用 TCP。
6. IP组播(上课没讲)
6.1 IP数据报的三种传输发式
-
单播:
单播用于发送数据报到 单个目的地,且每发送一份单播报文都使用一个单播IP地址作为目的地址。
是一种 点对点 传输发式。
例:
在发送者和每一接收者之间需要 单独的数据信道。
-
广播:
广播是指发送数据报到同一广播域或子网内所有设备的一种数据传输方式。
是一种 点对多点 传输方式。
-
组播(多播):
当网络中的某些用户需要特定数据时,组播数据发送者仅发送一次数据,借助组播路由协议为组播数据报建立组播分发树,被传递的数据到达距离用户端尽可能近的节点后才开始复制和分发。
是一种 点对多点 传输方式。
组播提高了数据传送速率。减少了主干网出现拥塞的可能性。组播组中的主机可以是在同一个物理网络,也可以来自不同的物理网络(如果有 组播路由器 的支持)。
——> 运行组播协议的路由器
6.2 IP组播地址
-
IP组播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配 一个组播组IP地址 (一群共同需求主机的相同标识)。
-
组播地址范围 224.0.0.0 ~ 239.255.255.255(D类地址),一个D类地址表示一个组播组。
只能用作分组的 目标地址。源地址总是 单播地址。
- 组播数据报也是 “尽最大努力交付”,不提供可靠交付,应用于 UDP。
- 对组播数据报 不产生ICMP差错报文。
- 并非所有D类地址都可以作为组播地址。
-
硬件组播
同单播地址一样,组播IP地址也需要相应的组播MAC地址在本地网络中实际传送帧。
组播MAC地址以十六进制值 01-00-5E 打头,余下的 6 个十六进制位是根据IP组播组地址的最后 23 位转换得到的。
⭕ TCP / IP 协议使用的以太网多播地址的范围是:
从 01-00-5E-00-00-00 到 01-00-5E-7F-FF-FF
6.3 IGMP协议与组播路由选择协议
6.3.1 IGMP协议
-
网际组管理协议IGMP
ICMP和IGMP都使用 IP数据报 传递报文。
-
IGMP工作的两个阶段
组播路由器知道的成员关系只是所连接的局域网中有无组播组的成员。并不知道组播组中的成员有多少个。
6.3.2 组播路由选择协议
(组播组成员的动态更新的)
-
组播路由选择协议目的是 找出以源主机为根节点的组播转发树。
构造树可以避免在路由器之间兜圈子。
-
对不同的多组播对应于不同的多播转发树:同一个多组播,对不同的源点也会有不同的多播转发树。
-
组播路由选择协议常使用的三种算法:
⭕ 基于链路状态的路由选择
⭕ 基于距离-向量的路由选择
⭕ 协议无关的组播(稀疏 / 密集)
7. 移动IP
相关术语:
-
移动IP技术是移动结点(计算机 / 服务器等)以 固定的网络IP地址,实现跨越不同网段的 漫游 功能,并保证了基于网络 IP 的网络权限在漫游过程中不发生任何改变。
-
移动结点
具有永久 IP 地址的移动设备。
-
归属代理(本地代理)
一个移动结点拥有的就 “居所” 称为 所属网络,在归属网络中代表移动节点执行移动管理功能的实体叫做归属代理。
-
外部代理(外地代理)
在 外部网络 中帮助移动节点完成移动管理功能的实体称为外部代理。
-
永久地址(归属地址 / 主地址)
移动站点在归属网络中的原始地址。
-
转交地址(辅地址)
移动站点在外部网络使用的临时地址。
移动IP通信过程
- A刚进入外部网络:
- 在外部代理登记获得一个转交地址,离开时注销。
- 外部代理向本地代理登记转交地址。
- B给A发送数据报:
- 本地代理截获数据报。
- 本地代理再封装数据报,新的数据报目的地址是转交地址,发给外部代理(隧道)。
- 外部代理拆封数据报并发给A。
- A给B发送数据报:
- A用自己的主地址作为数据报源地址,用 B 的 IP 地址作为数据报的目的地址。
- A移动到了下一个网络:
- 在新外部代理登记注册一个转交地址。
- 新外部代理给本地代理发送新的转交地址(覆盖旧的)。
- 通信
- A回到了归属网络:
- A向本地代理注销转交地址。
- 按原始方式通信。
8. 网络层设备
8.1 路由器
-
输入端口对线路上收到的分组的处理
输入端口中的查找和转发功能在路由器的交换功能中是最重要的。
-
输出端口将交换结构传送来的分组发送到线路
若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。
路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。
-
三层设备的区别
⭕ 路由器:可以互联两个不同网络层协议的网段
⭕ 网桥:可以互联两个物理层和链路层不同的网段
⭕ 集线器:不能互联两个物理层不同的网段
-
路由表与路由转发