计算机网络若干疑问

 1. (基于 OSI 模型)位于局域网 A 中的计算机 C 如何路由到位于局域网 B 中的计算机 D

准备发送数据

  1. 数据封装:计算机 C 有数据需要发送给计算机 D。这个数据首先在应用层被创建,然后通过 OSI 模型的各层被封装,最终在网络层被打包成IP数据包。

从局域网 A 出发

  1. NAT转换(局域网A):计算机 C 的数据包到达局域网 A 的边缘路由器。这个路由器运行 NAT 协议,将数据包的源 IP 地址(计算机 C 的私有 IP 地址)转换为路由器的公网 IP 地址。同时,如果有必要(基于源端口号或其他标识),它还会改变源端口号。

  2. 通过互联网传输:转换后的数据包通过互联网根据目的地的公网IP地址进行路由。

到达局域网 B

数据包到达局域网 B 的边缘路由器。这个路由器也运行 NAT 协议,并且必须决定如何将数据包路由到内部的计算机 D。

  1. 端口转发:如果计算机 D 是通过端口转发规则来接收特定服务的数据包(例如 HTTP 服务),那么路由器会根据预设的端口转发规则将数据包的目的 IP 地址和端口号从公网 IP 地址转换为计算机 D 的私有 IP 地址和端口号。

  2. 特殊场景处理:如果局域网 B 内有多个设备监听相同的端口,必须有明确的规则或配置(如不同的外部端口映射、使用负载均衡器或反向代理服务器等),以确保数据包能够正确地路由到计算机D。

使用MAC地址在局域网 B 内路由

  1. ARP查询:为了在局域网 B 内将数据包最终传输给计算机 D,路由器需要知道计算机 D 的 MAC 地址。如果路由器不知道计算机 D 的 MAC 地址,它会在局域网B内广播ARP(地址解析协议)请求,询问哪台设备拥有计算机D的IP地址。

  2. 计算机 D 响应 ARP 请求:计算机 D 收到 ARP 请求,回应其 MAC 地址。

  3. 路由器使用 MAC 地址发送数据包:路由器现在知道了计算机 D 的 MAC 地址,将 IP 数据包封装在一个以计算机 D 的 MAC 地址为目的地的以太网帧中,通过局域网 B 发送给计算机 D。

数据包接收

  1. 局域网 B 内的传输:根据NAT设备的转换和端口转发规则,数据包被送往计算机 D。计算机 D 接收到数据包,进行解封装,最终在应用层处理数据。

通信的回应

  1. 回应的路由:计算机D发送回应时,数据包会经历类似的过程——首先经过局域网B的NAT转换,然后通过互联网路由回局域网A,最后通过局域网A的NAT设备转换回原始的私有IP地址和端口号,以便计算机C能够识别和处理回应。

这个过程涉及多个技术和配置步骤,包括IP地址的封装与转换、NAT和端口转发的配置、以及可能的特殊网络设施(如负载均衡器)的使用。在整个通信过程中,NAT的作用是至关重要的,它不仅使得处在私有IP地址下的设备能够与互联网上的其他设备通信,还解决了IP地址短缺的问题。然而,正确配置NAT和相关的网络设施,以确保数据包能够顺利、准确地到达目的地,是实现这一通信过程的关键。

当局域网内有多个设备监听同一个端口时,NAT 设备无法仅通过端口号来决定应该将数据包路由到哪个设备

  1. 不同的外部端口:为每个设备设置不同的外部端口转发规则。例如,如果有两台设备都监听端口 80,你可以配置 NAT 设备将外部端口 8080 的流量转发到第一台设备的 80 端口,将外部端口 8081 的流量转发到第二台设备的 80 端口。这要求外部请求指定正确的端口号。

  2. 使用专用的中间设备:部署一个反向代理服务器或负载均衡器在局域网内或云基础设施中,作为所有进入特定服务的流量的入口点。这个中间设备可以根据一定的规则(如轮询、最少连接、源 IP 散列等)将流量分发到多个后端服务器上。这种方式在企业和大型网站的架构中比较常见。

  3. 动态 DNS 和虚拟私人网络(VPN):在某些情况下,可能使用动态 DNS 服务配合虚拟私人网络来实现更复杂的网络设置,从而允许外部用户通过 VPN 连接到局域网内,这样他们就可以直接访问局域网内的设备,就好像他们也在同一个局域网内一样。

  4. 应用层网关(Application Layer Gateway, ALG):某些 NAT 设备支持应用层网关功能,可以识别特定应用协议(如 FTP、SIP)的数据包,并动态为这些协议打开必要的端口,以便于支持多个设备或服务。这需要 NAT 设备深入到应用层数据包内容的识别。

 2. 设备、功能与工作层级

  1. 转发器(Repeater)

    • 工作层级:物理层
    • 功能:接收信号,并在其衰减前放大信号进行转发,以延长信号传输距离。
  2. 集线器(Hub)

    • 工作层级:物理层
    • 功能:将接收到的信号广播给所有其他端口,不区分数据的目的地,不能有效隔离网络流量,可用在物理层扩展以太网。
  3. 网卡(Network Interface Card, NIC)或适配器(Adapter)

    • 工作层级:物理层和数据链路层(第1层和第2层),是主机和网络的接口,计算机的 MAC 地址就是固化在适配器中的 ROM 中,计算机和外界局域网进行连接时,就是通过适配器进行的。
    • 物理层,网卡负责将数字数据转换为电信号或无线信号,并通过网络媒介发送出去;同时,它也将接收到的信号转换回数字数据供计算机处理。
    • 数据链路层,网卡处理帧的封装和解封装,实现MAC(媒体访问控制)地址寻址,并执行错误检测和更正等功能。
  • 25
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值