NAT网络地址转换的原理--笔试答题版
最早接触NAT是在做网络工程师的时候,NAT是做网络工程师必需会的知识点和技能,后来在面试运维的时候也经常被用到,在运维的某些知识点当中也会被引用到,如LVS当中。
为什么需要NAT(网络地址转换)?因为IPV4时代公网IP地址缺,所以公司内部通常用的就是私网地址,公司内网的数据想要在互联网上传播就要将私网的地址转换为公网的地址,NAT技术就要用来做这个事情的,所谓的转换其实就将私网地址替换成公网地址,就是这么简单。
网络地址转换分为源地址转换和目的地址转换。源地址转换就是将源地址转换一下,如何转换呢?就是将私网的源IP替换成公网接口的IP,替换的时候会有替换对应的记录,在路由器会体现为一张表。那为什么会用到这张表呢?内网有很多电脑,都使用一个公网IP地址向公网发送数据包,那么当数据包回来的时候路由器怎么知道要将回包发送给哪一个私网电脑,所以路由器在进行源地址转换的时候就需要生成一张对应表,这张对应表的作用就是当数据包回来的时候,路由器可以根据这张表知道将数据转发给哪一个私网电脑。以上就是源NAT转换的基本原理,源NAT转换的根本目的是节省IPV4的公网地址。
此外还有一个目的地址转换,那么目的地址转换用在什么地方呢?目的地址转换用在内网DMZ区有服务器使用私网地址将服务发布到公网的场景中,客户端访问公网IP时,路由器就将公网IP替换成私网IP转换给私网DMZ区的服务器。
那么NAT地址用在什么地方呢?之前都是用在路由器上,但现在中低端的的路由器和防火墙逐渐有了整合的趋势,所以NAT也常见部署于网络出口防火墙上。
此外LVS里面的模式也有用到LVS的,原理差不多, 这里就不仔细说了。
如果笔试的时候如果问到这个问题,让我们阐述NAT的原理?如何用最简单、直白的方式说明呢?不能长篇大论吧,写的多了即影响美观又浪费时间,最好的方式就是画图了,所以我们去面试的时候最好是带着文具盒去,准备铅笔和橡皮,最好准备几张白纸,机会总是留给有准备的人。
NAT网络地址转换的原理--笔试答题版的更多相关文章
- [译] NAT - 网络地址转换(2016)
[译] NAT - 网络地址转换(2016) Published at 2019-02-17 | Last Update 译者序 本文翻译自 2016 年的一篇英文博客 NAT - Network A ...
- NAT 网络地址转换
NAT 网络地址转换(Network Address Translation) NAT(Network Address Translation,网络地址转换)是1994年提出的. 属接入广域网(WA ...
- CCNA学习 NAT网络地址转换
CCNA基础 NAT网络地址转换 在计算机网络中,网络地址转换(Network Address Translation,缩写为NAT),也叫做网络掩蔽或者IP掩蔽(IP masquerading),是 ...
- NAT网络地址转换模拟过程
原理图,如图1 图1 以下为配置NAT网络地址转换的实验: eNSP模拟图,如图2 图2 Step1.给路由器的每个接口赋予一个地址,如图3,图4 图3 图4 AR1和AR2中添加路由表项,如图5,图 ...
- iptables做nat网络地址转换
iptables做nat网络地址转换. 0. 权威文档 http://www.netfilter.org/documentation/HOWTO/NAT-HOWTO-6.html e文好的直接跳过本文 ...
- NAT网络地址转换技术
NAT网络地址转换技术 目录 一.NAT概述 1.1.概述 1.2.NAT 的应用场景 二.NAT的类型及配置命令 2.1.静态NAT 2.2.动态NAT 2.3.Easy IP 2.4.NATP 2 ...
- NAT—网络地址转换
参考链接:http://www.qingsword.com/qing/745.html 视频链接: 一.什么是NAT? NAT --- Network Address Translation 也就是 ...
- firewalld 防火墙 nat 网络地址转换
目的:实现以下效果 一. 准备环境 @1 三台虚拟机 @2 client 端 ip 192.168.1.2 server端 两块网卡 , ip 分别是 192.168.1.1 和 ...
- Nat网络地址转换
Nat中的术语 -------------------------------------------------------------------------------------------- ...
随机推荐
- day59_9_25中间键与登录认证
一.django中间件简介. 在django中,有这样的生命周期: 中间件就是处于wsgiref和urls模块中间,可以拦截所有的请求,其中有7个默认中间件: MIDDLEWARE = [ 'djan ...
- day54_9_18视图层某内部原理(fbv和cbv)与模板层
一.render内部原理. 在render中往往需要返回三个参数,request,模板和一些键值对. 键值对中存储的是需要对模板渲染的值. 如果手动实现可以如下: from django.templa ...
- Linux下怎么启动、停止和重启MySQL
一.启动方式 使用linux命令service 启动:service mysqld start 使用 mysqld 脚本启动:/etc/inint.d/mysqld start 使用 safe_mys ...
- IntelliJ IDEA 创建动态的JavaWeb工程(五)
1. 创建动态的web项目 如果创建项目后没有自动创建web文件夹,即没有自动创建 web.xml 及 index.jsp 文件,还可以通过IDEA编辑器中的File -- Project Struc ...
- 读取指定页面中的超链接-Python 3.7
#!/usr/bin/env python#coding: utf-8from bs4 import BeautifulSoupimport urllibimport urllib.requestim ...
- Ubuntu 16.04上源码编译和安装pytorch教程,并编写C++ Demo CMakeLists.txt | tutorial to compile and use pytorch on ubuntu 16.04
本文首发于个人博客https://kezunlin.me/post/54e7a3d8/,欢迎阅读最新内容! tutorial to compile and use pytorch on ubuntu ...
- Prometheus 监控K8S Node监控
Prometheus 监控K8S Node监控 Prometheus社区提供的NodeExporter项目可以对主机的关键度量指标进行监控,通过Kubernetes的DeamonSet可以在各个主机节 ...
- DAX 第四篇:CALCULATE详解
CALCULATE()函数是DAX中最复杂的函数,用于计算由指定过滤器修改的上下文中的表达式. CALCULATE(<expression>,<filter1>,<fil ...
- F#周报2019年第22期
新闻 2019年实用F#挑战结果 FSharp.Formatting正在确定维护者 实用F#挑战的赢家们 使用F#在分布式系统中进行故障检测与共识 F#里的Cloudflare Worker Juni ...
- .NET Core on K8S快速入门课程--学习笔记
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 目录 01-介绍K8s是什么 02-为什么要学习k8s 03-如何学习k8s ...