计算机网络第四章网络层
4.1.1网络层功能概述
主要任务是把分组从源端传到目的端,为分组交换网的不同主机提供通信服务,传输单位:数据报功能一:路由选择与分组转发,寻找最佳路径
功能二:异构网络互联
功能三:拥塞控制
若所有结点都拉布机接收分组,就要丢弃大量分组,网络就会处于拥塞状态,因此需要控制
4.1.2电路交换,报文交换与分组交换
电路交换:
建立连接--->通信--->释放连接
优点:1.通信时延小,2.有序传输,3.没有冲突,4.实时性强
缺点:1.建立连接时间长,2.线路独占,使用效率低,3.灵活性差,4.无差错控制能力
报文交换:
报文:源应用发送的信息整体
优点:1.无需建立连接,2.存储转发,动态分配线路,3.线路可靠性较高,4.线路利用率较高,5.多目标
服务
缺点:1.有存储转发时延,2.报文大小不定,需要网络节点有较大缓存空间
分组交换:
分组:把大的数据块分割成小的数据块
优点:1.无需建立连接,2.存储转发,动态分配线路,3.线路可靠性较高,4.线路利用率较高,5.相对于报文交换,存储管理更容易,缓存要求相对较小
缺点:1.有存储转发时延,2.需要传输额外的信息量,3.乱序到达目的主机时,要对分组排序重组
传送数据量大,传送时间远大于呼叫时间,选择电路交换,电路交换传输时延最小
报文交换和分组交换的信道利用率优于电路交换,其中分组交换时延更小
4.1.3数据报与虚电路
无连接服务:不事先为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径不一定相同 连接服务:建立连接,沿该连接传输系列分组,系列分组传输路径相同,传输结束后拆除连接 数据报方式:为网络层提供无连接服务 虚电路方式为网络层提供连接服务应用层:报文,传输层:报文段,网络层:IP数据报,分组,数据链路层:帧,物理层:比特流
数据报:
无连接
每个分组携带源地址和目的地址
路由器根据分组的目的地址转发分组:基于路由协议/算法构建转发表;检索转发表;每个分组独立选路线
虚电路:
结合数据报和电路交换方式,以发挥两者优点
一条源主机到目的主机类似于电路的路径(逻辑连接),路径上所有结点都要维持这条虚电路的建立,都维持着一张虚电路表,每一项记录了一个打开的虚电路信息
建立连接(每个分组携带虚电路号,而非目的地址,源主机发出请求分组,并受到呼叫应答才算建立连接)
数据传输(全双工通信)
释放连接
4.2路由算法与路由协议概述
4.3.1IP数据报格式
IP数据报分为首部和数据部分(TCP,UDP段)版本:IPv4/IPv6
首部长度:单位是4B,最小为5
区分服务:指示期望获得哪种类型的服务
总长度:首都+数据,单位是1B
生存时间(TTL):IP分组的保质期,经过一个路由器-1,变成0丢弃
协议:数据部分的协议
首部检验和:只检验首部
源IP地址和目的IP地址:32位
可选字段:0~40B,用来支持排错,测量以及安全等措施
填充:全0,把首部补成4B的整数倍
4.3.2IP数据报分片
最大传输单元MTU:链路层数据帧可封装数据的上限,以太网的MTU是1500字节传送的数据部分长度不可超过MTU,过长就会分片
标识:同一数据报的分片使用同一标识
标志:三位:第一位保留,只有后两位有意义X _ _,中间位DF(1,禁止分片,0,允许分片),最低位 MF(1,后面还有分片,没结束,0,代表没分片或最后一片)
片偏移:指出较长分组分片后,某片在原分组中的相对位置,以8B为单位
4.3.3IPv4地址
IP地址:全世界唯一的32位/4字节标识符,表示路由器主机的接口IP地址::={<网络号><主机号>} 例:222.1.1.1
A类地址: 1~126,0
B类地址:128~191,10
C类地址:192~223,110
D类地址:224~239,1110
E类地址:240~255,1111
网络号全0,代表本网络的意思
全0字段不可作为目的地址,本网范围内表示主机,路由表表示默认路由
全1子段只可以作为目的地址,表示本网网络广播,路由器不转发(隔离广播域)
网络号为特定值,主机号为全1,表示对特定网络上的所有主机进行广播
网络号127,主机号非全0/1,用于本地测试环回测试,称为环回地址
4.3.4网络地址转化NAT
私有IP地址: A类:10.0.0.0 ~ 10.255.255.255 网段:1 B类:172.16.0.0 ~ 172.31.255.255 网段:16 C类:192.168.0.0 ~ 192.168.255.255 网段:256 路由器对目的地址时私有IP地址的数据报一律不进行转发网络地址转换NAT:在专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫NAT路由
器,至少有一个有效的外部全球IP地址
NAT转换表记录WAN端和LAN端的源地址或目的地址和端口号替换表,经过NAT时发生替换
4.3.5子网划分和子网掩码
分配的空间的利用率有时很低,两级IP地址不够灵活 两级IP地址[网络号,主机号] 三级IP地址[网络号,[子网号,主机号]],对外依旧体现二级IP地址,外部看不见内部子网划分 子网掩码:主机号全0,其余全1 子网掩码与IP地址逐位相与,得到子网网络地址路由表中:
1,目的网络地址
2.目的网络地址掩码
3.下一跳地址
路由器转发分组算法:
1.提取目的IP地址
2.是否直接交付
3.特定主机路由
4.检测路由表中有无路径
5.默认路由:0.0.0.0
5.丢弃,报告转发分组出错(生存时间为0没找到的话)
4.3.6无分类编址CIDR
无分类域间路由选择CIDR1.消除了传统的A类,B类,C类地址以及划分子网的概念[网络前缀,主机号]
CIDR记法:IP地址后驾驶'/',然后写上网络前缀(任意长度)的位数,例:128.14.32.0/20
2.融合子网地址和子网掩码,方便子网划分
CIDR网络前缀都相同的连续的IP地址组成一个'CIDR地址块'
128.14.35.7/20
二进制:10000000 00001110 00100011 00000111
最小地址:10000000 00001110 00100000 00000000
最大地址:10000000 00001110 00101111 11111111
地址块:128.14.32.0/20 '/20地址块'
地址掩码(子网掩码):11111111 11111111 11110000 00000000
构成超网:
将多个子网聚合成一个较大的子网,也称路由聚合
将网络前缀缩短即可
使用CIDR时,查找路由表可能得到几个匹配的结果,应选择具有最长网络前缀的路由,前缀越长,地址块越小,路由越具体
4.3.7ARP协议
ARP高速缓存(IP地址与MAC地址的映射)由于在实际网络中的链路上传送数据帧时,最终必需使用MAC地址
ARP协议:完成主机或路由器IP地址到MAC地址的映射(解决下一跳走哪的问题)
ARP协议使用过程:检查ARP高速缓存,有对应表项则写入MAC帧,没有则用目的MAC地址为全1的帧封装并广播 ARP请求分组,同时局域网中所有主机都能收到该请求。目的主机收到请求后就会向源主机 单播一个ARP响应分组,源主机收到后将该映射写入ARP缓存(10~20min更新一次)
ARP协议4种典型情况:
1.主机A发给本网络的主机B,用ARP找到主机B的硬件地址
2.主机A发给另一网络的主机B,用ARP找到本网络上一个路由器(网关)的硬件地址
3.路由器发给本网络的主机A,用ARP找到主机A的硬件地址
4.路由器发给另一网络的主机B,用ARP找到本网络上的一个路由器的硬件地址
4.3.8DHCP协议
动态主机配置协议DHCP是应用层协议,使用客户/服务器方式,客户端和服务端通过广播方式进行交互,基于UDP,DHCP提供即插即用联网的机制,主机可以从服务器动态获取IP地址,子网掩码,默认网关,DNS服务器名称与IP地址,允许地址重用,支持移动用户加入网络,支持在用地址续租1.主机广播DHCP发现报文(试图找到网络中的服务器,服务器获得一个IP地址)
2.DHCP服务器广播DHCP提供报文(服务器拟分配给主机一个IP地址)
3.主机广播DHCP请求报文(主机向服务器请求提供IP地址)
4.DHCP服务器广播DHCP确认报文(正式将IP地址分配给主机)
4.3.9ICMP协议
国际控制报文协议ICMP支持主机或路由器:查错(异常)报告,网络探寻--->发送特定ICMP报文ICMP查错报告报文数据字段
ICMP查错报告报文:
1.终点不可达:当路由器或主机不能交付数据报时就向源点发送终点不可达报文
2.源点抑制:当路由器或主机由于拥塞而丢弃数据报时,就像源点发送源点抑制报文,使源点知道应当把数据报
的发送速率放慢
3.时间超过:当路由器收到ttl为0的数据报时,丢弃该报文,且向源点发送时间超过报文,当终点在预先规定
的时间内没收集齐一个数据报的全部报文,就丢弃已收到的所有报文并向源点发送时间超过报文
4.参数问题:当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发
送参数问题报文
5.改变路由(重定向):路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送到另外的路由器
不发送ICMP差错报文的情况:
1.ICMP查错报告报文
2.对第一个分片的数据报片的所有后续数据报片
3.对具有组播地址的数据报都不发送ICMP查错报告报文
4.对具有特殊地址(127.0.0.0或0.0.0)的数据报
ICMP询问报文:
1.回送请求和回答报文:主机或路由器向特定目的主机发出的询问,收到此报文的主机必须给源主机或路由器发
送ICMP回送回答报文(ping,测试是否可达以及相关状态)
2.时间戳请求和回答报文:请某个主机或路由器回答当前的日期和时间(时钟同步,测量时间)
Traceroute:跟踪一个分组从源点到终点的路径,使用了ICMP时间超过查错报告报文
4.4IPv6
32位IPv4地址空间已经分配殆尽IPv6与IPv4的区别
1.IPv6将地址从32位扩大到128位,更大的地址空间
2.IPv6将IPv4的校验和子段彻底移除,减少每跳的处理时间
3.IPv6将IPv4的可选字段移出首部,变成了扩展首部,路由器通常不对扩展首部检查,提高路由器的处理效率
4.IPv6支持即插即用(自动配置),不需要DHCP协议
5.IPv6首部长度必须是8B的整数倍,IPv4首部是4B的整数倍
6.IPv4只能在主机处分片,IPv4可以在路由器和主机处分片
7.ICMPv6:附加报文类型'分组过大'
8.IPv6支持资源的预分配,支持实时视像等要求,保证一定的带宽和延时的应用
9.IPv6取消了协议字段,改成下一个首部字段
10.IPv6取消了总长度字段,改用有效载荷长度字段
11.IPv6取消了服务类型字段
一般形式:冒号十六进制法:1234:5678:9ABC:1236:5678:9ABC
压缩形式:前缀0可省略,一连串连续的0可以被一对冒号取代,变成双冒号,一个IPv6地址中仅可使用一次
单播:一对一通信
多播:一对多通信
任播:一对多中的一个通信
隧道协议:通过使用互联网络的基础设施在网络之间传递数据的方式,将其他协议的数据帧或包重新封装,通过
隧道发送
4.5.1RIP协议与距离向量算法
RIP是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,优点是简单RIP协议要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离
路由表:[目的网络,距离,下一跳路由器]
距离:帧数,即源端口到目的端口所经过的路由器格式,经过一个路由器跳数+1,特别的,直接连接的网络距离 为1,RIP只允许一条路最多只能包含15个路由器,16表示网络不可达
RIP协议只适用于小互联网
仅跟相邻路由器交换信息,交换自己的路由表,没30s交换一次路由信息,超过180s未收到邻居的通告,哦安定邻居退出网络,自己更新路由表
交换规则:1.没有该网络,直接添加,2.下一跳路由器相同,无条件改变,3.距离更近更新
相邻路由器退出网络,发现时,将该路由器记为不可达,距离设为16
RIP特点:当网络出现故障时,要经过较长时间才能将消息传给所有设备,慢收敛
4.5.2OSPF协议与链路状态算法
OSPF协议:开放最短路径优先,公开发表的使用了Dijkstra提出的最短路径算法SPF所有路由器都能建立一个链路状态数据库(全网拓扑图)
不存在坏消息传的慢的问题
4.5.3BGP协议
BGP所交换的网络可达性的信息就是要到达某个网络所要经过的一系列AS(自治系统),当BGP发言人互相交换了网络可达性的信息后,各BGP发言人根据所才用的策略从收到的路由信息中找出到达各AS的较好路由交换路由信息,先进行TCP链接,在连接上交换BGP报文建立BGP会话,利用BGP会话交换路由信息
BGP是应用层协议,借助TCP传送
BGP协议特点:支持CIDR,包括目的网络前缀,下一跳路由器,到达目的网络所要经过的各个自治系统序列
BGP-4的四种报文:OPEN(打开)报文,UPDATE(更新)报文,KEEPALIVE(保活)报文,NOTIFICATION(通知)报文
3种路由协议比较:
RIP是一种分布式的基于距离向量的内部网关路由选择协议,通过广播UDP报文交换路由信息
OSPF是一个内部网关协议,要交换的信息量大,应使报文的长度尽量短,直接采用IP
BGP是一个外部网关协议,在不同自治系统之间交换路由信息,网络环境复杂,需要保证可靠传输,采用TCP
4.6IP组播
组播提高了数据传输效率,减少了主干网出现拥塞的可能性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
组播路由选择协议
组播路由协议目的是找出以源主机为根节点的组播转发树
对不同的多播组对应于不同的多波转发树
4.7移动IP
移动IP技术是移动节点以固定的网络IP地址,实现跨越不同网段的漫游功能,并保证了基于网络IP的网络的网络权限在漫游过程中不发生任何改变移动节点:具有永久IP地址的移动设备
本地代理:一个移动节点拥有的旧'居所'称为归属网络,在归属网络中代表移动节点执行移动管理功能的实体
外地代理:在外部网络中帮助移动节点完成移动管理功能的实体
永久地址:移动站点在归属网络中的原始地址
转交地址:移动站点在外部网络使用的临时地址
4.8网络层设备
路由器:一种多个输入端口和多个输出端口的专用计算机,其任务是转发分组根据所选定的路由选择协议构造出路由表,定期和相邻路由器交换路由信息,不断更新和维护路由表
根据转发表对分组进行转发
收到RIP/OSPF分组等,把分组送到路由选择处理机,收到数据分组,查找转发表输出
路由器中的输入输出队列产生溢出是造成分组丢失的重要原因
三层设备的区别:
路由器:可以互连两个不同网络层协议的网段
网桥:可以互连两个物理层和链路层不同的网段
集线器:不能互连两个物理层不同的网段
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)