NAT和内网穿透技术详解
创作时间:
作者:
@小白创作中心
NAT和内网穿透技术详解
引用
CSDN
1.
https://blog.csdn.net/qq_45746571/article/details/139994003
随着互联网的快速发展,IPv4地址资源日益紧张,NAT(网络地址转换)技术应运而生,解决了地址短缺问题并增强了网络安全。然而,NAT也带来了内网设备难以被外部直接访问的问题。内网穿透技术正是为了解决这一难题而发展起来的,它使得内网设备能够与外部网络进行直接通信。本文将详细介绍NAT的工作原理和内网穿透技术的实现方式。
1 地址划分
在 A、B、C 分类地址中,实际上有公有 IP 地址和私有 IP 地址之分。
2 NAT
当一个私有网络中的设备需要访问互联网时,NAT设备(通常是路由器)会将其私有IP地址和端口号转换为一个公有IP地址和一个新的端口号;对于进入私有网络的数据包,NAT设备会根据其维护的转换表,将数据包的目的地址和端口转换回对应的私有IP地址和端口。
类型
- 静态NAT:一对一的转换,一个私有IP地址永久映射到一个固定的公有IP地址。适用于需要从外部直接访问内部服务器的情况。(好像没什么意义?)
- 动态NAT:临时分配一个公有IP地址给私有IP地址,当私有IP不再需要访问互联网时,这个公有IP可以被释放并分配给其他设备。
- NAPT(网络地址端口转换):最常用的NAT形式,不仅转换IP地址,还转换端口号,使得多个私有IP地址可以共享一个公有IP地址。这是解决IPv4地址短缺问题的关键技术。
NAPT白话总结就是:通过路由器把局域网的私有地址和端口转化为公有地址和端口(修改IP首部中的源IP),并记录在转换表中;同时根据转换表把进入局域网的公有地址和端口转换回去(修改IP首部中的目的IP)。
主要问题
由于 NAT/NAPT 都依赖于自己的转换表,因此会有以下的问题:
- 外部无法主动与 NAT 内部服务器建立连接,因为 NAPT 转换表没有转换记录。
- 转换表的生成与转换操作都会产生性能开销。
- 通信过程中,如果 NAT 路由器重启了,所有的 TCP 连接都将被重置。
3 内网穿透
也叫NAT穿透或NAT打洞,是一种网络通信技术,旨在解决私有网络(内网)中的设备与互联网上的其他设备直接通信的问题。由于大多数家庭和企业网络都配置在私有IP地址空间内,并通过NAT设备(如家庭路由器)连接到互联网,这些内网设备通常无法从外部网络直接访问。内网穿透技术就是为了克服这一限制的。
白话就是,内网中设备通过客户端和中继服务器(穿透服务器)建立连接,中继服务器提供一个公网地址,并将外部请求转发到内网中的设备。
基本原理
内网穿透的核心在于如何让外部网络的数据包能够穿越NAT设备,准确地找到并到达内网中的目标设备。主要有以下几种实现方式:
- UDP打洞:利用UDP协议的无连接特性,两台位于不同内网的设备先通过一个有公有IP的中继服务器建立初步连接。一旦双方知道了对方的公有IP地址和端口号,它们尝试直接发送UDP数据包给对方。如果NAT设备允许外部未建立连接的UDP数据包进入,并且记录了之前的外出连接信息,那么数据包就能成功穿透NAT到达对端。
- TCP中继/反向代理:对于TCP连接,由于其面向连接的特性,直接打洞较为困难。此时可以通过一个具有公有IP的服务器作为中继,内网设备先与中继服务器建立连接,之后外部设备通过连接该中继服务器间接与内网设备通信。这种方式牺牲了一定的通信效率,但适用性更广。
- STUN/TURN/ICE协议:这些是VoIP和P2P应用中常用的协议,用来帮助实现NAT穿越。STUN(Session Traversal Utilities for NAT)帮助客户端发现自己的公网地址和NAT类型;TURN(Traversal Using Relays around NAT)作为一种备份方案,提供中继服务;而ICE(Interactive Connectivity Establishment)则是结合STUN和TURN,自动选择最优的通信路径。
- 第三方服务和软件:如Ngrok、花生壳、FRP、ZeroTier等,提供了易于使用的内网穿透服务,用户只需简单配置即可将自己的内网服务暴露给互联网访问,无需深入了解底层技术细节。
应用场景
- 远程访问:如远程桌面控制、文件共享,允许用户从任意位置安全地访问内网资源。
- 个人服务器:让运行在家庭网络中的Web服务器、游戏服务器等可以被外部用户访问。
- IoT设备管理:便于远程管理和监控物联网设备。
- P2P通信:支持点对点的直接连接,如视频会议、即时通讯软件等。
注意事项
- 安全性:内网穿透增加了潜在的安全风险,需要采取适当的安全措施,如使用加密通信、访问控制等。
- 性能:通过中继或代理的通信可能会增加延迟和减少带宽效率。
- 兼容性:不同的NAT类型(如完全圆锥型、地址限制型、端口限制型等)对内网穿透的支持程度不同,可能会影响技术的实施效果。
热门推荐
新手司机找陪练 这些坑不要踩!
规模化肉牛育肥饲料配方技术指南
如何净化Web网页内容
上海科技馆举办特别活动,致敬“中国的摩尔根”谈家桢院士
如何办理和获取相关行业的经营资质?这种资质办理有哪些具体要求?
程序员如何利用社交平台扩大职业网络
合同上的三个字:格式条款中的免责承诺与法律风险
川芎泡酒的正确方法与技巧,如何搭配白酒制作药酒,泡酒配方详解
谢维军或成国足制胜关键:190CM身高优势有望助中国队晋级
探索思维导图制作技巧,提高思考和学习效率的实用指南
医生提醒:榴莲虽好,这几类人要少吃
胡椒饼的做法窍门 胡椒饼的功效与作用
5种运动缓解手指麻木,附专业医生建议
源于唐、兴于元,青花瓷里的中华民族交融史
“春”字的前世今生:从甲骨文到现代汉字的演变
维吾尔族小姑娘有个“中医梦”,武汉老师送给她看得懂的《本草纲目》
工业生产追求极致精准,“AI+工业机器人”应用尚在探索初期
图形推理三大题型“立体拼合、截面图、三视图”技巧全解
如何在知识库中设置有效的导航
雅尼·佩萨:加快6G标准制定 以开放生态推动发展
停息挂账对信用卡使用的影响
头皮过敏用什么洗发水?几款适合敏感头皮的洗发水推荐
为什么醋可以消毒(白醋——家用杀菌消毒的秘密武器)
丙寅年五行属性 丙寅年生人命运详解
泡菜的力量:临床前研究揭示抗肥胖效果,减少体脂31.8%
原神角色深度分析:希格雯 - 龙女妙变
你了解基本构图技巧吗?三分法、黄金风格、黄金螺旋线让你作品更完美
2025中美俄军事力量大揭秘:海陆空全方位对比
评估公司收费流程中如何确保费用合理?
稳就业 促创业丨一技傍身 就业不愁 技能培训让更多人端稳就业“饭碗”