计算机网络理论知识:路由协议
目录
五、自治系统(autonomous systems, AS)
一、有类网的IP路由选择
利用数据包中的目的地址得到目的网络号,然后查询路由表:
- 如果查到的结果是直连网(即下一跳为空),则直接把数据包从查到的接口转发到目的主机;(即不需要再中转了)
- 如果查询得到下一跳(路由器),则把数据包转发给下一跳;
- 如果没有查到任何匹配项,则把数据包转发给默认路由器;
- 如果没有设置默认路由,且没有任何匹配项,则丢弃该数据包;
二、无类网的IP路由选择
匹配方法:目的IP地址 和 子网掩码 相与,得到子网号;
最长匹配原则:当有多条路由都匹配时选择子网掩码最长的路由;
选择算法:
如果在路由表中查到下一跳(即需要将数据报发给下一个路由中转):①当前路由到下一跳是点到点链路,则直接把IP分组封装成帧然后发出去;②当前路由到下一跳是以太网,则先查看下一跳的MAC地址,然后封装成帧后再发出去;(根据路由表查到的下一跳的IP地址然后使用ARP协议获取MAC地址(中转路由器的MAC地址),同时也使用了以太网的CSMA/CD协议);
如果在路由表中查不到下一跳(即接下来要直接把数据报发送给主机):①匹配项接口是点到点链路,在直接把IP分组封装成帧后发出去;②匹配项接口是以太网,则从数据包中取出IP地址,然后使用ARP协议获取MAC地址(确定数据报的目的主机的MAC地址),将MAC地址和数据封装成帧再发出去;
【注意上面获取MAC地址的方式的差异】
三、路由表(记录的是IP地址)
- 网关:即下一跳(在链路上表示没有下一跳——不需要再转发)。网关又称为网间连接器,在网络层以上实现网络互连。如从一个网络向另一个网络发送信息则必须经过一个网关;
- 接口:对应于当前主机或路由器上的接口,指明把数据包从该主机或路由器的哪个接口转发出去;
- 跃点数:转发数据包的开销。(看倒数两项,目的网络都一样,这时候匹配时要选择跃点数小的作为目的网络)
- 第一行是默认网关;
- 第三行代表的是该主机的一个IP地址(子网掩码全1,与某些接口IP地址相同),那么第二行则代表该主机所在的子网,第四行代表的是该主机所在子网的广播地址;
- 第八行是多播地址;
- 主机连接到因特网上时需要匹配的是默认网关,因为因特网上有各不相同的IP地址,只有使用默认网关匹配才能匹配到所有的IP地址。
- 路由表中每一行的下一跳和接口处于同一个物理网络;
- 一个IP分组在转发之前总是要封装成帧;
路由表查询IP分组时的可能情况:
- 没有任何匹配项——丢弃该分组;
- 有匹配项,下一跳接口为以太网——用下一跳的IP地址查询MAC地址再转发;
- 有匹配项,下一跳接口为点到点链路——直接把IP分组封装成帧转发出去;
- 有匹配项,没有下一跳,匹配项接口为以太网——用IP分组的目的地址查询MAC地址再转发出去;
- 有匹配项,没有下一跳,匹配项接口为点到点链路——直接把IP分组封装成帧转发出去;
四、路由协议——用于自动建立路由表的协议
- 路由器在收到一个数据报之后用其目的地址查找路由表得到下一跳,再把该数据报转发给下一跳;
- 路由表可以由管理员手工建立(静态路由),也可以由路由协议自动建立(动态路由)。默认路由和直连路由都是静态路由。
- 路由算法:路由协议所用的算法称为路由算法,即找最短路径的算法(使得开销最小),如迪杰斯特拉算法;
五、自治系统(autonomous systems, AS)
整个因特网实际上由很多机构进行管理,每个机构管理自己的网络,它们有权决定采用什么协议和网络控制策略。这种在同一个机构管理下的网络称为一个自治系统。
- 用于在AS内建立动态路由的路由协议称为内部网关协议(interior gateway protocols, IGP);(RIP协议和OSPF协议)
- 用于在AS之间建立动态路由的路由协议称为外部网关协议(exterior gateway protocol, EGP);(如BGP协议)
- 运行同一个IGP协议的连通区域称为路由选择域(routing domain),一个AS可以运行多个IGP协议,形成多个路由选择域。