最早接触NAT是在做网络工程师的时候,NAT是做网络工程师必需会的知识点和技能,后来在面试运维的时候也经常被用到,在运维的某些知识点当中也会被引用到,如LVS当中。

为什么需要NAT(网络地址转换)?因为IPV4时代公网IP地址缺,所以公司内部通常用的就是私网地址,公司内网的数据想要在互联网上传播就要将私网的地址转换为公网的地址,NAT技术就要用来做这个事情的,所谓的转换其实就将私网地址替换成公网地址,就是这么简单。

网络地址转换分为源地址转换和目的地址转换。源地址转换就是将源地址转换一下,如何转换呢?就是将私网的源IP替换成公网接口的IP,替换的时候会有替换对应的记录,在路由器会体现为一张表。那为什么会用到这张表呢?内网有很多电脑,都使用一个公网IP地址向公网发送数据包,那么当数据包回来的时候路由器怎么知道要将回包发送给哪一个私网电脑,所以路由器在进行源地址转换的时候就需要生成一张对应表,这张对应表的作用就是当数据包回来的时候,路由器可以根据这张表知道将数据转发给哪一个私网电脑。以上就是源NAT转换的基本原理,源NAT转换的根本目的是节省IPV4的公网地址。

此外还有一个目的地址转换,那么目的地址转换用在什么地方呢?目的地址转换用在内网DMZ区有服务器使用私网地址将服务发布到公网的场景中,客户端访问公网IP时,路由器就将公网IP替换成私网IP转换给私网DMZ区的服务器。

那么NAT地址用在什么地方呢?之前都是用在路由器上,但现在中低端的的路由器和防火墙逐渐有了整合的趋势,所以NAT也常见部署于网络出口防火墙上。

此外LVS里面的模式也有用到LVS的,原理差不多, 这里就不仔细说了。

如果笔试的时候如果问到这个问题,让我们阐述NAT的原理?如何用最简单、直白的方式说明呢?不能长篇大论吧,写的多了即影响美观又浪费时间,最好的方式就是画图了,所以我们去面试的时候最好是带着文具盒去,准备铅笔和橡皮,最好准备几张白纸,机会总是留给有准备的人。

NAT网络地址转换的原理--笔试答题版的更多相关文章

  1. [译] NAT - 网络地址转换(2016)

    [译] NAT - 网络地址转换(2016) Published at 2019-02-17 | Last Update 译者序 本文翻译自 2016 年的一篇英文博客 NAT - Network A ...

  2. NAT 网络地址转换

    NAT  网络地址转换(Network Address Translation) NAT(Network Address Translation,网络地址转换)是1994年提出的. 属接入广域网(WA ...

  3. CCNA学习 NAT网络地址转换

    CCNA基础 NAT网络地址转换 在计算机网络中,网络地址转换(Network Address Translation,缩写为NAT),也叫做网络掩蔽或者IP掩蔽(IP masquerading),是 ...

  4. NAT网络地址转换模拟过程

    原理图,如图1 图1 以下为配置NAT网络地址转换的实验: eNSP模拟图,如图2 图2 Step1.给路由器的每个接口赋予一个地址,如图3,图4 图3 图4 AR1和AR2中添加路由表项,如图5,图 ...

  5. iptables做nat网络地址转换

    iptables做nat网络地址转换. 0. 权威文档 http://www.netfilter.org/documentation/HOWTO/NAT-HOWTO-6.html e文好的直接跳过本文 ...

  6. NAT网络地址转换技术

    NAT网络地址转换技术 目录 一.NAT概述 1.1.概述 1.2.NAT 的应用场景 二.NAT的类型及配置命令 2.1.静态NAT 2.2.动态NAT 2.3.Easy IP 2.4.NATP 2 ...

  7. NAT—网络地址转换

    参考链接:http://www.qingsword.com/qing/745.html 视频链接: 一.什么是NAT? NAT --- Network Address Translation  也就是 ...

  8. firewalld 防火墙 nat 网络地址转换

    目的:实现以下效果 一. 准备环境 @1 三台虚拟机 @2  client 端 ip  192.168.1.2      server端   两块网卡 , ip 分别是 192.168.1.1   和 ...

  9. Nat网络地址转换

    Nat中的术语 -------------------------------------------------------------------------------------------- ...

随机推荐

  1. MySQL 行格式

    以 MySQL 默认的存储引擎 InnoDB 为例 InnoDB 包含以下四种行格式 Compact Redundant Dynamic Compressed 指定行格式 CREATE TABLE 表 ...

  2. centos7 解决docker0: iptables: No chain/target/match by that name

    解决步骤: 1.查看iptables状态,查看是否正常docker需要依赖该服务 service iptables status 注:我都服务就发现iptables服务的有问题 2.查看iptable ...

  3. 02Shell变量

    Shell变量 什么是 shell 变量 shell变量就是 用一个固定的字符串去表示不固定的内容 变量的类型 自定义变量 定义变量 变量名=变量值 (显式赋值) 变量名必须以字母或下划线开头,区分大 ...

  4. 2019.11.21 做OJ题的反思

    1.利用二分法查找数组元素(适用于有序数组) #include<stdio.h> int BinarySearch(int a[],int n,int key); ]; int main( ...

  5. 【模板】gcd和exgcd

    1. gcd: int gcd(int a,int b) { return !b?a:gcd(b,a%b); } exgcd: int exgcd(int a,int b,int& x,int ...

  6. RabbitMQ如何保证消息99.99%被发送成功?

    1. 本篇概要 RabbitMQ针对这个问题,提供了以下几个机制来解决: 生产者确认 持久化 手动Ack 本篇博客我们先讲解下生产者确认机制,剩余的机制后续单独写博客进行讲解. 2. 生产者确认 要想 ...

  7. sql server中的临时表、表变量和公用表表达式

    在编写T-SQL语句的时候,SQL Server提供了三种方法临时存储某些结果集,分别是临时表.表变量和公用表表达式. 临时表 临时表需要在临时数据库TempDB中通过I/O操作来创建表结构,一旦用户 ...

  8. k8s修改pod的hosts文件

    1.在1.7版本后使用HostAliases修改pod的hosts文件.该文件由kubelet管理 在deployment的yaml文件中添加在pod template 的spec里面即可: apiV ...

  9. MySQL for OPS 03:索引和执行计划

    写在前面的话 啥是索引?以一本书为例,如果想要找到某一指定章节的某一小节,书薄还好,如果书厚,可能就会找的头皮发麻.于是便出现了目录,让用户更容易查找到自己所需要的东西.索引就类似一张表的目录.其存在 ...

  10. c# 调用接口返回json

    需要命名空间 using System.Net; using System.Net.Security using System.Security.Cryptography.X509Certificat ...