免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4899 | 回复: 10
打印 上一主题 下一主题

arp代理问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-02 16:05 |只看该作者 |倒序浏览
ARP代理中,一个IP地址被映射成多个mac地址。 路由器会把发往这些地址的packet分发到相应的主机上。

我的疑问就是,路由器怎么判断某个packet应该发往哪个mac地址。

因为,packet中只有一个相同的目的ip地址,路由器怎么知道这个目的ip是发到哪个mac呢?

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
2 [报告]
发表于 2010-09-02 19:59 |只看该作者
一个IP地址被映射成多个mac地址


抛弃原来的概念重新读ARP代理的交互过程。你的思路和ARP代理不对路。

论坛徽章:
0
3 [报告]
发表于 2010-09-02 21:47 |只看该作者
哦 错了错了,不是arp代理。

我的意思是,在某种情况下:
一个路由器连接几个主机。 对外,这几个主机的ip地址是相同的。而对内,他们有各自ip 如192.168.*.*。这种情况下,路由器怎么识别到达的包是属于哪台主机的呢?


谢谢

论坛徽章:
0
4 [报告]
发表于 2010-09-02 22:27 |只看该作者
这就涉及到NAT技术了,在路由器在有一个NAT转发表,它记录的信息有:
主机IP地址-主机端口号-目的主机IP地址-目的主机端口号

当一个主机的数据包发送过来时,实际上只需要考虑路由器的LAN口mac地址,通常设置为192.168.1.1,即我们的网关地址。在主机连接到路由器LAN口的时候,主机上只有网关地址(即路由器LAN口地址),那么我们如何获得LAN口的mac地址呢?
答案是通过ARP(address resolve protocol)广播,路由器就会回应主机一个与该IP地址相对应的mac地址,于是我们就获得了LAN口的mac地址。

接下来,主机的数据包发送到LAN口,路由器解开数据包,将4元组记录在NAT表上,同时重新将数据包封装好,但是数据包的IP地址和端口号已经改为路由器WAN口的IP地址(即电信分配给我们的IP地址),于是数据发送出去了。
当网络中目标向主机发送数据包的时候,它填写的是WAN口的IP地址,路由器WAN口接收到数据包,解包,获得目标主机IP地址和端口号,对照NAT表,将数据包的目标IP地址改为局域网中各个主机的IP地址(如你的IP地址为192.168.1.100),并将数据包通过LAN发送给各个主机。

论坛徽章:
0
5 [报告]
发表于 2010-09-02 22:55 |只看该作者
参考ls

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
6 [报告]
发表于 2010-09-03 20:02 |只看该作者
同意LS

论坛徽章:
0
7 [报告]
发表于 2010-09-06 16:36 |只看该作者
谢谢LS

论坛徽章:
0
8 [报告]
发表于 2010-09-06 16:50 |只看该作者
还是有点不明白,让我重新描述一下我的问题。

首先,一个网络:
一个路由器连着两个主机A(192.168.1.5),B(192.168.1.6)。   路由器的lan口IP为192.1681.1。而路由器的WAN口IP为202.118.66.6(也就是电信分配给你的地址,被两台主机共用)。

这时,两台主机的QQ都在工作。端口号为88。
两台主机发送出去的消息都到一个服务器C上。对服务器C来说,他们的源IP应该都是202.118.66.6.端口号也应该一样。
那么问题产生了,服务器回复一条消息,这条消息的目的地址为202.118.66.6,端口号为88。 这时,上面提到的那台路由器怎么判断消息是哪台主机的呢?
也许你要说nat表。 可是,目的地址都一样,从nat表怎么判断呢?nat表又是依据什么建立的呢?

谢谢啦

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
9 [报告]
发表于 2010-09-06 17:37 |只看该作者
C收到的源端口是不一样的。nat表里不只有地址还有端口号。

论坛徽章:
0
10 [报告]
发表于 2010-09-06 17:57 |只看该作者
谢谢ls
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP