网络层

更新时间:2024-01-05 09:58

网络层是OSI参考模型中的第三层,介于传输层数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向传输层提供最基本的端到端的数据传送服务。主要内容有:虚电路分组交换数据报分组交换、路由选择算法、阻塞控制方法、X.25协议综合业务数据网(ISDN)、异步传输模式(ATM)及网际互连原理与实现。

简介

网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输交换技术

网络层主要是为传输层提供服务,为了向传输层提供服务,则网络层必须要使用数据链路层提供的服务。而数据链路层的主要作用是负责解决两个直接相邻节点之间的通信,但并不负责解决数据经过通信子网中多个转接节点时的通信问题,因此,为了实现两个端系统之间的数据透明传送,让源端的数据能够以最佳路径透明地通过通信子网中的多个转接节点到达目的端,使得传输层不必关心网络的拓扑构型以及所使用的通信介质和交换技术,网络层必须具有以下功能:

ISO/OSI七层协议

开放系统互连参考模型OSI/RM(简称OSI)是由国际标准化组织ISO于1984年提出的一种标准参考模型。OSI包括了体系结构、服务定义和协议规范三级抽象。需要强调的是, OSI/RM并非具体实现的描述,它只是一个为制定标准而提供的概念性框架。OSI参考模型将网络分为七层,自下而上分别是物理层数据链路层、网络层、运输层会话层表示层和应用层。

参考模型如下:

TCP/IP模型

TCP/IP是一组实现通信协议的代名词,它是一系列相关网络通信协议组成协议簇,是实现Internet/Intranet/ Extranet各项功能的基础,其中最重要的协议是TCP和IP协议。TCP/IP协议的主要特点是开放性,标准化,免费,跨平台,统一编制。TCP/IP定义了四个层次的网络通信体系,分别是:应用层,传输层,互连层,主机——网络层。TCP/IP协议互连层实现的功能基本与OSI参考模型中的网络层一致,但它在主机——网络层实现的物理网络功能的基础上定义了一种无连接的不可靠的数据包投递服务,把来自传输层的服务数据组织数据分组,在一定路由算法的作用下,为每个分组选择一条适合的路由。

从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网络层、传输层、应用层(如图1)。

各层功能:

网络层协议

TCP/IP网络层的核心是IP协议,它是TCP/IP协议族中最主要的协议之一。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议)以及IGMP协议(Internet组管理协议)。

IP是一种网络层协议,提供的是一种不可靠的服务,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。它同时被TCPUDP使用,TCP和UDP的每组数据都通过端系统和每个中间路由器中的IP层在互联网中进行传输。ICMP是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。IGMP是Internet组管理协议。它用来把一个UDP数据报多播到多个主机。

IP协议

IP协议是网络互联协议(Internet protocol)的简称,是TCP/IP协议簇中两个重要的协议之一,是TCP/IP协议簇的运作核心,如图2所示:

IP的最大成功之处在于它的灵活性,它只要求物理网络提供最基本的功能,即物理网络可以传输包―IP数据报,数据报有合理大小,并且不要求完全可靠地传递。IP提供的不可靠、无连接的数据报传送服务使得各种各样的物理网络只要能够提供数据报传输就能够互联,这成为Internet在数年间就风靡全球的主要原因。由于IP在TCP/IP协议中是如此的重要,它成为TCP/IP互联网设计中最基本的部分,有时都称TCP/IP互联网为基于IP技术的网络。

IP是怎样实现网络互联的?各个厂家生产的网络系统和设备,如以太网分组交换网等,它们相互之间不能互通,不能互通的主要原因是:因为它们所传送数据的基本单元(技术上称之为“帧”)的格式不同。IP协议实际上是一套由软件程序组成的协议软件,它把各种不同“帧”统一转换成“IP数据报”格式,这种转换是因特网的一个最重要的特点,使所有各种计算机都能在因特网上实现互通,即具有“开放性”的特点。

数据报分组交换的一种形式,就是把所传送的数据分段打成“包”,再传送出去。但是,与传统的“连接型”分组交换不同,它属于“无连接型”,是把打成的每个“包”(分组)都作为一个“独立的报文”传送出去,所以叫做“数据报”。这样,在开始通信之前就不需要先连接好一条电路,各个数据报不一定都通过同一条路径传输,所以叫做“无连接型”。这特点非常重要,它大大提高了网络的坚固性和安全性。

每个数据报都有报头和报文这两个部分,报头中有目的地址等必要内容,使每个数据报不经过同样的路径都能准确地到达目的地。在目的地重新组合还原成原来发送的数据。这就要求IP具有分组打包和集合组装的功能。

IP协议中还有一个非常重要的内容,那就是给因特网上的每台计算机和其他设备都规定了一个唯一的地址,叫做“IP地址”。由于有这种唯一的地址,才保证了用户在联网的计算机上操作时,能够高效而且方便地从千千万万台计算机中选出自己所需的对象来。

TCP/IP网络使用32位长度的地址以标识一台计算机和同它相连的网络,它的格式为:IP地址=网络地址+主机地址。IP地址是通过它的格式分类的,它有四种格式:A类、B类、C类、D类。每一类地址范围如下:A类:1.0.0.0~126.255.255.255。B类:128.0.0.0~191.255.255.255。C类:192.0.0.0~223.255.255.255。D类:224.0.0.0~239.255.255.255。

特殊的IP地址:网络号为全0是指本网络地址,不能用于正常的IP地址规划中;网络号和主机号均为1是对本网络进行广播(路由器不转发);A类网络地址127是一个保留地址,用于本地软件环回测试之用;主机号为全1是指对本网络号的所有主机进行广播。具体见下表:

地址解析协议

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP代理ARPNDP用于在IPv6中代替地址解析协议。

ICMP协议

ICMP全称 Internet Control Message Protocol,中文名为因特网控制报文协议。它工作在网络层,向数据通信中的源主机报告错误。ICMP可以实现故障隔离故障恢复。网络本身是不可靠的,在网络传输过程中,可能会发生许多突发事件并导致数据传输失败。网络层的IP协议是一个无连接的协议,它不会处理网络层传输中的故障,而位于网络层的ICMP协议却恰好弥补了IP的缺陷,它使用IP协议进行信息传递,向数据包中的源端节点提供发生在网络层的错误信息反馈,允许主机或路由器报告差错情况和提供有关异常情况的报告。

一般来说,ICMP报文提供针对网络层的错误诊断拥塞控制路径控制和查询服务四项大的功能。一个典型的例子如图3所示,设备A在向设备B发送数据时,路由器2检测到路由器4不可达,于是路由器2发送一个ICMP报文给源设备,告知问题所在。

ICMP提供了一种机制,任何一个IP设备都可以使用该机制发送控制报文给另一设备。根据报文的不同,这些设备可以是主机或路由器。类型:标识生成的错误报文,是ICMP报文中的第一个字段;代码:进一步地限定生成ICMP报文——该字段用来查找产生错误的原因;校验和存:储了ICMP所使用的校验和值;未使用:保留字段,供将来使用,起始值设为0;数据:包含了所有接受到的数据报的PP报头,还包含PP数据报中前8个字节的数据。

我们可把ICMP报文分成两类:差错和查询。查询报文是用一对请求和回答定义的。ICMP差错报文通常包含了引起错误的IP数据报的第一个分片的PP首部(和选项),加上该分片数据部分的前8个字节。

IGMP协议

IP组播之所以能正常工作,其中组播路由器发挥了重要的作用。但组播路由器必须要知道网络中有哪些组播组,以及每个组播组内都包括哪些主机。

因特网组管理协议(Internet Group Manage Protocol,IGMP)被设计用来在主机和本地的组播路由器之间交换组播信息。主机通过IGMP协议通知组播路由器所要加入的组播组信息;组播路由器通过IGMP协议周期性地查询本地网络中组播组的成员是否处于活动状态。IGMP协议共有3个版本,IGMPy1(RFC1112), IGMPy2(RFC2236)和 IGMPy3(RFC3376)。组播路由器之间也需要交换组播信息,这时它们使用的不是IGMP协议,IGMP协议只限于主机和本地组播路由器之间。组播路由器之间使用多播路由协议交换组播信息,如距离向量多播路由选择协议(Distance Vector Multicast Routing Protocol,DVMRP)、核心基干树(Core Base tree,CBT)和开放最短路径优先多播扩展(Multicast extention to ospf,MOSPF)。

IGMP报文需要被封装在IP数据报中发送,在IP数据报的首部中,协议(protocol)字段的值要置为2,TTL值要置为1,所以IGMP报文只能在本地网络中传递,不会到达外部网络。IGMPv2报文格式如图4所示:

IGMP的工作过程如下:

路由选择

通信子网为网络源节点和目的节点提供了多条传输路径的可能性。网络节点在收到一个分组后,要确定向下一节点传送的路径,这就是路由选择。在数据报方式中,网络节点要为每个分组路由做出选择;而在虚电路方式中,只需在连接建立时确定路由。确定路由选择的策略称路由算法

设计路由算法时要考虑诸多技术要素。第一,要考虑选择最短路由还是选择最佳路由;第二,要考虑通信子网是采用虚电路的还是采用数据报的操作方式;第三,是采用分布式路由算法,即每节点均为到达的分组选择下一步的路由,还是采用集中式路由算法,即由中央节点或始发节点来决定整个路由;第四,要考虑关于网络拓扑,流量和延迟等网络信息的来源;第五,确定是采用静态路由选择策略,还是动态路由选择策略。

静态路由选择策略

静态路由选择策略不用测量也无需利用网络信息,这种策略按某种固定规则进行路由选择,其中还可分为泛射路由选择、固定路由选择和随机路由选择三种算法。

动态路由选择策略

节点的路由选择要依靠网络当前的状态信息来决定的策略,称动态路选择策略。这种策略能较好地适应网络流量拓扑结构的变化,有利于改网络的性能。但由于算法复杂,会增加网络的负担。独立路由选择、集中由选择和分布路由选择是三种动态路由选择策略的具体算法。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}