5.4.2 网络地址转换NAT

news2024/11/26 9:44:54

5.4.2 网络地址转换NAT

我们知道为了缓解IPv4地址紧缺的问题,相继出现了一系列缓解地址耗尽的解决方案,比如通过子网划分(5.2.8 子网编址)实现网络地址在多个物理网络之间的复用,通过无分类编址(5.2.9 无分类编址和CIDR)消除了地址类别,按照网络规模、按照实际需要分配地址块,通过专用网络内部使用本地地址(5.4.1 虚拟专用网VPN)从而节约地址空间,这里我们就需要思考一个问题如果一个内部网络采用本地地址,是如何与外网进行通信呢?

如图

NAT

我们在5.4.1 虚拟专用网VPN中知道两个部门网络之间的通信是可以利用隧道传输来实现的,但是如果说部门A网络的主机X,要访问因特网上的百度服务器,又会是什么情形?这是我们面临新的问题。当然,从X到服务器的传输当然没有问题,因为目的地址是百度服务器的IP地址,属于全球地址,但是反过来呢?也就是百度服务器在返回数据报时却遇到问题了,由于数据报的目的地址属于私有地址,是无法通过因特网进行传输的,那么我们是如何解决呢?请注意,在内部网络A与因特网相连接的路由器R1上必须要分配一个合法的全球IP地址,图中所示的是218.2.216.24,否则的话内外网之间是无法互联互通的。我们就可以利用这个全球地址,为内网内的所有主机进行服务,通过在路由器R1上安装NAT软件来实现地址的转换。

一、网络地址转换NAT

网络地址转换NAT(Network Address Translation),装有NAT软件的路由器被称为NAT路由器,它至少会有一个全球的IP地址,所有使用本地地址的主机在和外界通信的时候都要在NAT路由器上将它的本地地址转换成全球地址才能和因特网连接。

  • 网络地址转换NAT方法于1994年提出,用来解决本地编址的内部网络与外网通信的问题。
  • 需要在专用网连接到因特网的路由器上安装NAT软件,装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球地址IP。
  • 所有使用本地地址的主机与外界通信时都要在NAT路由器上将其本地地址转换成全球地址才能和因特网连接。

二、NAT实现地址转换工作原理

如图

发送

为了便于理解,我把网络连接图简化如上图所示,左边是一台内部网络的主机,分配了本地地址10.10.138.174,它想要访问百度的服务器www.baidu.com,服务器地址是115.239.211.110。显然由内网主机产生的请求报文先到达安装NAT软件的路由器,然后在通过互联网传送到达百度的服务器,这里我们就来说明一下内部主机产生的数据报在传输的过程中地址是如何发生变化的,源端发出的IP数据报携带的源IP地址10.10.138.174,目的地址115.239.211.110,该数据报传送到达NAT路由器后,运行在路由器上的NAT软件会将原始的内部地址替换成NAT路由器配置的全球IP地址218.2.216.24,并将替换前后的这对地址以及外网主机地址记录在映射表中,映射表包括三项信息分别是专用地址、NAT全球地址、外部地址经过地址转换后请求报文,就能够经过因特网传送给外部的服务器。

服务器返回数据如图

返回

服务器接收并且解析请求报文以后产生应答报文,在应答报文的首部中源IP地址填写的是115.239.211.110,目的IP地址填写的是218.2.216.24,应答报文传输到NAT路由器,NAT软件将根据目标地址以及服务器地址在映射表里去查找对应的内部IP地址10.10.138.174,对目的地址进行替换,也就是把全球地址218.2.216.24替换成10.10.138.174,然后就可以完成数据报的交付。

从转换过程看,地址转换发生在两个方向上。从内网到外网在源地址字段中将私有的地址转换成全球的地址,从外网到内网传输的时候将目的IP地址从全球的地址再转换成私有地址,虽然说转换的思想是很容易理解,当然这里地址的转换很受限制,也就是说如果NAT路由器仅仅配置一个合法的全球地址,内网内将不允许两台或者多台主机同时访问百度服务器,当然在网络运行过程中这种是很不现实的。因此我们仅仅进行IP地址转换是不够的。实际的NAT软件还需要借助于传输层的地址转换,传输层的地址转换我们后面再聊,**这里我们只需要知道传输层地址叫做端口号。**用来代表发送或者接收数据的应用进程的标识。下面我们就来看一下引入了端口转换过以后NAT软件是如何来工作的。

如图

端口发送

同样源端主机产生请求报文,携带的源和目的地址与前面一样,标识客户进程的源端口号是21043,目的服务器端口号是80,请求分组到达了NAT路由器后在源IP地址中更换为全球地址218.2.216.224同时源端口号也发生了变化(这里要注意),由原来的21043变成了14013,这两对地址的对应关系连同目的端口号和协议号也被记录在了映射表中,由于引入了端口号的转换,此时的映射表与前面的映射表就不同了,除了专用地址和NAT全球地址外部地址之外又增加了内部端口、NAT端口、外部端口、协议四个字段。

服务器接收返回数据如图

端口返回

服务器接收并且解析请求分组以后返回了一个应答分组,其中源IP地址115.239.211.110目的IP地址218.2.216.24,源端口号80,目的端口号1403,应答分组到达了NAT服务器,NAT软件同样根据两对地址信息去查找映射表,找到匹配表项之后并且对目的IP地址和目的端口号完成相应的替换工作也就是用内部的端口去替换NAT端口,用内网地址替换路由器的全球地址,经过地址转换过之后,更改过的数据报就能够顺利的传输到达目的主机。

通过这几个示例我们对NAT的工作原理有了基本的认识,这里大家一起来讨论一下如果NAT路由器仅仅配置一个全球IP地址,内网的两台主机可以同时ping外网的同一台主机么?我们可以用NAT地址转换的过程进行分析,欢迎大家评论区参与讨论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/665845.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

纳斯达克大屏宣传品牌的价值何在?媒介易解析背后的优势!

在当今竞争激烈的商业环境中,企业需要不断寻找创新的方式来宣传和推广品牌。而纳斯达克大屏作为全球最具规模和影响力的数字广告媒体之一,其庞大的电子屏幕成为企业宣传品牌和增加曝光度的理想平台。为什么企业选择在纳斯达克大屏宣传品牌?一…

SpringBoot中接收POST参数的几种方式

今天在做一个vue前后端分离项目的过程中,踩了一个坑,记录一下 前端如下: 用户名字段:username 密码字段:password 提交后,发现后端怎么也收不到参数,总结如下: 常见的接收post参…

【云计算 | Azure】微软 Azure 基础解析(九)Azure 标识、身份管理、Azure AD 的功能与用途

本系列博文还在更新中,收录在专栏:「Azure探秘:构建云计算世界」 专栏中。 本系列文章列表如下: 【Azure】微软 Azure 基础解析(三)云计算运营中的 CapEx 与 OpEx,如何区分 CapEx 与 OpEx 【A…

12. WebGPU 矩阵数学

在最近的 3 篇文章中,介绍了如何平移、旋转和缩放顶点位置。平移、旋转和缩放都被认为是一种变换。这些变换中的每一个都需要对着色器进行修改,并且 3 个转换中的每一个都依赖于顺序。 在之前的示例中,先缩放,然后旋转&#xff0…

第十章 STM32+ESP8266接入机智云 实现小型IOT智能家居项目

前言 最近有不少小伙伴私信留言,想要我推出一章能够通过APP进行远程控制并获取传感器信息的实验教程。说实话在嵌入式毕设里边,这算是中等偏上水平的了。刚好我也有兴趣写写。全篇4700多字,我写的很详细,按着文章一步一步操作即可…

arm64架构的linux中断分析(二)

文章目录 3. GICv3中断控制器3.1 GICv3中断控制器设备树3.2 GICv3中断控制器驱动 3. GICv3中断控制器 gic在soc中的位置如下: GICv3(Generic Interrupt Controller Version 3)是一种基于ARM Cortex-A架构的中断控制器,它提供了…

联邦元学习综述

联邦元学习综述 张传尧1,2, 司世景1, 王健宗1,肖京1 1 平安科技(深圳)有限公司,广东 深圳 518063 2 中国科学技术大学,安徽 合肥 230026 摘要:随着移动设备的普及,海量的数据在不断产生。数据隐…

express的使用(六) 中间件的理解

原文链接 express的使用(六) 中间件的理解") 不要脸的求关注,希望能让大家批评我的不足点,方便学习,一键三连最好不过了~另外,乌鸦玩心之钢是真的爽! 看前提示 本篇主要讲的是关于express中间件的一些基础概念…

商品支付金额篡改测试-业务安全测试实操(16)

商品支付金额篡改测试,商品订购数量篡改测试 商品支付金额篡改测试 测试原理和方法 电商类网站在业务流程整个环节,需要对业务数据的完整性和一致性进行保护,特别是确保在用户客户端与服务、业务系统接口之间的数据传输的一致性,通常在订购类交易流程中,容易出现服务器端未…

如何在纺织服装行业运用IPD?

纺织服装行业是我国的传统支柱产业,对促进国民经济发展、解决就业、增加国民收入、促进社会和谐发展等方面具有十分重要的意义。纺织服装行业属于劳动密集型产业,产业链上下游关联度较大。产业链上游原材料主要包括棉花、麻、蚕茧丝等天然纤维以及人造纤…

艾默生CE4001S2T2B4控制模块

​ 艾默生CE4001S2T2B4控制模块 艾默生CE4001S2T2B4控制模块 集散控制系统简称dcs,也可直译为“分散控制系统”或“分布式计算机控制系统”。它采用控制分散、操作和管理集中的基本设计思想,采用多层分级、合作自治的结构形式。其主要特征是它的集中管理…

spring boot 校运会赛事管理系统-计算机毕设 附源码87890

spring boot校运会赛事管理系统 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运…

TC8:ICMPv4_TYPE_18-22

ICMPv4_TYPE_18: Send ICMP Destination Unreachable for unknown protocol 目的 主机收到IP Header中协议字段不支持的IP数据包时,回复ICMP目的不可达报文(未知协议) 协议不可达报文的Type为3,Code为2 测试步骤 Tester:发送一条IP报文,其中协议字段值为无效值DUT:发送…

MySQL数据库基础 14

第十四章 视图 1. 常见的数据库对象2. 视图概述2.1 为什么使用视图?2.2 视图的理解 3. 创建视图3.1 创建单表视图3.2 创建多表联合视图3.3 基于视图创建视图 4. 查看视图5. 更新视图的数据5.1 一般情况5.2 不可更新的视图 6. 修改、删除视图6.1 修改视图6.2 删除视图…

软考高级系统架构设计师(三) 基础知识之操作系统2(分页/分段/段页存储)

目录 存储管理 页式存储 段式存储 段页式存储 存储管理 存储管理的主要目的:解决多个用户共同使用主存的问题(怎么分配内存??) 主要包括分区存储管理、分页存储管理、分段存储器管理、段页式存储管理以及虚拟存储…

eNSP中对NAT的配置(网络地址转换)

地址转换是把局域网的私有地址转换为公有地址,如果想要上外网,而公有地址是有限的,则需要将私有地址转换成公有地址,用端口号进行区分。 一.基本原理 NAT是改变IP报文中的源或目的地址的一种处理方式;让局域网用户…

清微智能TX5368A与飞桨完成Ⅱ级兼容性测试,助力全行业智能化升级

近日,清微智能的高性能视觉芯片TX5368A与飞桨完成Ⅱ级兼容性测试(基于Paddle2ONNX工具)。测试结果显示,双方兼容性表现良好,整体运行稳定。这是清微智能加入“硬件生态共创计划”后取得的又一阶段性成果。 产品兼容性证…

差分信号隔离放大变送模块光电转换器0-10mV/0-20mV/0-±10mV/0-±20mV转0-5V/0-10V/4-20mA

概述: DIN11 IPO 压力应变桥信号处理系列隔离放大器是一种将差分输入信号隔离放大、转换成按比例输出的直流信号导轨安装变送模块。产品广泛应用在电力、远程监控、仪器仪表、医疗设备、工业自控等行业。此系列模块内部嵌入了一个高效微功率的电源,向输…

软考高级系统架构设计师(三) 基础知识之操作系统1进程

目录 概要 操作系统 概述 ​编辑 进程管理 进程的状态 进程管理-PV操作 利用PV操作实现进程的同步 进程管理-前趋图 进程管理-死锁 概要 操作系统 概述 操作系统的功能: 进程管理、存储管理、文件管理、作业管理、设备管理 操作系统的特征 并发性共享性虚拟性不…

竞逐对话式AI,百度、字节各有千秋

随着OpenAI陆续发布的ChatGPT引发了AI界热议,新一代的AI热度便开始持续走高。与此同时,以ChatGPT模型为代表的大型预训练模型的出现,也使得对话式AI的生成能力和智能水平得到了飞跃式的提升,得益于此,对话式AI的发展又…