路由器工作原理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.1路由器工作原理

1.1.1概述

路由器的主要作用是转发数据包,将每一个IP数据包由一个端口转发到另一个端口。转发行为既可以由硬件完成,也可以由软件完成,显然硬件转发的速度要快于软件转发的速度,无论那种转发都根据“转发表”或“路由表”来进行,该表指明了到某一目的地址的数据包将从路由器的某个端口发送出去,并且指定了下一个接收路由器的地址。每一个IP数据包都携带一个目的IP地址,沿途的各个路由器根据该地址到表中寻找对应的路由,如果没有合适的路由,路由器将丢弃该数据包,并向发送改包的主机送一个通知,表明要去的目的地址“不可达”。

路由表如何形成是路由器软件系统的核心内容,动态路由协议就是用来收集路由信息,为路由表的创建提供原始素材。简单来讲,当路由器加电后经过人工适当配置后,如指定端口IP地址等,路由器已经能够识别它的各个接口卡上的所有已经启动并且经过配置的端口所连接的网络,路由器就有了最初的路由表,这时各个端口所连的网络就可以互通了。如何将最初的路由表告知其他路由器,这就是动态路由协议的任务了。路由器将自身的路由信息通过路由协议所规定的数据格式发送出去,接收到该信息的路由器如果也运行了相同的路由协议,就可以将改信息加以保存,根据规则对收到的信息加工处理,这样它的路由表得到扩充与丰富,再将变化后的路由表发送给其他路由器,经过一段时间,所有的路由器都得到了关于整个网络的路由信息,该过程也称为路由收敛。当网络拓扑结构发生变化时,路由信息要重新进行收敛。

动态路由协议有许多种,它们的适用范围与特性各不相同,ZXR10支持常用的几种路由协议:路由信息协议(RIP v2)、开放最短路径优先(OSPF v2)、边界网关协议(BGP v4)。这几种路由协议同时运行时,各自收集到路由信息按照优先权顺序安装到路由表中,只有优先权最高的路由信息起到转发作用,其他的做为备份,当最高优先权的路由信息失效时,次优先权的路由信息得以启用。

为进一步理解路由器的工作原理,需要了解TCP/IP协议栈的背景知识,以下几节对此作简要介绍。

1.1.2网络模型与协议

TCP/IP协议栈是一组不同层次上的多个协议的组合。通常,TCP/IP被认为是一个四层协议的体系结构,它是国际标准化组织(ISO)的开放系统互联(OSI)七层参考模型的简化,两者的结构图2-3所示:

图2-3 网络模型

每一层的功能如下:

1)应用层:负责处理各种应用程序的细节,常见的通用的应用程序有:

●Telnet 远程登录

●FTP 文件传输协议

●SMTP 简单邮件传送协议

●SNMP 简单网络管理协议

2)传输层:为两台主机上的程序提供端到端的通信,该层有两种协议:TCP(传输控制协议)和UDP(用

户数据报协议)。TCP为两台主机提供高可靠性的通信连接,有着复杂的控制机制。UDP是比较简单的协议,不保证数据包的可靠传输,任何必须的可靠性必须由上层程序来提供。两个传输协议将应用程序的数据加上自身格式的首部字段后交给下一层进行处理。UDP首部各字段如图2-4所示:

图2-4 UDP首部

TCP首部各字段如图2-5所示:

图2-4 TCP首部

一台主机可以运行多个应用程序,那么有多个TCP和UDP连接同时存在,这里源端口号在区分各个连接时起到了作用,一般而言,源端口号是随机分配的,目的端口号是通过知名端口来识别的,这样服务器接收到该数据包时根据数据包中的目的端口号就可以知道对应的服务类型,如FTP服务器的TCP端口号为21,Telnet服务器的TCP端口号为23,TFTP(简单文件传输协议)服务器的端口号为69,RIP路由信息协议的UDP端口号为520。详尽的知名端口号的分配可参考RFC1700文件。

TCP连接是并发进行的,应用程序通过TCB传输控制块来对应进程的,TCB是由源、目的端口和源、目的主机IP地址这四个参数组成的,具有唯一性。而UDP连接是单进程进行的,多个连接需排队顺序处理,也用源、目的IP地址和端口来标识各个连接。

3)网络层:有时也称为互联网层,处理分组数据在网络中的活动,如路由选择等。由于该层应用了

包含逻辑地址的IP数据包来传输数据,完全独立于底层的各种各样的硬件类型和技术,使得应用TCP/IP协议栈的网络完全实现互联互通,最终形成了规模庞大的遍布全球的因特网。但该层提供的是不可靠的服务,只是尽最大努力将分组数据从源端传送到目的端,可靠性完全由上层协议来保证。该层协议包括IP协议(网际协议)、ICMP协议(网际控制报文协议)、IGMP(网际组管理协议)。其中IP数据包的首部格式如图2-5所示:

图2-5 IP首部

这里的协议标识可用来区分封装在IP包中的其它协议类型,如协议标识为6表示封装的是TCP 数据包,协议标识为17表示封装的是UDP数据包,协议标识为89表示封装的是OSPF数据包,协议标识为1表示封装的是ICMP数据包,协议标识为2表示封装的是IGMP数据包。

TTL(time-to-live)生存时间字段设置了数据包可以经过的最多路由器数,目的是防止数据包在网络上的无限循环。该值由源主机设置(通常为32或64),一旦经过一个路由器,路由器就将它减1,当某路由器检查该值为1且目的地址不在本路由器直联的网络上时,该数据包就被丢弃,并发送ICMP 报文通知源主机。当TTL值改变后,首部检验和也要改变。一般路由器在转发IP数据包时,仅仅改变这两个字段。

首部检验和的计算过程是:先将该字段置为0,然后对首部中每个16bit进行二进制反码求和,将结果存在检验和字段中。当路由器收到一份IP数据包后,同样对首部中每个16比特进行二进制反码求和,如果结果为FF才表示IP数据包正确。出错的数据包将被丢弃,但不发送ICMP报文,上层协议可以检测到出错并对该数据包重传。

首部长度指的是首部占32比特(双字)的数目,包括任选项。普通IP数据包是没有选择项的,因此该字段的值为5。路由器收到IP包后对此字段要做检查,带选项的IP数据包在转发前要做特殊处理。

版本字段为4,这表示这种IP首部格式是IPV4的格式,IPV4是当前Internet所使用的IP版本,其实也是第一个版本,下一代的版本为IPV6。

4)链路层:也称为数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和网络接口硬件。该

层将IP数据包按照链路协议定义的格式进行封装,并按照硬件接口的编码方式形成合适的基带信号发送到传输介质上。如常见的以太网(Ethernet II)协议的封装格式为:

两字节的协议类型字段区分了封装的协议类型:0800表示封装的是IP数据包,0806表示封装的是ARP 地址解析协议数据包。封装好的数据帧协议在线路空闲时(用CSMA/CD载波侦听多路存取/碰撞检测的方法来检测)按照曼彻斯特编码将数据变成电平发送到线路上。

线速路由器中常用的另一种链路层协议为PPP点到点协议,IP数据包被封装成PPP数据帧,PPP数据帧再映射进同步数字序列SDH中去透明传输,路由器上这样的接口常称为POS接口(Packer over SDH)。PPP帧格式为:

协议字段为0021时表示数据部分为IP数据包,C021表示数据部分为LCP链路控制协议,8021为NCP 网络控制协议,C023为PAP密码验证,C223为CHAP质询握手验证协议。详细信息可参考RFC1661RFC、RFC1662文档。

1.1.3IP编址和路由选择

地址有网络层地址和链路层地址,它们的作用各不相同。整个网络中的寻址是根据网络层的地址进行的,因为网络层地址有不依赖于硬件的独立性,有利于统一规划与编排,它的“分层”设计将地址分为网络部分与主机部分,这更加有利于路由的构建和选择。传输链路上数据包的识别是根据链路层地址进行的,链路层的地址编排依赖于传输链路的技术本身,不同的链路协议采用不同的编址方式,如以太网的链路层地址为48位编码的唯一地址,PPP链路层地址用统一的FF表示,帧中继网络的链路层地址用连接标识符DLCI表示,ATM网络用PVC永久虚电路、SVC交换虚电路来标识。

相关文档
最新文档