NAT机制

embedded/2024/10/19 4:29:01/

目录

1、NAT机制的定义

2、NAT机制的工作原理


1、NAT机制的定义

如今IP地址的分配已经不够使用,为了解决这一问题,NAT机制起到了很关键的作用。

NAT机制(网络地址转换),本质上,让一个IP地址代表一批设备。

NAT机制,把IP地址分成了两大类

1、内网IP(局域网IP)

内网IP(Intranet IP)指的是在局域网(LAN)中分配给设备的IP地址。

在同一个局域网内部,内网IP之间,不能重复。

在不同的局域网内部,内网IP之间,可以重复。

2、外网IP(广域网IP)

外网IP(Internet IP)是指设备在互联网上的公开地址,也称为公网IP。

外网IP,始终都不允许重复,务必唯一。

一个外网IP,可以代表一个局域网中的IP。

2、NAT机制的工作原理

如果当前只有一个主机的情况下:


当一个局域网内,有多个主机时,这多个主机同时访问同一个服务器,此时服务器返回的响应,经过当前的路由器时,就需要再引入端口号进行区分。


如果到达路由器后,路由器发现这两个数据包的目的IP和目的端口号都一样,访问同一个服务器,路由器会把源端口给替换,并内部记录下来这个映射关系。

例如:

主机1:源IP:192.168.0.100 端口号:66  -> 公网IP:123.139.168.15 端口号:1001

主机2:源IP:192.168.0.200 端口号:66  -> 公网IP:123.139.168.15 端口号:1002



http://www.ppmy.cn/embedded/128647.html

相关文章

【工具】VSCODE下载,配置初次设置

打开 settings.json 文件,包含了 Visual Studio Code (VSCode) 中的各种用户配置。 {"files.associations": {"*.vue": "vue","*.wpy": "vue","*.wxml": "html","*.wxss": "…

C语言笔记20

指针运算 #include <stdio.h>int main() {char ac[] {0,1,2,3,4,5,6,7,8,9,};char *p ac;printf("p %p\n", p);printf("p1%p\n", p1);int ai[] {0,1,2,3,4,5,6,7,8,9,};int *q ai;printf("q %p\n", q);printf("q1%p\n", q1)…

状态模式(C++)

定义&#xff1a;状态模式&#xff08;State Pattern&#xff09;是一种行为设计模式&#xff0c;它允许对象在内部状态改变时改变它的行为&#xff0c;对象看起来似乎修改了它的类。状态模式将状态相关的行为封装到单独的类中&#xff0c;并将这些对象组合成状态模式&#xff…

Nginx:proxy_pass指令

proxy_pass 指令在 Nginx 中是实现反向代理和负载均衡的重要指令。 一. 反向代理 在反向代理的场景下&#xff0c;proxy_pass 指令用于将接收到的请求转发给另一个后端服务器。后端服务器地址可以是 IP 地址加端口、域名加端口、或者一个完整的 URL。 注意事项 proxy_pass …

Python近红外光谱数据分析技术

原文链接&#xff1a;Python近红外光谱数据分析技术https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247618985&idx4&sncb10b44822eeb8e30eadd9e45fbdcdc4&chksmfa82504ecdf5d9584a78de0adfc518c159baf1b70b26106a621adf1aa0bfaf1c67b7203e4b7c&toke…

K8s(学习笔记)

swap分区是什么呀&#xff1f; 什么是ipvs呀&#xff1f; yaml是什么呀&#xff1f;&#xff1f;&#xff1f; p20看不下去了&#xff01;&#xff01;&#xff01;

Springboot集成Kafka

一、添加依赖 我们使用spring本身支持的spring-kafka依赖&#xff0c;但是需要注意版本问题&#xff0c;不同的springboot版本支持不同的kafka版本&#xff0c;避免因版本不同带来困扰&#xff01;参考下图&#xff1a; 或者访问官网查看版本对应关系&#xff1a;Spring for Ap…

浅谈C++之日志记录

在 C 中使用 log4net 进行日志记录&#xff0c;您需要遵循以下步骤&#xff1a; 安装 log4net&#xff1a; 首先&#xff0c;您需要在您的 .NET 项目中包含 log4net 库。通常&#xff0c;这可以通过 NuGet 包管理器来完成。 配置 log4net&#xff1a; 您需要创建一个配置文件…