IPFS: NAT traversal(NAT穿越)

2023-11-11



IPFS是一个p2p网络,那么一定绕不开的一个问题就是NAT穿越。之前的文章里面也提到过IPFS网络连通性使用的ICE NAT穿越框架,本文简单介绍一下什么是NAT。


为什么有NAT技术?

NAT主要用来缓解全球的IPv4地址不够用的情况,IPv4地址最多能提供2^32个(4,294,967,296),现在IPv4已经变得非常紧张了,IPv6发展了这么多年,一直没能取代IPv4的地位,IPv6可以容纳的地址数量是是2^128,可以给地球上的每一粒沙子分配一个ip地址(万物互联的物联网必须要使用ipv6)。


什么是 NAT(Network Address Translation,网络地址转换)?

NAT允许内网计算机共享一个公网ip地址(这样就可以达到节约ip地址了作用了),NAT对于p2p网络、VoIP电话、视频游戏等需要客户端作为服务端进行通信的应用非常重要,如果没有NAT这些应用,甚至都不能正常工作。


首先放一张图(图是小编随手画的,好像挺难看

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IPFS: NAT traversal(NAT穿越) 的相关文章

  • vue父子组件在不同情况下生命周期的执行顺序

    在分析父子组件生命周期之前 我们先核实一次两个路由 不包含子组件 之间切换 其生命周期的执行顺序 在这用到两个路由 新闻路由和top路由 名字只做区分 没有其他含义 1 首先切换到新闻路由 执行顺序 beforeCreate gt crea
  • url的讲解

    摘抄博客 什么是URL URL是什么意思 刘宇凡的专栏 CSDN博客 ur是什么意思 什么是URL URL是Uniform Resource Locator的缩写 即统一资源定位系统 也就是我们通常所说的网址 URL是在Internet的W
  • 词云制作(中文分词+英文)

    英文文本制作词云图 pip install wordcloud filename XX txt 将目标文本文件放入这里 with open filename encoding utf8 as f mytext f read mytext 查
  • openstack镜像的管理与使用

    1 创建项目和用户 1 1 创建项目和用户 用SSH工具连接控制节点 这里是10 10 83 3 使用admin用户权限 执行如下命令 root admin openrc 1 2创建一个test项目 openstack project cr
  • 【科普】波特率和比特速率的理解

    什么是波特率 单位时间内传输的码元个数称为波特率 单位为 Baud 那码元又是什么呢 码元又称为 符号 即 symbol 维基百科上对码元的解释 持续一段固定时间的通信信道有效状态就是码元 这么解释比较抽象 可以解释码元的物理意义 在通信信
  • 百度文库免费复制word文档的纯文字

    2022年5月11日测试过 以下方法能正常使用 1 在页面中安F12或者从浏览器的设置中找到开发人员工具 2 切换到控制台 然后点击右上角图标进入更多设置 3 在设置 首选项中 找到 调试程序 然后勾选 禁用javascript 4 做完上
  • linux学习课程从入门到精通:Centos8用户管理

    本人从事IT行业已有十多年 有着丰富的实战经验 总结了大量的学习方法 更是积累了很多的学习资料 很高兴能在这里跟大家交流学习 希望能在这里跟大家共同进步和成长 全套学习资料移步至公众号 学神来啦 更多学习资料添加扣扣资源群 66130895
  • 虚拟计算技术

    虚拟计算的本质是资源共享 P2P计算 云计算 网格计算 普适计算都属于虚拟计算 一 概述 虚拟计算 Virtual Computing 的本质是资源共享 虚拟计算技术不仅能使人们更有效地共享现有的资源 而且能通过重组等手段 为人们提供更多
  • 开源P2P视频流媒体源代码研究

    1 Azureus http azureus sourceforge net 这是java版的betorrent 最新版本2 4 0 2 从网上直接下载的源代码是没法构建的 所用的库没有在包里面 可以到 http azureus cvs s
  • IP包头&ARP协议笔记

    一 IP包头分析 1 帧中的IP包头 从版本到可选项 其中2为帧头 注 1 IP包头最小长度 20字节 即可选项以前部分 IP包头长度是可变的 2 可选项最长可以是40个字节 故IP包头最长可以是60个字节 1 版本 4 说明是IPv4 2
  • 是否可以连接两个或多个 WiFi Direct 组?

    我目前正在为我正在进行的一个项目尝试 WiFi Direct WiFiP2p 并想知道是否可以在组之间创建桥梁 从而将它们连接在一起 基于白皮书由 WiFi 联盟发布 这应该是可能的 尽管 P2P 规范没有描述此功能的机制 实施是特定于供应
  • 使用 Java 和 Corba 识别对等文件共享中的客户端。并在 2 个客户端之间建立套接字套接字

    我正在使用 Java 和 CORBA 开发一个点对点文件共享应用程序 我是 CORBA 新手 到目前为止 我已经成功创建了一个客户端程序 该程序通过 CORBA 在 SQL 数据库中注册一个文件 该表存储以下信息 filename 共享 基
  • 如何修复 InvalidStateError:没有远程 SDP 时无法添加 ICE 候选者

    我正在创建一个 webRTC 视频聊天 当从 Firefox 发起呼叫时显示呼叫者所有活动成员 并且接收者使用 chrome 此错误显示 未捕获 承诺 DOMException 无法在 RTCPeerConnection 上执行 addIc
  • NAT 后面的 UDP 打洞

    我正在尝试用 Java 实现 UDP Holepunching 的简单草图来测试它的概念 并稍后在我的 C C 应用程序中使用它 Concept 根据维基百科 我对这个概念的理解是这样的 假设 A 和 B 是未定义网络结构后面的客户端 C
  • Android Wi-Fi 直连网络

    我正在Android上开发一个应用程序 我正在搜索范围内的所有对等点 然后与所有这些点连接 发起发现的设备成为组所有者 所有其他人成为客户端 我已经完成了所有连接的事情但现在我想让群组所有者向所有连接的对等点发送消息 如何实现这一点 还请告
  • 将目录上传到 pinata ipfs API

    我正在尝试将 png 目录上传到 pinata 但我不断收到此错误 error Invalid file path C Users myname Documents Coding Projects nft art reveal 1 png
  • 如何通过peerJS 点对点连接接收数据?

    我正在尝试使用peerJS 连接两个对等点 我几乎只是在遵循他们的 入门 但我仍然在挣扎 下面是我到目前为止得到的代码
  • HTML5 Websockets 可以在不使用服务器的情况下直接连接 2 个客户端(浏览器)吗? (P2P)[重复]

    这个问题在这里已经有答案了 使用 HTML5 Websockets 我可以直接在 2 个客户端 浏览器 之间打开套接字 假设我知道它们的 IP 地址并且不存在 NAT 遍历问题 我想将一些数据直接从一个浏览器发送到另一个浏览器 本质上是创建
  • 自动启用从 Internet 访问端口 4900 的方法

    我正在编写一个在端口 4900 上运行的自定义 p2p 程序 在某些情况下 当用户位于路由器后面时 无法从互联网访问该端口 是否有一种自动方式可以从互联网访问该端口 我不太确定其他 p2p 应用程序是如何工作的 有人能解释一下吗 简而言之
  • 同步通过 LAN 电缆连接的两台 Windows 7 计算机之间的时间

    我有许多笔记本电脑 它们运行我们的应用程序 同时通过以太网电缆成对连接 但未连接到任何外部网络或互联网 时间 我需要连接对来同步其系统时间 但由于每台计算机都需要能够与任何其他计算机同步 因此我无法将一台计算机定义为时间服务器 而另一台计算

随机推荐

  • windows下,unity项目突然无法打开的挽救办法

    情景 项目在某次关机后就再也无法通过unity正常打开了 换了机器和unity版本也依然不行 如果你没做存档想必这是个令人非常崩溃的事情 但还有一种挽救的办法 至少是一种可能挽救的办法 那就是使用其他平台的unity打开项目 unity有w
  • 【Python网络蜘蛛】基础 - 多线程和多进程的基本原理

    文章目录 多线程和多进程的基本原理 多线程的含义 并发和并行 Python中的多线程和多进程 多线程和多进程的基本原理 在编写爬虫程序的时候 为了提高爬取效率 我们可能会同时运行多个爬虫任务 其中同样涉及多进程和多线程 多线程的含义 先了解
  • 面试官:为什么MySQL的索引要使用B+树,而不是其它树?比如B树?

    点击上方 Java之间 选择 置顶或者星标 你关注的就是我关心的 来源 https dwz cn exC8JdQS 上一篇 InnoDB的一棵B 树可以存放多少行数据 答案 约2千万 为什么是这么多 因为这是可以算出来的 要搞清楚这个问题
  • pandas创建与保存(导入与导出)dataframe

    文章目录 一 创建Dataframe 1 创建空dataframe 2 从list 创建dataframe 把list当做一列 把list当做一行 3 从 dict key value 创建dataframe 4 从 CSV 创建dataf
  • 布局数据存储,中国电子云意在何为?

    数据存储市场的未来在哪里 答案毋庸置疑是 云端 著名咨询机构Wikibon曾经做过一项统计 将全球三大云服务商的数据存储营收与传统存储厂商的营收进行对比 发现云服务商的数据存储业务规模已然赶上传统存储厂商 这揭示出一个不可阻挡的趋势 即随着
  • 线性回归算法(二)-- 最优解与损失函数

    介绍 要理解最优解和损失函数 我们需要先弄明白什么是误差 以简单线性回归为例 如下图所示 青色数据样本为真实值 y y y 直线上同一 x x x位置的红色样本点为预测值
  • qt操作第三方软件

    QT控制第三方软件方法 背景需求 实现思路 获取句柄方法 QT通过获取的信息操作 例子 控件ID为0或者控件ID和操作句柄相同怎么办 得到窗体x y height width 模拟键盘鼠标操作 附录 键值对照表 背景需求 通过前辈们写的软体
  • Shell--基础--06--传递参数

    Shell 基础 06 传递参数 1 介绍 我们可以在执行 Shell 脚本时 向脚本传递参数 1 1 脚本内获取参数的格式 格式为 n n 代表一个数字 0 执行的文件名 1 为执行脚本的第一个参数 2 为执行脚本的第二个参数 以此类推
  • AI时代,重新理解阿里云

    如果说 在数字化时代 阿里云给外界的标签是基于算力 数据等要素的基建角色 那么 在如今的智能化时代 基于自身强大的云计算能力和长期以往的AI技术积累 它的这种底座底色显然再一次被夯实 彰显 作者 皮爷 出品 产业家 宜昌城东大道 左侧是中国
  • DirectX编程:利用 DirectSound 录音

    DirectX编程 利用 DirectSound 录音 转载 http www cnblogs com stg609 archive 2008 10 24 1318931 html 花了一阵子 把DirectX安装后自带的帮助文件中的那部分
  • ES时间分组统计查询

    创建索引 PUT test 索引结构 PUT test mapping properties insertTime type date id type text fields keyword type keyword ignore abov
  • halcon之Blob分析实战

    Blob分析 Blob Analysis 在计算机视觉中的Blob是指图像中的具有相似颜色 纹理等特征所组成的一块连通区域 Blob分析 Blob Analysis 是对图像中相同像素的连通域进行分析 该连通域称为Blob 其过程其实就是将
  • 【数据结构】栈

    文章目录 1 栈的概念及结构 2 栈的实现 2 1栈的实现思路 2 2概念理解题 2 3栈的结构体定义 2 4函数接口 功能 2 5头文件Stack h 2 6函数实现Stack c 2 7测试函数Test c 2 8有效的括号 利用栈实现
  • Oracl之动态Sql编写总结

    一 概述 在通常的sql操作中 sql语句基本上都是固定的 如 SELECT t empno t ename FROM scott emp t WHERE t deptno 20 但有的时候 从应用的需要或程序的编写出发 都可能需要用到动态
  • 【抽样技术】CH2 简单随机抽样补充——比率估计与回归估计

    目录 一 概述 1 问题的提出 2 比率估计与回归估计的作用和使用条件 3 辅助变量的特点 4 相关符号 二 比率估计量 编辑 编辑 1 问题的提出 2 定义 3 比估计与简单估计的比较 4 比率估计的思想 5 比率估计量及其性质 1 引理
  • 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。

    import java util Arrays 问题 顺时针螺旋输出数组 题目特征 保持一种模式前进 遇到一定条件转换另一种模式前进 思路 用一个二维数组来不同取值来控制前进 设置变动的边界为改变的条件 public class Test1
  • [1160]ModuleNotFoundError: No module named setuptools_rust

    报错信息 Traceback most recent call last File line 1 in File tmp pip build my9sai1o cryptography setup py line 14 in from se
  • 复现iis 文件解析漏洞

    1 开启IIS服务 开始 管理工具 Internet信息服务 IIS 管理器 2 点击Internet信息服务 IIS 管理器 查看自己web网站中的文件和IIS服务的开始 停止 暂停按钮 查看IIS服务是否开启 若未开启请开启 HLY 本
  • 如何查看某个端口被占用

    查看8080端口是否被占用可以使用如下命令 Windows netstat ano find 8080 Linux netstat ano grep 8080 netstat命令详解 Netstat用于显示与IP TCP UDP和ICMP协
  • IPFS: NAT traversal(NAT穿越)

    IPFS是一个p2p网络 那么一定绕不开的一个问题就是NAT穿越 之前的文章里面也提到过IPFS网络连通性使用的ICE NAT穿越框架 本文简单介绍一下什么是NAT 为什么有NAT技术 NAT主要用来缓解全球的IPv4地址不够用的情况 IP