购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3 网络地址转换

IPv4使用一个32比特的二进制数表达一个IP地址,理论上最多可以描述2 32 (约43亿)个地址。但是,随着互联网技术的飞速发展,IPv4的地址空间已经远远不能满足需求。于是IPv6协议出现了。而由于IPv6协议与IPv4协议并不完全兼容,现存的海量设备没办法快速更新换代,多种因素导致IPv6的推行进展缓慢。

在IPv6大规模应用之前,人们想尽办法解决IPv4地址将被耗尽的问题,其中最有效的办法之一即网络地址转换(Network Address Translation,NAT)技术。网络地址转换是将数据报文中的IP地址转换为另一个IP地址的过程,根据转换的地址不同分为源地址转换和目的地址转换两种。

(1)源地址转换(Source NAT,SNAT)

对IP报文中的源地址进行转换,一般应用在局域网访问公网的场景中,其组网参考图1-10。

图1-10 源地址转换的组网

局域网内的所有主机使用私有网段地址,当局域网内的主机访问公网网络时,外发报文到达NAT服务器后进行源地址转换,NAT服务器将报文的源地址替换为公网地址。待NAT服务器收到应答报文时,再将应答报文中的目的地址修改回请求端的源地址,然后转发给请求端。用户通过这种方案可以实现局域网内多台主机共享一个或者多个公网IP地址的目的,减少公网IP地址占用。

(2)目的地址转换(Destination NAT,DNAT)

对IP报文中的目的地址进行转换,一般应用在服务提供商网络中,其组网参考图1-11。

图1-11 目的地址转换的组网

以网站应用为例,服务提供商对外提供网页、在线音视频服务,由于业务量大,不能由一台服务器承担所有流量,一般服务提供商会在后端部署多台服务器分担流量。而服务提供商不可能把所有后端服务器都暴露在公网中,最主要的原因是要保障安全,当然也因为IP地址资源限制等。以图1-11为例,服务提供商在最前端部署一台DNAT服务器,该服务器分配有公网地址并接收外部请求。DNAT服务器收到访问请求后,将目的地址转换为内部网络中某后端的地址,然后将流量转发到后端设备上进行处理。后端设备处理完成后再将应答报文转回给DNAT服务器,DNAT服务器将应答报文中的目的地址修改为请求报文的源地址后,将应答报文转回给请求端。

对于大流量、高转发速率的场景,一般需要部署专用的DNAT服务器;对于流量较小的场景,可以使用Linux内核提供的Netfilter功能实现DNAT服务器的功能。 evHklpmCjKOHHcmlNLxH5ZGdQuknAw5haaWtRZ6I4tOXhajt+NQ/waHWlNZZURUa

点击中间区域
呼出菜单
上一章
目录
下一章
×