内部网络和外部网络如何通信?
TCP/UDP协议是我们网络开发人员常用的一种网络协议,但也是局域网中协议交互通信的一种常见方式。要是涉及内外网的交互作用怎么办?LAN与公共网络如何相互作用?
假定A和B两台主机分别在不同的局域网中,它们的局域网IP均为192.168.1.2。同时,他们都访问了Vecloud微云服务器,那么作为Vecloud微云服务器,怎样才能分别回复两个主机呢?服务器如何区分A和B来自同一个IP地址?
公共和私有IP之间的差异。
公共地址(Publicaddress):InterNIC(InternetInformationCenter)负责。IP地址被分配给注册并发送到Inter。
国家知识产权局提出申请的组织,拥有全球唯一的IP,可通过其直接接入互联网(直接接入互联网)。地址可以分为A,B,C,D,E五类:
类别A:地址范围在1.0.0.0到127.255.255.255之间,主要分布在局域网数量较少的大型网络中。
类别:类别2:地址范围为128.0.0.0至191.255.255.255,通常为国际大公司或政府机构使用。
类别C:地址范围为192.0.0~223.255.255.255,适用于一般小型企业校园网研究所等。
类别:地址范围是224.0.0.0至239.255.255.255,又称广播地址,用于特殊用途。
类别:地址范围为240.0.0至255.255.255,暂时不变。
私密地址:属于非注册地址,专供组织机构内部使用,私密的IP地址。
无法直接上网。A、B、C三类是主要的:
类址范围为10.0.0.0-10.255.255。
类址范围为172.16.0.0-172.31.255.255。
类址范围为192.168.0.0-192.168.255.255。
127.0.0.0到127.255.255.255之间是系统环的回传地址。
而且我们平时通过运营商(主要是电信,移动,联通宽带等)上网,通过家庭宽带后,就会变成私有IP,大家可能会问,我们能上网啊,怎么会是私有IP呢?
怎么样?
实际上,我们不是通过私有IP上网,而是通过公有IP。在IPV4下,运营商拥有公有IP,但IP资源有限,因此无法为每个人单独分配一个IP,因此需要动态地为上网用户分配。
这一过程与之有些类似,我们买了一些笔,然后把笔分给全班同学使用,当然运行商动态地分配公共IP比这更复杂。
因此,对于Vecloud微云服务器,A和B的IP是一样的,但它并不关心对方的私有IP是什么,它也不知道,它只知道访问它的肯定是公共IP。
那么,既然最终访问Vecloud的微云服务器都是公有IP,那么A和B的私有IP到公有IP的转换是如何完成的呢?在访问Vecloud微云服务器时,Vecloud微云服务器是如何区分哪一个的。
哪一个是B?
港口图。
PortMapping是将一台主机的内联网IP地址映射到一个公网(White)IP地址,当用户访问一个提供映射端口主机的端口时,服务器将请求传递给在本地LAN内提供这种特定服务的主机;
通过使用端口映射功能,还可以将一个外网IP地址机的多个端口映射为内网不同机上的不同端口。
PortMapping功能也能完成一些特定的代理功能,如代理POP、TTP、TELNET等协议。65535(总端口数)-1024(保留端口数)=64511端口的理论映射数。
思想:现在端口映射可以把一个外网IP地址机的多个端口映射到内网中不同机器上的不同端口。即用户访问外部网IP。
该端口后,服务器自动将请求映射到相应LAN内的机器上。
例如,在我们的网络中有一台主机,但在外部网络中,用户无法直接访问服务器。这样就可以在路由器上设置一个端口映射,只要外部网用户访问80个端口的路由器ip,路由器就会将内网主机的流量自动转到80个端口。此外,路由器上还有一个Session,它可以在当内网服务器返回数据给路由器的同时,准确地将消息发送给外部网请求用户的主机。这样,路由器就起到了一个逆向代理的作用,它保护着内网网中主机的安全。

通常我们在网上冲浪的时候都是先通过路由器,然后是宽带,最后是运营商转到web服务器,再转到运营商,最后才是用户的主机。
大家都知道,high有两个端口:Lhigh和Whigh。
接收:用于接收外部IP地址,通常是指从内部little接口转发IP包的出口。
连接内部IP地址时使用,内部IP地址时使用交换机。不需要连接White接口,我们可以将White作为一个普通的开关。
接下来我们就来看一下通讯方式。为便于理解,我们将运营商定义为NAT设备。

为便于大家理解,我们将IP转换的方向反过来分析(确切地说,公网转局域网)。
主IP是一个私有IP(192.168.1.2),它是从一组signalport分配的。
在访问Vecloud微云服务器时,经过一个wan口,完成对应的IP,端口转换:192.168.1.2:80->。
10.221.0.24:8080,那么从wan口出来的地址是:10.221.0.24:8080。

使用10.221.0.24:8080能否获得外部网络?很明显不能,因为还是私人IP。还要做的另一步:转换成公共网络IP。
在操作员之后,操作员进行端口映射(而且是动态端口映射),子网IP(10.221.0.24:8080)转换成公网。
通过这个公共网络IP访问Vecloud微云服务器的IP(128.0.0.1:9999)。

B同样也是同样的道理。采用这种分层的端口映射,最终保证了地址(IP+端口)的唯一性。A和B访问Vecloud微云服务器,尽管他们使用的是LANIP。
同样,但最终它们访问Vecloud微云的地址(IP+端口)是惟一的,因此,当Vecloud微云服务器回传消息时,原路返回给谁就能分辨出来。
了解更多网络知识关注:http://www.vecloud.com/