当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 2 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 路由基础知识
帖子发表于 : 2008-10-10 13:05 

注册: 2007-08-27 17:31
帖子: 445
送出感谢: 0 次
接收感谢: 1
虽然很基础,但很多人都会忽略这个,特意发上来

路由基础:
路由选择是一种通过“网络层”协议信息将分组从源端传送到目的端的行为。
它包含了两个动作,确定最佳路由通路以及通过互连网进行分组传递。
这两个动作的关键是每台主机和路由器中维护的路由表。
路由表记录了最佳路由,可以供到达分组做转发决定时参考。
路由表可以手工设置,由收到的icmp报文进行更新,或者由实现动态路由选择协议的路由选择守护进程来设置。

下一跳路由选择:
主机向目的端发送分组时,会通过其网络掩码和目的主机的IP地址查找出目的的端的网络和子网ID,如果主机和目的端具有相同的扩展前缀,那么,它们就处于同一个网络中,然后,主机就可以直接将数据报发送给目的端。这种方式被称为“直接交付”,如果主机的扩展前缀与目的端的不同,那么,它们就处于不同的网络中,主机必须采用“间接交付”方式,然后由路由器将数据报转发给它的目的端。
每个“间接交付”都要查询路由表以确定下一跳路由器,路由表中只列出了从路由器到目的网路径上的下一跳路由器,而没有列出整条路径,表中的每个条目都指向一个与它直接相连的路由器,具体来说,每个条目都包含下列内容。
*目的IP地址:一个完整的主机地址,或者一个网络地址
*下一跳路由器的IP地址,或者一个直接相连网络的IP地址
*标记
·U,路由是活动的
·G,路由是指向一台路由器(网关)的
·H,路由指向一台主机的
·D,路由是由重定向报文创建的
·M,路由是被重定向报文修改过的
*用来传递数据报的主机网络接口,比如,主机的以太网接口 eth0
路由器收到一个数据报,会取出目的IP地址,并计算出网络前缀,然后按照下列步骤,根据路由表的查询结果做出转发决定。

路由规则:
1:如果网络前缀与任意一个直接相连的网络地址相匹配,就直接将数据报传送给目的端。
2:否则,如果表中包含了对应于那个地址的主机指定路由,就将数据报发送给表中指定的下一跳路由器。
3:否则,如果表中包含了对应于目的主机子网的网络指定路由,路由器就将数据报转发给那个网络的路由器。
4:否则,如果表中有一个默认的路由器条目,就将数据报发送给那个默认路由器。
5:如果连默认路由器也没有找到,就生成一个路由选择错误报文并将数据丢弃。
如上边的5条,按优先顺序排列,主机条目优先与网络条目,网络条目优先与默认条目,这个查询序列称为”最长前缀匹配“原则,广泛应用于路由表的查询过程。
linux中可以使用 route 命令查看内核路由表
考虑到要在沿途的每台路由器上为每个IP数据报进行路由表查询,而当今的因特网中IP数据报数量惊人,人们通常都愿意选择较小的路由表,这样可以缩短查询时间,大多数路由表中都没有指向主机的条目,而只有指向网络的条目,这样就可以使路由表保持比较小的规模,对那些只能访问一台路由器的主机来说,为所有非直接连接的网络使用一个默认路由器会更有效。

静态路由选择与动态路由选择
在三种情况下,静态路由选择方式非常有用
1:网络很小
2:网络只有一个点可以连接到其他网络
3:网络中没有冗余路由
否则,就更适合使用动态路由选择方式

采用静态路由选择方式,路由表条目是在引导期间对接口进行配置时被默认创建的,比如:由动态主机配置协议(DHCP),或者是通过route命令添加的,或者是由ICMP重定向或路由器发现报文创建的。
采用动态路由选择方式,路由器会通过一种路由选择协议与其他路由器进行通信,以获取与网络状态有关的信息,并建立它们自己的路由表,因此,在使用动态路由选择的情况下,路由表会随着网络状态的变化而自动更新。


_________________
你能学会世界上所有语言来叫一种鸟的名字,当你知道所有这些名字叫法后,却对这种鸟一无所知~
理查德-费曼


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 路由基础知识
帖子发表于 : 2011-06-20 9:15 
头像

注册: 2006-08-25 10:37
帖子: 736
送出感谢: 0 次
接收感谢: 0 次
好文。
这样的文章是需要温习的。(对我们这样的菜鸟)
mark。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 2 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译