穿透内网所了解的一些知识

来源:互联网 发布:曼彻斯特 知乎 编辑:程序博客网 时间:2024/06/05 18:41

动机

内网是相对于外网而言的,内网即是私有网络,互联网上的每个主机必须有一个唯一的IP地址来标识,现有的IPv4的地址为32位,所能标识的主机非常有限,随着internet上主机数量的不断的发展,IPv4地址的短缺越来越明显,IP地址资源也就愈加显得捉襟见肘。为了解决这种问题,出现了一种解决IPv4地址短缺以避免IP地址枯竭的方案,就是我们所谓的NAT(网络地址转换)技术,现在NAT成了家庭和小型办公室网络连接上的路由器的一个标准特征,但是,NAT也让主机之间的通信变得复杂,导致通信效率的降低。随着IPv6的广泛采用,有观点认为NAT不再需要。


基本概念

IP地址
世界上的任何资源都需要一种标识,internet世界也如此,我们用IP来标识互联网上的主机位置,IP地址分配的时候预留了一些私有的IP地址,私有IP地址是指内部网络或主机的IP地址,公有IP地址是指在因特网上全球唯一的IP地址。私有网络预留出了三个IP 地址块,如下:
A 类:10.0.0.0~10.255.255.255
B 类:172.16.0.0~172.31.255.255
C 类:192.168.0.0~192.168.255.255
上述三个范围内的地址不会在因特网上被分配,不用向ISP结构申请,可自由使用。

环回接口
环回接口是允许运行在同一台主机上的客户程序和服务器程序通过TCP/IP进行通信,A类网络号127就是为环回接口预留的,一般环回地址是127.0.0.1,并命名为localhost,一个传给环回接口的IP数据报不能在任何网络上出现

NAT

在计算机网络中,网络地址转换(Network Address Translation),是一种在IP封包通过路由器或防火墙时重写源IP地址或目的IP地址的技术。这种技术被普遍使用在有多台主机但只通过一个公有IP地址访问因特网的私有网络中。简单来讲,NAT是将IP 数据包头中的IP地址转换为另一个IP地址的过程。NAT可以借助于代理服务器来实现,很多时候都是在路由器上来实现的。在一个典型的配置中,一个本地网络使用一个专有网络的指定子网(比如192.168.x.x或10.x.x.x)和连在这个网络上的一个路由器。这个路由器占有这个网络地址空间的一个专有地址(比如 192.168.0.1),同时它还通过一个或多个因特网服务提供商提供的公有的IP地址(叫做“过载” NAT)连接到因特网上。当信息由本地网络向因特网传递时,源地址被立即从专有地址转换为公用地址。由路由器跟踪每个连接上的基本数据,主要是目的地址和端口。 当有回复返回路由器时,它通过输出阶段记录的连接跟踪数据来决定该转发给内部网的哪个主机;如果有多个公用地址可用,当数据包返回时,TCP或UDP客户机的端口号可以用来分解数据包。对于因特网上的一个系统,路由器本身充当通信的源和目的地址。


<1>内网主机访问外部网络时,数据包就会被送到NAT主机,此时的源IP为内网主机的私有地址
<2>NAT主机将内网主机的源IP转换为NAT主机所具有的公共IP ,于是就可以请求internet,同时NAT主机保存源内网IP,端口到NAT主机,及端口的映射
<3>NAT主机接收Internet传送回来的数据NAT 主机会去查询记录的路由信息,并将目标IP改为内网主机的IP
<4>NAT主机将该数据包传送给原先发送包的内网主机。

静态NAT

仅支持地址转换,不支持端口映射,这就需要对每一个当前连接都要对应一个IP地址,因此要维护一个公网的地址池。宽带路由器通常使用这种方式来允许一台指定的计算机去接收所有的外部连接,甚至当路由器本身只有一个可用外部IP时也如此,这台路由器有时也被标记为DMZ主机。

基本NAT要维护一个NAT表,结构如下

内网IP外网IP192.168.1.55219.152.168.222192.168.1.59219.152.168.223192.168.1.155219.152.168.224

DMZ

DMZ通常是一个过滤的子网,DMZ在内部网络和外部网络之间构造了一个安全地带。常被使用的方案是在不信任的外部网络和可信任的内部网络外,建立一个面向外部网络的物理或逻辑子网,该子网能设置用于对外部网络的服务器主机。 该方案可以使用在防火墙、路由器等区隔内外网的网络设备。在一般比较低阶的网络设备,DMZ的功能只能以软件设定的接口去设定并实作,实体的网络层相接,会与一般的LAN PORT相接共同管理。不过在一般比较高阶的网络设备,如高阶的防火墙设备,DMZ的功能除了软件的接口的设定外,在实体的连接PORT除了一般的WAN PORT、LAN PORT外,还会有另外独立的DMZ PORT,这样可以方便网络管理人员在管理网段时,除了软件接口上去设定WAN、LAN、DMZ等网段外,在实体的缆线连接(通常采用的是RJ45)时,也可以直接区分网段,更方便管理。

网络地址端口转换(NAPT)

支持端口的映射,允许多台主机共享一个公用IP地址。

支持端口转换的NAT又可以分为两类:源地址转换和目的地址转换NAT 。前一种情形下发起连接的计算机的IP地址将会被重写,使得内网主机发出的数据包能够到达外网主机。后一种情况下被连接计算机的IP地址将被重写,使得外网主机发出的数据包能够到达内网主机。实际上,以上两种方式通常会一起使用以支持双向通信。

NAPT也要维护一个NAT表,结构如下

内网IP外网IP192.168.1.55:5566219.152.168.222:9200192.168.1.59:80219.152.168.222:9201192.168.1.59:4465219.152.168.222:9202
1 0
原创粉丝点击