wiki:网络技术
差别
这里会显示出您选择的修订版和当前版本之间的差别。
wiki:网络技术 [2024/04/17 11:02] – 创建 math | wiki:网络技术 [2024/04/20 06:14] (当前版本) – [数据封装] math | ||
---|---|---|---|
行 93: | 行 93: | ||
数据包在数据链路层添加了目标MAC地址、源地址和帧校验序列(FCS),称为数据帧。 | 数据包在数据链路层添加了目标MAC地址、源地址和帧校验序列(FCS),称为数据帧。 | ||
+ | |||
+ | ====== 中间件 ====== | ||
+ | |||
+ | ---- | ||
+ | |||
+ | 在当代的互联网架构中,中间件的存在,如[[网络地址转换器]](NAT)和[[防火墙]],已经成为了网络通信的常见景象。 | ||
+ | |||
+ | 它们在实现网络安全和有效管理公网地址资源方面发挥着重要作用。 | ||
+ | |||
+ | 然而,这也意味着不同内网之间的客户端往往无法实现直接对话,由于中间件的干预,网络通信变得更为复杂。 | ||
+ | |||
+ | 即便是在IPv6时代,这个问题依然存在。 | ||
+ | |||
+ | 尽管IPv6由于其庞大的地址空间,使得NAT不再是必须的,但是其他形式的中间件,如防火墙,仍然可能妨碍连接的建立。 | ||
+ | |||
+ | 它们通过筛选和管理跨其边界的数据流,确保网络的安全性和规范性,但同时也限制了通信的流畅性。 | ||
+ | |||
+ | 大多数现有的中间件是在客户端/ | ||
+ | |||
+ | 在这种模式下,客户端(通常隐藏在网络的深处,没有固定的公网IP地址)会主动向服务端(拥有固定的公网IP地址和DNS名称)发起连接请求。 | ||
+ | |||
+ | 这表现为一种非对称的通信模型,即内网用户可以相对自由地发起对外部网络的连接,而外部网络的用户却无法直接访问内网的设备,除非进行了中间件的特殊配置。 | ||
+ | |||
+ | 特别地,在有NAT端口地址转换(NAPT)的场景中,内网用户没有独立的公网IP,而是通过NAPT的地址和端口转换,与内网中的其他用户共享一个公网IP地址。 | ||
+ | |||
+ | 对于一些客户端应用来说,如网页浏览器,这种模式并不构成问题,甚至可以在一定程度上增强用户隐私保护,因为它们只需要发起外向的连接请求。 | ||
+ | |||
+ | 但是,在点对点(P2P)的应用场景中,情况则大为不同。 | ||
+ | |||
+ | P2P应用要求内网中的主机(客户端)能够直接与其他终端(Peer)建立连接。 | ||
+ | |||
+ | 这在两个终端都位于各自中间件之后的情况下尤其复杂,因为它们都没有自己的公网IP地址。 | ||
+ | |||
+ | 这种情况下,任何从外部发起的连接尝试或数据传输,如果没有在内网中提前进行请求,都有可能被NAT设备直接丢弃。 | ||
+ | |||
+ | [[P2P通信技术]]是一种可以在有NAT的情况下,实现内网主机之间直接通信的策略和技术。 |
wiki/网络技术.1713322951.txt.gz · 最后更改: 2024/04/17 11:02 由 math