分组转发算法和距离向量算法
2015-11-10 22:09
260 查看
分组转发算法如下:
从数据报的首部提取目的主机的IP地址D,得出目的网络地址N。
若N就是与此路由器直接相连接的某个网络地址,则进行直接交付,不需要再经过其他的路由器,直接把数据报交付目的主机;否则就是间接交付,执行3.
若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则执行4.
若路由表中有到达网络N的路由器,则把数据报传送给路由表中所指明的下一跳路由器;否则执行5.
若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由;否则执行6.
报告转发分组出错。
距离向量算法如下:
对地址为X的相邻路由器发来的RIP报文,先修改此报文中的所有项目:把“下一跳”字段中的地址都改为X,并把所有的“距离”字段的值加1。每一个项目都有三个关键数据,即:到目的网络N,距离是d,下一跳路由器是X。
对修改的RIP报文中的每一个项目,进行以下步骤:
若原来的路由表中都没有目的网络N,则把该项目添加到路由表中,
否则(即在路由表中有目的网络N,这时就再查看下一跳路由器地址)。
若下一跳路由器地址为X,则把收到的项目替换原路由表中的项目,
否则(即这个项目是:到目的网络N ,但下一跳路由器不是X)。
若收到的项目中的距离d小于路由表中的距离,则进行更新
否则什么也不做。
若三分钟还没收到相邻路由器的更新表,则把此相邻路由器记为不可达路由器,即把距离设置为16(距离16表示为不可达)。
返回
从数据报的首部提取目的主机的IP地址D,得出目的网络地址N。
若N就是与此路由器直接相连接的某个网络地址,则进行直接交付,不需要再经过其他的路由器,直接把数据报交付目的主机;否则就是间接交付,执行3.
若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则执行4.
若路由表中有到达网络N的路由器,则把数据报传送给路由表中所指明的下一跳路由器;否则执行5.
若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由;否则执行6.
报告转发分组出错。
距离向量算法如下:
对地址为X的相邻路由器发来的RIP报文,先修改此报文中的所有项目:把“下一跳”字段中的地址都改为X,并把所有的“距离”字段的值加1。每一个项目都有三个关键数据,即:到目的网络N,距离是d,下一跳路由器是X。
对修改的RIP报文中的每一个项目,进行以下步骤:
若原来的路由表中都没有目的网络N,则把该项目添加到路由表中,
否则(即在路由表中有目的网络N,这时就再查看下一跳路由器地址)。
若下一跳路由器地址为X,则把收到的项目替换原路由表中的项目,
否则(即这个项目是:到目的网络N ,但下一跳路由器不是X)。
若收到的项目中的距离d小于路由表中的距离,则进行更新
否则什么也不做。
若三分钟还没收到相邻路由器的更新表,则把此相邻路由器记为不可达路由器,即把距离设置为16(距离16表示为不可达)。
返回