多部分:TCP、UDP、SSL 和数据管道

网络工程 路由 通讯协议 UDP
2021-07-17 12:09:56

据我了解,TCP 会话中的 TCP 数据包可以通过世界上的任何路径到达目的地,每个路径取决于它所经过的路由器的路由表,导致一些数据包采用不同的路径到达其他数据包(其他 OSI 层) /网络因素当然也包括在内)。我的网络管理员教授说 SSL 建立了一个“静态”(或任何你想称它为)的数据管道,因此所有数据包都采用与初始路由相同的路由。我找不到任何东西来支持这一点,这是正确的吗?

如果是这样,是否有任何其他协议套件(或其他协议)通过路由器创建类似的会话“管道”?他们可以为 UDP 工作吗?

由于我在网络游戏和延迟/数据包丢失不一致方面的广泛经验,这一切都导致了 UDP 静态数据管道的概念,以实现更一致的 WAN 性能。现在正在做吗?我如何为我自己的软件实现这一目标?

4个回答

SSL 可以以与任何其他非 SSL 流量相同的方式为每个不同的数据包以不同的方式路由。路由发生在与加密不同的堆栈层,并且仍然依赖于相同的机制来决定流中各个数据包的路由。

根据定义,Internet 的 WAN 是针对所有协议进行数据包交换的——仅在点对点级别或对于非 IP 网络,您可以定义不在数据包级别进行交换的协议。

我假设你误解了你教授所说的话。路由器在第 3 层转发数据包,因此它们不“知道”数据是 TCP、UDP 还是其他任何数据。

它们也不维护有关先前数据包的任何信息,因此每个转发决策都是独立做出的。因此,到达同一目的地的数据包可以采用不同的路径。

当不需要在接收方端始终如一地接收信息时,将使用 UDP 本身。大多数游戏玩家认为 udp 是一种更好的协议的原因主要归结于游戏对乱序信息的处理和/或隐藏 udp 的编程技术的使用......

那里有简短的 udp 笑话....

换句话说,如果您可以容忍不一致的数据,并且这主要是大型网络玩家的情况,其中网络问题最大的玩家在游戏世界的其余部分继续进行时可以方便地忽略命令,那么 udp 可能就是它为你。

简短的回答是,无法知道您的数据包被路由到哪里。一方面,您非常确定 isp 的对等协议意味着您可以确定下一跳目的地的位置,但在那之后,不能保证下一跳。这是在没有直接连接到目标服务器的情况下在本质上是混合网络的情况下获得有保证的连接的唯一方法。您还可以将其与 uucp 和 smtp 进行对比,您可以在其中指定可以在其间传输邮件的中间主机。由于这些不是基于 l3,它满足通过已知主机严格路由的条件,但同时允许不受限制的数据包传输。

值得注意的是,在 L2/L3 路由考虑之上的所有其他技术都旨在解决由这种二分法引起的特性。