首页 > 其他分享 >网络地址转换-NAT

网络地址转换-NAT

时间:2024-04-01 16:00:15浏览次数:16  
标签:转换 IP 公网 网络 网络地址 NAT IP地址 数据包

目录

NAT概述

NAT功能

NAT的工作过程

NAT使用场景与配置

内网客户端主动访问外网服务器

外网客户端访问位于内网的服务器

ACL 访问控制列表

作用

ACL的工作原则


NAT概述

NAT(Network Address Translation,网络地址转换)是一种网络协议,用于在IP网络中转换IP地址。它主要用于在私有网络和公共网络之间进行通信时,将私有网络中的IP地址转换成公共网络中的IP地址,以实现私有网络内部的设备与公共网络的通信。

NAT的基本概念包括:

  1. 内部网络(private network):指私有网络,通常是组织内部或家庭内部的局域网,使用私有的IP地址。

  2. 外部网络(public network):指公共网络,例如互联网,使用全球唯一的公共IP地址。

  3. NAT设备(NAT router):负责进行IP地址转换的设备,通常是路由器或防火墙。

  4. 内部IP地址(private IP address):内部网络中的IP地址,使用私有IP地址范围,如192.168.0.0/16、172.16.0.0/12或10.0.0.0/8。

  5. 外部IP地址(public IP address):外部网络中的IP地址,全球唯一,用于与外部网络通信。

  6. NAT映射表(NAT mapping table):NAT设备使用的表格,记录了内部IP地址和对应的外部IP地址、端口号的映射关系。

  7. NAT转换(NAT translation):将内部网络中的IP地址和端口号转换成外部网络中的IP地址和端口号的过程。

NAT的作用是将多个内部网络设备共享一个公共IP地址,从而节省公共IP地址的使用。它还带来了一定的安全性,因为内部网络设备的IP地址在外部网络是不可见的,减少了受到攻击的概率。然而,使用NAT也可能引起一些问题,例如限制了某些类型的网络应用,如P2P或视频通话

NAT功能

主要作用:通过地址转换实现私有网络和公有网络之间的相互访问

次要功能
1. IP地址不足:由于IPv4地址空间有限,而且已经基本耗尽,Nat可以通过将多个内部IP地址映射到一个公共IP地址上来扩展IP地址空间。

2. 网络安全:Nat可以隐藏内部网络的IP地址,使得外部网络无法直接访问内部网络,从而提高网络的安全性。

3. 版本转换:Nat可以实现IPv4和IPv6之间的转换,使得不支持IPv6的设备可以访问IPv6网络。

4. 负载均衡:Nat可以将网络流量分发到多个服务器上,实现负载均衡,提高网络性能和可靠性。

5. 管理网络流量:Nat可以根据规则和策略进行网络流量的管理和控制,例如限制特定IP地址的访问,限制特定端口的传输速率等。

总的来说,Nat可以提供更高效的IP地址分配、增强网络安全、提供版本转换、实现负载均衡和管理网络流量等功能,解决了许多关于IP地址分配和网络安全的问题。

NAT的工作过程

1. 发送数据包: 当本地网络中的计算机或设备发送数据包到互联网上的目标IP地址时,数据包首先发送到NAT路由器。

2. 源地址转换: NAT路由器检查数据包的源地址和端口号,并替换为路由器分配给它的全球唯一IP地址和端口号。这样,目标主机接收到的数据包将显示为来自NAT路由器而不是原始发送方。

3. 路由转发: NAT路由器根据目标IP地址将数据包转发到互联网上的目标主机。

4. 目标地址转换: 收到目标主机的回应数据包时,NAT路由器检查数据包的目标地址和端口号,并将其转换回原始发送方的本地IP地址和端口号。

5. 将数据包发送到本地主机: NAT路由器将数据包转发给本地网络的计算机或设备。

通过使用NAT技术,本地网络中的多个设备可以通过共享单个公共IP地址与互联网连接,从而有效地管理IP地址资源。此外,NAT还提供了一定程度的网络安全性,因为它隐藏了本地网络中的真实IP地址,使其对外部网络不可见。

数据包从内网发往外网时,NAT会将数据包的源IP由私网地址转换成公网地址;
当响应的数据包要从公网返回到内网时,NAT会将数据包的目的IP由公网地址转换成私网地址

NAT使用场景与配置

内网客户端主动访问外网服务器


静态NAT:私网IP和公网IP是一对一的关系,并且需要预先做好一对一的映射绑定
nat static global <自定义公网IP> inside <私网IP> 
动态NAT:私网IP和公网IP是一对一的关系,需要先自定义一个公网IP地址池,私网IP在地址转换时会轮询地址池中的每个公网IP
NATP:私网IP和公网IP是多对一的关系,公网IP地址池只自定义一个公网IP,所有私网IP在地址转换时只会转换为一个自定义的公网IP
easyip:私网IP和公网IP是多对一的关系,直接使用NAT设备的外网接口的公网IP,所有私网IP在地址转换时只会转换为NAT设备的外网接口的公网IP

外网客户端访问位于内网的服务器

Nat Server:私网IP和公网IP是多对一的关系,一个公网IP和不同的端口可以转换成的私网IP和端口
先修改从公网发送到内网的数据包的目的IP地址,Nat Server会将数据包的目的IP由公网地址转换成私网地址
再修改从内网返回到外网的响应数据包的源IP地址,Nat Server会将数据包的源IP由私网地址转换成公网地址

ACL 访问控制列表

作用

过滤经过接口的数据包,根据规则要么允许/放通 数据包,要么拒绝/丢弃 数据包

ACL的工作原则

  1. 可以在一个路由器接口的一个方向配置一个ACL;
  2. 一个ACL可以配置多条规则;
  3. 规则匹配时是从上往下依次匹配,匹配到即停止,华为设备默认的规则为放通所有数据包

 

标签:转换,IP,公网,网络,网络地址,NAT,IP地址,数据包
From: https://blog.csdn.net/2401_83331026/article/details/137235789

相关文章

  • openGauss数据库将磁盘表转换为MOT
    openGauss数据库将磁盘表转换为MOT一、将磁盘表转换为MOT方法磁盘表直接转换为MOT尚不能实现,这意味着尚不存在将基于磁盘的表转换为MOT的ALTERTABLE语句。目前MOT表也不支持rename,createasselect以及insertselect(普通表)的操作。将基于磁盘的表转换为MOT方......
  • 为什么以太网的接收需要cmd fifo而ddr3的native接口可以不需要?
    1.以太网存在crc校验和其他的校验,直到这一帧完全传递完才知道是否需要这些数据;2.ddr3每次处理的数据是固定的(安全起见,防止4k边界问题,暂不设置可变burstlength),所以只需要:写入:通过fifo的计数设置满足burst长度时读出fifo写入ddr3,然后根据突发的周期标志修改cmd提供的地址即可......
  • excel中怎样把多位16进制数转换成2进制数?
    在excel里,把16进制数字转换成2进制,有内置函数HEX2BIN可以使用,不这个函数只能转2位16进制数,多于2位函数就会报错。HEX2BIN的函数说明是这样:如果参数number为负数,不能小于FFFFFFFE00;如果参数number为正数,不能大于1FF。将数值转换成十进制,就是-512~511,超出这个范围将......
  • RGB到HSV的转换原理及例程
    RGB(红绿蓝)和HSV(色相、饱和度、明度)是两种常用的颜色模型,RGB用于表示彩色图像,而HSV主要用于描述颜色的特征。RGB到HSV的转换涉及颜色的几何和三维空间的变换。RGB颜色模型使用红、绿、蓝三个通道来表示各种颜色。每个通道的取值范围为0-255,其中0表示没有该通道的颜色,255表示通......
  • React Native简介和环境配置,差点挂在第四面
    ReactNative目前需要NodeJS5.0或更高版本。本文发布时Homebrew默认安装的是最新版本,一般都满足要求。brewinstallnode安装完node后建议设置npm镜像以加速后面的过程(或使用科学上网工具)。注意:不要使用cnpm!cnpm安装的模块路径比较奇怪,packager不能正常识别!npmconfig......
  • 多目标应用:基于非支配排序的蜣螂优化算法(Non-Dominated Sorting Dung beetle optimize
    一、柔性作业车间调度问题柔性作业车间调度问题(FlexibleJobSchedulingProblem,FJSP)的描述如下:n个工件{J,J......
  • 3.python 数据类型转换
    #python数据类型转换"""python数据类型转换可以分为两种:隐式类型转换-自动完成显示类型转换-需要使用类型函数来转换"""#隐式类型转换(自动类型转换)#隐式类型转换中,python会自动将一种数据类型转换为另一种数据类型。#转换规则:低精度向高精度转换(bool->int->......
  • nvl函数使外连接无法转换为内连接案例
    nvl函数使外连接无法转换为内连接案例编写:李晓萌sqlSELECTcount(0)FROM(SELECTz.GP3ZZHDMZHDM,a.C_PORT_NAMEZHMC,c.C_SEC_CODEZQDM,......
  • 问Typeorm -转换响应
    问Typeorm-转换响应 ENStackOverflow用户提问于 2021-01-0922:16:00回答1查看463关注0票数0我将Typeorm与NestJS一起使用,有没有办法将动态值传递到列转换器中?我有这个post实体文件:exportclassPostextendsEntityBase{@PrimaryGeneratedCo......
  • List和ObservableCollection的转换
    1、我们后台查询全部List数据的时候,前台需要ObservableCollection展示这个时候List需要转换成ObservableCollectionpublicstaticObservableCollection<T>ToObservableCollection<T>(thisIEnumerable<T>source){if(source==null){thrownewArg......