路由器的功能和层次
o 计算机网络的核心设备
o 具有多个输入接口和多个输出接口
o 任务是转发IP包:将从某个输入接口收到的I包,按照要去的目的地(即目的网络),从路由器的某个合适的输出接口转发给下一跳路由器
o 在网络层实现IP包的缓存、选路和转发
“转发”和“路由选择”的区别
o “转发”(forwarding)就是路由器根据转发表将用户的 IP 数据报从合适的端口转发出去。
o “路由选择”(routing)则是按照分布式算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由。
o 路由表是根据路由选择算法得出的。而转发表是从路由表得出的。
o 路由器采取存储-转发方式工作
o 每个接口均有两个队列:输入队列和输出队列
分组丢弃
o 若路由器处理包的速率低于包进入队列的速率,则队列的存储空间将一直减少到零,后面再进入队列的分组只能被丢弃。
o 路由器中的输入或输出队列产生溢出是造成IP包丢失的重要原因。
队列管调度算法
o FIFO队列(First In First Out Queuing,先进先出
队列,FQ),按照IP包到达队列的顺序依次处理
o 保证公平性,但不支持QoS
o 优先级队列(Priority Queuing,PQ):处理高优先级的IP包;只有高优先级队列为空时,才处理低优先级的IP包
o 提供QoS支持,但是对于低优先级数据不公平
o 加权公平队列(Weighted Fair Queuing,WFQ):每个优先级一个队列,每个队列预先定义了一个权值,按照权值对各个队列的IP包轮流进行处理
路由表的结构
o 表项内容:目的地址、子网掩码、下一跳地址、接口编号
o 表项排列顺序
n 1)直达网络,即下一跳是目的主机所在的网络,数据可以直接交付目的主机
n 2)特定主机选路表项:路由表中的目的地址是主机地址
n 3)非直达网络,即下一跳是另一个路由器
n 4)默认路由,即下一跳是默认路由器
IPv4的不足
o 地址基本耗尽,这是当前最棘手的问题
o 路由表越来越大
o 功能不足,缺少对多媒体信息传输的支持
o 缺少对高速传输的支持
o 缺少对安全的支持
o 缺少对主机漫游的支持
IPv6的设计目标
o 更大的地址空间:16字节,128位
o 包头简化:只有7个字段,取消了分段相关字段和校验和,以便更快地处理IP包,提高路由器的吞吐量,缩短延时
o 更好地支持选项:选项有次序,以便路由器可简单地跳过与它无关的选项,加快分组的处理速度
o 增强了安全性:身份认证和加密
o 更加关注服务质量:支持多媒体应用
IP攻击
o ICMP/PING 攻击原理
n 早期的路由器对包的最大尺寸都有限制,比如许多操作系统对TCP/IP栈的实现在ICMP包上都是规定64KB,并且在对包的标题头进行读取之后,要根据该标题头里包含的信息来为有效载荷生成缓冲区。当尺寸超过ICMP上限,即超过64KB时,会出现内存分配错误,导致TCP/IP堆栈崩溃,致使死机。
o ping flooding:
n 拒绝服务攻击,在某一时刻多台主机对目标主机使用Ping程序,有可能耗尽目标主机的网络带宽和处理能力
n 如果一个网站一秒钟收到数万个ICMP回应请求报文就可能使它过度繁忙而无法提供正常的服务
n 以最快的速度向目标主机发送ICMP回应请求报文,并且使用伪㐀 的IP地址
o ICMP/SMURF 攻击原理
n 利用IP欺骗和ICMP回复方法使大量网络传输充斥目标系统,引起目标系统拒绝为正常系统进行服务
n 首先向一个具有大量主机和因特网连接的网络的广播地址发送一 个欺骗性Ping分组(echo 请求),而欺骗性Ping分组的源地址就是被攻击的机器本身的地址
n 所有接收到此包的主机都将给发包的地址发送一个ICMP回复包
n Smurf的原理和ping flooding类似,只不过利用了反弹网络发送ICMP回应应答数据包来耗尽目标主机资源,若反弹网络规模较大,此攻击威力巨大
IPSec提供的安全机制
o 身份认证
n 保证收到的数据包的确是由数据包头所标识的数据源发来的,且数据包在传输过程中未被篡改。
o 保密性
n 保证数据在传输期间不被未授权的第三方窥视。
o 密钥管理
n 解决密钥的安全交换。
IPSec的实施位置—源端主机
o 优点:
n 可以保障端到端的安全性;
n 能够实现所有的IPSec安全模式;
n 能够针对单个数据流提供安全保障;
n 在建立IPSec的过程中,能够记录用户身份验证的相关数据和情况。
o 实施方案可分为两类:
n 与主机中的操作系统集成;
n 作为一个单独的部分在协议堆栈的网络层和数据链路层之间实施
IPSec的实施位置—路由器
o 优点:
n 能对两个子网(私有网络)间通过公共网络(如Internet)传输的数据提供安全保护;
n 能通过身份验证控制授权用户从外部进入私有网络,而将非授权用户挡在私有网络的外面。
o 实施方案也可分为两类:
n IPSec功能集成在路由器软件中;
n IPSec功能在直接物理接入路由器的设备中实现,该设备一般不运行任何路由算法,只用来提供安全功能
IPSec的工作模式
o 传输模式
n 传输模式保护的是IP包内的数据,如TCP段、UDP段、ICMP包等。
n 只有在要求两个主机的端到端的安全保障时,才使用传输模式
o 隧道模式
n 隧道模式保护的是整个IP包。
n 将一个数据包用一个新的数据包封装
n 通常在数据包的始发点或目的地不是安全终点的情况下,需要使用隧道模式
n 一般在防火墙或路由器提供IPSec
o 传输模式对于保护两个支持IPSec的主机间的连接是很合适的,开销小;隧道模式对于那些包含了安全网关的配置是很有用的。