轻轻的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连接结束

最新文章

  1. 安装openssl 扩展的时候出现Cannot find config.m4. Make sure that you run '/usr/local/php/bin/phpize' in the top level source directory of the module的解决方法
  2. 史航416第九次作业&总结
  3. Ubuntu下配置和使用github
  4. Java的wait(), notify()和notifyAll()使用小结
  5. 采用libsvm进行mnist训练
  6. phantomjs使用说明
  7. CodeFirst-Section1之小例子
  8. <context:property-placeholder/>元素
  9. 山西大同大学教务处学生端--送给学弟,学妹的礼物,可在PC端,手机端操作
  10. 20165237 2017-2018-2 《Java程序设计》第6周学习总结
  11. mysql5.5大数据量下表结构升级
  12. java自带BASE64工具进行图片和字符串转换【转】
  13. UVa 11059 - Maximum Product 最大乘积【暴力】
  14. Java冒泡具体的原理,以及下标的变化
  15. javascript基础拾遗(一)
  16. C#将Dll嵌入到EXE
  17. Scrum 冲刺博客第三篇
  18. 【CodeForces】908 D. New Year and Arbitrary Arrangement
  19. 执行 maven 命令 报错Unable to add module to the current project as it is not of packaging type 'pom'[转]
  20. matlab中freqz的用法以及多项式的展开

热门文章

  1. 转(解决GLIBC_2.x找不到的编译问题)
  2. SQL Server系统函数简介[转]
  3. border-radius 原理分析
  4. window下搭建python开发环境
  5. MySQL 1067
  6. 《挑战程序设计竞赛》2.3 动态规划-进阶 POJ1065 1631 3666 2392 2184(5)
  7. unity 里调试native code
  8. NOIP2018酱油记
  9. 3509.com 纵横天下虚拟主机,垃圾中的战斗机
  10. 让你的代码量减少3倍!使用kotlin开发Android