NAT协议
- 客户端所发出的封包表头中,来源会是 192.168.1.100 ,然后传送到 NAT 这部主机;
- NAT 这部主机的内部接口 (192.168.1.2) 接收到这个封包后,会主动分析表头数据, 因为表头数据显示目的并非 Linux 本机,所以开始经过路由, 将此封包转到可以连接到 Internet 的 Public IP 处;
- 由于 private IP 与 public IP 不能互通,所以 Linux 主机透过iptables 的 NAT table 内的 Postrouting 链将封包表头的来源伪装成为 Linux 的 Public IP ,并且将两个不同来源 (192.168.1.100 及public IP) 的封包对应写入暂存内存当中, 然后将此封包传送出去了;
- 在 Internet 上面的主机接到这个封包时,会将响应数据传送给那个Public IP 的主机;
- 当 Linux NAT 服务器收到来自 Internet 的回应封包后,会分析该封包的序号,并比对刚刚记录到内存当中的数据, 由于发现该封包为后端主机之前传送出去的,因此在 NAT Prerouting 链中,会将目标 IP 修改成为后端主机,亦即那部 192.168.1.100,然后发现目标已经不是本机(public IP), 所以开始透过路由分析封包流向;
- 封包会传送到 192.168.1.2 这个内部接口,然后再传送到最终目标192.168.1.100 机器上去!
- NAT服务器一定是路由器,而路由器不一定是NAT服务器;
- NAT服务器端口两边分别是public ip 和 private IP,路由器两边通常两边都是public ip 或者两边都是 private ip;
- 外部主机想要连接到目的端的 WWW 服务,则必须要连接到我们的 NAT 服务器上头;
- 我们的 NAT 服务器已经设定好要分析出 port 80 的封包,所以当 NAT 服务器接到这个封包后, 会将目标 IP 由 public IP 改成 192.168.1.210 ,且将该封包相关信息记录下来,等待内部服务器的响应;
- 上述的封包在经过路由后,来到 private 接口处,然后透过内部的 LAN 传送到 192.168.1.210 上头!
- 192.186.1.210 会响应数据给 61.xx.xx.xx ,这个回应当然会传送到192.168.1.2 上头去;
- 经过路由判断后,来到 NAT Postrouting 的链,然后透过刚刚第二步骤的记录,将来源 IP 由 192.168.1.210 改为 public IP后,就可以传送出去了。
NAT协议的更多相关文章
- 图文并茂详解 NAT 协议!
什么是 NAT 协议 我们的计算机要想访问互联网上的信息,就需要一个地址,而且这个地址是大家(其他主机)所认可的,是公共的,这个地址也叫做公有 IP 地址. 与之相对的,除了公有 IP 地址外,还有私 ...
- 计算机网络-网络层(2)NAT协议
网络地址转换(NAT,Network Address Translation)协议: 本地网络内通信的IP数据报的源与目的IP地址均在子网10.0.0.0/24内:所有离开本地网络去往Internet ...
- 网络协议之NAT穿透
NAT IPv4地址只有32位,最多只能提供大致42.9亿个唯一IP地址,当设备越来越多时,IP地址变得越来越稀缺,不能为每个设备都分配一个IP地址.于是,作为NAT规范就出现了.NAT(Networ ...
- NAT(网络地址转换)协议
NAT(Network Address Translator)是网络地址转换,它实现内网的IP地址与公网的地址之间的相互转换,将大量的内网IP地址转换为一个或少量的公网IP地址,减少对公网IP地址的占 ...
- 基于eNSP的NAT/NAPT协议仿真实践
一. 基本原理 eNSP(Enterprise Network Simulation Platform)是一款由华为提供的.可扩展的.图形化 操作的网络仿真工具平台,主要对企业网络路由器.交换机进行软 ...
- 转发 通过NAT和防火墙特性和TCP穿透的测评(翻译)
转自 http://blog.csdn.net/sjin_1314/article/details/18178329 原文:Characterization and Measurement of TC ...
- NAT 网络地址转换
NAT 网络地址转换(Network Address Translation) NAT(Network Address Translation,网络地址转换)是1994年提出的. 属接入广域网(WA ...
- CCNA网络工程师学习进程(3)常规网络设计模型与基本的网络协议
本节介绍分层的网络设计模型与基本的网络协议,包括ARP协议,ICMP协议和IP协议. (1)三层网络架构: 一个好的园区网设计应该是一个分层的设计.一般分为接入层.汇聚层(分布层).核 ...
- VMWare虚拟机提供的桥接、nat和主机模式的区别
虚拟机网络模式 无论是vmware,virtual box,virtual pc等虚拟机软件,一般来说,虚拟机有三种网络模式: 1.桥接 2.NAT 3.Host-Only 哪一种网络是适合自己的虚拟 ...
随机推荐
- GO RPC
HTTP RPC SERVER CODE package main import ( "errors" "fmt" "net/http" & ...
- C++学习笔记16:Linux系统编程基础1
参数列表 Linux命令行规范 短参数:以单横开头,后跟单一字符,例如:ls -h 长参数:以双横开头,后跟字符串,例如:ls --help 程序访问参数列表的方法: 主函数的参数argc和argv ...
- 移动互联网实战--wifi定位和架构
前言: 非常幸运, 接触过一个与定位服务有些关联的项目. 虽不清楚定位服务内部的实现机制, 但对定位的几种方式也有较清晰的了解. 定位不在局限于GPS, 基站这种需要硬件支持的, 基于wifi的方式更 ...
- Java问题总结
1.如何查看使用java的版本 cmd-->java -version 2.如何下载jdk,sdk Java.JDK(工具包)的安装_百度经验http://jingyan.baidu.com/a ...
- HTML5实战与剖析之触摸事件(touchstart、touchmove和touchend)
HTML5中新添加了很多事件,但是由于他们的兼容问题不是很理想,应用实战性不是太强,所以在这里基本省略,咱们只分享应用广泛兼容不错的事件,日后随着兼容情况提升以后再陆续添加分享.今天为大家介绍的事件主 ...
- list control失去焦点后,仍然蓝色高亮度显示
void CReaProSet::OnNMKillfocusReaprolist(NMHDR *pNMHDR, LRESULT *pResult)//指示控件已经失去焦点 { // TODO: 在此 ...
- nginx配置rewrite
1. uri 和 url读取区别 区别就是URI定义资源,而URL不单定义这个资源,还定义了如何找到这个资源. 比如说,一个服务器上,到一个文件夹/网页的绝对地址(absolute path)就是U ...
- eclipse导入github项目
以jeesite为例, github上面的项目大都是基于git方式进行版本控制以及使用maven构建的项目. 1 使用时,需先用eclipse的以git方式从github上下载代码. 下载后得到mav ...
- javascript 刷新当前页面
编辑器加载中... 1. window.location.replace(window.location.href)
- JAVA_Java常用核心包(概念)
20150802 Created By BaoXinjian