1、NAT

NAT是Net Address Translation 的缩写,从名字也可以看出,它是负责网络地址转换的一个协议。通俗的说,它负责把私网内的的IP和端口转换成公网的IP和端口,也即使我们通常所说的IP地址影射。例如:公司内一般有一个私网,假设为10.1.1.1网段。公司通过一个公网服务器(机器A)接入Internet,此服务器内网IP为10.1.1.1,外网为220.220.1.6。私网内的机器B 10.1.1.102打开自己的88端口想连接公网的一台WEB服务器C,假设IP为:204.56.43.8,端口为80。过程如下:

step1: B (10.1.1.102:88->204.56.43.8:80)将数据包发送给网关A (10.1.1.1)

step2: A   将(10.1.1.102:88)数据包的地址更换为服务器外网IP,并分配一个的端口(如何分配端口方法是不同的,以后会详细的说),假设为200,数据包也就变成了(220.220.1.6:200->204.56.43.8:80),服务器A将数据发送出去

step3: C 将响应数据发送给网络服务器 A (204.56.43.8:80->220.220.1.6:200)

step4:  A将C返回的响应数据报的IP地址的目的IP和端口做如下修改:(204.56.43.8:80-> 10.1.1.102:88)然后把数据发送出去

step5:  B接收到C的响应数据。

这个过程实际上也是NAT的工作过程,在B角度,B完全感受不到自己是在内网,它似乎有在公网一样的权利,这也就是NAT的优点所在:用同一个IP实现多个用户的Internet接入。

2、防火墙

刚读大学,第一次装防火墙软家的时候觉得这东西真***神秘,咋做的呢,呵呵。

防火墙是通过管理网络端口的方法来拒绝和允许网络连接,这些拒绝或允许的原则由firewall的设计者来指定,并没有统一的标准,但防火墙大多都遵循以下几个原则:

(1)允许内部向外部发送数据包

(2)拒绝一切外部向内部的主动连接

(3)允许本地发起的,符合firewall规则的外部数据包穿过firewall

在第三条中,firewall的规则通常有以下两种:1、返回的数据包的源IP必须是内部发起的目的IP。2、返回的数据包的源IP必须是内部发起的目的IP并且返回的数据包的源端口必须是内部发起的目的端口。

3、防火墙和NAT

很多人把防火墙的概念混为一谈,其实NAT就是NAT,它负责IP地址影射。防火墙就是防火墙,它负责数据包的过滤。但为什么会有N多人分不清楚呢?原因很简单,是因为NAT的功能有了变化。为什么要变换呢?是因为NAT碰到了问题。为什么NAT会碰到问题呢?是因为#·#—……#¥。

还是通过上面NAT的来说。假设C向B发送数据的过程中,C的另外一个端口100,也想向B发送数据包,那么当这个包到达A的时候A如何处理呢?过还是不过呢?如果过了,那么从另外一个IP到达A的数据包是否也允许过呢?显然在网络安全日益受到威胁的今天,让这些包通过是危险的。所以NAT决定不让这些包通过,也就是说NAT有了包过滤功能。于是:

firewall:NAT,包过滤是我的事情,你多管什么闲事?(有没有核武器是我的事,你管得着吗?)

NAT:让这些包通过不安全,所以我必须过滤这些数据包(伊朗有核武器,是个威胁,我必须干掉它)。

firewall:那你是NAT啊你还是防火墙?(那你的主权,人权和和平自由呢?)

NAT:(咬牙状)我是有部分防火墙功能的NAT,你咋地?(我想干啥干啥,你管得找吗?)

firewall:.......(什么东西啊,整个一个杂种,还美呢)

(其实,从概念上将,并不能这么说,但是便于理解,也没有什么深究的必要,就这么着吧)

4、NAT分类

NAT根据原理可以分成两类:锥型NAT和对称NAT

(1)锥型NAT。还用上面的例子来说,在锥型NAT中,B的同一个端口去连世界上任何一台人类计算机的任何端口(日本除外),它在服务器A中得到的外部影射端口都是同一个。也就是说,在服务器A,它只有一个出口,假设为5060,而目的地却有很多,如果服务器的端口是一个平面,而所有计算机的端口在另外一个平面上的一个圆环之内,并且这两个面是平行的,那么将这些连写用线连起来,就构成了一个圆锥。这也就是cone的由来:锥。

还记得刚才我们说的带防火墙功能的NAT,把防火墙功能加到cone类型的NAT中,就产生了三种不同的NAT:

1。不对包进行过滤,任何包都可以通过服务器A的5060端口到达B full cone

2。只要IP符合规则就可以到达B restrict cone

3。IP和端口都要符合规才能到达B port restrict cone

(说明:关于restrict cone,port restrict cone以前有位专家级别的人物说我弄反了,我也懒得去查,因为我有自己的理解,我觉得如果我理解错了,那么这个命名就有问题。)

(2)对称NAT

在对称NAT中,当B的同一个端口访问外部的IPC的不同端口的时候,A机器都会打开一个不同的外部端口来连接这C的不同端口。从C机器的端口来说,每一个端口在机器A中都有一个端口与之对应,这也就是对称NAT名称的由来:对称。

对称NAT是很霸道的NAT,当数据包到达A的时候,必须IP和PORT都符合规则,数据包才允许通过。不仔细考虑,你可能觉得没什么,和port restrict cone一样啊,没什么特别,可是,你再和NAT的端口对称联系起来,这个东西就很恐怖了。因为它意味着:一旦一个端口在A打开了,那么这个连接也就确立了B:PORT->A:port->C:port的连接,无论何重情况下,这个连接都不可能被第三者使用。也就是说,一旦A上产生了一个端口,那么第一个知道这个端口的人一定会立刻拥有这个端口的终生使用权,而别人都没办法知道或者使用(除非A或者C告诉别人,但是告诉了也没用,你也使用不了,因为这个连接对别人来说,已经死了)。这也就是STUN对对称NAT无能为力的原因。因为STUN一旦检测到这个端口,那么它就拥有了这个端口的永久使用权,并且没有办法转让(这要是PLMM多好啊,谁发现是谁的,真好!公产主义来了么?天亮了,起床了),而这不是STUN想要的。

以上也就构成了RFC中的四种NAT类型。希望我说的你都理解了(理解了就顶吧,呵呵)。
--------------------- 
作者:wcl0715 
来源:CSDN 
原文:https://blog.csdn.net/wcl0715/article/details/676070 
版权声明:本文为博主原创文章,转载请附上博文链接!

NAT、防火墙的原理区别和分类相关推荐

  1. 信息安全-防火墙技术原理与应用

    一.防火墙概述 1.1 防火墙概念 为了应对网络威胁,联网的机构或公司将自己的网络与公共的不可信任的网络进行隔离 方法:根据网络的安全信任程度和需要保护的对象,人为划分若干安全区域,包括: 公共外部网 ...

  2. rp:防火墙技术原理

    防火墙技术原理 2018年10月16日 11:37:27 石硕页 阅读数 1933 文章标签: 防火墙 更多 分类专栏: 其他 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议, ...

  3. 网络工程师必知:网关与防火墙有什么区别?

    网络安全是通过 Internet.LAN 或其他方法工作时要考虑的最重要方面之一,网关和防火墙都是重要的网络保护设备,能够及时发现和解决计算机网络运行中的潜在安全风险,为用户提供更好.更安全的计算机网 ...

  4. 桥接,NAT,Host Only的区别

    桥接,NAT,Host Only的区别 一.Brigde--桥接 :默认使用VMnet0fish批注:只要在虚拟机中将IP设对,即使宿主机的IP是错的,也可以通信.但是如此物理网卡被禁用了,则不能通信 ...

  5. CSRF跨站点伪造请求攻击之——原理介绍与分类

    原理介绍与分类 目录 原理介绍与分类 CSRF 漏洞简介 CSRF 攻击原理及实例 例如 流程总览 通过以上的攻击原理描述个人总结 CSRF 两个侧重点 CSRF 攻击分类 CSRF 漏洞检测 注意 ...

  6. 关于NAT/NAPT的原理,牢记这几点!

    各位朋友,大家晚上好,今天来给大家讲解一下NAT它解决了什么问题各位朋友,大家晚上好,今天来给大家讲解一下NAT它解决了什么问题还的呢,小老虎相信大家对这个工具应该是再也熟悉不过的了吧,因为咱们现在都 ...

  7. 分类(classification)是认知的基础、分类步骤及主要算法、分类与回归的区别、分类过程

    分类(classification)是认知的基础.分类步骤及主要算法.分类与回归的区别.分类过程 目录

  8. CV之Face Detection:Face Detection人脸检测原理及其常见分类技术

    CV之Face Detection:Face Detection人脸检测原理及其常见分类技术 目录 人脸探测的原理 线性分类器 影像金字塔 滑动窗格 人脸探测的原理 将图片转为HOG图片以后,结合其他 ...

  9. DL:深度学习(神经网络)的简介、基础知识(神经元/感知机、训练策略、预测原理)、算法分类、经典案例应用之详细攻略

    DL:深度学习(神经网络)的简介.基础知识(神经元/感知机.训练策略.预测原理).算法分类.经典案例应用之详细攻略 目录 深度学习(神经网络)的简介 1.深度学习浪潮兴起的三大因素 深度学习(神经网络 ...

最新文章

  1. pandas使用groupby函数进行分组聚合并使用agg函数将每个分组特定变量对应的多个内容组合到一起输出(merging content within a specific column of g
  2. VTK:Picking之HighlightSelectedPoints
  3. html:(27):类和ID选择器的区别和子选择器
  4. 电机的入门之路系列5--二相四线,四相五线,四相六线电机的区分方法
  5. 计算机病毒论文课题内容,计算机病毒防治学论文选题 计算机病毒防治论文题目怎样定...
  6. java jar apktool,apktool下载
  7. Cortex-A 架构
  8. python 7-1 输出星期名缩写 (10分)
  9. 在Visual Studio.NET中更改颜色-黑色与白色
  10. SICTF2023 Osint-wp
  11. SliceM与SliceL
  12. PCIe | 基础知识点扫盲
  13. PIL库 : 居中对齐写入文本(英文 / 中文)
  14. Real-Time Rendering 4th 译文《六 纹理(上)》
  15. redis——从零开始
  16. 【街道可步行性】步行通达性对街区空间活力与交往的影响 | 上海城市规划
  17. 1024分辨率《X战警:第一战》BD中英双字无水印
  18. java作业题exercise1
  19. Java找到1-1000以内所有可以被3整除并可以被7整除的数。
  20. 【应用案例】1200PLC应用:抢答器,音乐喷泉

热门文章

  1. node-gyp 报错
  2. save failed org.eclipse.ui异常
  3. 探测服务器操作系统工具,探测服务器操作系统工具
  4. Asymmetric Non-local Neural Networks
  5. excel 瀵煎叆mysql_瀵煎叆fun-foodPPT课件
  6. STM32MP157驱动开发——RGB转HDMI
  7. 【木头Cocos2d-x 021】一个堆和栈引起的分手事件
  8. bigsur与鸿蒙os,macOS Big Sur支持机型有哪些
  9. [BOI2003]团伙
  10. chrome扩展写法