TCP的握手与挥手
2024-08-20 18:59:07
轻轻的TCP走了,正如TCP轻轻的来,TCP挥一挥手,传递了不知多少信息
看到哪,记到哪,想起哪,就看哪,这就是我的博客园,很随性
UDP
在数据传送前不需要建立连接,接受方收到UDP报文后也不需要给出回应;不可靠的,但同时省去了很多开销,获得了速度的>>提升
TCP
在数据传送之前必须建立连接,完成数据传送之后断开连接
SOCKET
每一条TCP连接都有两个端点,称之为socket(套接字)=IP地址+端口号
码农翻身中又将其比喻为一个插座,负责将两端连接起来,提供其通信的功能:客户端IP, 客户端Port, 服务器端IP, 服务器端Port
例如IP地址192.168.10.10端口号8090,得到套接字为192.168.10.10:8090
三次握手
服务器端是被动的,服务器启动之后一直处于对客户端的监听状态
①客户端发出请求报文------->服务器端接收到请求报文
②服务端发出确认报文(服务端接收到来自客户端的请求后)-------->客户端接收到来自服务器的确认报文
③客户端发出确认报文-------->服务器端收到确认报文
第一次握手:服务器 确认了客户端的发送能力和服务器的接收能力没有问题
第二次握手:客户端 确认了服务器端的发送能力和客户端的接收能力没问题
第三次握手:服务器 确认了服务端的发送能力没问题
四次挥手
①客户端发出连接释放报文并停止数据的发送,进入终止等待状态
②服务器收到来自客户端的连接释放报文,发出确认报文(客户端已不发送数据,服务器还可以发送数据给客户端)
客户端收到服务器的确认报文,仍处于等待状态(等待服务器端的连接释放报文,还会接收来自服务器的数据)
③服务器发送连接释放报文,进入等待确认状态
④客户端收到服务器的连接释放报文发出确认报文,进入时间等待状态(还未进入连接关闭状态,需等待)
服务器端接收到客户端的连接释放确认报文,进入连接关闭状态,此次TCP连接结束
最新文章
- 安装openssl 扩展的时候出现Cannot find config.m4. Make sure that you run '/usr/local/php/bin/phpize' in the top level source directory of the module的解决方法
- 史航416第九次作业&;总结
- Ubuntu下配置和使用github
- Java的wait(), notify()和notifyAll()使用小结
- 采用libsvm进行mnist训练
- phantomjs使用说明
- CodeFirst-Section1之小例子
- <;context:property-placeholder/>;元素
- 山西大同大学教务处学生端--送给学弟,学妹的礼物,可在PC端,手机端操作
- 20165237 2017-2018-2 《Java程序设计》第6周学习总结
- mysql5.5大数据量下表结构升级
- java自带BASE64工具进行图片和字符串转换【转】
- UVa 11059 - Maximum Product 最大乘积【暴力】
- Java冒泡具体的原理,以及下标的变化
- javascript基础拾遗(一)
- C#将Dll嵌入到EXE
- Scrum 冲刺博客第三篇
- 【CodeForces】908 D. New Year and Arbitrary Arrangement
- 执行 maven 命令 报错Unable to add module to the current project as it is not of packaging type &#39;pom&#39;[转]
- matlab中freqz的用法以及多项式的展开