1.2 路由器概述
路由器用于连接多个网络,以路由器为基础构建(Router Based Network)的网络称为“网间网”。事实上,Internet就是由数以万计的路由器构建的、超大规模的、国际性的“网间网”。虽然从严格意义上讲,路由器是广域网设备,但是作为局域网实现与其他网络和Internet互连的必需设备,也往往被归类于局域网设备之列。
1.2.1 路由器的功能
路由器(Router),顾名思义它是一种智能选择数据传输路由的设备。路由器的端口数量虽然较少,但是种类却非常丰富,可以满足各种类型网络接入的需要。图1-5所示为Cisco 2800系列路由器及其类型丰富的接口模块。
图1-5 类型丰富的接口模块
1. 连接网络
路由器也称为网关(Gateway)。将局域网络连接在一起,组建更大规模的广域网络,并在每个局域网出口对数据进行筛选和处理,是路由器的重要作用之一。
■ 连接异构网络
局域网络的类型是多种多样的,除了最常见的以太网外,还有ATM网络、FDDI网络,等。异构网络由于分别采用不同的数据封装方式,因此它们之间是无法直接通信的,即使都采用同一种网络协议(比如TCP/IP协议,也不能实现彼此间的通信)。而路由器能够将不同类型网络之间的数据信息进行“翻译”,以使它们能够相互“读”懂对方的数据,因此若要实现异构网络间的通信,就必须借助于路由器,如图1-6所示。
图1-6 连接异构网络
■ 连接远程网络
由于局域网的传输距离都非常有限,因此若要实现局域网之间的连接,就必须借助于广域网。相对于局域网而言,广域网无疑是一个异构网络,因此,若要实现局域网之间的远程互连,也必须借助于路由器才能实现,如图1-7所示。
图1-7 连接远程网络
2. 隔离广播
尽管交换机可以隔离碰撞域,从而提高局域网络的传输效率。然而,交换机却会将所有广播发送至整个网络内所有交换机的每一个端口,而MAC地址发现,以及许多网络协议(如NetBIOS、CDP等)和网络应用(如DHCP服务)等都必须借助广播才能实现。由于广播会发送至网络中的每一个端口,并且由接入网络中的每台计算机进行处理,因此过大的广播量,不仅会严重影响网络的传输效率,而且还会大量占用计算机的CPU性能。当有硬件损坏或病毒攻击时,网络内的广播数量将会剧增,这时将会出现广播风暴,从而使网络传输和数据处理陷于瘫痪。
路由器的重要作用之一就是将广播隔离在局域网内(路由器的每个以太网端口均可视为一个局域网),不会将广播包向外转发(如图1-8所示)。因此,大中型局域网都会被人为地划分为若干虚拟网,并使用路由设备实现彼此之间的通信,以达到分隔广播域,提高每个网络的传输效率的目的。
图1-8 隔离广播域
3. 路由选择
路由器能够按照预先制订的策略,智能选择到达远程目的地的路由。为了实现这一功能,路由器要按照某种路由通信协议,维护和查找路由表。
路由表中列出了整个互联网络中包含的各个节点,以及各节点间的路径情况和与它们相联系的传输费用。如果到特定的节点有一条以上路径,则基于预先确定的准则选择最优(最经济)的路径,如图1-9所示。由于各种网络段和其相互连接情况可能发生变化,因此路由信息需要及时更新,这是由所使用的路由信息协议规定的定时更新或者按变化情况更新来完成的。网络中的每个路由器按照这一规则动态地更新它所保持的路由表,以便保持有效的路由信息。
图1-9 路由选择
4. 网络安全
作为整个局域网络与外界联络的唯一出口,路由器还担当着保护内部用户和数据安全的重要责任。路由器的安全功能主要借助以下两种方式实现。
● 地址转换。局域网内的计算机使用内部保留IP地址,这种IP地址不能被路由到Internet,因此不能被外部计算机所知晓,从而可以安全地隐藏在网络内部,避免来自外部的恶意攻击。当内部计算机需要与外部网络通信时,由路由器提供网络地址转换,将其地址转换为合法的IP地址,实现对Internet的访问。
● 访问列表。借助IP访问列表,在路由器上可以设置各种访问策略,规定哪段时间、什么网络协议和哪种网络服务是被允许外出和进入的,从而不仅可以避免对网络的滥用,提高网络传输性能和带宽利用效率,也可以有效地避免蠕虫病毒、黑客工具对内部网络的侵害。
1.2.2 路由器的工作原理
路由器工作于OSI参考模型的网络层(即第三层)。路由器通常拥有多个网络接口,分别连接至局域网络(称为局域网端口)和广域网络(称为广域网端口)。每个网络接口分别连接至不同的网络,并分别配置有所连接网络的IP地址信息。同时,路由器还维护着一张路由表,记录网络地址与网络端口的对应关系。
1. 路由选择
路由器一个最重要的功能就是选择最佳路由。为此,路由器总是按照一定的规则来动态地更新它所保持的路由表,以便保持路由信息的有效性。
路由器间互通信息进行路由更新,更新维护路由表使之正确反映网络的拓扑变化,并由路由器根据量度来决定最佳路径。路由选择算法将收集到的不同信息填入路由表中,根据路由表可将目的网络与下一跳(Next Hop)的关系告诉路由器。
路由选择协议通过度量值来决定到达目的地的最佳路径,而小的度量值则代表优选的路径。如果两条或更多路径都有一个相同的小度量值,那么所有这些路径将被平等地分享。通过多条路径分流数据流量被称为到目的地的负载均衡。由于各种网络段和其相互连接情况可能会因环境变化而变化,因此路由情况的信息一般也按所使用的路由信息协议的规定而定时更新。
常见的路由选择协议包括路由信息协议(RIP)、开放式最短路径优先协议(OSPF)和边界网关协议(BGP)等。
2. 数据转发
Internet用户使用的各种信息服务,其通信的信息最终均可以归结为以IP包为单位的信息传送,IP包除了包括要传送的数据信息外,还包含有信息要发送到的目的IP地址、信息发送的源IP地址,以及一些相关的控制信息。
当计算机将数据发送给同一网络内的计算机时,源计算机只需将数据发送到网络,目标计算机就能收到。当需要向其他网络的计算机发送数据时,将直接把数据发送到“默认网关(Default Gateway)”,由默认网关负责转发给其他路由设备(如路由器、代理服务器等),直至将该数据转发至目的计算机所在的网络。也就是说,发送到其他网络的数据先被送到路由器,再由路由器转发出去。
提示
网络中的设备通过它们的网络地址(TCP/IP网络中为IP地址)相互通信。IP地址是与硬件地址无关的“逻辑”地址,路由器只根据IP地址来转发数据。IP地址的结构有两部分,一部分定义网络号,另一部分定义网络内的主机号。目前,在Internet网络中采用子网掩码来确定IP地址中网络地址和主机地址。子网掩码与IP地址一样也是32 bit,并且两者是一一对应的,并规定子网掩码中数字为“1”所对应的IP地址中的部分为网络号,为“0”所对应的则为主机号。网络号和主机号合起来,才构成一个完整的IP地址。同一个网络中的主机IP地址,其网络号必须是相同的,这个网络称为IP子网。
与计算机相似,当路由器收到IP包时,将根据IP包中的目的IP地址项查找路由表,根据查找的结果将此IP数据包送往对应端口。下一台IP路由器收到此IP包后继续转发,直至发送到目的地。同时,路由器也有其默认网关,用来传送无法判断目的地的数据包。这样,路由器将已知目的网络的IP包正确地转发出去,未知网络的IP包传送给“默认网关”路由器,在路由器间重复这项操作,最终将IP包传送到目的地。至于那些无法送达目的地的IP包,就会被网络自动丢弃。
数据转发即沿最佳路径传送信息分组。路由器的转发过程大致如下。
(1)接收到IP包后,解释并处理该数据包的链路层协议报头,完成对数据的完整性的验证,如CRC校验、帧长度检查等。
(2)根据数据帧中IP包头的目的IP地址,路由器在路由表中查找下一跳(Next Hop)的IP地址。同时,IP数据包头的TTL(Time To Live)域开始减数,并重新计算校验和(Checksum)。
(3)封装上相应的链路层包头,将IP包经路由选择的端口转送出去。