TCP/IP学习20180805-数据链路层-IP选路
转,原文链接https://blog.csdn.net/wh1511995112/article/details/51474692
IP选路
什么是IP选路?
IP选路,即IP寻路,就是根据路由表中的记录,来决定当前数据报是直接交付(目的地址属于当前局域网)还是发往下一跳路由(隶属于不同的局域网)。
搜索匹配路由表的步骤
搜索匹配的主机地址;
搜索匹配网络地址;
搜索默认表项(一般0.0.0.0)
I P层进行的选路实际上是一种选路机制,它搜索路由表并决定向哪个网络接口发送分组。 这区别于选路策略,它只是一组决定把哪些路由放入路由表的规则。
简单路由表
路由表:
第1行说明,如果目的地是1 4 0 . 2 5 2 . 1 3 . 6 5,那么网关(路由器)将把分组转 发给1 4 0 . 2 5 2 . 1 3 . 3 5。
U 该路由可以使用。
G 该路由是到一个网关(路由器)。如果没有设置该标志,说明目的地是直接相连的。
H 该路由是到一个主机,也就是说,目的地址是一个完整的主机地址。如果没有设置该 标志,说明该路由是到一个网络,而目的地址是一个网络地址:一个网络号,或者网 络号与子网号的组合。
D 该路由是由重定向报文创建的。
M 该路由已被重定向报文修改。
重要标志H与G:
标志G非常重要,因为由它区分了间接路由和直接路由(对于直接路由来说是不设置标志G的)。其区别在于,发往直接路由的分组中不但具有指明目的端的IP地址,还具有其链路层地址。当分组被发往一个间接路由时,IP地址指明的是最终的目的地,但是 链路层地址指明的是网关(即下一站路由器)。在上图这个路由 表例子中,有一个间接路由(设置了标志 G),因此采用这一项路由的分组其 I P地址是最终的目的地(1 4 0 . 2 5 2 . 1 3 . 6 5),但是其链路层地址必须对应于路由器 1 4 0 . 2 5 2 . 1 3 . 3 5。最后一行则表示是直连路由,属于同一局域网。
H标志则表明,目的地址是一个完整的主机地址。没有设置 H标志说明目的地址是一个网络地址(子网掩码决定,主机号部分为 0)。
ICMP主机与网络不可达差错,与差错定向
不可达:
当路由器收到一份I P数据报但又不能转发时,就要发送一份 ICMP“主机不可达”差错报文。
重定向:
1) 我们假定主机发送一份IP数据报给R1。这种选路决策经常发生,因为 R1是该主机的默认路由。
2) R1收到数据报并且检查它的路由表,发现 R2是发送该数据报的下一站。当它把数据报 发送给R2时,R1检测到它正在发送的接口与数据报到达接口是相同的(即主机和两个路由器 所在的LAN)。这样就给路由器发送重定向报文给原始发送端提供了线索。
3) R1发送一份ICMP重定向报文给主机,告诉它以后把数据报发送给R2而不是R1。
静态路由与动态路由
1.静态路由是指由网络管理员手工配置的路由信息。当网络的拓扑结构或链路的状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息。静态路由信息在缺省情况下是私有的,不会传递给其他的路由器。当然,网管员也可以通过对路由器进行设置使之成为共享的。静态路由一般适用于比较简单的网络环境,在这样的环境中,网络管理员易于清楚地了解网络的拓扑结构,便于设置正确的路由信息。
2.动态路由是指路由器能够自动地建立自己的路由表,并且能够根据实际实际情况的变化适时地进行调整。动态路由机制的运作依赖路由器的两个基本功能:对路由表的维护;路由器之间适时的路由信息交换。
两个著名的动态路由协议:
RIP(路由信息协议):基于距离矢量算法,它选择路由的度量标准(metric)是跳数,最大跳数是15跳,如果大于15跳,它就会丢弃数据包。
缺点:
1). RIP的15跳限制,超过15跳的路由被认为不可达
2). RIP不能支持可变长子网掩码(VLSM),导致IP地址分配的低效率
3). 周期性广播整个路由表,在低速链路及广域网云中应用将产生很大问题
4). 收敛速度慢于OSPF,在大型网络中收敛时间需要几分钟
5). RIP没有网络延迟和链路开销的概念,路由选路基于跳数。拥有较少跳数的路由总是被选为最佳路由即使较长的路径有低的延迟和开销
6). RIP没有区域的概念,不能在任意比特位进行路由汇
OSPF(开放式最短路径优先):基于链路状态及最短路径树算法,较之RIP略显复杂。
优点:
1).没有跳数的限制
2).支持可变长子网掩码(VLSM)
3).使用组播发送链路状态更新,在链路状态变化时使用触发更新,提高了带宽的利用率
4).收敛速度快,状态更新能快速覆盖整个网络。
5).具有认证功能
如今,任何支持动态选路的路由器都必须同时支持OSPF和RIP,还可以选择性的支持其他的IGP协议。