寻找一些好的video lectures / book / articles
,以简单的方式解释数据包在互联网中究竟是如何移动的。搜索了网络,但找不到一个好的。想知道数据包是如何移动的,MAC 地址的重要性,IP 和 MAC 地址是如何关联的。寻找一个循序渐进的指南。类似的东西从启动到 Bash 提示符
答案1
我写了IPv4 子网划分和路由在之前的帖子中。我在那里没有谈论第 2 层/第 3 层交互,因此,由于我被困在医院里等待朋友的孩子出生,所以我将在这里稍微阐述一下。
IP 是一种第 3 层协议,当 IP 数据报被放到物理(第 1 层)介质上时,它会被封装到第 2 层协议中。地址解析协议 (ARP) 有助于促进第 2 层通信,以封装主机之间的第 3 层流量。(除 IP 之外的其他第 3 层协议和除以太网之外的其他第 2 层协议都可以使用 ARP,但在本例中,我坚持使用以太网上的 IP。)
举个简单的例子,假设两台主机的 IP 地址和子网掩码配置为位于同一子网中。这些主机连接到同一个以太网广播域。这些主机可以通过以太网广播进行通信,但是这会导致广播介质的利用效率低下(交换机将帧泛洪到所有目的地,这也有一点安全风险,尽管依赖以太网交换机不转发单播流量作为安全机制是可笑的)。以太网介质的最有效利用方式是每台主机通过发往另一台主机的单播媒体访问控制 (MAC) 地址的数据包与另一台主机进行通信。ARP 允许主机“学习”彼此的 MAC 地址以促进这种单播通信。
- 主机 A:IP 地址 10.0.0.1/24,MAC 地址 00:01:de:ad:be:ef
- 主机 B:IP 地址 10.0.0.2/24,MAC 地址 00:01:0b:ad:f0:0d
主机 A 有一个数据报要传送给主机 B。主机 A 查阅其先前学习的 MAC 到 IP 地址映射的缓存(称为ARP 缓存),并且未找到与数据报的目标地址 (10.0.0.2) 匹配的条目。主机 A 传输一个 ARP 数据包,该数据包的地址为以太网广播目标地址 (ff:ff:ff:ff:ff:ff),本质上是在“询问”“谁分配了 IP 地址 10.0.0.2?”。由于这是一个广播数据包,因此以太网交换机会将此帧泛洪到所有目标。
主机 B 收到此数据包后,检测到自己的 IP 地址位于此广播 ARP 数据包(“问题”)的“目标协议地址”字段中,于是便用一个 ARP 数据包进行响应,该数据包的地址为主机 A 的 MAC 地址(主机 B 从主机 A 的 MAC 地址发送的广播 ARP 请求中“获知”该地址),并在 ARP 数据包的“目标硬件地址”字段中替换自己的 MAC 地址。
主机 A 收到来自主机 B 的 ARP 响应。利用响应中包含的信息,主机 A 便有足够的知识将 IP 数据报(封装到以太网帧中)寻址到主机 B 的 MAC 地址。这会导致从主机 A 到主机 B 的单播流量。
为了避免每个数据报都需要进行 ARP 交换,每个主机都会在一段时间内维护一个 IP 到 MAC 映射的缓存,这些映射是它“学习”的。缓存通常有一个最大可能大小,映射过期会阻止表填满。映射过期还允许主机与不同的 MAC 地址进行通信(可能是由于更换网络接口卡或其他原因)。典型的 ARP 缓存过期时间范围从不到一分钟到几分钟。
对于由路由器分隔的主机,ARP 过程与上述过程相同,只是它发生在发送主机和它将向其发送数据包以进行最终交付的路由器之间。通常,主机会为其默认网关执行 ARP(因为大多数主机没有配置多个静态路由,而是只配置了一个到默认网关的路由器)。一旦主机拥有其默认网关的 IP 到 MAC 映射,发往其他子网主机的 IP 数据报将被封装在以太网帧中,该帧的地址为默认网关路由器的 MAC 地址。
答案2
Juniper 有一些很棒的入门教程,讲解了 OSI(分层)网络模型的基础知识。这些教程旨在帮助您入门并获得 JNCIA 认证,但它们确实很棒。它们是音频/图形驱动的。您可能需要在他们的支持网站上创建一个帐户,但这是免费的。
答案3
麻省理工学院有很多关于这个主题的免费讲座,从教学角度来看应该是合理的。例如
- 网络
- 数据通信网络
- 计算机网络
有些答案有些过时,但过去十年里技术并没有发生本质变化,所以你提出的问题的答案仍然是一样的。以下是计算机科学索引如果你想亲自看看还有什么。
答案4
嗯,有不错的,但那些要花钱,而且要花时间阅读/观看和理解。《网络勇士》有点有趣,但我不会说它很深入。
我看了看网络至上它涵盖了您正在谈论的很多内容以及很多您可以跳过的其他内容。