四种NAT的网络结构
四种NAT的网络结构
- 引言
- 1 完全圆锥型NAT
- 2 IP限制圆锥型NAT
- 3 Port限制圆锥型NAT
- 4 对称型NAT
- 5 总结
引言
NAT是将内网地址映射转换为外网地址的一种地址转换方式,这节省了有限的IP地址资源。一般来讲,分为对称型NAT和圆锥形NAT,其中圆锥形NAT又分为完全圆锥型NAT、IP限制圆锥型NAT、Port限制圆锥型NAT。
1 完全圆锥型NAT
完全圆锥型NAT是指同一个内网IP1+Port1向任何外网发送数据,在NAT会被映射到同一个外网的IP2+Port2;且当外网向IP2+Port2发送数据,也会被转换到内网IP1+Port1。一些反向代理服务器的代理节点就是此类型的NAT。
2 IP限制圆锥型NAT
IP限制圆锥型NAT是指同一个内网IP1+Port1向任何外网发送数据,在NAT会被映射到同一个外网的IP2+Port2;但是这种地址映射是与外网目的主机IP关联的,也就是说当内网IP1+Port1没有主动向IP3的外网主机发送数据,那么IP3的主机向IP2+Port2发送数据,将会被NAT丢弃。
3 Port限制圆锥型NAT
Port限制圆锥型NAT是指同一个内网IP1+Port1向任何外网发送数据,在NAT会被映射到同一个外网的IP2+Port2;但是这种地址映射是与外网目的主机IP和端口关联的,也就是说当内网IP1+Port1没有主动向IP3的外网主机的Port3发送数据,那么IP3+Port3向IP2+Port2发送数据,将会被NAT丢弃。IP限制圆锥型NAT只认姓啥不问名,Port限制圆锥型NAT是既要认姓啥又要看名谁。
4 对称型NAT
对称型NAT是内网IP1+Port1向外网IP2+Port2发送数据时,在NAT会被映射到一个外网的IP3+Port3;当向外网IP4+Port4发送数据时,在NAT会被映射到一个外网的IP5+Port5。这种机制不能保证同一个内网IP和端口向不同外网IP和端口发送数据时,其映射的外网IP和端口的一致性。
5 总结
对于三种圆锥型NAT可以建立P2P打洞技术,但是对于对称性网络却无法做到P2P效果。
相关文章:
四种NAT的网络结构
四种NAT的网络结构 引言1 完全圆锥型NAT2 IP限制圆锥型NAT3 Port限制圆锥型NAT4 对称型NAT5 总结 引言 NAT是将内网地址映射转换为外网地址的一种地址转换方式,这节省了有限的IP地址资源。一般来讲,分为对称型NAT和圆锥形NAT,其中圆锥形NAT又…...
Android studio 使用greenDao根据实体类生成dao类
1.遇到的问题 使用android studio根据实体类生成dao其实也很简单,你只要实现 Parcelable Entity public class ConfigDataModel implements Parcelable {Id(autoincrement true)private Long id null; } 2.使用自带的方法生成 使用build-->make Project生成 …...
redis 从0到1完整学习 (九):SkipList 数据结构
文章目录 1. 引言2. redis 源码下载3. skipList 数据结构4. 参考 1. 引言 前情提要: 《redis 从0到1完整学习 (一):安装&初识 redis》 《redis 从0到1完整学习 (二):redis 常用命令》 《re…...
智能优化算法应用:基于金豺算法3D无线传感器网络(WSN)覆盖优化 - 附代码
智能优化算法应用:基于金豺算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于金豺算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.金豺算法4.实验参数设定5.算法结果6.参考文献7.MA…...
Isaac Sim 仿真机器人urdf文件导入
本教程展示如何在 Omniverse Isaac Sim 中导入 urdf 一. 使用内置插件导入urdf 安装urdf 插件 方法是转到“window”->“Extensions” 搜索框中输入urdf, 并启用 通过转至Isaac Utils -> Workflows -> URDF Importer菜单来访问 urdf 扩展。 表格中的 1,2,3 对应着…...
Python 实现Excel和CSV之间的相互转换
通过使用Python编程语言,编写脚本来自动化Excel和CSV之间的转换过程,可以批量处理大量文件,定期更新数据,并集成转换过程到自动化工作流程中。本文将介绍如何使用第三方库Spire.XLS for Python 实现: 使用Python将Exc…...
【GitHub精选项目】短信系统测试工具:SMSBoom 操作指南
前言 本文为大家带来的是 OpenEthan 开发的 SMSBoom 项目 —— 一种用于短信服务测试的工具。这个工具能够发送大量短信,通常用于测试短信服务的稳定性和处理能力。在合法和道德的范畴内,SMSBoom 可以作为一种有效的测试工具,帮助开发者和系统…...
【Filament】立方体贴图(6张图)
1 前言 本文通过一个立方体贴图的例子,讲解三维纹理贴图(子网格贴图)的应用,案例中使用 6 张不同的图片给立方体贴图,图片如下。 读者如果对 Filament 不太熟悉,请回顾以下内容。 Filament环境搭建绘制三角…...
SpringBoot 3.2.0 结合Redisson接入Redis
依赖版本 JDK 17 Spring Boot 3.2.0 Redisson 3.25.0 工程源码:Gitee 集成Redis步骤 导入依赖 <properties><redisson.version>3.25.0</redisson.version> </properties> <dependencies><dependency><groupId>org.pr…...
C++ 比C语言增加的新特性 5 之字符串string
1. c 的string类型 1.1 创建和初始化字符串 string.cpp #include "iostream" #include <string>using namespace std;//创建和初始化字符串 int main() {// 初始化空字符串string emptyString;// 使用字符串字面量初始化字符串string greeting "hello, …...
【第2讲】原理介绍和权限开通
系列文章目录 第1讲:Python环境的下载和安装第2讲:免费开通权限第3讲:1行代码,自动发正文第4讲:1行代码,自动发正文+附件第5讲:自动批量发送第6讲:1行代码,自动下载邮件的附件提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录…...
C++ opencv-3.4.1 提取不规则物体的轮廓
在学习opencv的时候,对一张照片,需要标注照片上物体的不规则轮廓。 如图: 使用opencv进行物体的轮廓处理,关键在于对照片的理解,前期的照片处理的越好最后调用api出来的结果就越接近理想值。 提取照片中物体分如下三步ÿ…...
ServletConfig对象.
是什么 ServletConfig是javax.servlet.包下的一个接口,ServletConfig它是Servlet的一个配置对象; ServletConfig是由tomcat容器创建,通过init方法传入给Servlet; ServletConfig对象如何获取? 在GenericServlet里面定义了&#x…...
jQuery实现框里画面的展开、收起和停止
jQuery实现框里画面的展开、收起和停止 主要用到动画效果中的三个操作: (“id”).slideDown(3000); // 后面的数字表示效果的时长 (“id”).stop(); (“id”).slideUp(3000); 效果图 代码如下: <!DOCTYPE html> <html lang"en…...
less 查看文本时,提示may be a binary file.See it anyway?
解决办法 首先使用echo $LESSCHARSET查看less的编码 看情况设置less的编码格式(我的服务器上使用utf-8查看中文) 还要特别注意一下,Linux中存在的文本文件的编码一定要是utf - 8;(这一步很关键) 例如:要保证windows上传到Linux的…...
H266/VVC帧内预测编码技术概述
预测编码技术 预测编码(Prediction Coding)是指利用已编码的一个或多个样本值,根据某种模型或方法,对当前的样本值进行预测,并对样本真实值和预测值之间的差值进行编码。 视频中的每个像素看成一个信源符号ÿ…...
重组蛋白表达系统的比较-卡梅德生物
一、重组蛋白表达是什么? 重组蛋白表达是通过基因工程手段将目标蛋白基因导入宿主细胞,使其表达出特定的蛋白。该过程包括以下步骤: 1. 构建表达载体:将目标蛋白基因插入表达载体中,通常选择带有启动子、终止子和选择…...
【Java、Python】获取电脑当前网络IP进行位置获取(附源码)
我相信看到这篇博客的时候心里肯定是想解决自己的一个问题的,而这篇博客我就以简单快速的方式解决这些烦恼! 一、获取当前IP 在Java中自带了一些自己的流对象来获取当前的IP地址,不多说我们直接上代码。 //获取当前网络ip地址 ipAddress Ine…...
接口测试学习笔记
文章目录 认识urlhttp协议接口规范Postman实现接口测试设计接口测试用例使用软件发送请求并查看响应结果Postman 自动关联Postman如何提交multipart/form-data请求数据Postman如何提交查询参数Postman 如何批量执行用例单接口测试Postman 断言Postman参数化 接口测试自动化requ…...
一起玩儿物联网人工智能小车(ESP32)——14. 用ESP32的GPIO控制智能小车运动起来(二)
摘要:本文主要讲解如何使用Mixly实现对单一车轮的运动控制。 下面就该用程序控制我们的小车轮子转起来了。打开Mixly软件,然后单击顶部“文件”菜单中的“新建”功能,我们来开启一个新程序的开发工作。 我们的工作同样是先从最简单的开始&am…...
新手必看:Sambert多情感语音合成镜像部署与使用全攻略
新手必看:Sambert多情感语音合成镜像部署与使用全攻略 1. 引言:为什么选择这个语音合成镜像 语音合成技术正在改变我们与数字世界的互动方式。想象一下,你的智能助手不仅能说话,还能根据场景切换不同的情感和音色——这正是Samb…...
MelonLoader完全解决方案:Unity游戏Mod加载实战指南
MelonLoader完全解决方案:Unity游戏Mod加载实战指南 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader 当你兴致勃勃地…...
从“无风扇散热”到“完美机房”:我与AI的一场散热与存储深度对话
本文源于我与AI的一次技术探讨,从无风扇散热模组的工作原理出发,逐步深入到浸泡式液冷、热辐射优化、算力中心架构,最终延伸至存储介质的可靠性对比。这是一次从“芯片级散热”到“系统级存储”的完整技术认知之旅。前言:一个好奇…...
告别环境配置噩梦:手把手教你用OpenVINO 2024.4 + VS2019部署PyTorch图像分类模型(附完整代码)
从PyTorch到生产环境:OpenVINO 2024.4全链路部署实战指南 当你的PyTorch模型在实验环境中表现优异,如何将它无缝迁移到实际应用场景?本文将带你跨越从研究到生产的鸿沟,使用Intel OpenVINO工具包2024.4版本,在Visual S…...
PhotoMaker性能基准测试终极指南:建立你的AI人像生成速度参考标准
PhotoMaker性能基准测试终极指南:建立你的AI人像生成速度参考标准 【免费下载链接】PhotoMaker 项目地址: https://ai.gitcode.com/hf_mirrors/TencentARC/PhotoMaker 想要了解PhotoMaker的实际性能表现吗?作为一款革命性的AI人像生成工具&#…...
Phi-3-mini-4k-instruct-gguf效果展示:温度0.0下100%一致性的制度类文本生成
Phi-3-mini-4k-instruct-gguf效果展示:温度0.0下100%一致性的制度类文本生成 1. 模型介绍与特点 Phi-3-mini-4k-instruct-gguf是微软推出的轻量级文本生成模型,属于Phi-3系列中的GGUF版本。这个模型特别适合需要稳定、一致输出的场景,尤其是…...
Phi-3-mini-4k-instruct-gguf一文详解:GGUF格式优势与Phi-3系列轻量设计哲学
Phi-3-mini-4k-instruct-gguf一文详解:GGUF格式优势与Phi-3系列轻量设计哲学 1. 认识Phi-3-mini-4k-instruct-gguf Phi-3-mini-4k-instruct-gguf是微软Phi-3系列中的轻量级文本生成模型,采用GGUF格式封装。这个模型特别适合处理问答、文本改写、摘要整…...
C标准库缓冲区溢出问题与安全编程实践
1. C标准库缓冲区溢出问题概述缓冲区溢出是C语言开发中最常见的安全漏洞之一。作为一名有十年经验的嵌入式开发者,我见过太多由于不当使用标准库函数导致的崩溃和安全问题。缓冲区溢出通常发生在程序向固定大小的缓冲区写入超过其容量的数据时,多余的数据…...
DeepSeek-Coder-V2-Lite-Instruct社区案例集:开发者如何用AI改变编程方式
DeepSeek-Coder-V2-Lite-Instruct社区案例集:开发者如何用AI改变编程方式 【免费下载链接】DeepSeek-Coder-V2-Lite-Instruct 开源代码智能利器——DeepSeek-Coder-V2,性能比肩GPT4-Turbo,全面支持338种编程语言,128K超长上下文&a…...
缺失值处理太慢?重复检测卡顿?Polars 2.0清洗提速秘技,一文掌握5大核心模式
第一章:Polars 2.0数据清洗性能瓶颈的本质剖析Polars 2.0 在引入 LazyFrame 默认执行模型与物理计划优化器后,显著提升了复杂 ETL 流水线的吞吐能力,但实际数据清洗场景中仍频繁出现 CPU 利用率不均、内存驻留时间过长及 UDF 执行退化等现象。…...
