计算机的动态配置的路由表是怎么建立和维护的? 路由器的ARP表如果自我学习是怎么建立的?

如题所述

计算机建立和维护路由表的过程和路由器建立和维护路由表的过程是一样的。如何建立和维护路由表是由路由协议规定的。这个和是计算机还是路由器无关,它取决于计算机使用的路由器协议。
比如OSPF协议,OSPF 通过LSA(Link State Advertisement)的形式发布路由,依靠在OSPF 区域内的各路由器之间交互OSPF 报文来达到路由信息的统一。
说白了,OSPF靠一堆报文实现路由表的建立和维护。

Hello报文:周期性发送,用来发现和维持OSPF 邻居关系。
DD 报文Database Description packet):描述本地LSDB 的摘要信息,用于两台交换机进行数据库同步。
LSR 报文(Link State Request packet):用于向对方请求所需的LSA。路由器只有在OSPF 邻居双方成功交换DD 报文后才会向对方发出LSR 报文。
LSU 报文(Link State Update packet):用于向对方发送其所需要的LSA。
LSAck 报文(Link State Acknowledgment packet):用来对收到的LSA 进行确认。
要想了解细节的话,上网搜下OSPF协议的学习资料,或者看相关RFC,比如RFC2328。
IS-IS、BGP等路由协议也是类似的工作过程。

ARP表建立的过程大概是这样的:
比如,路由器A收到一个报文,然后查路由表,得知要把这个报文转发到IP为1.1.1.1的路由器B上,接着再去ARP表里查找1.1.1.1对应的MAC地址,用于封装二层报文。路由器A发现自己的ARP表里没有1.1.1.1这个IP对应的MAC地址,于是路由器A就广播一个ARP 请求报文(IP Address of destination字段填写1.1.1.1),当路由器B收到这个ARP request报文后,检查后发现是发给自己的(如果不是发给自己的则丢弃报文),于是此路由器B回复一个arp reply报文给路由器A,arp reply报文里有路由器B的MAC地址。于是路由器A上就学到了一条新的ARP表项。然后就是不断地学习新ARP,不断地老化ARP表项的过程了。
要想了解细节就去看RFC826,网上也有很多关于ARP协议工作过程的介绍。

你要想了解这些协议的话,要么从网上找资料看,要么看RFC,没啥捷径 。靠在这里提问题是学不清楚的,因为协议的内容很多,一两个帖子都写不完,而且网上已经有很多现成的资料了。学习过程中有不清楚的地方再找人问 :)
温馨提示:答案为网友推荐,仅供参考
相似回答