路由器原理

路由器是工作在网络互连层实现子网之间转发数据的设备。路由器内部可以划分为控制平面和数据通道。在控制平面上,处理应用层和传输层的协议报文(RIP、OSPF、BGP等)。路由器间互通信息进行路由更新,依照拓扑结构动态生成路由表。在数据通道上,转发引擎从输入线路接收IP包后,分析与修改包头,使用转发表查找输出端口,把数据交换到输出线路上。转发表是根据路由表生成的,其表项和路由表项有直接对应关系,但转发表的格式和路由表的格式不同,它更适合实现快速查找。
路由器原理
转发的主要流程包括线路输入、包头分析、数据存储、包头修改和线路输出。 IP包从不同的线路上到达路由器的接口卡,线路输入处理部分对它进行信号恢复、解码和CRC校验,然后放进输入FIFO。输入FIFO的数据要送入数据存储器,数据存储器可以是CPU控制主内存或逻辑控制的专用内存。新输入数据放在系统输入队列尾部,CPU或逻辑从输入队列取出报文进行分析,需要分析的内容主要是L3包头中的目的IP地址,有些情况也L3包头的其他部分,甚至包括L2和L4包头。包头分析首先滤掉IP头校验和有错的报文,然后确定是协议报文还是转发报文。协议报文送协议软件处理,转发报文要查转发表确定输出端口,查流分类表确定输出队列。 每个端口可以有若干个输出队列,他们对应于不同的优先级别。 输出队列调度模块根据特定的规则,把选中的报文交给输出FIFO。报文在进入输出FIFO之前,要修改包头。修改包头包括IP TTL值减一,更新IP头校验和,替换L2的地址等。线路输出处理部分从输出FIFO中取出数据,更新链路层CRC数值,然后编码,经信号调制发送到输出线路上。这就是IP包转发的基本流程,如果支持更多的IP业务,如ACL,NAT等,在上述流程中还要增加额外的过滤和处理。
路由协议根据网络拓扑结构动态生成路由表。IP协议把整个网络划分为管理区域,这些管理区域称为自治域,自治域区号实行全网统一管理。这样,路由协议就有域内协议和域间协议之分。域内路由协议,如OSPF、IS-IS,在路由器间交换管理域内代表网络拓扑结构的链路状态,根据链路状态推导出路由表。 域内路由协议相邻节点之间,采用多播或广播方式通信。域间路由协议,如BGP,根据距离向量和过滤策略生成全网路由表。 域间路由协议相邻节点交换数据,不能使用多播方式,只能采用指定的点到点连接。域间路由协议不能使用缺省路由,BGP路由表必须表达IP网络全部子网的信息,所以路由表项较多。使用缺省路由后,路由表项的大小只受企业内部子网划分的影响。
路由器的类型
1、核心层(骨干级)路由器,位于网络中心,要求高速可靠(热备份/双电源/双数据通路等),用于实现企业级网络的互联。
2、分发层(企业级)路由器,中大型企业和因特网服务供应商(ISP)或分级系统中的中级系统
3、访问层(接入级)路由器,位于网络边缘,应用最广泛,主要用于中小企业和大型企业分支机构中。目前最常用的接入路由器是宽带路由器。
下面是从C2(192.24.96.214)转发IP包到B4(192.24.96.165)的例子。
1、C2(192.24.96.214)发现B4(192.24.96.165)不在子网内
(192.24.96.192/27),发包给C2的默认网关C5 ,数据包目的地址设为(192.24.96.165),源地址是自己的地址(192.24.96.214)。
2、路由器分析帧并与路由转发表比较,发现目的地址(192.24.96.165)与(192.24.96.128/26)相同的比特数最多。
192.24.96.128/26 11000000.00011000.01100000.10000000
192.24.96.165 11000000.00011000.01100000.10100101
因此C5把数据包转给B5。
3、B5接收到数据包,分析该包的目的地址在其子网,传给指定的目的地址(192.24.96.165)
路由器原理
常见路由器的攻击方式
一、针对IP网络基础设施的攻击
1、资源消耗攻击,源消耗攻击是DOS攻击的一种,一般使用一套分布的系统或主机,分为:
A、直接攻击。攻击者通过IP能直达路由器或网络设备,则该路由器或网络设备成为攻击目标,使其*接受大量的攻击流量,造成瘫痪。
B、过境攻击,攻击者不需要IP可达攻击目标,只需攻击中间IP路由器,使其无法工作,从而间接攻击目标
2、欺骗攻击,攻击者使用虚假数据伪装的数据包,一般伪装IP地址,从而取得攻击目标的新人从而达到攻击目的。比较著名的MITM(中间人)攻击辨识欺骗攻击,攻击者在两个可信任主机之间截取一个合法通信进行伪装,便可读取交换资料,操纵交换信息。
3、输协议攻击。这种攻击方式主要针对各种协议。
A、UDP协议攻击,由于UDP本身没有安全认证,所以攻击者只要活得应用协议的认可便可注入虚假数据,通过伪装大量的IKE初始化请求来耗尽目标的IKE达到攻击目的。
B、TCP协议攻击。由于TCP协议规定只有在数据包序号落在滑动窗口所定义的、未承认的序号范围内时,TCP才会处理数据。针对TCP的攻击有SYN flooding(SYN洪流)攻击。攻击者向目标发送很多被伪装过的TCP请求攻击目标,被攻击者会为其分配本地系统资源,最终耗尽系统资源。RST(复位)攻击。攻击者通过伪造五元组便可向目标发送带RST或同步标志设定的数据来复位一个已建立的TCP连接,最终及小成多,造成瘫痪。
4、路由协议攻击:路由器中的BGP、OSPG、IS-IS等协议都被广泛的实施,攻击者便可利用这些协议漏洞进行攻击。
二、针对第二层网络的攻击
1、CAM溢出攻击:攻击者利用伪造MAC地址交换机的CAM表溢出,使之瘫痪。
2、MAC欺骗攻击:攻击者伪造目标的MAC地址,拦截指定的帧,从中获取密码等。
3、VLAN跳跃攻击:以太网内某个VLAN攻击者获得该区域其他VLAN主机的未经授权的接入从而达到攻击。
4、专用VLAN攻击:攻击者可绕过PVLAN的准入限制,轻易的攻击孤立的主机。
针对IP v*n攻击:
1、MPLS v*n攻击。由于MPLS v*n的服务器是新人的。因此其通常很少或根本不用安全措施。但当攻击者在用户v*n中获得IP或以太网的连接后,便可发动攻击。
2、针对用户边缘的攻击:CE路由器由于只能从分配好的用户v*n内部进行链接,因此其一般不易受到外部的攻击,但同时容易受到内部攻击和多路广播网络攻击。
3、针对运营商边缘的攻击:MPLS v*n攻击和IP分段和重组攻击。
4、针对运营商核心的攻击。由于缺乏IP可达性,核心路由器一般不会被直接攻击,但容易受到传输攻击。包括:ITL到期攻击,IP选项攻击和SLA攻击等。
Smurf攻击利用合理的服务器请求,占用过多的服务器资源。
一、防止外部ICMP重定向欺骗
1、攻击者有时会利用ICMP重定向来对路由器进行重定向,将本应送到正确目标的信息重定向到它们指定的设备,从而获得有用信息。
2、禁止外部用户使用ICMP重定向的命令:interface serial0 no ip redirects.
二、防止外部源路由欺骗
1、源路由选择是指使用数据链路层信息来为数据报进行路由选择。该技术跨越了网络层的路由信息,使入侵者可以为内部网的数据报指定一个非法的路由,这样原本应该送到合法目的地的数据报就会被送到入侵者指定的地址。
2、禁止使用源路由的命令:no ip source-route.
三、防止盗用内部IP地址
1、攻击者可能会盗用内部IP地址进行非法访问。针对这一问题,可以利用灵科路由器的ARP命令将固定IP地址绑定到某一MAC地址之上。
防止盗用内部IP地址命令:arp 固定IP地址 MAC地址 arpa.
四、在源站点防止smurf
1、要在源站点防止smurf,关键是阻止所有的向内回显请求。这就要防止路由器将指向网络广播地址的通信映射到局域网广播地址。
2、在LAN接口方式中输入如下命令:no ip directed-broadcast
五、关闭路由器上不用的服务
路由器除了可以提供路径选择外,它还是一台服务器,可以提供一些有用的服务。路由器运行的这些服务可能会成为敌人攻击的突破口,为了安全起见,最好关闭这些服务。
针对RIP协议的攻击
RIP,即路由信息协议,是通过周期性(一般情况下为30S)的路由更新报文来维护路由表的,一台运行RIP路由协议的路由器,如果从一个接口上接收到了一个路由更新报文,它就会分析其中包含的路由信息,并与自己的路由表作出比较,如果该路由器认为这些路由信息比自己所掌握的要有效,它便把这些路
由信息引入自己的路由表中。这样如果一个攻击者向一台运行RIP协议的路由器发送了人为构造的带破坏性的路由更新报文,就很容易的把路由器的路由表搞紊乱,从而导致网络中断。如果运行RIP路由协议的路由器启用了路由更新信息的HMAC验证,则可从很大程度上避免这种攻击。
针对OSPF路由协议的攻击
OSPF,即开放最短路径优先,是一种应用广泛的链路状态路由协议。该路由协议基于链路状态算法,具有收敛速度快,平稳,杜绝环路等优点,十分适合大型的计算机网络使用。OSPF路由协议通过建立邻接关系,来交换路由器的本地链路信息,然后形成一个整网的链路状态数据库,针对该数据库,路由器就可
以很容易的计算出路由表。
可以看出,如果一个攻击者冒充一台合法路由器与网络中的一台路由器建立邻接关系,并向攻击路由器输入大量的链路状态广播(LSA,组成链路状态数据库的数据单元),就会引导路由器形成错误的网络拓扑结构,从而导致整个网络的路由表紊乱,导致整个网络瘫痪。当前版本的WINDOWS 操作系统(WIN 2K/XP等)都实现了OSPF路由协议功能,因此一个攻击者可以很容易的利用这些操作系统自带的路由功能模块进行攻击。跟RIP类似,如果OSPF启用了报文验证功能(HMAC验证),则可以从很大程度上避免这种攻击。
针对IS-IS路由协议的攻击
IS-IS路由协议,即中间系统到中间系统,是ISO提出来对ISO的CLNS网络服务进行路由的一种协议,这种协议也是基于链路状态的,原理与OSPF类似。IS-IS路由协议经过 扩展,可以运行在IP网络中,对IP报文进行选路。这种路由协议也是通过建立邻居关系,收集路由器本地链路状态的手段来完成链路状态数据库同步的。该协议的邻居关系建立比OSPF简单,而且也省略了OSPF特有的一些特性,使该协议简单明了,伸缩性更强。对该协议的攻击与OSPF类似,通过一种模拟软件与运行该协议的路由器建立邻居关系,然后传颂给攻击路由器大量的链路状态数据单元(LSP),可以导致整个网络路由器的链路状态数据库不一致(因为整个网络中所有路由器的链路状态数据库都需要同步到相同的状态),从而导致路由表与实际情况不符,致使网络中断。与OSPF类似,如果运行该路由协议的路由器启用了IS-IS协议单元(PDU)HMAC验证功能,则可以从很大程度上避免这种攻击