比如我家的宽带分配的 IP 地址为 22.22.22.22 ,一个路由器上连接了两电脑,分配的地址为 192.168.0.10 和 192.168.0.20 。如果我访问一个网站,网站肯定会把数据发送到 22.22.22.22 ,那么路由器怎么分辨要把数据发往哪个电脑呢。
如果路由器只是把收到的数据广播,那么如果两台电脑同时访问一个网站时该怎么分辨呢?
1
bingwenshi 2015 年 12 月 12 日
|
2
yexm0 2015 年 12 月 12 日 via Android
mac 地址是唯一的:-)
|
3
bingwenshi 2015 年 12 月 12 日
错了,这个问题的话,应该看交换机的 http://baike.baidu.com/view/116641.htm
|
5
des 2015 年 12 月 12 日 |
6
powergx 2015 年 12 月 12 日 via iPhone
nat 转换 , port 对应内网 ip
|
7
bingwenshi 2015 年 12 月 12 日
@des 是的
|
8
SkyEcho 2015 年 12 月 12 日
楼主需要看一下计算机网络,你的计算机像服务器发送请求建立一条连接,当连接建立成功,路由器就已经分配信道了,不仅仅是你家的路由器,也包括运营商的路由器。可以想象成逻辑上已经建立了一条独立的车道
|
9
jasontse 2015 年 12 月 12 日 via iPad
远端服务器只管回复数据包给 2.2.2.2 ,至于发给内网哪台电脑是 NAT 网关(路由器)的事情,路由器通过匹配 NAT 五元组记录来确定应该发给哪台电脑。
|
10
dalaomj 2015 年 12 月 12 日
其实路由器也没那么聪明。只有这种简单的单层网络结构应付自如。
但只要网络结构稍微一复杂,数据包就不知往哪发了,极易产生“环路”问题。 |
13
imn1 2015 年 12 月 12 日
这事理应请教支付宝,他们是专家
|
14
e1eph4nt 2015 年 12 月 12 日
google iptables, netfilter, snat, masquerade
|
15
Tink PRO nat
|
16
SPACELAN 2015 年 12 月 12 日
路由器通过端口来判断包是发给子网里哪个电脑的,具体的映射关系也是存在路由器里面的
|