NAT 和 LAN 网络
NAT and LAN networking
我对 LAN 网络有点困惑,所以我希望有人能回答我几个理论问题:
假设我家里有一个小局域网。我正在编写一个简单的程序,它将 'Hello world' 字符串发送到用户提供的 IP。现在,用户既可以发送到全球网络,也可以发送到 LAN 成员。
我的问题是:
在幕后,在何处以及由谁将发往外界的数据包与发往 LAN 的数据包分开?
NAT:我们仍在使用该程序。用户只是向外界发送了一个数据包,由具有 NAT 路由技术的路由器处理。当数据包在到达目的地的途中时,路由器中的 NAT table 会重置。来自目的地的回复数据包到达路由器后会发生什么?
提前致谢,
伊丹
- 网卡根据您的 IP 配置进行分离。
您的 IP 配置包括:
- IP 地址,例如 192.168.1.1
- 掩码例如 255.255.255.0
- 一个网关,例如 192.168.1.2
网卡从IP地址和掩码推断出你局域网的地址范围(如192.168.1.0到192.168.1.255),如果目的地址在地址范围内,网卡直接发送数据包到目标机器。如果目标地址在范围之外,则将数据包发送到网关。网关(基本上是您的路由器)将转发数据包,最终使用 NAT。
- 如果 NAT table 已被重置,路由器无法知道传入数据包是发往哪台机器,它很可能会丢弃它。
如果packet/message发送到同一个subnet/vlan上的主机,那么它将直接发送到主机,因为它在一个希望距离(在第3层) 来自原始主机,这就是为什么不包括路由器的原因(但是,在幕后,如果中间有开关,它可能在第 2 层中有很多希望。主机具有包含 MAC 地址的 ARP table并且交换机具有"Mac Address Table",它将数据包从交换机端口转发到另一个端口,直到它到达第二个主机而不通过路由器)。
如果路由器中的NATtable重置,显然无法追溯收到的数据包属于谁,它们将被丢弃。
我对 LAN 网络有点困惑,所以我希望有人能回答我几个理论问题:
假设我家里有一个小局域网。我正在编写一个简单的程序,它将 'Hello world' 字符串发送到用户提供的 IP。现在,用户既可以发送到全球网络,也可以发送到 LAN 成员。 我的问题是:
在幕后,在何处以及由谁将发往外界的数据包与发往 LAN 的数据包分开?
NAT:我们仍在使用该程序。用户只是向外界发送了一个数据包,由具有 NAT 路由技术的路由器处理。当数据包在到达目的地的途中时,路由器中的 NAT table 会重置。来自目的地的回复数据包到达路由器后会发生什么?
提前致谢, 伊丹
- 网卡根据您的 IP 配置进行分离。
您的 IP 配置包括:
- IP 地址,例如 192.168.1.1
- 掩码例如 255.255.255.0
- 一个网关,例如 192.168.1.2
网卡从IP地址和掩码推断出你局域网的地址范围(如192.168.1.0到192.168.1.255),如果目的地址在地址范围内,网卡直接发送数据包到目标机器。如果目标地址在范围之外,则将数据包发送到网关。网关(基本上是您的路由器)将转发数据包,最终使用 NAT。
- 如果 NAT table 已被重置,路由器无法知道传入数据包是发往哪台机器,它很可能会丢弃它。
如果packet/message发送到同一个subnet/vlan上的主机,那么它将直接发送到主机,因为它在一个希望距离(在第3层) 来自原始主机,这就是为什么不包括路由器的原因(但是,在幕后,如果中间有开关,它可能在第 2 层中有很多希望。主机具有包含 MAC 地址的 ARP table并且交换机具有"Mac Address Table",它将数据包从交换机端口转发到另一个端口,直到它到达第二个主机而不通过路由器)。
如果路由器中的NATtable重置,显然无法追溯收到的数据包属于谁,它们将被丢弃。