网络互联的几种常见方式
常见的主要有以下几种
1.路由
2.NAT
3.代理
4.数据包重定向
假定有如下网络结构:
client -----------------------server1--------------------------web server
10.25.0.6--------10.25.0.7<-->192.168.1.1-------------192.168.1.2
本地连接 eth1 eth0 本地连接
1.使用路由方式
路由器上抓取的数据包:
eth1:
14:34:17.339821 10.25.0.6.1152 > 192.168.1.2.http: P 774336960:774337331(371) ack 2363291133 win 65155 (DF)
14:34:17.350212 192.168.1.2.http > 10.25.0.6.1152: P 1:191(190) ack 371 win 16139 (DF)
14:34:17.457439 10.25.0.6.1152 > 192.168.1.2.http: . ack 191 win 64965 (DF)
eth0:
14:34:17.339992 10.25.0.6.1152 > 192.168.1.2.http: P 774336960:774337331(371) ack 2363291133 win 65155 (DF)
14:34:17.350158 192.168.1.2.http > 10.25.0.6.1152: P 1:191(190) ack 371 win 16139 (DF)
14:34:17.457494 10.25.0.6.1152 > 192.168.1.2.http: . ack 191 win 64965 (DF)
解释:
通过路由方式客户机直接访问服务器的ip,数据从客户端发出经路由器转发到服务器上.在路由器上路由器仅仅修改数据包的源mac地址为自己的而已(数据包出口的mac地址).ip包的源地址和目标地址不会发生变化.但是需要服务器和路由器都有合法的公网ip地址.
2.使用nat方式
nat上抓取的数据包
eth1:
eth0上抓取的数据包
解释:
客户机直接访问nat服务器,nat服务器再将数据包修改后转发到服务器.数据包的目的地址会被会被nat服务器修改成服务器的地址.
3.通过重定向方式
eth1上抓取的数据包
14:27:40.736925 10.25.0.6.1145 > 10.25.0.7.http: S 574016055:574016055(0) win 65535 <mss 1460,nop,nop,sackOK> (DF)
14:27:40.741997 10.25.0.7.http > 10.25.0.6.1145: S 1182883433:1182883433(0) ack 574016056 win 17520 <mss 1460,nop,nop,sackOK> (DF)
eth0上抓取的数据包
14:27:40.737317 10.25.0.6.1145 > 192.168.1.2.http: S 574016055:574016055(0) win 65535 <mss 1460,nop,nop,sackOK> (DF)
14:27:40.741931 192.168.1.2.http > 10.25.0.6.1145: S 1182883433:1182883433(0) ack 574016056 win 17520 <mss 1460,nop,nop,sackOK> (DF)