NAT学习笔记
NAT介绍
NAT, 全称网络地址转换(Network Address Translation),是一种在IP封包通过路由器或防火墙时重写来源IP地址或目的IP地址的技术。
NAT的分类及介绍

NAT设备中最重要的是映射表了,映射表结构:

其中
外部协议:NAT设备的外部网络分配给该设备的IP地址
外部端口:NAT设备为这次连接从设备的端口池中分配的端口号
内部地址:NAT设备内部网络设备如PC,智能手机的局域网IP地址
内部端口:NAT设备内部网络中的设备发出网络消息时用的端口号
目的地址:希望接受到消息的设备的IP地址
目的端口:希望接受到消息的设备的端口号
NAT的主要作用
当有内部消息通过NAT设备发送到外部设备时,NAT设备会更改消息中的源IP地址和源端口为NAT设备自己的IP地址和端口号,并记录下这次映射操作到映射表中,这样就让目的设备以为是NAT设备发出的这个消息
当目标设备回复消息给NAT设备是,NAT会查找映射表中是否有匹配的记录,如果没有匹配到就丢弃消息,如果匹配到了就将消息的目标地址和目标端口号改成映射表中的内部地址和内部端口号,并将消息发给内部设备
这样就完成了请求和回复消息的通信工作, NAT设备在这一个过程中充当网络掩蔽或者IP掩蔽的作用,使外部设备并不知道内部设备的存在,只能直接和NAT设备通信,所有的通信都需要通过NAT设备的处理.
参考信息:
http://cgs1999.iteye.com/blog/1994072
https://zh.wikipedia.org/wiki/%E7%BD%91%E7%BB%9C%E5%9C%B0%E5%9D%80%E8%BD%AC%E6%8D%A2
http://www.h3c.com.cn/Service/Channel_Service/Operational_Service/ICG_Technology/201001/662399_30005_0.htm
http://www.h3c.com.cn/MiniSite/Technology_Circle/Net_Reptile/The_Five/Home/Catalog/201206/747042_97665_0.htm
NAT学习笔记的更多相关文章
- Juniper SRX防火墙-NAT学习笔记!
Junos NAT第一部分:SRX NAT介绍第二部分:Source NAT:Interface NAT第三部分:Source NAT:Address Pools第四部分:Destination NA ...
- Hadoop学习笔记—22.Hadoop2.x环境搭建与配置
自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...
- Hadoop学习笔记(3)——分布式环境搭建
Hadoop学习笔记(3) ——分布式环境搭建 前面,我们已经在单机上把Hadoop运行起来了,但我们知道Hadoop支持分布式的,而它的优点就是在分布上突出的,所以我们得搭个环境模拟一下. 在这里, ...
- Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]
Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...
- 兄弟连Linux运维学习笔记
最新经典linux运维兄弟连Linux运维学习笔记... --------------- 全程1.5倍播放.加油我一定可以学完Linux----------------------Unix与Linux ...
- 鸟哥Linux私房菜基础学习篇学习笔记1
鸟哥Linux私房菜基础学习篇学习笔记1 第三章 主导分区(MBR),当系统在开机的时候会主动去读取这个区块的内容,必须对硬盘进行分区,这样硬盘才能被有效地使用. 所谓的分区只是针对64Bytes的分 ...
- IP地址和子网划分学习笔记之《IP地址详解》
2018-05-03 18:47:37 在学习IP地址和子网划分前,必须对进制计数有一定了解,尤其是二进制和十进制之间的相互转换,对于我们掌握IP地址和子网的划分非常有帮助,可参看如下目录详文. ...
- 负载均衡(Load Balancing)学习笔记(二)
概述 文章负载均衡(Load Balancing)学习笔记(一) 讲述了负载均衡的一般性原理,本文继续介绍常见的实现负载均衡的方法. HTTP重定向 HTTP重定向服务器是一台普通的Web服务器,用户 ...
- Docker技术入门与实战 第二版-学习笔记-8-网络功能network-3-容器访问控制和自定义网桥
1)容器访问控制 容器的访问控制,主要通过 Linux 上的 iptables防火墙来进行管理和实现. iptables是 Linux 上默认的防火墙软件,在大部分发行版中都自带. 容器访问外部网络 ...
随机推荐
- sql在添加新列时同时指定default约束名称
alter table tab_testadd col_test NOT NULL CONSTRAINT DFtab_test_col_test DEFAULT 1 引用:http://www.uzz ...
- android 开源项目一览
直接拿来用!最火的Android开源项目(一) http://www.csdn.net/article/2013-05-03/2815127-Android-open-source-projects ...
- Scala控制抽象
private def filesHere = (new java.io.File(".")).listFiles() def filesEnding(query: String) ...
- NeHe OpenGL教程 第三课:颜色渲染
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- php之form表单
<!DOCTYPE HTML> <html> <head> <title>form</title> <style type=" ...
- maven命令行跳过test
mvn跳过测试的两种方法: -DskipTests -Dmaven.test.skip=true
- PHP解析JSON和XML方法
一.JSON $r = json_decode("json数据"); $result = $r->result; //解析后的数据,以数组形式保存到r里面了,需要通过-> ...
- block作为类的属性时用copy
1. block作为类的属性时用copy Block属性的声明,首先需要用copy修饰符,因为只有copy后的Block才会在堆中,栈中的Block的生命周期是和栈绑定的 <栈 :由系统维护的局 ...
- bootstrap-导航、选项卡
导航: <!-- nav 导航的基础样式 --> <div class="container"> <div class="row" ...
- ruby 使用Struct场景
替代类使用,节省代码,清晰简洁 使用Struct SelectOption = Struct.new(:display, :value) do def to_ary [display, value] ...