0
点赞
收藏
分享

微信扫一扫

Tcp传输原理


1.tcp协议(一种面向连接的,可靠的传输协议)

三次握手建立连接,即在内核里面开辟socket队列空间,为接下来的服务做准备。所以连接并不是真正的建立了电路上的连接,只是为接下来的服务做好了准备。

Tcp传输原理_服务器


四次分手断开连接,内核释放开辟的空间。

这里为什么服务器需要连续发送两个呢?比如说一对夫妻离婚,A对B说我想要离婚,B首先表示知道了,然后B也表示想要离婚,这个时候A表示知道了。然后就可以去签离婚协议了,也代表他们之间的关系结束了。

Tcp传输原理_IP_02


例:

Tcp传输原理_应用程序_03


对上面的过程进行抓包得到:

Tcp传输原理_服务器_04


因为一次性最多接收1500字节,所以数据分了两次发送过来

2.Socket

在网络中,如何du标示一个主机?使用IP地址(在网络层,一台机器当然也可以由多个网络接口,即网卡,每个结构对应一个IP地址)

如何标示一个主机上的特定进程呢?使用IP:PORT,即IP地址和端口号,一般地说,每个进行网络通信的应用程序都要占用主机上的一个端口。

举个例子,使用TCP进行通信,需要建立连接,比如主机A上的进程a和主机B上的进程b进行通信,A、B之间的连接如何标示?使用四元组<A的IP,a所占用的端口,B的IP,b所占用的端口>

IP:PORT就确定了一个socket,在一个TCP连接中,她就像一个插口,注意,叫做插口,套接字也就是类似的意思。你把应用程序插入到这个插座,就可以和连接的另外一方对话了。

只要这个四元组唯一,我们建立的连接就是唯一的。我们理论上可以建立65535个连接到一个服务器的80端口。这时服务端只消耗一个端口。

Tcp传输原理_服务器_05


举报

相关推荐

0 条评论