链路状态路由实现

时间:2014-12-17 11:17:59

标签: algorithm networking routing

我正在实施链路状态路由协议,我有些疑惑。 首先,我要说的是我使用的是一个简单的库,它为我提供了网络拓扑,路由器类(显然没有提供路由协议)和消息类。

我的目标是实现2个类:一个(给定网络拓扑)构建路由表(邻居发现和Dijkstra),另一个扩展类的Message和实现代表路由器交换的消息。

特别值得怀疑的是:

  • 路由器如何发现其所有邻居?
  • 路由器交换的消息结构是什么?

提前致谢。

2 个答案:

答案 0 :(得分:0)

通常,hello机制用于发现邻居,可能与身份验证相结合。

消息格式(以及消息的数量和类型)取决于协议的设计。

我建议对ospf如何处理这些问题进行一些研究,然后你可以改进你的问题。

答案 1 :(得分:0)

基本上,一旦路由器打开,它将通过其自身的所有接口发送Hello数据包。该数据包包含有关路由器的基本信息,这对于与邻居建立邻接非常有用。不同的路由协议使用不同格式的Hello数据包。

OSPF在其Hello数据包中包含网络掩码。接收此数据包并具有相同网络掩码的邻居路由器将同意开始建立邻接,以便进一步沟通。

不同的是,EIGRP只允许路由器与邻居路由器建立邻接关系,这些邻居路由器在收到的hello数据包中具有相同的自治系统编号。

在此阶段之后,两台路由器将能够交换其路由信息。