关于TCP建立连接
TCP大家大多称之为"三次握手"。今天看了一篇文章,学到了“三步握手”。
TCP建立连接,客户端发送SYN给服务端,服务端接收到请求回应ACK。服务端发送SYN到客户端,客户端回应ACK。
但是由于这是在建立连接,所以服务端不会从刚开始就和客户端存在不可停止的交互,所以可以将回应客户端ACK与向客户端发送SYN合二为一。
通过着三步,客户端与服务端之间就可以建立稳定连接。


TCP断开连接的“四次挥手”。

在连接的时候可以做三步握手,在断开连接的时候不能简化成三步,是因为有可能服务端收到了客户端发来的断开连接请求FIN时,还在执行上一次请求,正在向客户端传送数据。这个时候如果应答ACK与结束FIN合二为一的话,则正在传输的数据会立刻中断,这样就不符合人们的设计思想。所以应该单独发送FIN,不能和ACK一起发送
注:图片来源----微信公众号:余晟以为
关于TCP建立连接的更多相关文章
- 通俗易懂地讲解TCP建立连接的三次握手和释放连接的四次挥手
TCP建立连接时,为什么要进行三次挥手? 每一次TCP连接都需要三个阶段:连接建立.数据传送和连接释放.三次握手就发生在连接建立阶段. 在谢希仁著<计算机网络>第四版中讲三次握手的目的是为 ...
- TCP建立连接的三次握手过程
TCP是因特网中的传输层协议,使用三次握手协议建立连接,下面是TCP建立连接的全过程. 上图画出了TCP建立连接的过程.假定主机A运行的是TCP客户程序,B运行的是TCP服务器程序.最初两端的TCP进 ...
- TCP 建立连接:三次握手
转自:http://www.cnblogs.com/winner-0715/p/5032661.html 感谢! TCP 建立连接过程 TCP是因特网中的传输层协议,使用三次握手协议建立连接,下面是T ...
- TCP建立连接三次握手和释放连接四次握手
TCP建立连接三次握手和释放连接四次握手 [转载]http://blog.csdn.net/guyuealian/article/details/52535294 在谈及TCP建立连接和释 ...
- TCP建立连接为什么是三次握手,为什么不是两次或四次?
什么是三次握手 学过网络编程的人,应该都知道TCP建立连接的三次握手,下面简单描述一下这个过程. 如图所示 第一次握手:客户端发送TCP包,置SYN标志位为1,将初始序号X,保存在包头的序列号(Seq ...
- 【转】TCP建立连接三次握手和释放连接四次握手
在谈及TCP建立连接和释放连接过程,先来简单认识一下TCP报文段首部格式的的几个名词(这里只是简单说明,具体请查看相关教程) 序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数 ...
- TCP建立连接的三次握手和TCP连接断开的四次挥手
1. TCP建立连接的3次握手 2. TCP断开连接的四次挥手 [注意]中断连接端可以是Client端,也可以是Server端. 图3—Client端主动发起关闭连接请求 1. 假设Client端主动 ...
- TCP建立连接和释放连接过程
TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议.TCP建立连接需要三次握手,释放连接需要四次握手. 1.TCP整 ...
- 详解TCP建立连接全过程
TCP是因特网中的传输层协议,使用三次握手协议建立连接,下面是TCP建立连接的全过程. 上图画出了TCP建立连接的过程.假定主机A是TCP客户端,B是服务端.最初两端的TCP进程都处于CLOSED状态 ...
- TCP建立连接的三次握手和释放连接的四次挥手
TCP建立连接时,为什么要进行三次握手? 举个打电话的例子: A : 你好我是A,你听得到我在说话吗 B : 听到了,我是B,你听到我在说话吗 A : 嗯,听到了 建立连接,开始聊天! 第一次握手 第 ...
随机推荐
- SpringBoot项目 使用Jenkins进行自动化部署 gitlab打tag 生产测试环境使用 含配置中心
脚本 node('master') { def mvnHome = tool 'maven11-free' def gitUrl = "http://gitlab.wdcloud.cc:10 ...
- 牛客网数据库SQL实战解析(31-40题)
牛客网SQL刷题地址: https://www.nowcoder.com/ta/sql?page=0 牛客网数据库SQL实战解析(01-10题): https://blog.csdn.net/u010 ...
- 状态压缩动态规划(状压DP)详解
0 引子 不要999,也不要888,只要288,只要288,状压DP带回家.你买不了上当,买不了欺骗.它可以当搜索,也可以卡常数,还可以装B,方式多样,随心搭配,自由多变,一定符合你的口味! 在计算机 ...
- 程序员小哥教你秋招拿大厂offer
快要到秋招了,对于应届生来说,秋招是一个特别重要的机会.对于社招同学来说,金九银十也是一个很好的跳槽窗口. 而我呢,因为是从上海到广州工作,就没有提前先把工作定下来.刚好也趁这个机会出去旅游了两个月. ...
- Android开发之recycleView详解代码,看完包你熟练掌握recycleView的用法。转自网络经典文章
来源 http://jinyudong.com/2014/11/13/Introduce-RecyclerView-%E4%B8%80/ 编辑推荐:稀土掘金,这是一个针对技术开发者的一个应用,你可以在 ...
- Mysql如何将某个字段的值,在原有的基础上+1?
Eg: 电商项目中,需要统计某件商品的购买数量问题,这时产品提了一个bug,告诉你我需要你做一个购买数量统计?你会怎么做呢? 这里我只说我自己的思路,首先是浏览加购物车,创建订单并支付,mq消息消费后 ...
- 【转】对初学LoadRunner朋友的建议
对初学LoadRunner朋友的建议 作者:wind摘要:随着Internet的普及与迅速发展,企业业务量的迅速加大,数据大集中成为一种趋势,IT系统承载的负荷越来越重,系统性能的好坏严重的影响了企业 ...
- BM算法学习
根据阮一峰大大的文章实现,不过没实现“搜索词中的上一次出现位置”(我直接实时查找,显然应该预处理): 文章:http://www.ruanyifeng.com/blog/2013/05/boyer-m ...
- Linux:用户账号、密码、群组、群组密码文件查看
使用者账号密码存放文件:/etc/passwd, /etc/shadow 虽然我们登入 Linux 主机的时候,输入的是我们的账号,但是,其实 Linux 主机并不会直接认识你的『账 号名称』的,他仅 ...
- HDOJ 1003
动态规划一直AC不了竟然是因为一厢情愿的多加了一个#! printf("Case #%d:\n",count); --------------------------------- ...