tcp三次握手,四次挥手不做详解
tcp连接的本质
tcp连接听着像是由一根网线建立的连接,但事实上tcp连接不过是计算机保存的一个变量,类似于电话簿,上面记录着信息,电话簿记录这人名、电话号等,而计算机保存的是目标主机ip、端口等等,不同的是计算机保存在底层里我们看不见。
tcp连接的建立
三次握手,四次挥手,这个我们天天听,感觉整的挺迷糊,但究其本质不过就是发送一些数据进行交互,只不过数据格式固定,就像平常打电话,接通了之后都喜欢喊声:喂 ,tcp连接建立大抵如此,只是需要更加严密的数据,数据交互中使用了一堆标志位,再后面,交互都完成了,这个线路肯定是通的,那就把对方主机等一些信息保存起来,这就是tcp连接。
tcp连接的关闭
正常情况下tcp连接不主动关闭会一直存着(不考虑程序自定义的数据交互检测),在程序中正常关闭一个连接会触发四次握手(一般指主动调用连接的关闭方法,由程序调用),像一个Java程序在idea中运行时直接点击stop按钮是不会触发四次握手的,而是触发操作系统的一个强制关闭报文(一个报文搞定),经过wireshark抓包测试,点击stop实际上就是杀进程(都是一个强制关闭报文),杀进程这种断开连接,服务器还可以通过强制关闭报文判断出来,删除保存的tcp连接,而像直接拔网线物理断连,没有数据服务器如果没有检测程序,就会一直保存tcp连接,直到下次调用时失败。
目前知识所及,错了请指正