- 论坛徽章:
- 0
|
原帖由 JohnBull 于 2006-7-24 21:40 发表
不知所云。
既然设置了缺省网关,怎么可能发生“没有找到合适的路由”?
奉劝您先把经典路由原理搞清楚,再考虑你的需求能否在经典路由体制内解决,如果不能的话再考虑能否在当前的某种IP扩展实现中实现,如果 ...
首先感谢下以上各位的热情回复^^
这么说吧
------------------------------------------------------------------
1、IP路由简介
路由就是选择一条数据包传输路径的过程。当TCP/IP主机发送IP数据包时,便出现了路由,且当到达IP路由器还会再次出现。路由器是从一个物理网向另一个物理网发送数据包的装置,路由器通常被称为网关。对于发送的主机和路由器而言,必须决定向哪里转发数据包。在决定路由时,IP层查询位于内存中的路由 表。
(1)当一个主机试图与另一个主机通信时,IP首先决定目的主机是一个本地网还是远程网。
(2)如果目的主机是远程网,IP将查询路由表来为远程主机或远程网选择一个路由。
(3)若未找到明确的路由,IP用缺省的网关地址将一个数据传送给另一个路由器。
(4)在该路由器中,路由表再次为远程主机或网络查询路由,若还未找到路由,该数据包将发送到该路由器的缺省网关地址。
每发现一条路由,数据包被转送下一级路由器,称为一次“跳步”,并最终发送至目的主机。
若未发现任何一个路由,源主机将收到一个出错信息。
------------------------------------------------------------------
我的问题肯定不能在经典路由体制中解决。因为我不希望主机发送给缺省网关,我希望他暂停发送,等我们自己的routine添加好新的路由后,再重新查找一遍。
我不知道什么叫“能否在当前的某种IP扩展实现中实现”?可不可以解释下?
或者,我们可以把缺省网关设置成自己,然后数据包可以发送给自己。然后再通过什么routine,实现以上功能?
用英文说下我的问题,就是:
Our task is:
1) when a packet arrives and no route is found in the routing table, the
kernel should inform our routine that a new entry should be added into the
routing table instead of sending it to the default gateway.
2) after the entry has been added, our routine informs the kernel, and the
packet should be searched again in the routing table.
我猜,可能必须是要compile kernel了。。。
[ 本帖最后由 Estel 于 2006-7-26 17:33 编辑 ] |
|