链路状态路由(LS)基本原理:
开销/量度/代价:自动发现设置或人工配置
常见量度:链路带宽(反比)
延迟亦可作为量度
发送一个特别的ECH0分组,另一端立刻回送一个应答
通过测量往返时间RTT,可以获得一个合理的延迟估计值
可多次测量,取平均值
一个链路状态分组/公告(LSP/LSA)包含:
发送LSP/LSA:
每个LSP分组都包含一个序列号,递增
路由器记录下它所看见的所有(源路由器、序列号)对
当一个的新的分组到达时,路由器根据记录判断:
》如果该分组是新的,就被泛洪广播(序列号不在表中,转发到除了来的线路以外的所有线路)
》如果是重复分组,即旧的被丢弃(系列号相等,喜新厌旧)
》如果是过时分组,则被拒绝(序列号比对应源路由器发送的曾经到过的序列号还小)
序列号回转问题(比如两位二进制表示:00->01->10->11->00…)
这个问题会导致路由器无法甄别哪个是新的,哪个是旧的
解决办法:
使用32-bit长的序列号
解决路由器崩溃,序列号损坏问题
每一个分组的序列号之后加一个年龄age
》每过一秒,age-1
》age=0,丢掉对应的LSP
还有一种解决办法:
》LSP/LSA不直接分发,首先放到保留区
》新到达的LSP/LSA会和保留区中的比较
路由器空闲时,扫描保留区,以选择LSP/LSA进行确认或转发,以保证获得所有的分组。
分发完全,构造出全网图
每个路由器,采用最短路径算法,遍历图
计算结果:生成树/汇集树
根据树,生成路由表
链路状态路由(LS)的优缺点
OSPF:开放的最短路径优先
链路状态路由的典型实例
OSPF特点:
》可以在大型网络中使用
》无路由自环
》支持VLSM、CIDR等
》使用带宽作为度量值(10^8/BW)
》收敛速度块
》通过分区实现高效的网络管理
重要术语:
》RouterID:32位,自治系统内唯一
》协议号:89
》TTL=1:通常OSPF只传给邻居路由器
OSPF使用的代价是带宽,计算时用10^8/带宽
OSPF运行的五步:
》建立路由器毗邻关系(最重要,两台建立了全毗邻关系的路由器,LSP数据库完全一致。)
》选举DR和BDR
》发现路由
》选择最佳路由
》维护路由信息
IP主要面临两大问题
(1)分类造成了数百万个地址浪费
》A类地址网络: 16M个 地址(太大)
》C类地址网络: 256个地址(太小)
》B类地址网络: 65, 536个地址(够用)
(2)路由表膨胀
》早期网络数不多, 现在网络数超过百万
CIDR缓解了地址枯竭的趋势,尤其是缓解了B类地址枯竭的趋势,控制甚至缩减了路由表的开销
CIDR的基本思想描述在RFC1519中
&分配地址方法:按需分配
&实例:用户需要2000个IP地址
》CIDR之前:分一个B类地址(65000多个)
》CIDR之后:分一个块地址x. x. x. x/21(21位网络位,11位主机位)
2^11-2=2046>2000
有了CIDR后,路由表必须扩展(增加一个32位的子网掩码):
每一个路由表有一个三元组:
》目的IP地址
》子网掩码
》输出线路
IP地址聚合的关键:确定IP地址中固定不变的网络位数
聚合结果:超网
聚合的前提条件
》子网构成的地址空间是连续的
》下一跳相同
聚合的另一个好处:隔离了路由翻动
RTA下的某条具体路由的Down/Up状态不会影响到汇总后的路由状态
NAT是一个IP地址耗尽的快速修补方案,在RFC3022中有所描述
NAT:私有IP地址和公有IP地址之间的转换
PAT(超载):多个私有IP地址和一个公有IP地址之间的转换
内部网络使用私人地址;当内网需要和外网通信的时候,私人地址转换成合法的global的IP地址
NAT转换器(NAT Box)的位置和功能:
》由NAT转换器完成私人地址和公有地址的转换;并且维护一个地址转换表。
》当有外网的分组到达时,NAT转换器查找地址转换表,转换分组目标地址之后,转发该分组到内网。
》NAT转换器可以是一个专用的服务器,也可以运行在内网的边界路由器上,也可以在家用路由器(AP)上。
》向源报告错误
》测试网络:ping、tracert
ICMP应用:
ping时,源机将向目的站点发送一个ICMP回声请求报文
目的站点接收到,必须向源站点发回一个ICMP回声应答报文
源站点收到应答报文,则判断目的站点是可达的,否则为不可达
测试TCP/IP是否正常工作 ping 127.0.0.1
网络设备是否正常 ping 本机IP地址
检查对外连接的路由器 ping 默认网关IP
检查与某台设备的畅通情况 ping IP
检查DNS设置 ping www.scut.edu.cn
执行DNS反向查询 ping -a IP地址
tracert:可以通过ICMP超时报文来得到一张途径的路由器列表(最大30跳)
路径MTU:动态发现互联网上任意一条路径的最大传输单元的技术
一般来说,ICMP消息仅送给源机
规定:ICMP消息不生成自己的差错报告
【判断】若源机Ping目的机,发出一个回声请求,却没收到应答报文,则目的机必定不可达。
参考答案:错误
解析:不一定不可达,目的站点发送的应答报文可能丢失,因此实际上通常会多次Ping。
封装的任务:
》添加寻址所需的信息
》比如:IP地址、MAC地址
如果发放只知道目的地址的IP地址而不知道MAC地址,就需要发送地址解析协议ARP(定义在RFC826中)
ARP是一个运行在局域网中的协议,它将目标机的IP地址映射到MAC地址上
目标机的ARP应答帧中有明确的目的MAC地址(单播回请求机)
优化ARP:
动态建立、更新和维护ARP表:
》应答
》ARP请求中的源IP/MAC地址信息
》免费ARP
》周期性删除过时信息
ARP请求只能发送在一个LAN中,不同LAN发送需要通过默认网关中转。(远程主机的MAC地址解析,需要用到默认网关)
主机自己的ARP表(可以用ARP工具程序进行查看,删除和增加等操作):
》通过广播ARP请求中的源设备信息添加和更新表
》利用自己的ARP请求之应答信息来添加和更新表
》删除超过一定时限的信息
但是ARP动态更新存在安全隐患(产生各种ARP病毒)
拥塞:当一个子网或子网的一部分出现太多分组的时候,网络的性能急剧下降
拥塞控制的两类措施:
》开环(提前设计准备,但随着时间推移,力不从心)
》闭环
闭环建立在反馈环路的概念上
》监视系统
》传递拥塞信号
》调整运行,控制拥塞
拥塞量度(数值越大,拥塞越严重):
》因为缺乏缓存空间而丢弃的分组百分比
》平均队列长度
》超时和重传的分组数
》平均分组延迟
》分组延迟的标准方差
解决措施 1.降低负载(拒绝服务、服务降质、绕开拥塞点)2.增加资源(增加带宽)
解决速度:
数据报子网中的流量限制方法:
》每台路由器可以监视它的输出线路和其它资源的使用情况
》每条线路和一个实变量u关联在一起,其值位于(0.0-1.0)之间
》无论何时,只要u超出了阈值,对应的线路就进入到警告状态(处于警告状态后可以抑制分组)
》每个新到达的分组都将被检查,看它的输出线路是否处于“警告状态”
抑制分组生效时间慢,逐跳抑制可以快速缓解拥塞点压力
随机早起检测(RED):提前检测,防患于未然
(减少拥塞的可能性)
漏桶算法:
》每个主机连接到网络的接口中都有一个漏桶,即一个优先长度的内部队列
》当桶中有分组的时候,输出速率是恒定的,当桶空的时候,输出速率是0
》当一个分组到达满的桶的时候,分组将被丢弃(满则溢)
》每个时钟嘀嗒(tick),仅允许一个分组或固定数量的分组发送出去
缺点:满则溢,不能大量地突发数据
令牌桶算法:
》当大量数据突发的时候,令牌桶算法允许输出加快到某种程度
》令牌桶拥有令牌(tokens) ,且以每△T秒产生一个令牌的速度往桶中注入令牌
》一个分组要发送的时候,它必须从桶中取出和获取到一个令牌
》令牌桶算法允许累积令牌,但最多可以累积n (令牌桶的容量)个令牌
与漏桶算法相比:
》令牌桶允许突发,但是最大突发受制于令牌桶容量的限制
》当桶满的时候,令牌桶算法丢掉的是令牌(不是分组)