这是教科书James F. Kurose,Keith W. Ross的图片:计算机网络:自上而下的方法, ISBN-13:978-0-13-285620-1。 ISBN-10:0-13-285620-4。
根据图片,欢迎端口与实际连接端口不同(因为不同的套接字被分配了不同的端口号。 那么假设客户端正在初始化HTTP请求,因此Web服务器上的欢迎端口是80,然后实际的连接端口不同于80?
第二个问题是,TCP握手的目的是什么?我只被告知为什么TCP的握手是,但实际上并不知道为什么握手是必不可少的。如果我们摆脱TCP的握手,我们仍然可以使TCP成为可靠的数据传输协议,不是吗?
答案 0 :(得分:1)
在最低级别,“欢迎套接字”是表示特定端口上的侦听套接字的文件描述符。当另一台计算机连接到该端口并且服务器调用accept
时,将生成一个表示该特定连接的新文件描述符。这是图中的“连接套接字”。
三次握手是建立TCP / IP会话参数所必需的。 TCP / IP是一个相当小的协议,没有太多的大惊小怪或仪式。 SYN,SYN-ACK,ACK过程确保在数据传输开始之前连接的两端都是同步的。
这个同步过程非常熟悉:
如果没有最终的ACK,发送SYN-ACK的一方不知道他们的响应是否被接收。第三个数据包是提供确认所必需的。
答案 1 :(得分:0)
根据图片,欢迎端口与实际连接端口不同。
不,不是。图中没有任何内容表明这一点。它表示侦听和连接的套接字是不同的。不一样。
(因为为不同的套接字分配了不同的端口号)。
不,不是。接受的套接字具有与其接受的侦听套接字相同的本地端口号。我不知道你在哪里得到了“欢迎港口”这个词。来自,或者作者得到了“欢迎插座”这个术语。从。正确的术语是“监听端口”。
所以让我们说Client正在初始化一个HTTP请求,所以Web服务器上的欢迎端口是80,然后实际的连接端口不是80?
没有。现在是80岁。
第二个问题是,TCP握手的目的是什么?我只被告知为什么TCP的握手是,但实际上并不知道为什么握手是必不可少的。如果我们摆脱TCP的握手,我们仍然可以使TCP成为可靠的数据传输协议,我们可以吗?
没有。它有几个目的,其中一个目的是确定双方都知道连接存在,另一个目的是在每个方向建立一个初始序列号,这使攻击者更难注入数据。