网络层
4.1 网络层服务
网络层核心任务:将数据从源主机发送到目的主机。
网络层主要功能:
1、转发:数据从输入接口转移到输出接口。
2、路由选择:决定数据从源主机到达目的主机的路径。
3、连接建立:建立连接的网络称为虚电路网络,无连接的称为数据报网络。
4.2.1 数据报网络
按照目的主机地址进行路由选择的网络称为数据报网络。
数据报网络(无连接服务)
源主机每要发送一个分组,就为该分组加上目的主机地址,然后将该分组推进网络。数据报网络中不维护连接状态信息,但有转发状态信息。每个路由器使用一个分组的目的主机地址来转发该分组。转发表大概每1~5分钟由路由算法更新一次。
4.2.2 虚电路网络
虚电路是在源主机到目的主机的一条路径上建立的一条网络层逻辑连接,为区别于电路交换中的电路,称为虚电路。
一条虚电路由3个要素构成:(简答题)
1)从源主机到目的主机之间的一条路径(即一系列的链路和分组交换机)
2)该路径上的每条联络路各有一个虚电路标识(VCID)
3)该路径上每台分组交换机的转发表中记录虚电路标识的接续关系。
二者区别:
4.3.1 异构网络互连
异构网络:主要是指两个网络的通信技术和运行协议的不同。
例如:WAN,LAN等。
异构网络互连的基本策略:协议转换:
协议转换:采用一类支持异构网络之间协议转换的网络中间设备,来实现异构网络之间数据分组的转换与转发。例如:支持协议转换的网桥,交换机或者是多协议路由器和应用网关等。
构建虚拟互联网络:
在异构网络基础上构建一个同构的虚拟互联网络。
IP网络:Internet采用同构的网络层协议IP与网络寻址,IP地址,引入网络胡互连设备,IP路由器。
网络连接的设备:中继器、集线器、交换机、网桥、路由器和网关等。
路由器如何在网络层实现多个异构网络之间的互连:
源主机连接在802.11网络上的一台笔记本电脑。
目的主机是连接在以太网上的一台台式机。
同时这两个网络之间还存在着运行多协议标记交换网络。
路由器如何在网络层实现多个异构网络之间的互连:
1、源主机传输层报文段封装进IP数据包中,封装了目的主机IP地址。
2、数据包装进802.11帧中,发送到第一个路由器。
3、路由器收到帧时,路由器将数据报从802.11帧中提取出来,根据IP地址转发,并将该数据报通过某条链路发送出去。
4、该链路上运行着MPLS协议,路由器建立虚电路,并把数据报封装进MPLS帧中。
5、第二个路由器收到MPLS帧,提取数据报,转发并发送。
6、从第二个主机发送到目的主机的链路上运行着以太网,封装在以太网帧中并发送至目的主机。
4.3.2 路由器
路由器:是一个具有多个输入端口和多个输出端口的专用计算机,主要任务就是获取与维护路由信息以及转发分组。
路由器是最典型的网络层设备
路由器从功能体系结构角度:输入端口、交换结构、输出端口、路由处理器。
输入端口:查找、转发、到达分组缓存排队功能。
交换结构:转发的具体工作。将输入端口的IP数据报交换道指定的输出端口,主要包括基于内存交换、基于总线交换、基于网络交换中交换结构。
基于内存交换:输入端口——内存(路由处理器)——输出端口
基于总线交换:输入端口和输出端口连接在一条数据总线上,不用路由处理器介入即可实现交换功能,总线是独占式,当输入端口有多个分组到达时,只有一个分组可以通过总线传输到相应输出端口,其他输入端口的分组只能排队等待。
基于网络交换:使用一个复杂的互联网络来实现交换结构,客服单一、独占所带来的限制。
优劣对比:
基于内存交换:性能最低,路由器价格最便宜。
基于网络交换:性能最高,路由器价格昂贵。
输出端口:缓存排队,从队列中去除分组进行数据链路层数据帧的封装,发送。
1、先到先服务(FCFS)调度策略;
2、按优先级调度、按IP数据报的服务类型(Tos)调度。
路由处理器:
1)执行命令;
2)路由协议运行;
3)路由计算以及路由表的更新和维护。
4.4.1 网络层拥塞控制
网络层拥塞:一种持续过载的网络状态,用户对网络资源(包括链路带宽、存储空间和处理器处理能力等)的总需求超过了网络固有的容量。
网络负载在膝点附近时,吞吐量和分组平均延迟达到理想的平衡,网络的使用效率最高。
发送拥塞的原因:
1)缓冲区容量有限;
2)传输线路的带宽有限;
3)网络结点的处理能力有限;
4)网络中某些部分发送了故障。
网络层常采用的拥塞控制措施:
1)流量感知路由;
2)准入控制;
3)流量调节;
4)负载脱落。
流量感知路由:网络经常被抽象为一张带权无向图,权值能够根据网络负载动态调整,则可以将网络流量引导到不同的链路了上,均衡网络负载,从而延缓或避免拥塞的发生。
准入控制:是对新建虚电路审核,如果新建立的虚电路会导致网络变得拥塞,那么网络拒绝建立该新虚电路。
流量调节:在网络拥塞时,可以通过调整发送方发送数据的速率来消除拥塞。
1、抑制分组:感知到拥塞的路由器选择一个被拥塞的数据报,给该数据报的源主机返回一个抑制分组。
2、背压:抑制分组在从拥塞结点到源节点的路径上的每一跳,都发挥抑制作用。
负载脱落:通过有选择地主动丢弃一些数据报,来减轻网络负载,从而缓解或消除拥塞。
4.5 Internet网络层
Internet网络层主要协议:
1、网际协议;
2、路由协议;
3、互联网控制报文协议等内容。
IP目前两个版本:IPv4和IPv6
IPv4协议:定义了如何封装上层协议(如UDP,TCP等)的报文段,定义了Internet网络层寻址(IP地址)以及如何转发IP数据报等内容。是Internet网络层最核心的协议。
4.5.1 IPv4协议
一、IP数据报格式
一、IP数据报格式
1、版本号字段占4位,给出IP版本号;
2、首部长度字段占4位,给出IP数据报的首部长度;
3、区分服务字段占8位,在旧标准中称为服务类型字段,用来指示期望获得哪种类型的服务;
4、数据报长度字段占16位,指出IP数据报的总字节数;
5、标识字段占16位,标识一个IP数据报;
6、标志位字段占3位,其结构如下:
最高保留为DF禁止分片标志:
DF=0,允许路由器将该IP数据分片;
DF=1,禁止路由器将该IP数据分片;
MF更多分片标志
MF=0,该数据报未被分片或是分片的最后一片;
MF=1,该数据报一定是一个分片,且不是最后一个。
7、片偏移字段占13位,表示一个IP数据报分片与原IP数据报数据的相对偏移量,即封装的数据分片从原整个数据报的哪个字节开始的,以8字节为单位。
当该字段值为0时,且MF=1,则表示这是一个IP分片,且是第一个分片。
8、生存时间字段占8位,表示IP数据报在网络中可以通过的路由器数(或跳步数);
9、上层协议字段占8位,指示该IP数据报封装的是哪个上层协议。
TCP:6
UDP:17
10、首部校检和字段占16位,利用校检和实现IP数据报首部的差错检测;
11、源IP地址字段占32位,发出IP数据报的源主机的IP地址;
12、目的IP地址字段占32位,IP数据报需要送达的主机的IP地址;
13、选项字段长度可变,范围在1~40字节;
14、数据字段,数据字段存放IP数据报锁封装的传输层报文段。
二、IP数据报分片
最大传输单元
IP数据报分片的相关计算方法:
原数据IP报总长度为L字节,待转发链路的MTU为M字节。
若L>M,且DF=0,尽可能少分片、
一个最大分片可封装的数据字节数是8的倍数。
(每个分片的标识字段复制原IP数据报的标识字段)
MF标志位,除了最后一个分片位0外,其余分片全为1)
通过PingPlotter工具发送一个总长度为3400字节的IP数据报,通过MTU=1500字节的链路转发。
4.5.2 IPv4编址
IPv4地址的长度为32位,共有2的32次方个不同的IP地址,约为43亿个。
一台主机不是只有一个IP地址,路由器和主机的网络接口具有唯一的IP地址。
二进制标记法,点分十进制标记法,十六进制标记法。
IP地址分配:
具有3个接口的路由器,通过两台转换机,互连6台主机。
1、为每一个IP子网分配一个子网地址
IP子网地址为:203.1.1.0/24
/24: 24位前缀
2、子网203.1.1.0/24由3台主机以及一个路由器接口(203.1.1.1)组成。
(203.1.1.2, 203.1.1.3, 203.1.1.4)
IP地址分配:
IP子网的概念:将主机IP地址划分为两个部分:
1、前缀:即网络部分用于描述主机所归属的网络
分类地址:定长前缀;
分类寻址:
A、B、C类地址可以用于表示网络中的主机或路由器;
D类地址作为组广播地址;
E类时地址保留;
分类地址划分:
IP地址中用前缀中的后几位来表示网络地址个数,除去前缀外的位数是这类网络中的IP地址总数。
除去特殊IP地址外,还有一部分地址保留用于内部网络,称为私有网络,这部分地址可以在内网使用,蛋不能再公共互联网上使用。
IPv4早起分配的粗放性,分类地址的固有不足。
IPv4地址分配殆尽。
无类地址:
在无类寻址方案中,不存在诸如分类寻址中的网络类别,网络前缀不再被设计为定长为8位、16位、24位,而变成可以使0-32位的任意值。网络地址形式为a.b.c.d/x.这种地址形势称为无类域间路由(CIDR)
子网划分:
子网化就是指将一个较大的子网划分为多个较小子网的过程。
超网化是指将具有较长前缀的相对较小的子网合并为一个具有稍短前缀的相对较大的子网。超网化是子网化的逆过程。
子网掩码:
子网掩码:32位。
对应网络前缀,全部为1;
其余位(主机部分),全部为0
例如:子网213.111.0.0/24的子网掩码是:255.255.255.0
路由聚合:提高路由效率,减少路由表项数,将可以聚合在一起的子网聚合成一个大的子网。
4.5.3 动态主机配置协议
当组织分配到一个网络地址块后,就可以为该组织内的主机和路由器接口分配IP地址。
静态分配:手动配置;
动态分配:动态主机配置协议(DHCP)来分配。
DHCP服务器端口号67
DHCP客户端口号68
1、DHCP服务器发现:广播方式
2、DHCP服务器提供:广播方式
3、DHCP请求:广播方式
4、DHCP确认
4.5.4 网络地址转换
网络地址转换(NAT)工作原理:
对于从内网出去,进入公共互联网的IP数据报,将其IP地址替换为NAT服务器拥有的合法的公共IP地址,同时替换源端口号,并将替换关系记录到NAT转换表中;
对于从公共互联网返回的IP数据报,依据其目的IP地址与目的端口号检索NAT转换表,并利用检索到内部私有IP地址与对应的端口号替换目的IP地址和目的端口号,然后将IP数据报转发到内部网络。
4.5.5 ICMP
互联网控制报文协议(ICMP):在主机或路由器间实现差错信息报告,信息探测。
ICMP差错报告报文有5中:终点不可达、源点抑制、时间超时、参数问题、路由重定向;
ICMP询问报文:回声(echo)请求/应答、时间戳请求/应答;
4.5.6 IPv6
IPv6地址:单播地址、组播地址、任播地址三类;
IPv6地址长度为128位,通常采用8组冒号分隔的十六进制数地址形势表示,例如:
5000:0000:00A1:0128:4500:0000:89CE:ABCD
IPv4到IPV6的迁移:
(1)双协议栈,即支持IPv6的网络结点同时也支持IPv4,同时具备发送IPv4与IPv6数据报的能力。为了实现IPv4与IPv6共存采用双协议栈,其中通过DNS可以解决一个结点感知通信另一结点提供什么版本的网络层服务。
(2)隧道,可以很好地解决IPv6通信中经过IPv4路由器的问题,同时也不会出现信息丢失的问题。、
4.6 路由算法与路由协议
路由选择的核心是路由选择算法。
4.6.1 路由选择算法分类
将网络抽象为一个带权无向图G=(N,E),N表示结点集合,E是边的集合。
网络中的路由器抽象为G的结点,连接两个路由器的网络链路抽象为G的边。
网络链路的费用(比如带宽、时延等)抽象为G中的权值。
两个结点x和y之间边的权值(即直接链路费用),雍c(x,y)来表示
如果x,y之间存在边,c(x,y)=10
如果不存在边,c(x,u)=无限
路劲{x,y,u,v}的费用是:80
4.6.1 路由选择算法分类
第一种分类:
第二种分类:
第三种分类:负载敏感的路由选择算法;负载迟钝的路由选择算法。
4.6.2 链路状态路由选择算法
链路状态路由选择算法是利用迪杰斯特拉算法求最短路径的
P(v):到本次迭代为止,在源结点到目的结点v的当前路径上,结点v的前序结点。
如果路径上只有两个结点,则该值就是最后一个结点。
4.6.3 距离向量路由选择算法
距离向量路由选择算法的基础是B-F方程。令dx(y)表示结点x到结点y的路径的最低费用(即广义最短距离),根据B-F方程,有一下公式
1、x、y、z结点先初始化,得到初始化向量DV;
2、邻居结点进行第一次DV交换,x的距离向量(0,2,7)变为(0,2,5),z的距离向量(7,3,0)变为(5,3,0),结点y未发生改变。结点x和z需要把新的距离向量通过给邻居,y不需要通告。
3、x,y,z分别收到了新的通告,再次基于B-F方程,计算最短距离。均为发生改变,各结点均收敛。
无穷计数问题:
链路xz的费用很大,链路xy的费用也变得很大时,在这种情况下结点y、z在很长时间都在使用虚假的到达结点x的“最佳”路由,这就是距离向量路由选择的无穷计数问题。
解决无穷计数问题的方案:毒性逆转计数,最大有效费用度量值。
4.6.4 层次化路由选择
LS算法:需要全网广播链路状态分组。
DV算法:需要在邻居路由器之间交换距离向量。
层次化路由选择:实现大规模网络路由选择最有效、可行的解决方案。
AS:大规模的互联网按组织边界、管理边界、网络技术边界或功能划分为多个自治系统(AS),每个自治系统由一组运行相同路由协议和路由选择算法的路由器组成。
网关路由器:每个自治系统都存在至少一个与其他路由器互连的路由器。
层次化路由选择原理:将大规模互联网的路由划分为两层,自治系统内路由选择和自治系统间路由选择。在这种网络中,路由器转发表由自治系统内路由选择协议和自治系统间路由选择协议共同设置。
自治系统内路由选择协议:计算到达自治系统内殴打目的网路的路由。
自治系统间路由选择协议:负责与其他自治系统的网络可达性信息,交换给其所在自治系统内的其他路由器,这些路由器进一步将这些路由信息存储到转发表。
4.6.5 Internet路由选择协议
Internet路由:层次化路由选择。
一、Internet自治系统内路由选择协议称为内部网关协议(IGP)
典型的IGP协议:路由信息协议(RIP)
开放最短路径优先协议(OSPF)
二、Internet自治系统间路由选择协议称为外部网关协议(EGP)
典型的EGP协议:边界网关协议(BGP)
RIP:广泛使用、基于距离向量路由选择算法的IGP。
RIP是应用层实现的,RIP报文需要封装进UDP数据报。
RIP特性:
第一、在度量路径时采用的是跳数。
第二、RIP的费用定义在源路由器和目的子网之间。
第三、RIP被限制的网络直径不超过15跳的自治系统内使用。
OSPF:较大规模的AS。链路状态选择算法,直接封装在IP数据报传输。
优点:安全、支持多条相同费用路径、支持区别化费用度量、支持单播路由与多播路由、分层路由。
BGP:实现跨自治系统的路由信息交换。典型版本是BGP4。
BGP应用进程实现的,传输层使用TCP
每个AS可以通过BGP实现如下功能:
1、从相邻AS获取某子网的可达性信息。
2、向本AS内部的哦呦路由器传播跨AS的某子网可达性信息。
3、基于某子网可达性信息和AS路由策略,决定到达该子网的最佳路由。
BGP主要由4种报文:
1、OPEN(打开)报文,用来与BGP对等方建立BGP会话。
2、UPDATE(更新)报文,用来通告某一路由可达性信息,或者撤销已有路由。
3、KEEPALIVE(保活)报文,用于对打开报文的确认,或周期性地证实会话的有效。
4、NOTIFICATION(通知)报文,用来通告差错。