我是网卡TP7954经常跟你提起网关路由器,我在网络中的职位如下:
为什么叫网关?因为如果你想上网,你必须通过我
这可不是开玩笑。这是真的。局域网外的所有访问都必须通过我。
事实上,我直接联系ISP(即联通)连接到互联网,我来自联通有一个互联网地址:61.52.247.112。
但只有一个地址。我们的局域网里有这么多计算机。如果我们让每台电脑轮流使用,每个人都会抱怨到死。
所以我聪明地构想了一个网络世界,成功地欺骗了TP7954网卡。
1
NAT(网络地址转换)
还记得上次TP7954问我地址吗?
因为我不仅是一个路由器,也是一个DHCP服务器,它控制着这个局域网的IP生死。
我分配给TP7954的IP地址是192.168.1.2,但他不能用这个地址直接访问互联网,因为这是我管辖下的内联网地址。其他网站像www.baidu我什么都不知道。Www.68mn!
即使知道也没有用,因为世界上可能有无数路由器将分配192.168xxx。三十、你在找哪一个?
所以TP7954想通过我上网。我需要展示一点魔法。例如,它想要访问百度,通过交换机向我发送这样的数据帧:
我脱下数据链路层的外套,发现IP包中的目标地址是115.239.211.112。我知道这是必要的朝着外联网提出请求对
因此,我将IP数据包中的源地址192.168.1.2替换为联通那里的互联网地址是61.52.247.112。
这还不够。我将创建一个新的端口号,2001TCP数据包中的数据源替换如下:
我不知道你是否能看到这个谜团。我替换了源地址和源端口。事实上,我的目的是让外部网络认为它是由我(路由器)发送的。他们根本不知道TP7954的网卡!
然后我需要检查一下我的路由表,确定转发到哪个输出端口,将数据链路层置于IP数据报上,并将数据包发送到联通网络,我不在乎其他的。
注意以太网帧的MAC地址。源地址已经是我了,不是TP7954,因为这是我和联通网络之间的数据链路。
这种替换源地址和源端口的技巧称为网络地址转换,人类被称为纳特
当然,不仅TP7954通过我上网,还有许多其他电脑。我必须写下我的技巧并形成这样一张表格:
很快,百度网站的回复将通过其他路由器传送给我。正如你所想,我需要反过来处理:
首先,揭开数据链路层的外衣,发现TCP和IP数据报包含以下信息:
目的地IP:61.52.247.112,港口2001。
这时,我检查了一下手表,发现192.168.1.2:3345。我知道这是一封给TP7954的信。
然后再次更改数据报中的IP地址和端口号,让TP7954认为我给了他这个包。
通过这种方式,我只成功地使用了一个外部网络IP来支持局域网中多台计算机的互联网接入需求,而他们不知道发生了什么!
2
纳特穿越
作弊终究不会持续太久。我的麻烦很快就会来。
TP7954的机器安装了一个,以便下载一部大电影P2P软件:埃穆勒。
所谓的P2P是对等的,也就是说,网络中的机器是对等的。
所有使用电驴的机器不仅是启动下载数据请求的客户端,而且是可以接受请求并向外部发送数据的服务器。
这样,当下载大文件时,你可以从许多配备了电驴的机器上分块下载,而不仅仅是从一台服务器上下载,这要快得多。
每个人都是为了我,我是为了每个人。
但TP7954很快发现,当它试图成为服务器时,其他电驴根本无法连接到它。为什么?
因为IP地址是我分配的。这是一个内部网地址192.168.1.2。互联网上的人根本不知道如何连接它?
TP7954给我发了一封措辞严厉的信,问我为什么他不能接受外部连接作为服务器,这严重阻碍了他们下载各种电影的需求。
我想我藏不住了,所以我得把所有的网卡都召集起来,开个会让大家讨论。
我解释说:“现在IP地址稀缺,我不得不使用这种NAT方法。否则,我们怎么能上网?你以前不是很好吗?我听说电驴会占用大量流量,我们公司很快就会禁止它。”
友讯3925表示:“公司的政策根本不是你应该考虑的,你要考虑的是如何将互联网上的电动驴连接到我们!”
但我真的没办法。这是外部网络的IP地址。
TP7954非常聪明。他立即意识到了这个问题,并想出了一个解决方案:
“嗯,路由器,你不擅长玩把戏吗?你可以继续玩,但我们必须允许这些网卡参与。例如,我(IP地址192.168.1.2)会主动要求你建立NAT映射(192.168.1.2:4096)<;->;(61.52.247.112:3001)。
“您也可以将其保存在NAT表中,然后我将向公众宣布我是一个电驴服务器。如果有人想连接我,请来到这里:61.52.247.112:3001。当Internet连接到来时,您必须将连接请求转发给我。”
大家都认为这种方法非常简单实用,所以决定采用这种方法。
注:这实际上是UPnP,打开无线路由器时,您可以看到:
事情已经解决,生活也恢复了平静。当然,作为路由器,NAT和NicholasTse是我的附加功能。我最重要的事情是建立路由表,进行路由选择和转发IP数据包。我们下次再谈吧。
本文转载自
微信公众号:马农翻了个身
作者:刘欣
最新评论