四种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…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
