首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >路由器模拟

路由器模拟
EN

Stack Overflow用户
提问于 2012-04-21 10:18:07
回答 2查看 546关注 0票数 0

在我的一门课程中,我正在编写一个模拟网络活动的Java Applet。我有一台主机,它保存了MAC到IP地址的ARP表,然后我让交换机跟踪哪个MAC连接到哪个物理端口。(接口)

我的问题是,我应该如何模拟路由器。据我所知,主机将对传出的IP执行计算,以确定该IP是否在网络上,假设该IP不在网络上,则主机将数据包发送到默认网关(通过查找默认网关IP地址的MAC地址),在本例中为路由器。现在,路由器将在两个不同的网络上至少有两个接口。

因此,我的理论是,路由器将查看目的IP地址,并将数据包传输到包含该网络的正确接口。但是,路由器是否有“默认网关”,如果这些接口都不在目的网络上,路由器是否可以将其传递给其他路由器?

EN

回答 2

Stack Overflow用户

发布于 2012-04-21 10:29:10

不完全同意。路由器有路由表。它们获取A分组的目的地地址,并找到到达该目的地的路由。他们使用的算法基本上是“最长匹配”(或“最具体匹配”)。

要实现相当于默认网关的功能,您需要放置一个默认路由,即目的地址为0.0.0.0/0的路由。这将匹配每个数据包(因为每个数据包都在该网络中),但它始终是最差的匹配。

这是我的一台路由器的匿名路由表:

代码语言:javascript
复制
C    x.y.z.104/29 is directly connected, FastEthernet0/0
S    10.0.0.0/8 is directly connected, Null0
S    192.168.0.0/24 [1/0] is directory connected, FastEthernet 1/0
S*   0.0.0.0/0 [1/0] via x.y.z.1
S    192.168.0.0/16 is directly connected, Null0

第一个路由是公共LAN。第三个路由是专用LAN。注意两个"Null0“路由,它们阻止到未使用的私有IP地址的流量从默认路由传出到我的ISP。倒数第二个路由是默认路由。

请注意,我们通常认为是终端系统的大多数设备实际上都是路由器。典型的PC和服务器操作系统也具有路由器功能,因此它们在内部使用路由表、度量和最长匹配。

票数 1
EN

Stack Overflow用户

发布于 2012-04-21 10:36:13

路由器可以有默认路由。在最长前缀匹配中,/0条目将指向默认路由。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10255634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档