连接到交换机(连接到路由器)的计算机如何访问互联网?

网络工程 转变 路由器 互联网
2021-07-05 16:15:43

好的,

所以我目前正试图理解这个确切的问题。我知道交换机在 2 级运行,因此使用 MAC 地址进行通信。假设交换机连接到路由器并且路由器可以上网,并且有两台计算机连接到交换机A和B。

一季度。如果 A 想连接到互联网,比如说连接到谷歌,它是如何做到的?它是否只是查看其 ARP 缓存并发现它不知道在哪里可以找到 google,因此查找默认网关(路由器)的 MAC 地址并将此帧转发到路由器上?如果是这种情况,IP地址是从哪里来的,那么路由器会做什么?

Q2。A 和 B 是否有分配给它的 IP 地址?如果是这样,这是如何发生的?我的理解是路由器有DHCP,但是它怎么知道需要给A和B分配两个IP地址呢?另外,由于交换机是 2 级,它如何处理 IP 地址?

我希望有人能帮助澄清我的困惑。

提前致谢。

3个回答

首先,它是第 2 层,而不是第 2 层。OSI 模型指定了七层。第 2 层是数据链路层。

第 2 层地址,例如 MAC 地址,用于第 2 层帧报头,以将第 2 层帧从 LAN 上的一台主机发送到同一 LAN 上的另一台主机。

第 3 层地址,例如 IPv4 地址,用于第 3 层数据包报头,以获取从源网络到目的网络的第 3 层数据包。路由器(第 3 层设备)将在其路由表中查找第 3 层数据包的目标第 3 层地址,以确定将第 3 层数据包转发到目标第 3 层地址的位置。

一季度。如果 A 想连接到互联网,比如说连接到谷歌,它是如何做到的?它是否只是查看其 ARP 缓存并发现它不知道在哪里可以找到 google,因此查找默认网关(路由器)的 MAC 地址并将此帧转发到路由器上?如果是这种情况,IP地址是从哪里来的,那么路由器会做什么?

源主机将其第 3 层网络与目标地址的第 3 层网络进行比较。如果三层目的地址与源主机的三层地址在同一个网络中,则使用的二层目的地址就是目的主机的地址。如果第 3 层目标地址与源主机的第 3 层地址位于不同的网络上,则源主机将使用其配置的网关(路由器)的第 2 层地址。源主机将使用类似ARP(地址解析协议)来解决的第3层的目的地址,或第3层网关地址,向第2层的目的地址,并且将建立的第2层帧以封装层-3 带有第 2 层目标地址的数据包。

接收到第 2 层帧的路由器将从第 3 层数据包中剥离第 2 层帧。路由器将在其路由表中查找目标第 3 层地址。如果路由器找不到与目的网络匹配的数据包,它将丢弃第 3 层数据包,否则路由表将告诉路由器将第 3 层数据包转发到何处。路由器将为它将用于转发数据包的接口构建一个新的第 2 层帧。

Q2。A 和 B 是否有分配给它的 IP 地址?如果是这样,这是如何发生的?我的理解是路由器有DHCP,但是它怎么知道需要给A和B分配两个IP地址呢?另外,由于交换机是 2 级,它如何处理 IP 地址?

源主机和目标主机可能会有一些第 3 层地址。如果路径通过 Internet,则地址将是 IPv4 或 IPv6 地址。(IP 代表 Internet 协议。)

第 3 层地址可以通过在主机上手动配置或通过一些自动化过程(IPv4 的 DHCP、DHCPv6、SLAAC 或 IPv6 的随机寻址等)分配给主机。如何选择第 3 层地址取决于使用的分配第 3 层地址的方法。

交换机是第 2 层设备,它不知道或不关心使用的是什么第 3 层协议或寻址。交换机只看二层帧;它不会像路由器那样剥离第 2 层帧来检查第 3 层数据包。

插入电脑并访问谷歌是一个令人惊讶的复杂过程。这个答案试图解释基本过程,而不会太详细。

当您将计算机插入网络时,它使用一种称为 DHCP 的协议为自己请求 IP 配置。此配置将包括 IP 地址、子网掩码、默认网关和 DNS 服务器。

DHCP 请求作为广播发送到本地以太网上的所有系统,并由 DHCP 服务器应答。在典型的家庭或小型企业环境中,DHCP 服务器将在路由器上运行。交换机(通常)不知道或不关心 DHCP,它只是传递请求和响应。

当您访问 google.com 时,您的浏览器会要求操作系统将 google.com 转换为 IP 地址。操作系统生成 DNS 请求并将其排队以发送到 DNS 服务器地址。

然后它在它的路由表中查找 DNS 服务器的地址。确定“下一跳IP地址”和接口。默认情况下,如果目标位于本地子网上,则下一跳 IP 地址将与目标 IP 地址相同。否则,下一跳 IP 地址将是默认网关。

那是ARP第一次发挥作用的时候。“下一跳 IP 地址”必须转换为 MAC 地址。计算机将查看它的 ARP 表,如果它找到了一个条目,那就太好了,否则它会发出一个 ARP 请求来尝试定位与下一跳 IP 地址相对应的 MAC 地址。

接下来会发生什么取决于配置。也许路由器将数据包路由到 Internet 上的 DNS 服务器,也许它执行 NAT,也许路由器有本地 DNS 服务器。

无论哪种方式,路由器最终都会收到一个发往您的客户端机器的 DNS 回复。它会在它的路由表中查找你机器的 IP 地址,并确定它在本地网络上。然后它会在它的 ARP 表中查找它,以便它可以将它发送到您的机器。

您的计算机收到 DNS 回复。所以它有一个 google.com 的 IP 地址,可以尝试连接到它。连接过程从发送 TCP 同步数据包开始。

再次在路由表和 arp 表中查找目标 IP 地址,并将数据包发送到路由器。在典型的家庭/小型企业设置中,路由器将执行网络地址转换,因此数据包似乎来自路由器并将数据包发送到互联网。

当回复到达时,路由器将反转任何网络地址转换并将数据包发送回您的主机。它再次使用它的 arp 表来查找主机的 MAC 地址。

开关在很大程度上对所有这些一无所知。它只是使用源 MAC 地址来构建一个将 MAC 地址映射到端口的表。如果它知道目标 MAC 地址在哪个端口后面,它就会将数据包发送到那里,否则它会将它泛滥到任何地方。

这是互联网,而不是互联网(大写 I)。互联网协议,IP,是(不是)秘密武器。以太网和 WiFi 等链路层协议支持通信链路,但 IP 等网络层协议允许网络互连、流量/通信在多个链路上传递。

IP基本上是一些开源软件。