导图社区 第四章网络层
检查ARP高速缓存,有对应表项则写入MAC帧,没有则用目的MAC地址为FF-FF-FF-FF-FF-FF的帧封装并广播ARP请求分组,同一局域网中所有主机都能收到该请求。
编辑于2022-08-16 21:35:57 安徽第四章 网络层
4.1网络层的功能
主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报。
4.1.1异构网络互连
网络互连,是指将两个以上的计算机网络,通过一定的方法,用一种或多种通信处理设备(即中间设备)相互连接起来,
中间设备/中继设备
物理层中继设备
集线器
中继器
数据链路层中继设备
网桥或交换机
网络层中继设备
路由器
网络层以上中继设备
网关
网络的异构型是指传输介质、数据编码方式、链路控制协议及不同的数据单元和转发机制,这些特点分别在物理层和数据链路层中定义。
4.1.2路由转发
路由器的两大功能
路由选择
分组转发
4.1.3 SDN基本概念
特征
基于流的转发
SDN 控制的交换机的分组转发工作, 能够基于运输层、 网络层或链 路层首部中任意数量的首部字段值进行
数据平面与控制平面分离
数据平面由网络交换机组成, 交换机是相对简单 ( 但快速) 的设备, 该设备在它们的流表中执行 “ 匹配加动作” 的规则。 控制平面由服务器以及决定和管理交换机流表的软件组成
网络控制功能
可编程的网络
组成结构
4.1.3拥塞控制
在通信子网中,因出现过量的分组而引起网络性能的下降称为拥塞
拥塞控制方法
开环控制
在设计网络时事先将有关发生拥塞的因素考虑周到,力求网络在工作时不产生拥塞
闭环控制
基于反馈环路的概念
属于闭环控制的几种措施
监测网络系统以便检测到拥塞在何时、何处发生
将拥塞发生的信息发送到可采取行动的地方
调整网络系统的运行以解决出现的问题
监测网络拥塞的指标
缺少缓存空间而丢弃分组的百分数
平均队列长度
超时重传的分组数
平均分组时延、分组时延标准差等
4.2路由算法
4.2.1静态路由和动态路由
静态路由算法
管理员手工配置路由信息
优点
简便、可靠,在负荷稳定、拓扑变化不大的网络中运行效果很 好,广泛用于高度安全性的军事网络和较小的商业网络。
缺点
路由更新慢,不适用大型网络。
使用静态路由配置可能出现导致路由环路的错误
配置错误
聚合了不存在的网络
网络故障
特殊的静态路由条目
默认路由(目的网络为0.0.0.0,地址掩码为0.0.0.0)
特定主机路由(目的网络为特定主机的IP地址,地址掩码为255.255.255.255)
黑洞路由(下一跳为null0)
动态路由算法
路由器间彼此交换信息,按照路由算法优化出路由表项。
优点
路由更新快,适用大型网络,及时响应链路费用或网络拓扑变化。
缺点
算法复杂,增加网络负担。
分类
链路状态路由算法
距离向量路由算法
路由条目的类型
直连网络
静态路由(人工配置)
动态路由(路由选择协议)
4.2.2距离向量路由算法
RIP协议
RIP是一种分布式的基千距离向量的路由选择协议,是因特网的协议标准,最大优点是简单
RIP协议要求网络中每一个路由器都维护从它自已到其他每一个目的网络的唯一最佳距离记录(即一组距离)
距离:RIP使用跳数作为度量来衡量到达目的网络的距离。路由器到直连网络的距离定义为1,到非直连网络的距离定义为所经过的路由器数加1. RIP允许一条路由最多只能包含15个路由器,因此距离为16表示网络不可达。
若某个路由器检测到某一网络不可达,意味着该路由器与该网络是直连的
适用场合
RIP协议只适用于小互联网
当到达同一目的网络有多条“距离相等”的路由时,可以进行等价负载均衡(即把要传送的信息均分通过这几条路由传送)
RIP三要点
和谁交换信息
仅和相邻路由器交换信息
交换什么信息
自己的路由表
何时交换信息
周期性交换(例如每30秒)
经过若干次更新后,所有路由器最终都会知道到达本自治系统任何一个网络的最短距离和下一跳路由器的地址,即“收敛"。
特点
好(信道)消息传播的快,坏消息传播的慢(又称为路由环路或距离无穷计数问题,这是距离向量算法的一个固有问题,可采取相关措施减少其危害)
限制最大距离为15
当路由表发生变化时就立即发送更新报文(即触发更新)而不仅仅是周期性发送
让路由器记录收到某特定路由信息的接口,而不让同一路由信息再通过此接口向反方向传送(即“水平分割”)
问题
当网络出现故障时,要经过较长的时间才能将信息传送到所有的路由器
距离向量算法

补充:到达目的网络,不同下一跳距离相等,仍然添加但不删除原有路由,进行等价负载均衡
4.2.3链路状态路由算法
开放最短路径优先OSPF协议
“开放”标明OSPF协议不是受某一家厂商控制,而是公开发表的;“最短路径优先”是因为使用了Dijkstra提出的最短路径算法SPF
OSPF的工作过程
1.使用洪泛法向自治系统内所有路由器发送信息
即路由器通过输出端口向所有相邻的路由器发送信息,而每一个相邻路由器又再次将此信息发往其所有的相邻路由器。
2.信息就是与本路由器相邻的所有路由器的链路状态
链路状态
本路由器和哪些路由器相邻,以及该链路的度量/代价— 费用、距离、时延、带宽等(这些都由网络管理人员决定)
3 只有当链路状态发生变化时,路由器才向所有路由器洪泛发送此信息。
OSFP的其他特点
1.每隔30min,要刷新一次数据库中的链路状态。
2.由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。因此当互联网规模很大时,OSPF 协议要比距离向量协议 RIP 好得多。
3.OSPF不存在坏消息传的慢的问题,它的收敛速度很快。
4.OSPF采用SPF算法计算路由,从算法上保证了不会产生路由环路
OSPF的五种分组类型
问候分组
数据库描述分组
链路状态请求分组
链路状态更新分组
链路状态确认分组
链路状态路由算法

OSPF的区域
为了使 OSPF 能够用于规模很大的网络,OSPF 将一个自治系统再划分为若干个更小的范围,叫做区域。每一个区域都有一个 32 位的区域标识符(用点分十进制表示)。

区域也不能太大,在一个区域内的路由器最好不超过 200 个。
OSPF直接用IP数据报传送
4.2.4层次路由
互联网两大类路由选择协议
内部网关协议IGP(Interior Gateway Protocol)
在一个自治系统内部使用的路由选择协议(内部选择也叫域内路由选择)
具体的协议有RIP和OSPF
外部网关协议EGP(External Gateway Protocol)
将路由选择信息传递到另一个自治系统中(之间选择也叫域间路由选择)
目前最多使用的是BGP-4
4.5.5边界网关协议BGP
外部网关协议BGP
BGP使用环境不同
在AS之间交换“可达性”信息
力求寻找一条能够到达目的网络且比较好的路由
适用于多级结构的因特网
BGP 发言人
每个自治系统的管理员呢至少选择一个路由器作为该自治系统的“BGP发言人”
当BGP发言人互相交换了网络可达性的信息后,各发言人就根据所采用的策略构造出树形结构,不存在回路的自治系统连通图
一般来说,两个BGP发言人都是通过共享网络连接在一起的
BGP发言人除了运行BGP外,还必须运行自己所在自治系统所使用的内部网关协议IGP,例如OSPF和RIP
BGP交换路由信息
首先建立TCP连接,然后在连接上交换BGP报文以建立BGP会话
BGP协议的特点
交换路由信息的结点数量要比自治系统中的网络数少很多
BGP发言人的数目少,使得自治系统之间的路由选择不致过分复杂
在BGP刚刚运行时,BGP的邻站交换整个BGP路由表。但之后只需要在发生变化时更新有变化的部分
BGP 支持 CIDR,因此BGP的路由表也就应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。
BGP-4的四种报文
1.OPEN(打开)报文:用来与相邻的另一个BGP发言人建立关系,并认证发方。
2.UPDATE(更新)报文:通告新路径或撤销原路径。
3.KEEPALIVE(保活)报文:在无UPDATE时,周期性证实邻站的连通性;也作为OPEN的确认。
4.NOTIFICATION (通知)报文:报告先前报文的差错;也被用于关闭连接。
三种路由协议的比较
RIP是一种分布式的基千距离向量的内部网关路由选择协议,通过广播UDP报文来交换路由信息。
OSPF是一个内部网关协议,要交换的信息量较大,应使报文的长度尽量短,所以不使用传输层协议(如UDP或TCP),而是直接采用IP。
BGP是一个外部网关协议,在不同的自治系统之间交换路由信息,由于网络环境复杂,需要保证可靠传输,所以采用TCP。
RU OI BT

4.3IPv4分组
4.3.1IPv4分组
IPv4分组的格式

一种八片首饰 总长度单位为1B 片偏移单位是8B 首部长度单位是4B
标识:同一数据报的分片使用同一标识。
16位
标志
3位
最低位MF
more fragment
为1表示后面还有分片
为0表示最后一个分片
中间位DF
don’t franment
为0才允许分片
片偏移
13位
指出较长分组分片后,某片在原分组中的相对位置
以8B为偏移单位
这三个字段共同用于IP数据报分片
首部检验和
只检验分组的首部,不检验数据部分
生存时间TTL
数据报在网络中可通过路由器数的最大值
路由器在转发分组前,先把TTL减1,若TTL被减为0则丢弃
为了防止IP数据报在路由环路中永久兜圈
协议
8位 指明数据部分是何种数据单元
TCP:6
UDP:17
IP数据报分片例子

4.3.2IPv4和NAT
IPv4地址
IP地址就是给每个连接在互联网上的主机分配在全世界范围内是唯一的32位标识符
IP地址现在由ICANN进行分配
IP地址::={<网络号>,<主机号>}
0 A类8+24 网络号1-126
子主题
10 B类16+16 网络号128.1-191.255
110 C类24+8 网络号 192.0.1-223.255.255
1110 D类多播使用
1111 E类保留为今后使用

点分十进制法
每八位为一组
不使用的特殊IP地址

路由器总是有两个或两个以上的IP地址(现在常不标)
网络地址转换(NAT)
私有IP地址

路由器对目的地址是私有IP地址的数据报一律不进行转发。
网络地址转换NAT(Network Address Translation)
在专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫NAT路由器,它至少有一个有效的外部全球IP地址

NAT路由器与普通路由器的区别
普通路由器转发IP数据报时,不改变其源IP地址和目的IP地址;而NAT在转换时,一定要更好其源或目的IP地址
普通路由器仅工作在网络层;而NAT路由器转发数据报时需要查看和转换传输层的端口号
补充



4.3.3子网划分、子网掩码和CIDR
子网划分
两级IP地址缺点
IP地址空间的利用率较低
使路由表变得太大
两级的IP地址不够灵活
在IP地址中增加一个“子网号字段”,使IP地址成为三级的IP地址,这种做法叫做划分子网
格式 网络号+(子网号+主机号)原主机号
优点
减少IP地址的浪费
使网络的组织更加灵活
便于管理与维护
子网掩码
长度32位
某位=1 对应为网络号与子网号
某位=0 对应为主机号
已知IP地址与子网掩码求网络地址
使用子网时的分组转发
1.提取目的IP地址 2.是否直接交付 3.特定主机路由 4.检测路由表中有无路径 5.默认路由 0.0.0.0 6.丢弃,报告转发分组出错
CIDR无分类域间路由选择CIDR
特点
1.消除了传统的A类 B类和C类地址以及划分子网的概念。
2 融合子网地址与子网掩码,方便子网划分。
CIDR记法:IP地址后加上“/,,,然后写上网络前缀(可以任意长度)的位数。
构成超网
将多个子网聚合成一个较大的子网,叫做构成超网,或路由聚合。
最长前缀匹配
使用CIDR时,查找路由表可能得到几个匹配结果,应选择具有最长网络前缀的路由。前缀越长,地址块越小,路由越具体。
4.3.4ARP、DHCP和ICMP
地址解析协议ARP
ARP的作用
从网络层使用的IP地址,解析出在数据链路层使用的硬件地址
ARP要点
不管什么协议,最终在链路上传送帧的时候,最终还必须使用硬件地址
每个主机都设有一个ARP高速缓存,里面都有各主机和路由器的IP,与MAC地址
TTL:地址映射有效时间
为什么不直接使用硬件地址进行通信?
物理地址不好将网络分级、分组、路由算法不好实现
ARP协议的过程
检查ARP高速缓存,有对应表项则写入MAC帧,没有则用目的MAC地址为FF-FF-FF-FF-FF-FF的帧封装并广播ARP请求分组,同一局域网中所有主机都能收到该请求。
目的主机收到请求后就会向源主机单播一个ARP响应分组,源主机收到后将此映射写入ARP缓存(10-20min更新一次)。
ARP协议4种典型情况:
1.主机A发给本网络上的主机B:用ARP找到主机B的硬件地址;
2.主机A发给另一网络上的主机B:用ARP找到本网络上一个路由器(网关)的硬件地址;
3.路由器发给本网络的主机A:用ARP找到主机A的硬件地址;
4.路由器发给另一网络的主机B:用ARP找到本网络上的一个路由器的硬件地址。
补充
ARP是即插即用的

动态主机配置协议DHCP
动态主机配置协议DHCP是应用层协议,使用客户/服务器方式,客户端和服务端通过广播方式进行交互,基于UDP。
在软件协议运行之前,必须给每一个参数赋值。这个动作叫做协议配置
协议配置
1. IP地址
2. 子网掩码
3. 默认路由器的IP地址
4. 域名服务器的IP地址
互联网广泛使用的动态主机配置协议DHCP提供了即插即用连网的机制,这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与
每一个网络至少有一个DHCP中继代理,当DHCP中继代理收到主机A以广播形式发送的发现报文之后,就以单播方式向DNCP服务器转发此报文,收到FHCP服务器回答的提供报文之后,DHCP中继代理再将此提供报文发回给主机A
租用期
DHCP服务器分配给DHCP客户的IP地址是临时的,DHCP客户在一段时间内使用这个分配到的IP地址,DHCP协议称这段时间为租用期
租用期由DHCP服务器自己决定,DHCP客户也可在自己发送的报文中提出对租用期的要求
补充



网际控制报文协议ICMP
ICMP报文的种类
ICMP报文的种类
ICMP差错报告报文
终点不可达
时间超过
参数问题
改变路由(重定向)
ICMP询问报文
回送请求和回答报文
时间戳请求和回答报文
掩码地址请求和回答报文
路由器询问和通告报文
ICMP 的格式:类型、代码和检验和
ICMP的应用举例
PING
测试两个主机之间的连通性
工作在应用层,之间使用网络层的ICMP,而未使用传输层的TCP或UDP
Traceroute
用来跟踪一个分组从源点到终点的路径
不应该发送ICMP报文的情况
1.对ICMP差错报告报文不再发送ICMP差错报告报文
2.对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。
3.对具有组播地址的数据报都不发送ICMP差错报告报文。
4.对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文。
4.4IPv6
IPv6的基本首部
主要变化
更大的地址空间
扩展的地址层次结构
灵活的首部格式
改进的选项
支持即插即用
IPv6只能在主机处分片,IPv4可以在路由器和主机处分片。
IPv6将IPv4的校验和字段彻底移除,以减少每跳的处理时间
组成部分
基本首部
有效载荷,允许有零个或多个扩展首部,再后面是数据部分
扩展首部
原来IPv4首部中选项的功能放在扩展首部中
大大提高了路由器的处理效率
数据报途中经过的路由器都不处理这些扩展首部
首部必须是8B的整数倍
从IPv4向IPv6过渡
两种IPv6过渡的策略
使用双协议栈
路由器为双协议栈,将IPv6的的主机在IPv4的网络上传输
使用隧道技术
将IPv6数据外面新加格式伪装成IPv4
IPv6的地址
目的地址三种基本类型
单播
多播
一对多点
任播(数据报在交付时只交付其中的一个)
冒号十六进制记法
每16位的值用十六进制表示
允许把数字前面的0省略
零压缩
一连串连续的0可以用一对冒号所取代
任意地址中只能使用一次零压缩
适用于IPv4向IPv6转换
ICMPv6
IPv6需要ICMP来反馈差错信息
ARP与IGMP合并到ICMPv6中
4.5路由协议
4.6IP组播
4.61IP组播的概念
当网络中的某些用户需要特定数据时,组播数据发送者仅发送一次数据,借助组播路由协议为组播数据包建立组播分发树,被传递的数据到达距离用户端尽可能近的节点后才开始复制和分发,是一种点对多点传输方式。
组播提高了数据传送效率。减少了主干网出现拥塞的可能性。组播组中的主机可以是在同一个物理网络,也可以来自不同的物理网络(如果有组播路由器的支持)。
4.6.2IP组播地址
IP组播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个组播组IP地址(一群共同需求主机的相同标识)。
组播地址范围为224.0.0.0~239.255.255.255(D类地址),一个D类地址表示一个组播组。只能用作分组的目标地址。源地址总是为单播地址。
注意点
1.组播数据报也是“尽最大努力交付”,不提供可靠交付,应用于UDP。
2.对组播数据报不产生ICMP差错报文。
3.并非所有D类地址都可以作为组播地址。
IP组播的分类
在本局域网上进行硬件组播
同单播地址一样,组播IP地址也需要相应的组播MAC地址在本地网络中实际传送帧。组播MAC地址以十六进制值01-00-5E打头,余下的6个十六进制位是根据IP组播组地址的最后23位转换得到的。

收到多播数据报的主机,还要在IP 层利用软件进行过滤,把不是 本主机要接收的数据报丢弃。
在因特网范围内进行组播
4.6.3IGMP和组播路由算法
因特网组管理协议IGMP
为了使路由器知道多播组成员的信息,利用IGMP
IGMP的使用范围
不知道IP多播组包含的成员数,也不知道这些成员分布在哪些网络上
IGMP协议是让连接在本地局域网上的多播路由器知道本局域网上是否有主机参加或退出了某个多播组
IGMP阶段
1.加入多播组
2.探询成员变化情况
周期性探询本地局域网上的主机
只要对某个组有一个主机响应,就认为这个组是活跃的
组播路由选择协议
实际上是要找出以源主机为根结点的多播转发树
三种方法
洪泛与剪除
一开始使用洪泛的方法
采用反向路径广播:检查他是否从源点经最短路径传送来的
发现下游树枝没有多播组成员,就剪除
隧道技术
使得不支持多播的网络可以传播
基于核心的发现技术
对多播组G指定核心路由器,给出它的IP单播地址
4.7移动IP
4.7.1移动IP的概念
移动IP技术是移动结点(计算机/服务器等)以固定的网络IP地址,实现跨越不同网段的漫游功能,并保证了基于网络IP的网络权限在漫游过程中不发生任何改变。
移动结点
具有永久IP地址的移动设备
归属代理(本地代理)
一个移动结点拥有的就“居所”称为归属网络,在归属网络中代表移动节点执行移动管理功能的实体叫做归属代理(通常是路由器)。
外部代理(外地代理)
在外部网络中帮助移动节点完成移动管理功能的实体称为外部代理。
永久地址/归属地址/主地址
移动站点在归属网络中的原始地址。(看做家庭地址)
转移地址/辅地址
移动站点在外部网络使用的临时地址。
4.7.2移动IP通信过程
A刚进外部网络:
1.在外部代理登记获得一个转交地址,离开时注销。
2.外地代理向本地代理登记转交地址。
B给A发送数据报:
1.本地代理截获数据报
2.本地代理再封装数据报,新的数据报目的地址是转交地址,发给外部代理(隧道)。
3.外部代理拆封数据报并发给A。
A给B发送数据报:
A用自己的地址作为数据报源地址,用B的地址作为数据报的目的地址
A移动到了下一个网络:
1.在新外部代理注册一个转交地址
2.新外部代理给本地代理发送新的转交地址(覆盖旧的)。
3.通信
A回到了归属网络:
1.A向本地代理注销转交地址。
2.按原始方式通信。




4.8网络层设备
4.8.1路由器的组成与功能
路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。
1.路由器的各端口还应具有输入缓冲区和输出缓冲区 2.路由器的端口一般都具有输入和输出的功能
路由选择
根据所选定的路由选择协议构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表。
转发
交换结构:根据转发表(路由表得来)对分组进行转发。
若收到RIP/OSPF分组等,则 把分组送往路由选择处理机;
若收到数据分组,则查找转发表并输出。
输入输出端口一般就做在路由器的线路接口卡上
输入端口中的查找和转发功能在路由器的交换功能中是最重要的。为了使交换功能分散化,往往把复制的转发表放在每一个输入端口中,路由选择处理机对各转发表的副本进行更新,这些副本被称为影子副本
线速
输入端口的处理速率能跟上线路把分组传送到路由器的速率
若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。
路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。
4.8.2路由表与路由转发
路由表
路由表根据路由选择算法得出的,主要用途是路由选择,总用软件来实现。
路由表一般仅包含从目的网络到下一跳的IP地址
转发表
转发表由路由表得来,可以用软件实现,也可以用特殊的硬件来实现。
转发表必须包含完成转发功能所必需的信息,在转发表的每一行必须包含从要到达的目的网络到输出端口和某些MAC地址信息的映射。
转发
路由器根据转发表把收到的IP数据报从路由器合适的端口转发出去
路由选择
设计很多路由器,路由表是许多路由器协同工作的结果
自顶向下
补充



对于虚电路网络层,两个端系统之间的路径上的路由器都要参与虚电路的建立,且每台路由器都完全知道经过他的所有路由器




IPV6


删除的内容
分片功能
首部检验和
选项