这是斯坦福网络课程的一个问题。
服务器通常侦听特定端口上的TCP连接(例如,80用于HTTP,22用于SSH)。服务器可以使用哪些字段来区分特定客户端连接的数据包?这是一个多个choice.The,给出了以下选项
答案是3,4,5,6。
有些人告诉我这个答案,为什么TCP套接字由4个元组标识?
根据我的理解,这个问题的答案描述了我们如何区分不同的客户端connections.but。
区分特定客户端连接的数据包
我的疑问是,如果我们所要做的只是区分特定客户端连接的数据包,为什么我们需要知道目标IP?为什么我们不能使用序列号来区分它们,因为每个数据包都有不同的序列号?
发布于 2019-03-29 10:36:58
序列号是来自远程主机的随机初始化的编号序列。不能保证它不会与另一种连接发生碰撞。
此外,使用源/目的地IP/端口元组比猜测接收到的序列号可能适合哪个接收窗口要简单得多--序列号不一定按数字顺序接收,特别是当数据包丢失时。
斯坦福大学最初的问题措辞很糟糕。它没有明确区分“区分数据包与单独的客户端连接”(这显然是指)和“区分特定客户端连接中的数据包/段”(即序列号)。
需要目标IP是因为--理论上--客户端可以使用相同的源端口和源IP来建立到服务器的辅助IP地址的另一个连接。
https://networkengineering.stackexchange.com/questions/58115
复制相似问题