网络中路由器的应用与配置 介绍-
网络中路由器的应用与配置
摘 要:路由器是一种连接多个网络或网段的网络设备,它能将不同网络或网段之间的数据信息进行“翻译”,以使它们能够相互“读”懂对方的数据,并能够高速的选择信息传送的线路,大大提高通信速度,减轻网络系统通信负荷,节约网络系统资源,提高网络系统畅通率,从而让网络系统发挥出更大的效益来。
随着Internet的迅猛发展,人们已经不满足于仅在本地网络上共享信息,而希望最大限度地利用全球各个地区、各种类型的网络资源,路由技术在网络技术中已逐渐成为关键部分,路由器也随之成为最重要的网络设备。在目前的情况下,任何一个有一定规模的计算机网络(如企业网、校园网、智能大厦等),无论采用的是快速以大网技术、FDDI技术、还是ATM技术,都离不开路由器,否则就无法正常运作和管理。
一、路由器的工作原理
网络中的设备用它们的网络地址(TCP/IP网络中为IP地址)互相通信。IP地址是与硬件地址无关的“逻辑”地址。路由器只根据IP地址来转发数据。IP地址的结构有两部分,一部分定义网络号,另一部分定义网络内的主机号。目前,在Internet网络中采用子网掩码来确定IP地址中网络地址和主机地址。子网掩码与IP地址一样也是32bit,并且两者是一一对应的,并规定,子网掩码中数字为“1”所对应的IP地址中的部分为网络号,为“0”所对应的则为主机号。网络号和主机号合起来,才构成一个完整的IP地址。同一个网络中的主机IP地址,其网络号必须是相同的,这个网络称为IP子网。通信只能在具有相同网络号的IP地址之间进行,要与其它IP子网的主机进行通信,则必须经过同一网络上的某个路由器或网关(gateway)出去。不同网络号的IP地址不能直接通信,即使它们接在一起,也不能通信。路由器有多个端口,用于连接多个IP子网。每个端口的IP地址的网络号要求与所连接的IP子网的网络号相同。不同的端口为不同的网络号,对应不同的IP子网,这样才能使各子网中的主机通过自己子网的IP地址把要求出去的IP分组送到路由器上。
二、路由器的主要功能
路由动作包括两项基本内容:寻径和转发。寻径即判定到达目的地的最佳路径,由路由选择算法来实现。为了判定最佳路径,路由选择算法必须启动并维护包含路由信息的路由表,其中路由信息依赖于所用的路由选择算法而不尽相同。路由选择算法将收集到的不同信息填入路由表中,根据路由表可将目的网络与下一站(nexthop)的关系告诉路由器。路由器间互通信息进行路由更新,更新维护路由表使之正确反映网络的拓扑变化,并由路由器根据量度来决定最佳路径。转发即沿寻径好的最佳路径传送信息分组。路由器首先在路由表中查找,判明是否知道如何将分组发送到下一个站点(路由器或主机),如果路由器不知道如何发送分组,通常将该分组丢弃;否则就根据路由表的相应表项将分组发送到下一个站点,如果目的网络直接与路由器相连,路由器就把分组直接送到相应的端口上。这就是路由转发协议(routed protocol)。路由转发协议和路由选择协议是相互配合又相互独立的概念,前者使用后者维护的路由表,同时后者要利用前者提供的功能来发布路由协议数据分组。
三、路由选择协议
典型的路由选择方式有两种:静态路由和动态路由。静态路由是在路由器中设置的固定的路由表。除非网络管理员干预,否则静态路由不会发生变化。由于静态路由不能对网络的改变作出反映,一般用于网络规模不大、拓扑结构固定的网络中。静态路由的优点是简单、高效、可靠。在所有的路由中,静态路由优先级最高。当动态路由与静态路由发生冲突时,以静态路由为准。动态路由是网络中的路由器之间相互通信,传递路由信息,利用收到的路由信息更新路由器表的过程。它能实时地适应网络结构的变化。如果路由更新信息表明发生了网络变化,路由选择软件就会重新计算路由,并发出新的路由更新信息。这些信息通过各个网络,引起各路由器重新启动其路由算法,并更新各自的路由表以动态地反映网络拓扑变化。动态路由适用于网络规模大、网络拓扑复杂的网络。当然,各种动态路由协议会不同程度地占用网络带宽和CPU资源。静态路由和动态路由有各自的特点和适用范围,因此在网络中动态路由通常作为静态路由的补充。当一个分组在路由器中进行寻径时,路由器首先查找静态路由,如果查到则根据相应的静态路由转发分组;否则再查找动态路由。
四、路由算法
路由算法按照种类可分为以下几种:静态和动态、单路和多路、平等和分级、源路由和透明路由、域内和域间、链路状态和距离向量。链路状态算法(也称最短路径算法)发送路由信息到互联网上所有的结点,然而对于每个路由器,仅发送它的路由表中描述了其自身链路状态的那一部分。距离向量算法(也称为Bellman-Ford算法)则要求每个路由器发送其路由表全部或部分信息,但仅发送到邻近结点上。从本质上来说,链路状态算法将少量更新信息发送至网络各处,而距离向量算法发送大量更新信息至邻接路由器。由于链路状态算法收敛更快,因此它在一定程度上比距离向量算法更不易产生路由循环。但另一方面,链路状态算法要求比距离向量算法有更强的CPU能力和更多的内存空间,因此链路状态算法将会在实现时显得更昂贵一些。除了这些区别,两种算法在大多数环境下都能很好地运行。
五、路由器安全维护
利用路由器的漏洞发起攻击的事件经常发生。路由器攻击会浪费CPU周期,误导信息流量,使网络异常甚至陷于瘫痪。因此需要采取相应的安全措施来保护路由器的安全。
①避免口令泄露危机。 据卡内基梅隆大学的CERT/CC(计算机应急反应小组/控制中心)称,80%的安全突破事件是由薄弱的口令引起的。黑客常常利用弱口令或默认口令进行攻击。加长口令、选用30到60天的口令有效期等措施有助于防止这类漏洞。
②关闭IP直接广播。 Smurf攻击是一种拒绝服务攻击。在这种攻击中,攻击者使用假冒的`源地址向你的网络广播地址发送一个“ICMP echo”请求。这要求所有的主机对这个广播请求做出回应。这种情况会降低网络性能。使用no ip source-route关闭IP直接广播地址。
③禁用不必要的服务。 强调路由器的安全性就不得不禁用一些不必要的本地服务,例如SNMP和DHCP这些用户很少用到的服务,都可以禁用,只有绝对必要的时候才使用。另外,可能时关闭路由器的HTTP设置,因为HTTP使用的身份识别协议相当于向整个网络发送一个未加密的口令。然而,HTTP协议中没有一个用于验证口令或者一次性口令的有效规定。
④限制逻辑访问。 限制逻辑访问主要借助于合理处置访问控制列表,限制远程终端会话有助于防止黑客获得系统逻辑访问。SSH是优先的逻辑访问方法,但如果无法避免Telnet,不妨使用终端访问控制,以限制只能访问可信主机。因此,用户需要给Telnet在路由器上使用的虚拟终端端口添加一份访问列表。
⑤封锁ICMP ping请求。 控制消息协议(ICMP)有助于排除故障,识别正在使用的主机,这样为攻击者提供了用来浏览网络设备、确定本地时间戳和网络掩码以及对OS修正版本作出推测的信息。因此通过取消远程用户接收ping请求的应答能力,就能更容易的避开那些无人注意的扫描活动或者防御那些寻找容易攻击的目标的“脚本小子”(script kiddies)。
⑥关闭IP源路由。 IP协议允许一台主机指定数据包通过你的网络路由,而不是允许网络组件确定最佳的路径。这个功能的合法应用是诊断连接故障。但是,这种用途很少得到应用,事实上,它最常见的用途是为了侦察目的对网络进行镜像,或者用于攻击者在专用网络中寻找一个后门。除非指定这项功能只能用于诊断故障,否则应该关闭这个功能。
⑦监控配置更改。 用户在对路由器配置进行改动之后,需要对其进行监控。如果用户使用SNMP,那么一定要选择功能强大的共用字符串,最好是使用提供消息加密功能的SNMP。如果不通过SNMP管理对设备进行远程配置,用户最好将SNMP设备配置成只读。拒绝对这些设备进行写访问,用户就能防止黑客改动或关闭接口。 此外,用户还需将系统日志消息从路由器发送至指定服务器。
总之,路由器在网络中起着举足轻重的作用,它工作在网络层,可以确定网络上各个数据包的目的地址,并将数据包发往通向目的地的最短路径上,同时路由器还可以过滤数据包。