networking - IP 数据包如何沿着“树”向下遍历?
问题描述
IP 数据包占用网络“树”的路径对我来说非常清楚(或者我认为):
我在正确的网络中吗?
- 否:转发到网关地址。
- 是:前往最终目的地地址。
我还在吗?
- 否:重复第一步。
- 是的:完成!
这只是真正考虑上网络的原因。我不知道如何协调这与恢复,比如说通过互联网通过两台个人计算机之间的所有网关。我知道 NAT,因此网关可以接收发送给它的数据包,并将其转发到其网络上的设备,但这肯定不是全部 - 例如,如果没有 NAT(可能是 IPv6)怎么办?
看起来路由器需要表格来将数据包引导到正确的分支(替代目的地而不是另一个网关),并且顶级互联网路由器需要巨大的表格来可靠地路由数据包。
解决方案
在大多数情况下,您有巨大的路由表来帮助将数据包从源路由到目的地。
我不太确定您所说的“下树”是什么意思,但归根结底,您家中的私有路由器会从您的 ISP 获得一个唯一的 IP 地址。
您的路由器可能没有针对发往 Facebook 服务器的数据包的特定路由,但它也有一个默认网关。
这意味着您将继续通过默认网关,直到您的数据包到达一个知道数据包目标 IP 的特定路由器的路由器。
当数据包(比如来自 facebook 服务器)返回时,目的地将是您路由器的唯一 IPv4 地址(或 IPv6,但我们将关注 4)。
它将再次通过所有默认网关,直到到达某个知道如何处理目标 IP 的路由器。
为了帮助进行路由,每个国家/组织几乎没有预定义的规则/地址范围,这有助于通过 Internet 将数据包路由到/来自它们。
顺便说一句,在同一组织之间。很多时候他们使用隧道——我建议继续阅读,因为它可以帮助你更好地理解这个主题。
推荐阅读
- android - 使用 MainActivity 中的 ListView 对象实例化自定义活动类
- ruby-on-rails - ActiveRecord less_than_or_equal_to 等值验证错误
- mpi - 使用安装在计算节点上的 mpirun 和 PBS
- cakephp - CakePHP 3.7.5 将字段的数据检索到控制器中
- php - 如何在隐式模型绑定上添加 where 子句?
- javascript - 导航菜单“活动”状态不起作用
- python - 从字典中提取值列表
- javascript - 如何显示搜索结果
- c# - C#编译失败表达式太长或编译复杂
- html - 针对表单中的最后一个表单字段,然后是一些