NAT简单介绍

NAT本质就是让一群机器公用同一个IP。还有一个重要的用途是保护NAT内的主机不受外界攻击

NAT类型:

1.Full Cone:IPport不受限

Full Cone仅仅做单纯的地址转换,不正确进出的包做限定。

2.Restricted Cone:IP受限,port不受限

Restricted Cone NAT会对进出的包稍加限制。从内部送发出的包的目的IP会被记住。

仅仅有这些以前收过包的地址能够发送包进入NAT。其他地址发送的包都会被限制。

3.Restricted Port Cone:IP,port均受限

Restricted Port Cone NAT相对于Restricted Cone NAT添加了port这层限制。

4.Symmetric NAT:portIP均受限,且对每一个外部主机或port的会话都会映射为不同的port(洞)

Symmetric NAT是4种中最为严谨的。前3种做地址转换时,不管包送往何处,NAT内部同一个内部地址都相应到同一个外部地址。而Symmetric NAT则每个内部地址相应到不同的外部地址。Symmetric NAT仅仅同意先由私有网络内的使用者发送包到的外部地址能够回传封包。

时间: 2024-12-29 16:44:35

NAT简单介绍的相关文章

LVS简单介绍

  简单介绍 lvs(Linux virtual server)是由章文嵩博士主导开发的工作在四层(传输层)的负载均衡软件. 3种负载方式 1.Virtual Server via Network Address Translation(VS/NAT) 通过网络地址转换,调度器重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器:真实服务器的响应报文通过调度器时,报文的源地址被重写,再返回给客户,完成整个负载调度过程. 2.Virtual Server via IP Tunn

VBox虚拟机与主机(宿主)通讯原理以及socat(套接字猫)简单介绍

前言 尝试虚拟机使用socat建立服务器端接口转发时,发现对虚拟机接入网络原理不是非常了解,于是乎上网查找资料想搞明白是怎么回事,于是乎有了这篇总结博文.socat可以在服务器端口间建立全双工通信通道,可以用于端口数据转发,据说是Linux/Unix系统三大神器之一. 虚拟机虚拟网卡连接模式 1.桥接模式 直接将虚拟网卡桥接在物理网卡上,虚拟机与主机地位对等,相当于局域网新增加了一台机器,虚拟机分配的IP是局域网真实的IP地址,主机与虚拟机以及局域网其它主机与虚拟机可以互相访问 2.仅主机(ho

VOIP 通信 NAT穿越系列专题之NAT基本原理介绍及与VOIP关系

本文是VOIP通信NAT穿越系列专题的第二篇, NAT 是一种在IP分组通过路由器或防火墙时重写源IP地址或/和目的IP地址的技术,这种技术被普遍使用在有多台主机但只通过一个公有IP地址访问因特网的私有网络中.20世纪90年代中期,NAT是作为一种解决IPv4地址短缺以避免保留IP地址困难的方案而流行起来的.家庭和小型办公室的路由器一般都集成了防火墙,DHCP服务器和NAT功能. NAT穿越是广泛用于P2P领域的通信方式.在视频会议过程中,NAT穿越也在内外网消息通信中起到了至关重要的作用,平台

iptables 简单介绍及应用 Linux防火墙

iptables 即 Linux防火墙 的简单介绍及使用 iptables生效位置如下图: 其中, 网络防火墙也可以使用一台启用了iptables的Linux主机代替; 路由器或集线器等设施在拓扑中省略了; 那么上图显示出了iptables在哪里, 下面说一下iptables的工作原理: 我们知道Linux中所有的数据包接收和发送都是在 内核 中完成的, 但是iptables并不是工作在内核中的, 那如何实现防火墙的功能? iptables工作在用户空间, 并向工作在内核中的netfilter定

python的列表,元组和字典简单介绍

引 入 java                                   python 存取多个值:数组或list集合 ------------------------> 列表,元组 key-value格式:    Map        ------------------------>    字典 自己学习发现,java跟python这两门面向对象语言在数据类型的定义上,很多思想都是互通的,这里不说java,简单介绍一下python的列表,元组和字典. 一.列表 List: 最通

javascript的return语句简单介绍

javascript的return语句简单介绍:return语句在js中非常的重要,不仅仅具有返回函数值的功能,还具有一些特殊的用法,有个清晰的把握是非常有必要的.下面就结合实例简单介绍一下return语句的作用.一.用来返回控制和函数结果:通常情况,return语句对于一个函数是很有必要的,因为往往需要函数在一系列的代码执行后会得到一个期望的返回值,而此值就是通过return语句返回,并且将控制权返回给主调函数.语法格式: return 表达式 代码实例如下: function add(){

Object-c集合的简单介绍

一.简单介绍 NSArray/NSMutableArray NSSet/NSMutableSet NSDictionary/NSMutableDictionary NSArray.NSSet.NSDictionary是不可变的,创建的时候初始化 NSMutableArray.NSMutableSet.NSMutableDictionary是可变的 二.使用介绍 NSArray是有序的数组 NSMutableArray *myArray=[[NSMutableArray alloc] init];

plsql的环境与介绍:环境的搭建和plsql的简单介绍

PLSQL编程 1.环境的搭建 (1)创建一个存储表空间 SQL> conn /as sysdbaConnected. SQL> create tablespace plsql datafile '/u01/oracle/oradata/ORCL/plsql01.dbf' size 1G; Tablespace created. (2)创建PLSQL用户SQL> create user plsql identified by plsql default tablespace plsql;

CSS之box-sizing的用处简单介绍

前几天才发现有 box-sizing 这么个样式属性,研究了一番感觉很有意思, 通过指定容器的盒子模型类型,达到不同的展示效果 例如:当一个容器宽度定义为 width:100%;  之后,如果再增加 padding 或者 border 则会溢出父容器,是向外扩张的 如果使用该样式,指定为 box-sizing: border-box; 则 padding 和 border 就不会再溢出,而是向内收缩的,这个效果感觉非常实用, 特别是 input 和 textarea 等 现在设置 100% 再直