网络层在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息——源站点和目的站点地址的网络地址。网络层的产生也是网络发展的结果,在联机系统和线路交换的环境中,网络层的功能没有太大的意义。当数据终端增多时,它们之间有中继设备相连。此时会出现一台终端要求不只是与唯一的一台而是能和多台终端通信的情况,这就是产生了把任意两台数据终端设备的数据链接起来的问题,也就是路由。另外,当一条物理信道建立之后,被一对用户使用,往往有许多空闲时间被浪费掉。人们自然会希望让多对用户共用一条链路,为解决这一问题就出现了逻辑信道技术、数据报技术和虚拟电路技术。网络层将数据分组从源(源端系统)送到目的地(目标端系统)。网络层的任务就是选择合适的路由和交换节点,使源的传输层传下来的分组信息能够正确无误地按照地址找到目的地,并交付给相应的传输层,即完成网络的寻址功能。
网络层为建立网络连接和为上层传输层提供服务,应具备以下主要功能:①寻址;②路由选择和中继;③数据交换;④连接服务。
(一)寻址
在数据链路层的寻址是网卡的物理地址,而在网络层出现的地址则是逻辑地址。在TCP/IP协议中则成为IP地址。物理设备地址仅能标识在一单一网络上的各个设备。要在一个网际网上传送数据,就要用到逻辑网络地址。一个逻辑网络地址是一个用来逻辑地(与物理地址并列)区分一个网际网上的两个不同网络的标识符。
路由器是将两个具有不同逻辑网络地址的网络,进行连接的网际网互联设备各个数据包的网络地址,通过使用路由寻找和路由选择的方法,就知道该向何处发送数据。网络寻址使得路由选择成为可能。在建立局域网和广域网时,会要求你分配一个逻辑网络地址,你要知道并遵循你的那个网络的命名与编号规则,虽然与具体实现有关,但你要确保你分配的网络名或网络号在你的网络上是唯一的。
将物理设备和逻辑网络地址结合在一起,用来在网际网的设备间传输数据。但是,每台计算机或其他网上设备可同时充当不同的角色(术语实体指完成每个独立任务的硬件或软件)。
一个实体必须有它自己的地址,以便能发送和接收数据。这个地址被称为“服务地址”,也可被某些特定的协议称作“端口”。一个服务地址标识一个特定的上层软件进程或协议,也可给网上任何一台有多个网络应用正在运行的计算机,分配多个服务地址。
有些网络保留一个地址库,叫做众所周知的地址,来标识那些公用的网络服务。每一个网络服务的提供者,也提供他自己的唯一服务地址。两个实体若要通信时,它们把服务地址附加到逻辑网络和物理设备地址上:逻辑网络地址指明源或目的网络以及物理设备地址标识源或目的计算机。
(二)路由选择
要将包从一个节点传递到另一个节点,分组交换或报文交换网都必须不断地为每一数据确定和使用正确的路径,这个确定路径的任务称为路由选择。计算机网络的路由选择与邮政管理员所完成的工作相似。在邮政管理员投递邮件之前,他们必须首先知道在他们的服务区域内的各种地址的位置。一旦几个地址被确定了,那么邮政管理员就给各邮递员逻辑地分配一条路由。同样,计算机网络也必须知道网络层地址的位置,然后为包的发送确定路由。
同样,在一个网络实体可开始进行路由选择之前,它必须首先找到一条可使包到达目的地的路由。这一部分讨论的就是路由寻找,用它作为确定路由和维护路由表的处理过程。
路由表是一个列表,上面指示了一个分组(也叫包)在欲到达目的地的方向上的转发端口。路由表包括网络地址、数据路径上的下一个地址以及一个到达目的网络的费用,费用是通过路由选择算法计算出来的,并可用下列术语来表达:
(1)跳跃计数。数据要到达目的地所必须通过的路由器的个数。
(2)滴答计数。要到达目的地所需的时间量。
(3)相对开销。是一个可赋值数,它是使用某一个特定路径所需的钱数或其他费用。
1.路由寻找的方法
路由寻找使用下列方法之一:
(1)距离矢量方法。距离矢量路由器,编译并向其他连到同一媒介段上的路由器发送网络路由表。每一个路由器都通过广播和组合来自邻近路由器的路由表的方法来建立它自己的路由表。路由器所发送的信息包含它的完整的路由表。因为网际网通常会很大、很复杂,而且国外每台设备只能从它的已吸收了更新信息的邻点得到更新信息,所以距离矢量法要将整个网络的所有地址表都改变,相对来说,需要很长的时间。最终,所有的网络路由器都将感觉到这种变化,但是,整个路由表包括变化,都要从一个路由器传到另一个路由器。使用距离矢量法累加来自其他表的跳数、滴答数或相对开销信息,来收集费用信息。
距离矢量法适合于网络规模较小的情况,不适合大型网络的路由选择。(www.daowen.com)
(2)链路状态方法。对于链路状态方法,各路由器(或想要寻找一路由的网络实体)标识自己所连接的各网络,并只从一个本地路由接收一个初始路由表。在送出一个初始(或一个不频繁的定时更新)报文以后,路由器只在有变化时才通知其他路由器。这些报文包含它们自己网段上的状态信息,因为每个路由器都广播过这些信息,所以接收设备就可建立一张网络地址表。
2.特定路由的选择
一旦一个路由器已建立一张路由表,它就能用费用信息计算出通过网际网的最佳路径。特定路由的选择可以是动态的,以使路由表能随网络的变化不断地调节;也可以是静态的,以使数据分组总是沿一条预定路径传送:
(1)动态路由选择。动态路由选择使用路由选择算法不停地收集费用信息。根据最近的路由寻找费用,给每个分组部分配一个路由。根据网络的变化特性,在两台设备间用多条路径来发送数据。另外,在网络中的每个路由器上都要做路由选择。在路径上的每一个站点,都可为每一个分组选择下一站。
(2)静态路由选择。另一方面,静态路由选择是由网络管理员或一台指定的网络设备来分配一条路径。换句话说,人为地创建路由表或用计算机来附加路由选择报头信息、强制所有的分组都沿确定的路由传输。不允许中间路由器作出路由选择决定。
(三)数据交换
大型网际网中,发方与收方之间会有多条路径相连接,与火车在铁轨上转轨非常相似。信息在通过各种通信信道时也会被交换。这里讨论下列数据交换技术。
1.电路交换
电路交换是这样一种技术:它用一条单一路径将发方与收方连接起来,这种连接一直持续到对话结束。例如,电话交换设备使用地址号(以国家、地区、中心局和中继线的代码的格式)建立一条连接发方电话与收方电话的路径。一旦使用这种交换技术建立一个连接,那么,这条专用路径就一直存在,直到连接被终止。
2.报文交换
一台报文交换设备通常是一台通用计算机,它需要足够的存储空间来暂时存放外报文,这些报文有的可能会相当长。这种类型的机制会造成延迟,因为在传输路径上,找到下一个站点要花时间,存储和重传报文也要花时间。报文交换(或存储—转发技术)通常用于支持像电子邮件这样的服务。
3.分组交换
分组交换是结合报文交换和电路交换的优点实现的。有两种分组交换方法:数据报分组交换和虚电路分组交换。
在这两种交换方法中,报文都被划分成称作“分组”的许多小部分。每一个分组都被网上源、目的和中间站点地址,分组有严格定义的最大长度,并可存放在RAM中,而不是存在硬盘上(改进访问时间并且降低了对存储硬件的要求)。
数据报分组交换与报文交换有某些相似之处,即每一个报文都是一个带有完整寻址信息的独守单元。数据报可取各种可能的路径通过网络。但是,因为报文被划成许多块,发送出的分组取不同的路径,就可能会将分组的顺序搞乱,因此,每个分组上都加上了顺序号。数据报被从最合适的路径发送出去。每台设备都为每个分组选择(在那一时刻内的)最佳路径。因为有些分组会在传输途中被延迟,所以,处于另一端的设备收到的各分组可能已错排序,接收端的设备要将这些分组按已定的序号重新排序,并重新组合成原来的报文。
数据报分组交换常与多点局域网物理拓扑结构一起使用。分组是以数据报交换到合适的网络上的,处于同一网段的所有设备都接收每一个分组,然后用LLC一级寻址来决定是否接受它。数据报分组交换并不屏蔽网际网的性质。相反,数据报方法依靠网络层为每个分组提供路径,并且纠正差错。
虚电路是发方与收方之间的逻辑连接。一个逻辑连接是在对话开头,发方与收方交换信息时建立起来的。这些信息允许发方和收方在一些对话参数上取得—致意见,这些参数包括报文的最大尺寸、所选的路径以及其他用来建立和维持对话的各种变量。虚电路通常暗指面向连接的服务。虚电路可以是临时的,持续到从点到点的交换和差错控制。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。