路由器的转发规则

kaiseer8828 2015-09-02 09:27:33
RT RT RT
如题所示,哪位大神能帮我解释下路由器的转发规则,那个路由表是怎样生成的,是通过广播吗? 假如主机A 与 主机B之间有上万个路由器,路由表中需要存上万条下一跳信息吗?A 要与B 通信是如何实现的呢,如果是随机的转发给下一个相邻的路由,这么多条转发的道路,会不会绕了一个圈又回来了呢? 在线等大神回答,感激不尽。
...全文
557 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
www_adintr_com 2015-09-05
  • 打赏
  • 举报
回复
引用 楼主 kaiseer8828 的回复:
RT RT RT 如题所示,哪位大神能帮我解释下路由器的转发规则,那个路由表是怎样生成的,是通过广播吗? 假如主机A 与 主机B之间有上万个路由器,路由表中需要存上万条下一跳信息吗?A 要与B 通信是如何实现的呢,如果是随机的转发给下一个相邻的路由,这么多条转发的道路,会不会绕了一个圈又回来了呢? 在线等大神回答,感激不尽。
两个主机之间如果要经过上万个路由器才能联通,那这两个主机肯定就是不通的了。。。 既然是下一跳,路由表中肯定就只会存和它相邻的路由器的信息, 而且 IP 是按网段来划分的,并不是毫无规律的,所以路由表也许没有你想象的那么多。 肯定不是随机的,路由表正是拿来决定往哪一个相邻的路由转发的,如果没有匹配路由表中的 IP 段,才往默认路由转发。主机也是有路由表的,如果只有一张网卡,可能路由表里面只有一个默认路由而已。 绕了一圈又回来这种事情确实是可能出现的,所以 IP 协议中有一个 TTL 字段,每经过一个路由器,这个值就减 1,当 TTL 为 0 后路由器就丢弃这个包了。所以虽然可能绕回来,但是这个包不会永远在网络中绕,消耗掉网络资源的。
xiaoxuhao 2015-09-05
  • 打赏
  • 举报
回复
呵呵,我在华为搞路由器维护8年了,楼主如果想了解路由算法,先看看dijkstra算法,这是OSPF协议的基础,路由协议有很多,博大精深,可以先从一种学起,比如OSPF。 像OSPF这种路由协议是用来生成路由表的,每台路由器通过OSPF路由协议报文进行路由信息的交换,就形成了各自的路由表,然后报文到达每台路由器之后就按这样的路由表进行转发,路由表其实很简单,查询key值是目的IP,查出来的结果是路由器的出口信息,举个例子: 10.1.1.1 10.1.1.2 11.1.1.1 11.1.1.2 A ---------------------- B ---------------------- C 1/0/0 1/0/0 2/0/1 2/0/1 如上图所示, 在A上,有一条路由是“要去11.1.1.2这个地址从1/0/0接口出去”, 在B上,有一条路由是“要去11.1.1.2这个地址从2/0/1接口出去”, 通过这样的每一跳每一跳的接力,就能使报文正确的到达目的地, 路由协议能确保这些设备上的路由表信息最优; 另外,如果B和C之间的链路发生了中断, 路由协议就能够快速感知,并重新计算, 在B上,去去11.1.1.2这个地址的路由就不是从2/0/1接口出去, 而是从其它能到达C的接口出去了。
kaiseer8828 2015-09-02
  • 打赏
  • 举报
回复
引用 7 楼 zhao4zhong1 的回复:
搜“蚁群寻路”
这篇文章真是受益匪浅
kaiseer8828 2015-09-02
  • 打赏
  • 举报
回复
好像是有哦,不过我还没看到,那这个过程大概是这个意思吗?
赵4老师 2015-09-02
  • 打赏
  • 举报
回复
搜“蚁群寻路”
zh1599512 2015-09-02
  • 打赏
  • 举报
回复
引用 5 楼 kaiseer8828的回复:
这个RIP OSPF协议的具体过程能大概解释下吗? 比如路由器1中的路由表没有路由器2的地址,路由器1需要先进行全网广播找到路由器2吗? 然后再根据返回的路径,找到最短路径? 过程是这样吗?
书上不是有嘛?
kaiseer8828 2015-09-02
  • 打赏
  • 举报
回复
这个RIP OSPF协议的具体过程能大概解释下吗? 比如路由器1中的路由表没有路由器2的地址,路由器1需要先进行全网广播找到路由器2吗? 然后再根据返回的路径,找到最短路径? 过程是这样吗?
zh1599512 2015-09-02
  • 打赏
  • 举报
回复
引用 3 楼 kaiseer8828 的回复:
有书,不过书上也没讲路由转发的过程,只说找到路由表的下一跳,可是下一跳是如何确定的又没有说明
唉解释下。 1.那个路由表是怎样生成的,是通过广播吗? 静态的不说了是钉死的,动态的路由器会根据 RIP OSPF等协议,更新自己的路由表(路由器和路由器之间更新。) 2.假如主机A 与 主机B之间有上万个路由器,路由表中需要存上万条下一跳信息吗? 根据路由协议,他们保存的路由表,会按照距离最短,或者时间最短来 判定,保存的一下跳节点应该不会超过20个,具体多少个没去探究。 3.转发回来?高校吗? 这些路由协议已经保证了。不会回环的。
kaiseer8828 2015-09-02
  • 打赏
  • 举报
回复
有书,不过书上也没讲路由转发的过程,只说找到路由表的下一跳,可是下一跳是如何确定的又没有说明
zh1599512 2015-09-02
  • 打赏
  • 举报
回复
建议楼主买本网络技术看看, 内部网关协议,边界网关协议,外部网关协议
super_admi 2015-09-02
  • 打赏
  • 举报
回复
哇,好复杂,通常这种答案,我都是直接去查路由器资料。查一遍不知道,就再查一遍。
kaiseer8828 2015-09-02
  • 打赏
  • 举报
回复
是 我就是想问路由器是如何在未存储目标路由的情况下,找到比较好的路径的
bear234 2015-09-02
  • 打赏
  • 举报
回复
应该不是广播吧 广播代价好像太高了...... 楼主是不是需要“路由器选择协议”???

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧