导图社区 计算机网络第4章:网络层
计算机网络谢希仁第7版第4章:网络层思维导图。
编辑于2020-09-17 08:36:21第4层 网络层
4.1 网络层向上层提供的两种服务
服务的焦点在于:在计算机通信中,可靠的交互服务由谁负责,网络还是端系统呢?
虚电路服务:可靠服务由网络负责
数据报服务:可靠通信由用户主机保证
数据报服务(最终的选择)
其特点
1、向上提供简单灵活、无连接的、最大努力交付的数据报服务
2、发送前不需要建立连接,每个分组直接独立发送,不提供服务质量保证
3、所传送的分组可能出错、丢失或重复等
4、由于这种不需要可靠的传输服务,路由器就比较简单
5、可靠的服务由用户主机保证,即差错处理和流量控制交给主机负责
4.2 网际协议IP
引言
IP协议的配置协议
地址解析协议ARP
位置:处于IP协议的下方与各种网络接口沟通
网际控制报文协议ICMP
位置:处于IP协议的上方与网络层沟通
网际组管理协议IGMP
位置:处于IP协议的上方与网络层沟通
1、虚拟互连网络
问题:如何将不同的网络连接起来呢?
解决办法:使用中间设备
物理层上:转发器
数据链路层上:网桥或交换机
网络层:路由器
网络层之上:网关
关联:转发器与网桥、交换机本质上只是将网络扩大,而真正的连接不同网络是依靠路由器和网关,由于历史原因,将路由器也称为网关
虚拟互连网络internet
概念:指逻辑上的互连网络
虚拟的由来:首先在实际上所有网络是具有异构的,只是使用路由器和IP地址将这些网络连接政委一个整体的网络,使得在网络层上看见的是一个统一的网络,因此称为虚拟网
别名:IP网
2、分类的IP地址
IP地址
位数:32位即4字节
作用:一个IP地址在一个互联网是唯一的
编制方法阶段:分类的IP地址,子网划分,构成超网
组成:网络号+主机号
表示方法:点分十进制,即每8位化为一个十进制
分类的IP地址
A类:1字节网络号,起始为0,3字节主机号
第一个可指派的网络地址:1.0.0.0
网络号减去2的原因
0000 0000是一个保留地址,即本网络
0111 1111是一个本地软件用于测试的环回地址,即127
主机号减2原因
全0的主机号字段表示单个网络地址
全1的主机号字段表示所有主机
B类:2字节网络号,起始为10,2字节主机号
第一个可指派的网络地址:128.1.0.0
网络号减去1的原因
128.0.0.0是不指派的
主机号减2原因
全0的主机号字段表示单个网络地址
全1的主机号字段表示所有主机
C类:3字节网络号,起始为110,1字节主机号
第一个可指派的网络地址:192.0.1.0
网络号减去1的原因
192.0.0.0是不指派的
主机号减2原因
全0的主机号字段表示单个网络地址
全1的主机号字段表示所有主机
全1主机号用于多播,全0主机号用于表示网络地址
D类:起始1110,后面28位多播地址
E类:起始1111,后面28位保留今后使用
IP地址的特点与IP地址观察
1、IP地址由主机号与网络号组成,一种分等级的地址结构
2、路由器仅处理网络号来进行分组转发,路由器的每个接口都有不同的IP地址,每个路由器至少有两个不同的IP地址接口接入
3、IP地址是一个标识一台主机与链路的接口
4、用转发器或网桥连接起来的若干个局域网仍然为同一个网络号
5、所有的IP地址是公平
3、IP地址与硬件地址
区别
封装位置上
IP地址封装在IP数据报的首部
硬件地址封装在数据链路层的MAC帧的首部
使用层次上
网络地址及其以上都是使用IP地址
数据链路层与物理层都是使用硬件地址
观察在转发过程中的地址变化
变化情况
IP地址:源和目的IP地址在路由器的IP层的IP数据包转发之间不会发生变化
硬件地址:MAC帧在进入路由器的数据链路层会剥离源和目的硬件地址,转发出去时替换为后面的硬件地址,发生了变化
总结
路由器在转发时,只根据目的站IP地址的网络号进行转发
在局域网的链路层只能看见MAC帧
在IP以上的抽象层都只能看见IP数据报
4、地址解析协议ARP
问题:已经知道一个主机或者路由器的IP地址,如何确定其硬件地址
办法:使用地址解析协议
作用:从网络层使用的IP地址,解析出数据链路层使用的硬件地址
解决要点
1、在主机ARP的cache上存放一个IP地址到硬件地址的映射表
2、映射表可以自动更新,因此增加了生存时间,超过生存时间就将对应映射删除掉,重新更新
3、观察
3.1 发送:我方通过广播出本身硬件地址,以及对方的IP地址
3.2 接受:对方符合IP地址,就将其IP地址单播发送给我方
4、只能在局域网中使用ARP
新问题:既然在网络链路上传送的实际上时硬件地址,为什么还要使用IP地址
答案:硬件地址的转换工作十分复杂,由用户完成几乎不可能,但是通过IP地址编码,这种IP地址映射到硬件地址的方式,就可以交给计算机软件自动进行了
5、IP数据报的格式
首部(无尾部)
固定部分20字节
版本
位数:4
目的:确定IP协议的版本,IPv4还是IPv6
首部长度
位数:4
单位:32位即8字节
目的:表示首部的长度,至少位20字节
该字段min与max:0x0101(代表20字节)、0x1111(代表60字节)
区分服务:8位
总长度
位数:16
意义:指首部和数据之和的长度
标识
位数:16
目的:该标识并不是序号,而是用来在分片时保证IP数据报和其分片都是同一标识,就证明它们同一数据,以及不同的标识数代表不同的数据报
标志
位数:3
目的:最高位MF代表是否还有分片,中位MF代表是否不能分片
片偏移量
位数:13
目的:单位为8字节,目的在于帮助IP数据报分片时的确定偏移位置
生存时间
位数:8
目的:表示数据报的寿命,现在常用跳数TTL来表示,当该数据报经过一次路由器转发,就会TTL减一
协议
占8位,表示数据部分使用的协议
首部检验和
位数:16
方法:首部数据分为16位做反码算数求和,发送前后做比较
源IP地址、目的IP地址各占32位
可变部分
可选字段
填充字段
6、IP层转发分组的流程
重点:路由表格式
(目的Ip网络地址,下一跳IP目的地址)
分组转发流程
1、在网络层上:路由器根据IP数据报的目的IP地址中的网络号,对照自身的路由表,找到下一跳IP地址,这个过程的结果可能是直接交付到了主机上,也可能是间接交付到下一个路由器,继续查找下一跳IP地址,这是用户所看到的抽象层
2、在数据链路层、物理层上:路由器虽然找到了下一跳IP地址,但是在IP数据报中源、目的IP地址是不能变化的,此时就通过ARP协议,根据下一跳IP地址映射到对应的物理地址,然后在数据链路层上将这个物理地址封装在MAC帧首部,最后实际上利用这个物理地址去寻找下一跳,但是对于用户来说,这层是隐蔽的。
路由表的特殊项目
直接交付一般被表示为0.0.0.0
默认路由,是查找不IP网络号后,就使用默认路由,一般在路由表最后
特定主机路由,用于特殊工种的主机需要快速被查找到,因此会在路由表前面
4.3 划分子网与构造超网
1、划分子网
问题:早期的二级分类IP地址利用率低,路由表过大,不够灵活
方法:使用划分子网,增加一个子网号字段
要点:
1、划分子网交给单位内部自行处理
2、对单位内部表现位三级IP地址,对外实际还是二级IP地址
3、新划分的子网号字段从主机号前借用若干位
4、三级IP地址::={<网络号><子网号><主机号>}
5、划分子网不会改变原来的网络号,毕竟对外还是要保持原来的网络号
新支持:子网掩码
问题:如果划分了子网,怎么判断有关划分子网的信息呢
办法:使用子网掩码
形式上:32位,前面位连续的1,其位数与网络号加上子网号的位数
作用:通过与IP地址做与运算能够清楚的表示出网络地址
新问题:我不划分子网,是否需要子网掩码呢
答案:需要,互联网标准中规定,即使不划分子网,也有默认子网掩码的存在即255.0.0.0这些
2、使用子网时分组的转发
问题:既然采用了子网掩码,该如何查找路由表呢/
方法:对路由表格式进行更改,并修改路由表算法流程
内容更改:添加上子网掩码即可
算法上:IP数据报上的目的IP地址必须与子网掩码做与运算之后,再去和相应的IP目的地址作比较,匹配则转发
3、无分类编址CIDR(构造超网)
问题:B类地址分配过半,路由表项目急剧增加,IPv4地址空间最终可能消耗完
方法:提出变长子网掩码VLSM与无分类编址CIDR
要点
1、消除传统的ABC分类以及划分子网的该来,因此称为无分类编址
2、构造上:采用二级IP地址,但是内容上有改变IP地址::=<网络前缀>,<主机号>
3、记法上,在原来的点分十进制后加上/n,n表示网络前缀的位数
4、相同的网络前缀的IP地址块被曾为CIDR块
5、子网掩码继续沿用
6、仍然能够划分子网
构造超网的由来
由于这种CIDR编址后地址数量是原来C类的2的n次方倍,故称为超网
好处
1、提供了路由聚合。不像原来的分类地址,有多个网络号。而是直接可是使用CIDR块作为一个查找网络
问题2:在采用CIDR后,路由表项目也发生变化,包括网络前缀号、下一跳地址,子网掩码,但是有可能得到不止一个匹配结果
方法2:采用最长前缀匹配
目的:最长前缀匹配,保证其地址快更小,更容易查找
问题3:由于寻找最长前缀,算法更加麻烦了该使用什么数据结构和算法
方法:二叉线索树查找路由表,二叉线索树存储IP地址的唯一前缀
4.4 网际控制报文协议ICMP
作用:允许主机或路由器报告差错情况和提供有关异常情况的报告
ICMP协议是一个标准协议,ICMP报文存储在IP数据报的数据部分
ICMP报文格式
类型字段:指明ICMP报文种类以及该种类下的类型
差错报告报文
3:终点不可达-无法到达目的IP地址
11:时间超过:生存时间为0
12:参数问题:首部的参数有问题
5:改变路由:更加优化的路由路径
询问报文
8或0:回送请求或回答-可用于询问是否准备好联机等
13或14:时间请求或回答—可用于双方时间同步
代码字段:为了进一步区分某种类型下的几种不同情况
检验和字段:用于检验ICMP报文的首部,并不检验数据部分
ICMP报文内容字段:取决于ICMP报文类型
数据字段
4.5 互联网的路由选择协议
1、有关路由选择协议的几个基本概念
路由选择协议
作用:确定路由表的路由时如何得到的
核心:路由算法
互联网目前的路由选择协议主要是自适应、分布式、分层次的路由选择协议
自适应
概念:指能够动态的调整路由表,适应网络状态的变化
分层次
概念:将整个互联网划分为多个小的自治系统AS
分布式
概念:路由器的是分布的,需要不断交换信息
自治系统
概念:在单一技术管理下的一组路由器,即这个自治区域的使用相同的如有需拿着协议和共同的度量
根据自治系统通信将路由选择协议分类
内部网关协议IGP
概念:在一个AS中内部使用的路由选择协议(域内路由选择)
常用由RIP,OSPF协议
外部网关协议EGP
概念:在AS之间通信的路由选择协议(域间路由选择)
常用由BGP协议
2、内部网关协议RIP
概念:一种分布式的基于距离向量的路由选择协议,其度量就是距离向量
度量标准:距离向量也就是跳数
规定1:当跳数到达16时,表示不可达
规定2:每经过一个路由器,跳数就+1
协议关键:信息交换
1、交换对象:邻近的路由器
2、交换信息:即本路由器的路由表
3、交换时间:按一定时间间隔交换
协议的结果:不断地定时更新,最后就能够得到每个路由器到目的网络地最短路径
协议核心:距离向量算法
流程
1、将Y路由器接受的RIP报文的距离字段都加1,下一跳地址改为发送路由器的地址X
2、将RIP上的网络号与Y上路由表的网络号做相同的对比
没有此网络号:直接更新到路由表上
有相同的网络号
但对应的下一跳地址不一样,比较距离,距离小就更新
下一跳地址是一样,直接更新
观察结果
1、RIP路由表的有目的网路,距离,下一跳地址
2、下一跳必然为相邻的路由器
RIP报文
重要!!RIP协议使用运输层的用户数据报UDP进行传送
UDP首部
RIP报文
首部:命名,版本,补齐段
路由部分(交换信息)
地址族标识符、路由标记、网络地址、子网掩码、下一跳、距离
优缺点
优点
实现简单、开销小
缺点
好信息传播快,坏消息传播慢
3、内部网关协议OSPF
概念:一种分布式的基于链路状态的路由选择协议
度量标准:链路状态
规定1:包括与哪些链路相邻,以及该链路的度量(代价)
规定2:每经过一个路由器,跳数就+1
协议关键:信息交换
1、交换对象:所有的路由器
2、交换信息:与本路由器相邻的路由器的链路状态
3、交换时间:只要链路状态发生变化,路由器才向所有路由器洪范法发送消息
协议的结果:所有路由器最终都能建立一个链路状态数据库,及全网的拓扑结构图
OSPF报文
重要!!OSPF协议字用IP层的IP数据报进行传送
IP数据报首部
OSPF分组
OSPF分组首部:版本,类型,分组长度,路由器标识符,区域标识符,检验和,鉴别类型,鉴别
类型1到5的OSPF分组
类型1:问候分组,发现和维持相邻站的可达性
作用:确认可达性
类型2,3,4,5:链路状态描述、请求、更新、确认
作用:保证链路状态的同步,即达到一致
优缺点
优点
更新收敛速度快
缺点
复杂
4、外部网关协议BGP
概念:基于路径向量的路由选择协议
信息:路径向量,即该自治区域的网络到达信息
协议关键:信息交换
1、交换对象:相邻的BGP发言人
2、交换信息:我方BGP发言人所在区域的拥有的可到达网络,即网络可达信息
3、交换时间:
协议结果:得到一个自治系统间的连通图,掌握每个自治系统拥有的可到达网络信息,依此找到一条可到达网络的路径
BGP报文
BGP协议必须在建立TCP上交换BGp报文以建立BGP会话
TCP首部
BGP报文
5、路由器的构成
任务:转发分组
路由选择部分
任务:构造并未都路由表,经常或定期地与相邻路由器交换路由信息,以此维护路由表
主要构件:路由选择处理机
分组转发
任务:根据转发表,对分组进行处理,将某个输入端地分组从一个输出端口转发出去
主要构件:交换结构
区分转发与路由表
4.6 IPV6
1、IPv6的格式
IPv6引入的变化:地址空间变大(128位)、首部格式可扩展、首部改为8字节对齐、资源预分配、可添加选项
IPv6数据报
基本首部40字节:版本、通信量类、流标号、有效载荷长度、下一个首部、条数限制、原目的地址、目的地址
有效载荷:用于扩展首部
包括逐条选项、路由选择、分片、鉴别等等
2、IPv6的地址
地址大小:128位
表示方法:冒号十六进制记法
即每个16位用十六进制表示,各值之间用冒号隔开
零压缩:可以将对应的多余0压缩掉
IPv6地址的划分
特殊地址
全0,表示未指明地址
::1/128环回地址
FF::/8多播地址
普通地址
可以划分为二级IP地址、三级IP地址
3、从IPv4到IPv6的过渡
要求:IPv6必须兼容IPv4以此过度演变的IPv6上
过渡策略
双协议栈
概念:主机或路由器同时拥有IPv4/IPv6的协议栈
问题1:通信时如何确定使用IPv6还是IPv4
办法:使用域名系统,如果双方都有IPv6就可以使用IPv6
问题2:如何使用IPv6数据报时传递给只有IPv4的主机或路由器
方法:首部格式转换
缺点:容易造成信息确实,无法复原
隧道技术(借用了双协议栈的方法)
问题:双协议栈中首部格式转换后容易出现信息缺失
方法:使用隧道技术,将IPv6整体数据作为IPv4数据报的数据部分传送过去
关键:在IPv4的首部格式中指明协议字段为41
4、ICMPv6
就是ICMP的升级版,并且融合ARP、IGMP协议
4.7 IP多播
1、IP多播的基本概念
概念:互联网上进行多播,一个多播组里有多个多播成员,想该多播组发送数据,所有成员都可以接受到
问题:如何确定这个数据报是多播数据报呢?
方法:其实多播组的标识符就是D类地址,只要目的IP地址的前四位是1110,那这就是个IP数据报
显然:一个D类IP地址就是一个多播组,而且也是尽最大努力交付,不保证数据的正确性,而且只能用于目的地址
2、在局域网上进行硬件多播
3、IP多播需要两种协议
阶段一:在本地范围管理单个多播组使用网络管理协议IGMP
作用:管理连接到本地局域网上的多播路由器,确定多播组,确定多播组的成员信息
管理器件:多播路由器
阶段二:局域网上的多播路由器连接到互联网上使用多播路由选择协议
作用:将多个多播路由器在互联网上进行协同工作
难点:
1、必须动态适应多播祝愿的变化
2、多播数据报可以由没有加入多播组的或没有组成员的发起
3、考虑多播数据报的源与目的
导致没有统一的标准
4.8 虚拟专用VPN和网络地址转换NAT
1、虚拟专用网VPN
问题1:随着IP地址的稀缺,同时考虑到一些机构并不需要将所有的主机都链接到互联网上,只需要内部能够通信即可
提出了专用网概念
专用网
概念:专门用于在本机构内部进行通信的IP地址
问题2:如果任意选择IP地址得话,很可能导致有需要和外接互联网连接时就出现IP地址重复冲突
方法:提出专用网的专用IP地址
原因:任何机构都可以使用专用IP地址,要是两个机构都使用相同IP地址并通信到互联网,还是会碰撞
因此规定:专用IP地址只能够用于内部机构,不能用于主机上的通信
问题3:如何让本机构各个分部较远的专用网IP地址之间通过互联网来进行通信呢?
方法:提出了VPN
关键:首先将内部数据进行加密后,通过互联网上的IP隧道技术,传送数据
逻辑上:由于通信双方虽然通过互联网进行了通信,但实际上感觉不到,还以为是在专用网中通信,因此称为虚拟专用网VPN
2、网络地址转换NAT
问题:本机构现在想和外界的主机通信,但是外界的主机并不是专用网上的主机?
办法:在路由器上安装NAT软件,即网络地址转换NAT
关键:NAT转换表+路由器连接互联网的接口,使用的是非专网的IP地址
过程:将专网主机发送的IP数据报内的源地址转换为路由器的互联网接口处的IP地址,然后记录在NAT转换表上,路由器接受到外界主机发送过来的数据报时,使用NAT转换表,查找对应的专网IP地址
从过程中可以看出
发起方只能是专网IP地址
外界主机不知道其专网IP地址
有多少个来了解互联网的几口,就可以有多少个对外连接的专网主机
4.9 多协议标记交换MPLS
1、MPLS的工作原理
概念:多协议表示MPLS的上层采用了多种协议,标记交换指在LSR上进行标记的更换
基础:使用面向连接的技术,给每个分组携带了一个标记,当分组到达标记交换路由器,就要负责交换标记并且转发
优点:增强IP的转发速度,支持面向连接的服务质量,支持流量工程,有效支持虚拟专用网
基本工作过程:
1、在MPLS域的入口结点处给IP数据报打上标记
2、LSR路由器根据转发表来找到特定标记相对应的路径,然后转发出去
3、LSR只做两件事:转发与标记对换
特点:
1、标记是固定长度大小的首部
2、标记在第二层的运输层上进行分类,用硬件转发
2、MPLS的首部的位置与格式