互联网是许多不同元素的迷人组合,它们独特发明了一个世界范畴的网络,容许数十亿不同的设施进行通信。在本文中,咱们将看看互联网的一些要害参与者,以及每个参与者为实现网络通信而施展的作用。
此列表远非详尽无遗,但将涵盖你须要相熟的次要“角色和工作人员”,以便理解数据包如何通过互联网传输。
主机
主机 这个术语是一个通用术语,示意互联网上的任何类型的终端设备。任何可能是流量的原始发起者或流量的最终目的地的设施都能够被视为主机。
传统的例子是你的电脑或笔记本电脑。但在这个古代社会,还有很多:手机、智能电视、智能手表、某些汽车,甚至一些冰箱!
主机运行软件和应用程序,供终端用户互动,它们在某些时候也须要把比特放在电线上。因而,也就是说主机工作在 OSI 模型的所有七层中。
在典型的互联网通信或网络流量中,通信中的两个主机通常被标记为客户端或服务器。
客户端是发动申请的实体 ,并心愿获取一条信息或数据或服务。而 服务器是接管申请的实体,领有客户端想要的信息、数据或服务。
应该留神的是,这些术语是绝对于特定类型的通信而言的。
例如,当你的笔记本电脑浏览网页时,你的笔记本电脑充当客户端,而 Web 服务器充当服务器。然而,当同一个 Web 服务器随后下载软件更新时,它当初充当客户端并与更新服务器通信。
网络
网络就是两个或多个连贯的设施——通常按类似的用处或物理地位组合在一起。网络能够采纳多种不同的模式,例如:
- 教室里的一组 PC 都在同一个物理空间中,都属于一个网络。
- 任何典型的家庭网络都将包含多台笔记本电脑、移动电话或打印机,它们都绑定到同一个物理地址。因而,都属于同一个网络。
- 有 WiFi 的咖啡店将容许他们的每个客户连贯到同一个 WiFi 网络。
- 一家大公司可能会应用多个网络,通常按工作角色将它们离开。例如,一个网络供所有会计师应用,另一个网络供所有工程师应用。
依据每个网络的用处,其中的设施将与同一网络中的其余设施或不同网络中的其余设施进行通信。
在本系列文章的其余部分中探讨的任何要害参与者相互连接时,你就领有了一个网络。事实上,整个互联网只不过是一系列相互连接的网络。
交换机
交换机 是一种网络设备,其 次要目标是用于网络内的通信。
交换机工作在 OSI 模型的 L2,这意味着它们只查看每个数据报的 L2 报文头。 L2 报文头蕴含实现一跳到另一跳传递的信息,例如 源和指标 MAC 地址。
交换机通过保护所谓的 MAC 地址表 来实现这项工作。这个表映射了插入到每个交换机端口的设施的 MAC 地址。典型的交换机有许多端口,从 24 到 48,96 个,甚至更多。
MAC 地址表是通过查看任何 接管到的帧的源 MAC 地址 字段来填充的。
为了转发帧,交换机将 在 MAC 地址表中查找指标 MAC 地址以确定要应用的端口。
如果交换机遇到一个帧,但并不知道指标 MAC 地址的地位,它会简略地复制该帧并将其从每个交换机端口(除了接管它的端口)收回。这个过程将在本系列的另一篇文章中更具体的探讨。
路由器
路由器 是一种网络设备,其 次要目标是用于网络之间的通信。路由器上的每个接口都会创立一个网络边界。
路由器工作在 OSI 模型的 L3,这意味着它们只能查看每个数据报的 L3 报文头。L3 报文头蕴含实现端到端传递的信息,例如 源和指标 IP 地址。
在上图中,请留神左侧的路由器 (R1) 和右侧的路由器 (R2) 创立了三个独立的网络(11.11.11.x、22.22.22.x 和 33.33.33.x)。R1 的右接口和 R2 的左接口都在同一网络上。
11.11.11.x 网络中的客户端与 33.33.33.x 网络中的服务器通信的惟一办法是将数据包转发到 R1,R1 将顺次将数据包转发到 R2,而后 R2 最终将数据包转发到服务器。
路由器通过保护所谓的 路由表 来实现这项工作。这个表蕴含路由器所有晓得的如何达到网络的门路。这些门路有时称为 路由 ,每个条目都蕴含一个 IP 网络,以及通往指标门路的 下一个路由器的接口 或 IP 地址。
路由器能够通过多种形式理解网络并填充其路由表。咱们将在本系列前面的文章中介绍其中的一些办法。
请记住,从每个路由器的角度来看,路由表是存在的每个网络的映射。如果路由器接管到一个发往它不晓得的网络的数据包,那么就该路由器而言,该网络肯定不存在。因而,当路由器收到发往不在其路由表中的网络的数据包时,该数据包将被抛弃。
地址解析协定(ARP)
后面咱们探讨了 MAC 地址在 L2 寻址计划。咱们还探讨了 IP 地址在 L3 寻址计划。
连贯这两种寻址计划的是 地址解析协定 (ARP)。
通常,当两台主机进行通信时,它们曾经晓得彼此的 IP 地址。他们能够通过多种办法晓得彼此的 IP 地址:有时由用户手动提供,有时由其余协定(通常是 DNS)提供。但理论采纳的办法无关紧要(至多与本系列文章无关)。
然而,相对不晓得它们的 MAC 地址。主机将应用 ARP 来发现适当的 MAC 地址。换句话说,ARP 将应用已知的 IP 地址,并发现 未知的 MAC 地址。而后将发现的映射增加并存储在 ARP 表中,ARP 表是 IP 地址到相干 MAC 地址的映射。
咱们将应用上面的图示来形容 L2 和 L3 如何桥接在一起,以及 ARP 在此过程中的作用:
在上图中,共有三个网络:紫色网络、灰色网络和红色网络。咱们将应用此图来阐明 ARP 的两个实例:首先,一台主机与同一网络中的另一台主机通信(从客户端到紫色服务器)。其次,主机与不同网络中的另一台主机通信(客户端到红色服务器)。
当客户端须要与紫色服务器通信时,它晓得紫色服务器的 IP 地址,并由此确定紫色服务器存在于本地网络中。当客户端尝试与同一网络中的主机通信时,客户端会收回一个 ARP 申请,要求提供主机的 MAC 地址。
ARP 将容许客户端按如下形式填充 L2 报文头,如下所示:
当客户端须要与红色服务器通信时,它晓得红色服务器的 IP 地址,从而晓得红色服务器存在于内部网络中。因而,数据包必须传送到最近的路由器——也称为默认网关。
客户机通常曾经配置了一个默认网关,咱们能够从图中看出这个网关是 R1。当客户端试图与内部网络中的主机通信时,客户端会收回一个 ARP 申请,要求提供 默认网关 的 MAC 地址。
这将容许客户端按如下形式填充 L3 和 L2 报文头:
总结一下 ARP 的操作:
- 当客户端与同一网络中的主机通信时,它将发送 ARP 申请主机的 MAC 地址
- 当客户端与不同网络中的主机通信时,它将发送 ARP 申请默认网关的 MAC 地址
请记住,数据包传递始终是 L2 的工作,L2 的次要指标是从一跳到另一跳获取数据包。相同,与端到端交付无关的 L3 无奈将数据包放在线路上并将其发送到另一个主机的网卡(NIC)。ARP 的作用是帮忙客户端依据 L3 报文头创立正确的 L2 报文头,以便将数据包从一跳传送到下一跳。
还应该留神的是,任何打算依据 IP 地址 (L3) 转发数据包的设施还必须可能将数据包传送到下一跳 (L2)。因而,任何应用 IP 地址的设施也必须应用 ARP 来传送应用 MAC 地址的数据包。因而,所有L3 设施都必须保护一个 ARP 表。
无关 ARP 的另一种解释和视频模式的地址解析过程的阐明,请单击此处。
总结
这篇文章和之前的文章涵盖了许多主题,这些主题在整本书都写过。这是无意为之的,以便本系列的下几篇文章能够将所有内容整合在一起(并且比本文更深刻一些)。但在持续之前,理解这两篇文章至关重要。
在本文中,咱们探讨了 OSI 模型不同层的次要目标。具体来说:
- OSI 的 L1 是通过线路承载 1 和 0 的 物理介质
- OSI 的 L2 负责 跳到跳 的传递并应用 MAC 地址
- OSI 的 L3 负责 端到端 的传递并应用 IP 地址
- OSI 的 L4 负责 服务到服务 的传递并应用 端口号
咱们还探讨了通过互联网传输数据包的一些要害参与者:
- 交换机促成 网络内 的通信并在 L2 运行
- 路由器促成 网络之间 的通信并在 L3 运行
- ARP 应用 已知 IP 地址 解析 未知 MAC 地址
咱们还探讨了用于存储不同映射的三个不同表:
- 交换机 应用 MAC 地址表 ,它是 交换机端口 到连贯的 MAC 地址 的映射
- 路由器 应用 路由表 ,它是 已知网络 到接口或下一跳地址 的映射
- 所有 L3 设施都 应用 ARP 表 ,该表是 IP 地址 到 MAC 地址 的映射
如果上述任何要点不分明,请思考从新浏览本文或上一篇,而后再持续浏览本系列的下一篇文章。
翻译
Key Players