当前位置: 首页 > news >正文

建站宝盒手机版下载做我女朋友程序网站

建站宝盒手机版下载,做我女朋友程序网站,ui作品集 网站怎么做,垂直行业门户网站有哪些文章目录 一、概念二、分类#xff08;主要是传统 NAT#xff09;2.1 基本 NAT2.2 NAPT 三、访问NAT下的内网设备的方式3.1 多拨3.2 端口转发、DMZ3.3 UPnP IGD、NAT-PMP3.4 服务器中转#xff1a;frp 内网穿透3.4.1 NAT 打洞3.4.2 NAT 类型与打洞成功率3.4.2.1 完全圆锥形 … 文章目录 一、概念二、分类主要是传统 NAT2.1 基本 NAT2.2 NAPT 三、访问NAT下的内网设备的方式3.1 多拨3.2 端口转发、DMZ3.3 UPnP IGD、NAT-PMP3.4 服务器中转frp 内网穿透3.4.1 NAT 打洞3.4.2 NAT 类型与打洞成功率3.4.2.1 完全圆锥形 NATFull cone NAT3.4.2.2 受限圆锥形 NATRestricted cone NAT3.4.2.3 端口受限圆锥形 NATPort-Restricted cone NAT3.4.2.4 对称 NATSymmetric NAT 3.4.3 NAT 打洞的应用3.4.4 NAT 打洞的缺点 NAT 作为当今现实网络中不可或缺的一部分虽然应用广泛但是对它的介绍却远不及其他网络协议。另一方面IETF 也把 NAT 视为 IPv4 的权宜之计在很长一段时间内都寄解决地址短缺问题之希望于大力推广 IPv6。从 RFC 的提出时间就可以看出很多 NAT 穿透相关的 RFC 提出时间都晚 IPv6 不少。而现在看来IPv6 的推广乃至 IPv4 的废弃还有相当长的路要走所以可以预见NAT 还将陪伴我们不少时日。 一、概念 NATNetwork address translation就是网络地址转换技术。按照 Wikipedia 的解释它就是一个在路由设备上修改 IP 首部的地址从而把一个地址变成另一个地址的技术简而言之就是针对 IP 地址的重命名。比如在路由器上设定把来自 A 网络的 IP 包中的地址 10.0.0.2 重命名成 10.1.1.3然后转发到 B 网络反之亦然。这样对于 B 网络来说访问 10.1.1.3 就等同于访问 A 网络中的 10.0.0.2 了。更加复杂的 NAT 技术还可能涉及对 TCP、UDP 协议中端口号的修改不过总而言之NAT 就是一个修改数据包头部完成 “重命名” 的技术。 目前 NAT 技术最广泛的应用是解决 IPv4 地址短缺问题。它的思路非常简单就是重复利用同一个 IP 地址并在路由器转发数据包的时候进行 “重命名”。比如在常识中无论在家、学校还是餐厅里网上冲浪路由器管理页面的地址总是 192.168.0.1、手机的地址也总是 192.168 开头。而 IP 协议中要求每个设备都有不同的 IP 地址否则就会混淆不同的设备。之所以我们还能继续网上冲浪就是因为路由器上使用了 NAT 技术把这些192.168 开头的内网地址 “重命名” 成路由器自身的地址然后转发给互联网。这样不同的内网就可以使用同一个内网地址比如学校和家里都有可能有 192.168.0.233 这个设备但也不影响它们接入互联网。而如何完成 “重命名” 并避免可能发生的冲突就是 NAT 技术的关键。 二、分类主要是传统 NAT 要进一步理解 NAT首先就是了解 NAT 的分类。RFC2663 把 NAT 分成了四类传统 NAT、双向 NAT、两次 NAT、多宿主 NAT。由于最常见的就是传统 NAT所以我就偷个懒只介绍传统 NAT 了。 传统 NAT 主要做的就是维护一个内部网络就像上一节里介绍的那样。它位于内部网络与外部网络比如互联网之间保证内网地址不会被泄露到外网中去。如果再对重命名方式进行细分传统 NAT 还可以分成两类 基本 NATBasic NATNAPTNetwork Address Port Translation网络地址端口转换 2.1 基本 NAT 基本 NAT 就是只针对 IP 地址的 “重命名”。由于基本 NAT 并不考虑更高层的协议所以它只是实现了一个内部 IP 地址到外部 IP 地址的一一对应。不妨把已使用的内部 IP、NAT 设备拥有的外部 IP 看成 In、Ex 两个集合。 如果内部 IP 数量更少len(In) len(Ex)那么每个内部地址都能被映射到一个外部地址。如果内部 IP 数量更多len(In) len(Ex)就不能保证同一时间每个内部设备都能访问外部网络了可能分配不到外部地址。 2.2 NAPT 不难看出基本 NAT 对于 IP 地址的复用效果相当有限。假设如果 NAT 设备只有一个外部地址的话同一时间就只能有一个内部设备可以访问外部了显然这对我们网上冲浪带来了极大地不便。NAPT 对此的解决方法是考虑高层传输协议 TCP、UDP 的端口其实不只是端口任何传输层标志都行比如 ICMP 的 ID以 (IP地址, 端口) 为单位进行重命名。这样操作空间就突然变大了 65535 倍复用效率直接拉满。所以大多数路由设备都实现了 NAPT日常生活中见到最多的也是 NAPT。平常我们说的 NAT 也基本上就指的是 NAPT。 鉴于 NAPT 的重要性下文介绍下不同的 NAPT 类型和它们的实现原理。 图示是一种常见的 NAPT 拓扑。 当内网设备访问访问目标时它发送包 [iAddr:iPort - dAddr:dPort] 给路由器。路由器的 NAPT 程序转换内部地址改写包为 [eAddr:ePort - dAddr:dPort]之后转发到外部网络。反之当访问目标答复内网设备时它发送包 [dAddr:dPort - eAddr:ePort] 给路由器路由器接收后通过 NAPT 程序改写包为 [dAddr:dPort - iAddr:iPort] 然后转发给内网设备。 可以看到 发送过程内部到外部中 NAPT 程序改写数据包的源地址进行源 NATSNAT。在接受过程外部到内部中改写数据包的目标地址进行目标 NATDNAT。这两个相对应的过程一并组成了 NAPT。 在改写包的过程中最关键的过程就是确定 eAddr 与 ePort。这也是不同 NAPT 实现的主要区别。 NAT 改变了报文中的 IP 地址。但是为什么我们平时上网时并没感觉到 NAT 的存在 在上文中的例子里多台内网设备共用同公网 IP。外部数据到达路由器后路由器应该将数据发送给哪个内网设备 NAPT 中的 P 即为 port端口号 我们使用的大部分软件例如网页浏览器都是客户端软件。客户端需要主动向服务器发起连接。 例如当我们访问少数派网站 sspai.com 后浏览器能够解析到网站的 IP 地址下文以 119.23.1.2 为例不代表网站真实 IP主动向该地址发起报文建立连接。由于浏览网页使用的 HTTPS 协议端口号为 443所以报文中的目的端口号填充为 443来源端口号是一个随机分配的值。 当少数派网站收到请求后则会向用户的浏览器发送网页数据1。发送的数据中来源端口号为 443目的端口号则为用户请求报文中的源端口号。 从下图中也可以看出回应报文的目的 IP就是请求报文的源 IP也就是用户电脑的 IP 地址回应报文的目的端口号就是请求报文中的源端口号也就是用户浏览器的端口号。这样少数派服务器的回应报文就能根据 IP 地址发送回用户电脑并根据端口号最终到达浏览器 那么如果用户的电脑是内网设备经过了 NAT使用浏览器访问少数派网站时又会是什么样的过程呢 首先浏览器同样会发送请求报文报文的源 IP 为电脑的内网 IP 此处以 192.168.1.126 为例。 当报文到达路由器后路由器将报文源 IP 修改为公网 IP1.1.1.10并分配一个新的源端口号。在这个过程中路由器会记录下源 IP 和源端口号在转换前后的对应关系形成 NAT 表项。 路由器将源 IP 和源端口号转换后的报文发送到服务器服务器回应的报文目的 IP 和目的端口端口号就是请求报文中的源 IP 和源端口号。这样报文就能根据目的 IP到达用户的路由器上。 路由器收到来自服务器的报文根据 NAT 表项将目的 IP 和目的端口号从外部 IP、外部端口转换为内部 IP、内部端口。这样报文就能顺利到达用户电脑的浏览器上。 从上面的例子中可以看出NAT 通过记录端口号、IP 地址的对应关系将出方向报文的源 IP、源端口号从内部地址转换为外部地址将入方向报文的目的 IP、目的端口号从外部地址转换为内部地址让内网设备也能正常访问 Internet。但如下两种情况是 NAT 难以做到的 内网设备做为服务器外部设备主动向内网设备发起连接使用 TCP、UDP 之外的、没有端口号的协议进行通信 由于我们日常上网使用的基本上都是 TCP 和 UDP 协议。而且自己的设备一般是做为客户端主动连接第三方服务器的。所以在日常上网的情况下我们一般不会感受到 NAT 的存在。 三、访问NAT下的内网设备的方式 NAT 缓解了 IP 地址资源不足的问题同时能使家庭中的多个设备共享同一条宽带同时上网。另外启用 NAT 后外部设备无法主动发起对内网设备的连接相当于起到了防火墙的作用保护了内网设备一定程度上提高了安全性。 NAT 通过「巧妙」的方式在内部地址和外部地址之间进行转换。大部分情况下我们感受不到 NAT 的存在。但仍有部分应用需要内网设备做为服务器被外部连接例如 远程访问家中的 NAS、监控摄像头eMule、BitTorrent 等 P2P 文件分享应用使自己的设备可供外部连接从而能够连接到更多分享者获取更快的下载、上传速度部分语音通话、视频会议应用通信双方直接连接获取更好的通话质量部分联机游戏不会经过第三方服务器需要玩家之间直接建立连接 对于这些应用如果设备位于 NAT 之内没有公网 IP就难以实现了。 那么在 NAT 环境下应该如何让内网设备做为服务器使内网设备被外部连接下文将介绍几种常见的方式。 3.1 多拨 部分运营商支持在多个设备上通过 PPPoE 登录同一个宽带账号。每个设备都能获取到一个独立的公网 IP。 如果想让游戏主机等设备获取独立的公网 IP供外部连接可以在光猫之后连接交换机。游戏主机连接交换机直接进行 PPPoE 拨号。无线路由器也连接交换机家中的其他网络设备经过无线路由器访问 Internet。 但是多拨的局限也很大 仅部分运营商支持多拨一些运营商已不再为用户分配公网 IP即使通过多拨也获取不到公网 IP越来越多的设备不再支持 PPPoE。例如 Xbox 360 支持 PPPoE但 Xbox One 之后的版本已不再支持设备直接获取公网 IP暴露在公网上安全性较差。可能需要单独设置防火墙需要额外购买交换机连接在光猫和路由器之间。会改变家庭网络拓扑操作比较复杂 所以这种方式不太常用。 3.2 端口转发、DMZ 上文中介绍的 NAT路由器会根据内网设备发出的报文自动形成 NAT 表项。实际上用户还可以在路由器上手动配置端口映射关系让内网设备可被外部访问。 其中DMZ 功能可以指定一台内网设备为 DMZ 主机。到达路由器上的报文如果没有匹配 NAT 表项就会转发到 DMZ 主机。从而使 DMZ 主机可被外部访问。 DMZ 功能能让一台内网设备上的所有端口都能被公网访问。但这样做也影响了内网设备的安全性如果没有特殊需要不建议打开这一功能。 而 端口转发 功能可以手动设置端口映射关系让指定内网设备的指定端口能够被公网访问。这种方式能够精确控制哪些设备的哪些端口可被公网访问。但需要用户具有一定的网络知识知道需要被公网访问的应用的端口号才能正确设置。 3.3 UPnP IGD、NAT-PMP 上文中的端口转发功能需要手动配置端口转发规则操作起来比较麻烦。而 UPnP IGD 和 NAT-PMP 协议则能实现自动配置端口转发规则。 UPnP IGD互联网网关设备协议和 NAT-PMPNAT 端口映射协议分别由微软和 Apple 提出功能类似都可以让应用程序告诉路由器需要打开的端口让路由器自动设置端口转发规则。 UPnP IGD 和 NAT-PMP 的工作需要应用程序和路由器的配合。首先需要在路由器上打开 UPnP 或 NAT-PMP 功能 3.4 服务器中转frp 内网穿透 上文中介绍了一系列使内网设备可被外部访问的方式。但这些方式或者需要用户手动配置或者路由器的支持或者需要运营商的支持…… 如果上述方式都不可用就要通过第三方服务器中转的方式让内网设备供外部访问。 这种方式虽然需要第三方服务器的参与浪费资源但成功率最高所以应用范围也很普遍。例如常见的游戏加速器就可以通过第三方服务器中转的方式为游戏主机提供更高的 NAT 类型网易UU加速盒 也有不少开源的反向代理工具可以搭建在自己的服务器上使内网服务可在公网访问如 frp、nps 服务器中转需要额外的服务器且需要消耗服务器上的流量。所以这种方式往往需要用户额外付费例如购买游戏加速器会员或者自行购买虚拟服务器并在服务器上搭建反向代理应用。 而对于微信语音、视频通话等应用默认也会使用其他 NAT 穿透技术来节省微信服务器的流量费用降低成本。当其他 NAT 穿透方式不可用时则采用服务器中转的方式保证能够正常通话。 3.4.1 NAT 打洞 如果两台设备都位于 NAT 路由器之后没有公网 IP。在没有第三方服务器的中转下是不是就没有办法直接进行通信了 答案并不是这样的。NAT 打洞就可以使两台内网设备能够直接通信不需要第三方服务器的中转、不需要对路由器进行特殊设置、也不需要运营商的配置。微信语音、腾讯会议、Skype 通信等消耗流量较大的应用都会利用 NAT 打洞实现内网设备间的直接通信。 这项技术听起来很神奇但是原理并不复杂 我们以 PC 1、PC 2 两台主机的通信为例。两台主机均位于 NAT 路由器之后各自的 IP 地址都是内网地址无法互相通信 在两台主机能够直接通信之前需要一台第三方服务器 PC 1、PC 2 首先需要给「第三方服务器」发送一个报文。经过 NAT 路由器后报文的源 IP 和源端口号被转换同时在路由器上形成 NAT 表项 报文到达「第三方服务器」后「第三方服务器」记录下 PC1、PC2 两侧报文的源 IP 和源端口号也就是 PC1、PC2 两侧的公网 IP 和外部端口号。然后「第三方服务器」将两台设备的公网 IP、外部端口号发送给对方。这样PC1、PC2 都能相互知道对方的公网 IP 和外部端口号 其中一部分路由器的 NAT 检查比较宽松。一旦 NAT 表项建立只要路由器上收到的报文目的 IP 和目的端口号能够匹配到 NAT 表项都会转发到表项对应的内网设备。对于这样的路由器PC 1、PC 2 互相用对方的公网 IP 与外部端口号就能直接通信了不再需要第三方服务器 另一部分路由器的 NAT 检查比较严格只有内网设备向指定的目的 IP、目的端口号发送过数据来自这个 IP 和端口号的报文才能转发到内网设备 对于这样的路由器PC 1、PC 2 两台主机需要同时向对方的公网 IP 和外部端口号发送一个报文。这样PC 1 侧的路由器认为 PC 1 向 PC 2 发送过数据PC 2 侧的路由器认为 PC 2 向 PC 1 发送过数据PC 1 和 PC 2 就能相互通信了。 经历了上述步骤NAT 打洞成功两台设备就可以不依赖第三方路由器直接进行通信。当然上述过程只是一个简化的描述不完全描述。如果想要进一步详细了解 NAT 打洞的过程建议参考文末的 RFC 文档链接。 可以看出NAT 打洞可以在无需路由器特殊配置、无需运营商配合的情况下实现两个内网设备的相互通信。另外对于多层 NAT 的网络环境例如运营商和家庭路由器各进行一级 NATNAT 打洞也能正常处理。 3.4.2 NAT 类型与打洞成功率 在一些路由器的设置页面或文档中我们会看到NAT 能设置成不同的类型例如 Full cone、Restricted cone、Port-Restricted cone、Symmetric。那么这些 NAT 类型有何区别 3.4.2.1 完全圆锥形 NATFull cone NAT 对于完全圆锥形 NAT内网 IP 和内网端口号被映射为外部 IP 和外部端口号。当路由器收到来自外部的报文时只要报文的目的 IP 和目的端口号匹配到 NAT 表项的外部 IP 和外部端口号都会转换为对应的内网 IP 和内网端口号转发到内网设备。 对于外部报文路由器并不关心报文的源 IP 和源端口号即报文来自谁只要收到匹配 NAT 表项的报文都能发送到内网设备。所以完全圆锥形 NAT 是最宽松的 NAT打洞最方便。 3.4.2.2 受限圆锥形 NATRestricted cone NAT 与完全圆锥形 NAT 相比受限圆锥形 NAT在内网设备向外发送报文时路由器除了生成 NAT 表项还会根据报文的目的 IP记录下内网设备正在与哪些外部设备通信。 这样只有内网设备先发送报文给外部设备外部设备回应的报文才会被转发到内网设备。而其他外部设备发送过来的报文即使匹配 NAT 表项也无法发送到内网设备。 这样的 NAT 安全性有一定的提高但是也提高了打洞难度。两台内网设备需要互相给对方发送一个报文才能打洞成功。 3.4.2.3 端口受限圆锥形 NATPort-Restricted cone NAT 端口受限圆锥形 NAT 和受限圆锥形 NAT 类似但增加了检查的严格程度受限圆锥形 NAT只会外部设备的 IP 地址来检查内网设备与哪些外部设备通信过。而端口受限圆锥形 NAT会同时根据 IP 地址和端口号来进行检查。 3.4.2.4 对称 NATSymmetric NAT 前面的三种圆锥形 NAT会根据内网设备发出去的报文的源 IP、源端口号两个信息建立 NAT 表项将内网 IP 和内网端口号映射到外部 IP 和外部端口号。内网设备发出去的报文无论目的 IP 和目的端口号如何变化不管发给哪台外部设备都会被映射为相同的外部 IP 和外部端口号。 而对称 NAT会同时根据内网设备出方向报文的源 IP、源端口号、目的 IP、目的端口号四个信息来建立 NAT 表项。如果报文的目的 IP、目的端口号发生了变化映射到的外部端口号也会发生改变。 对于对称 NAT我们再来回顾一下前文中 NAT 打洞的过程。内网设备首先和第三方服务器通信内网 IP 和内网端口号会被映射为一个外部 IP 和外部端口号。接下来内网设备和另一台设备通信相同的内网 IP 和内网端口号又会被映射为另外一个外部端口号。这样NAT 打洞就无法成功。 所以在对称 NAT 下很难进行 NAT 打洞。 3.4.3 NAT 打洞的应用 前文中已经提到语音通话、视频会议应用以及在线游戏都用到了 NAT 打洞。那么利用 NAT 打洞还能实现哪些有趣的应用 其实最常见的应用就是通过 NAT 打洞将多个设备组建一个虚拟局域网。例如在家中有 NAS且没有公网 IP 的情况下通过这些利用 NAT 打洞的工具仍然可以在离开家的时候用手机直接访问 NAS 上的文件。而且由于是直接通信不会因为第三方服务器中转而降低传输速度。https://www.zerotier.com/、https://tailscale.com/ 3.4.4 NAT 打洞的缺点 比起使用公网 IP 直接通信NAT 打洞仍存在不少缺点例如 NAT 打洞仍需第三方服务器的参与NAT 打洞无法 100% 成功尤其是对称 NAT更难打洞成功NAT 打洞的过程需要开发者对应用程序进行适配为了节省资源路由器上的 NAT 表项会超时删除。所以NAT 打洞后需要定期发送报文维持路由器上的 NAT 表项。否则需要重新打洞NAT 打洞的操作本身也增加了延迟NAT 打洞对 TCP 的支持不佳一般使用 UDP。但不少运营商会对 UDP 进行限速导致打洞后虽然设备间能直接通信但无法以较快的速率传输 为了保证安全性家用路由器、PC、NAS 等设备上一般都有防火墙功能。防火墙默认会阻止传入连接除非用户手动配置防火墙打开特定端口。所以即使 NAT 被淘汰类似 NAT 打洞的技术在 IPv6 时代仍会得到应用。 那么当 IPv6 普及NAT 消失Internet 是否会诞生新的有趣的应用家中的每个物联网设备都有了公网 IPv6 地址是否会有一些新的玩法是否会带来新的安全性问题随着国内大幅度推进 IPv6 的建设这些问题应该很快会有答案。 NAT介绍 NAT 应用介绍 42张图介绍 NAT
http://www.zqtcl.cn/news/934800/

相关文章:

  • 网站开发入哪个会计科目设计师自己的网站
  • php做网站界面代码定制网页设计报价
  • 重庆智能模板建站wordpress+widget+开发
  • vps网站空间时尚网站首页设计
  • 美容行业网站建设方案网站建设需求背景
  • 贵阳做网站找哪家好长沙部分风险区域调整
  • 设计网站 常用微信网站建设口碑好
  • 网站建设加盟列举网络推广的方式
  • 大连博硕网站建设dw做网站背景音乐
  • 江苏省建设执业网站北京做胃镜哪好德胜门网站I
  • 南京网站开发南京乐识好郑州宣传片制作多少钱
  • 昆明网站制作方案定制wordpress图片广告
  • 宜宾seo网站建设辽宁专业网站建设大全
  • 同一产品做多个网站网页打不开的解决方法
  • 手机建个人网站c 做网站开发实例
  • 做网站竞价没有点击率教你用模板做网站
  • 网站与域名南宁网络系统开发
  • 网站的域名做邮箱吗怎么建立一个网站让外国人浏览
  • 做建网站的工作一年赚几百万正安县网站seo优化排名
  • 简约手机网站源码深圳市龙华区民治街道
  • 买了个网站后怎么做三明网站优化
  • 表白网页制作免费网站制作西安网站快速优化
  • 如何破解网站后台管理做网站前端用什么软件好
  • 网站建设业务客户来源建德建设局官方网站
  • 网站设计 网站开发 优化网页设计一般尺寸
  • 好的版式设计网站网站建设商标属于哪个类别
  • 做淘宝素材网站哪个好用中国广告公司100强
  • 海拉尔网站建设平台wordpress的插件下载地址
  • 企业服务类网站常用python编程软件
  • 有哪些漫画做的好的网站西安seo建站