网络层综述.docx
《网络层综述.docx》由会员分享,可在线阅读,更多相关《网络层综述.docx(10页珍藏版)》请在冰豆网上搜索。
网络层综述
网络层结构、服务及其协议
主要内容
网络层——从主机到主机的通信
IPv4
路由——数据包的处理方式
路由过程:
了解路由的途径
网络层——从主机到主机的通信
网络层
为每个终端设备之间通过网络交换数据的片段提供服务
基本过程:
编址封装路由解封装
协议
Internet协议第四版(IPv4)Internet协议第六版(IPv6)
AppleTalk
Novell互联网分组交换协议(IPX)无连接网络服务(CLNS/DECNet)
IPv4协议
IPv4协议的演变与发展
IPv4协议的基本内容
IP是TCP/IP协议体系中网络层的协议;
TCP/IP协议体系中的其它协议,如TCP、UDP、ICMP及IGMP等都是以IP协议为基础的。
IPv4协议的主要特点
IP协议提供的是一种“尽力而为(best-effort)”的服务。
无连接—意味着IP协议并不维护IP分组发送后的任何状态信息。
每个分组的传输过程是相互独立的。
不可靠—意味着IP协议不能保证每个IP分组都能够正确的、不丢失和顺序的到达目的结点。
IP协议是点-点的网络层通信协议。
网络层需要在互联网中为通信的两个主机之间寻找一条路径,而这条路径通常是由多个路由器和点-点链路组成;
IP协议要保证数据分组通过多跳路径从源结点到达目的结点;
IP协议是针对源主机-路由器、路由器-路由器、路由器-主机之间的数据传输的点-点的网络层通信协议。
IP协议向传输层屏蔽了物理网络的差异。
作为一个面向互联网的网络层协议,它必然要面对各种异构的网络和协议,IP协议需要向传输层屏蔽物理网络的差异性。
IPv4分组的格式
IP分组由两个部分组成:
分组头和数据;
分组头有时也称为首部,分组头长度是可变的;
人们习惯用4字节为基本单元表示分组头字段;
IPv4分组头的基本长度是20字节,最大长度为60字节。
IPv4分组头格式
IP分组的第一个字段是“版本(version)”;
长度为4位;
表示所使用的网络层IP协议的版本号;
版本字段值为4,表示IPv4;
版本字段值为6,表示IPv6。
协议字段
协议字段则是指使用IP协议的高层协议类型;
协议字段长度为8位。
长度
IP分组的分组头有两个长度字段:
分组头长度(hlen)
总长度(totallength)
分组头长度字段
分组头长度字段的长度为4位,它定义了以4字节为一个单位的分组头的长度;
分组头长度字段最小值为5,最大值为15。
服务类型字段
服务类型字段的长度为8位;
用于指示路由器如何处理该分组;
服务类型由4位的服务类型(TOS)字段与3位的优先级字段构成,有1位的保留位。
IP分组的分片与组装
最大传输单元MTU与IP分组的分片
从IP协议与数据链路层协议的角度看IP分组的最大长度;
从IP协议与传输层协议的角度看IP分组的最大长度;
RFC791文件中规定IP分组的可标识的最大长度为65535个字节。
IPv4地址
IP地址概念与划分地址新技术的研究
标准IP地址的分类
A类地址
A类地址的网络号的第1位为0,其余的7位可以分配;
A类地址共分为大小相同的128(27=128)块,每一块的netID不同;
netID=10的10.0.0.0~10.255.255.255用于专用的地址,其余的125块可指派给一些机构;
每个A类网络可以分配的主机号hostID可以是224-2=16777214个;
主机号为全0和全1的两个地址保留用于特殊目的。
A类地址覆盖范围为:
1.0.0.0-127.255.255.255。
B类地址
B类地址的网络号长度为14位,网络号有214=16384个;
B类地址的主机号长度为16位,因此每个B类网络
可以有216=65536个主机号;
主机号为全0和全1的两个地址保留用于特殊目的;
B类地址覆盖范围为:
128.0.0.0~191.255.255.255。
C类地址
对于C类IP地址,网络号长度为21位,主机号长度为8位;
网络号长度为21位,允许有221=2097152个不同的C类网络;
主机号长度为8位,每个C类网络的主机号最多有28=256个;
主机号为全0和全1的两个地址保留用于特殊目的,一个C类IP地址允许分配的主机号为254个;
C类地址覆盖范围为:
192.0.0.0-223.255.255.255
D类IP地址
D类IP地址地址覆盖范围为:
224.0.0.0~239.255.255.255
D类IP地址用于其他特殊的用途,如多播地址。
E类IP地址
E类IP地址地址覆盖范围为:
240.0.0.0~247.255.255.255
E类地址用于某些实验和将来使用。
路由——数据包的处理方式
源路由
源路由是指由发送分组的源主机制定的传输路径,用以区别由路由器通过路由选择算法确定的路径;
源路由主要用于测试某个网络的吞吐量,绕开出错的网络,也可以用于保证传输安全的应用中;
源路由分为严格源路由(SRR)与松散源路由(LRR)。
路由选择算法的主要参数
跳数—一个分组从源结点到达目的结点经过的路由器的个数;
带宽—链路的传输速率;
延时—一个分组从源结点到达目的结点花费的时间;
负载—通过路由器或线路的单位时间通信量;
可靠性—可靠性是指传输过程中的误码率;
开销—传输过程中所耗费的链路带宽、通信费用等。
路由选择算法的分类
静态路由表
静态路由表是由人工方式建立的,网管人员将每个目的地址的路径输入到路由表中;网络结构发生变化时,路由表无法自动地更新;
静态路由表一般只用在小型的、结构不会经常改变的局域网系统中,或者是故障查找的试验网络中。
动态路由表
大型互联网络通常采用动态路由表;
在网络系统运行时,系统将自动运行动态路由选择协议,建立路由表;
当互联网结构变化时,例如当某个路由器出现故障或某条链路中断时,动态路由选择协议就会自动更新所有路由器中的路由表;
不同规模的网络需要选择不同的动态路由选择协议。
路由选择算法与路由表
在互联网中每一台路由器都会保存一个路由表,路由选择是通过表驱动的方式进行的。
一个通过3个路由器连接的4个网络的例子
路由表中的特殊路由
默认路由
在路由选择过程中,如果路由表中没有明确指明一条到达目的网络的路由信息,就可以将该分组转发到默认路由指定的路由器。
特定主机路由
IP协议允许为一个特定的主机建立特定主机路由;
特定主机路由方式赋予本地网络管理者更大的网络控制权,可以用于网络安全、网络流通性测试、路由表正确性判断等。
路由表的建立、更新与路由选择协议
路由选择算法(routingalgorithm)与路由选择协议(routingprotocol)的概念是不同的;
路由选择算法的目标是产生一个路由表,为路由器转发IP分组找出适当的下一跳路由器;
设计路由选择协议是实现路由表路由信息的动态更新。
路由选择协议的分类
内部网关协议IGP
内部网关协议是在一个自治系统内部使用的路由选择协议;
内部网关协议主要有:
路由信息协议(RIP)
开放最短路径优先(OSPF)协议
外部网关协议EGP
连接不同自治系统之间的路由器之间使用外部网关协议EGP交换路由信息;
外部网关协议主要是边界网关协议(BGP)。
路由器与第三层交换技术
路由器主要功能
建立并维护路由表
为了实现分组转发功能,路由器内部有一个路由表数据库与一个网络路由状态数据库;
路由器定期更新路由表;
提供网络间的分组转发功能
当一个分组进入路由器时,路由器检查报文分组的源地址与目的地址,然后根据路由表数据库的相关信息,决定该分组应该传送给哪个路由器或主机。
路由器的结构与工作原理
路由器的基本结构
路由器是一种具有多个输入端口和多个输出端口,完成分组转发功能的专用计算机系统;
路由器是由“路由选择处理机”和“分组处理与交换”两部分组成。
路由选择处理机
路由选择部分又称为控制部分,其核心构件是路由选择处理器;
路由选择处理器的任务是根据所选定的路由选择协议构造路由表,同时从相邻路由器交换路由信息,更新和维护路由表。
分组处理与交换部分
分组处理与交换部分主要包括:
交换结构、一组输入端口和一组输出端口;
交换结构根据转发表对分组进行处理,将输入端口进入的分组从合适的输出端口转发出去;
路由器每个输入和输出端口中各有三个模块,对应于物理层、数据链路层和网络层;
如果接收的分组是交换的路由信息的分组(如RIP或OSPF分组),则将这种分组送交路由选择处理器;如果接收到的是数据分组,则按照分组头中的目的地址查找转发表,决定合适的输出端口
路由过程:
了解路由的途径
路由器技术演变与发展
第一代单总线单CPU结构的路由器
第二代多总线多CPU结构的路由器
第三代交换结构的Gbps路由器
第四代多级交换路由器
第三代交换结构的Gbps路由器成本增高,同时对新的应用需求与协议变化的适应能力差;
针对这种情况,研究人员提出网络处理器(NP)的概念,通过采用多微处理器的并行处理模式,使NP具有与ASIC芯片相当的功能,同时具有很好的可编程能力,使得用NP设计的路由器性能大幅度提高,能适应未来发展的需要;
未来的路由器应该是采用并行处理、光交换技术的多级交换路由器。
IPv6协议
IPv6的主要特征
新的协议格式;
巨大的地址空间;
有效的分级寻址和路由结构;
有状态和无状态的地址自动配置;
内置的安全机制;
更好地支持QoS服务。
IPv6地址表示方法
IPv6的128位地址按每16位划分为一个位段,每个位段被转换为一个4位的十六进制数,并用冒号隔开,这种表示法称为冒号十六进制表示法;
用二进制格式表示的一个IPv6地址:
00100001110110100000000000000000000000000000000000101l11001110110000001010101010000000000000111111111110000010001001110001011010
将这个128位的地址按每16位划分为8个位段:
00100001110110100000000000000000000000000000000000000000000000000000001010101010000000000000111111111110000010001001110001011010
将每个位段转换成十六进制数,并用冒号隔开,结果应该是:
21DA:
0000:
0000:
0000:
02AA:
000F:
FE08:
9C5A
一个冒号十六进制IPv6地址与最初给出的一个用128位二进制数表示的IPv6地址是等效的;
IPv6前缀(formatprefix)
IPv6不支持子网掩码,它只支持前缀长度表示法;
前缀是IPv6地址的一部分,用作IPv6路由或子网标识;
IPv6前缀可以用“地址/前缀长度”来表示;
例如,21DA:
D3:
:
/48是一个路由前缀;而21DA:
D3:
0:
2F3B:
:
/64是一个子网缀。
IPv6分组结构与基本报头
每个IPv6分组都有一个IPv6基本报头。
基本报头长度固定为40个字节;
IPv6数据包可以没有扩展报头,也可以有一个或多个扩展报头,扩展报头可以具有不同的长度。
IPv6基本报头各个字节的意义
版本(version)
版本字段值为6,表示使用IPv6协议;
通信类型(trafficclass)
通信类型字段为8位,表示数据包的类或优先级;
流标记(flowlabel)
流标记字段为20位,表示分组属于源结点和目标结点之间的一个特定数据包序列,它需要由中间IPv6路由器进行特殊处理;
流标记用于非默认的QoS连接,例如实时数据(音频和视频)的连接。
载荷长度(playloadlength)
载荷长度字段为16位,表示IPv6有效载荷的长度;
有效载荷的长度包括扩展报头和高层PDU;
由于有效载荷长度字段为16位,它可以表示最大长度为65535字节的有效载荷;
如果有效载荷的长度超过65535B,则将有效载荷长度字段的值置为0,而有效载荷长度用逐跳选项扩展报头中的超大有效载荷选项表示。
下一个报头(nextheader)
下一个报头字段为8位,如果存在扩展报头,
“下一个报头”值表示下一个扩展报头的类型;
如果不存在扩展报头,“下一个报头”值表示传输层报头是TCP或UDP,或ICMP报头。
跳数限制(hoplimit)
跳数限制字段为8位,表示IPv6分组可以通过的最大路由器转发数;
分组每经过一个路由器,数值减1;
当跳数限制字段的值减为0,路由器向源结点发送“超时-跳步限制超时”ICMPv6报文,并丢弃该分组。
源地址(sourceaddress)
源地址字段为128位;
表示源主机的IPv6地址。
目的地址(destinationaddress)
目标地址字段长度为128位;
在大多数情况下,目的地址字段值为最终目地结点地址;
如果存在路由扩展报头,目的地址字段值可能为下一个转发路由器的地址。