TCP三次握手形象理解】的更多相关文章

tcp三次握手就像是你用企业微信给人家发信息,首先你得确认别人在不在,你会发  在吗?  这个时候显示的是未读   对方看到之后未读会变成已读 然后他会回复你  在的    你看到这个消息后,他那边也会显示也读   这个时候就建立连接了…
假设名叫 A 和 B 的两个人要进行通信,那么他们两人之间,首先要确保通信顺畅. 而确保通信顺畅,就要从 3 个维度,确定 8 个能力 3 个维度分别是: 1.人知道(A 知道.B 知道) 2.人(A.B) 3.能力(发出.收到) 那么对应的 8 个能力就分别是:(有点绕,可直接看下面的表格) 能力 1 :A 知道 A 有 发出 的能力 能力 2 :A 知道 A 有 收到 的能力 能力 3 :A 知道 B 有 发出 的能力 能力 4 :A 知道 B 有 收到 的能力 能力 5 :B 知道 A 有…
最近,阿里中间件小哥哥蛰剑碰到一个问题——client端连接服务器总是抛异常.在反复定位分析.并查阅各种资料文章搞懂后,他发现没有文章把这两个队列以及怎么观察他们的指标说清楚. 因此,蛰剑写下这篇文章,希望借此能把这个问题说清楚.欢迎大家一起交流探讨. 问题描述 场景:JAVA的client和server,使用socket通信.server使用NIO. 1. 间歇性得出现client向server建立连接三次握手已经完成,但server的selector没有响应到这连接. 2. 出问题的时间点,…
TCP相关知识 TCP是面向连接的传输层协议,它提供可靠交付的.全双工的.面向字节流的点对点服务.HTTP协议便是基于TCP协议实现的.(虽然作为应用层协议,HTTP协议并没有明确要求必须使用TCP协议作为运输层协议,但是因为HTTP协议对可靠性的的要求,默认HTTP是基于TCP协议的.若是使用UDP这种不可靠的.尽最大努力交付的运传输层协议来实现HTTP的话,那么TCP协议的流量控制.可靠性保障机制等等功能就必须全部放到应用层来实现)而相比网络层更进一步,传输层着眼于应用进程间的通信,而不是网…
TCP三次握手: 1.客户端发送syn包到服务器,等待服务器确认接收. 2.服务器确认接收syn包并确认客户的syn,并发送回来一个syn+ack的包给客户端. 3.客户端确认接收服务器的syn+ack包,并向服务器发送确认包ack,二者相互建立联系后,完成tcp三次握手. 四次握手就是中间多了一层:等待服务器再一次响应回复相关数据的过程 三次握手之所以是三次是保证client和server均让对方知道自己的接收和发送能力没问题而保证的最小次数. 第一次client => server 只能se…
tcp三次握手建立连接第一次握手 客户端发送给服务器一段连接请求报文,等待服务器回应 第二次握手 服务器收到报文,并发送给客户端一个确认报文,等待客户端回应 第三次握手 客户端收到新报文 ,再发送给服务器一个确认报文,完成三次握手 tcp四次挥手断开连接第一次挥手 客户端发送一段结束请求报文,等待服务器响应第二次挥手 服务器收到报文,返回一个新报文给客户端,同意客户端结束请求第三次挥手 服务器发送一段结束报文,等待客户端响应第四次挥手 客户端收到报文,返回一个新报文给服务器,服务器收到报文后关闭…
TCP协议全称为:Transmission Control Protocol,是一种面向链接.保证数据传输安全.可靠的数据传输协议.为了确保数据的可靠传输,不仅需要对发出的每个字节进行编号确认,还需要验证每一个数据包的有效性.每个TCP数据包是封闭在IP包中的,每个一IP包的后面紧跟着的是TCP头,TCP报文格式如下: 源端口和目的端口字段 TCP源端口(Source Port):源计算机上的应用程序的端口号,占 16 位. TCP目的端口(Destination Port):目标计算机的应用程…
OSI 计算机网络7层模型 TCP/IP四层网络模型 传输层提供应用间的逻辑通信(端到端),网络层提供的是主机到主机的通信,传输层提供的是可靠服务. TCP 中常说的握手指的是:连接的定义和连接的建立的过程.IP 协议是无连接的,但是 TCP 是有链接的. 端口:数据链路层依靠 mac 地址寻址,网络接口层依靠 ip 地址寻址,传输层依靠端口号寻址,端口就是应用层的各种协议进程和传输实体之间进行层间交换的地址. 端口号:标识不同进程的号码,16位,2的16次方个,只在本地有意义.一共有三类,一是…
TCP包结构 一个TCP包结构如下: 一个TCP包主要由TCP包头和数据部分组成,包头固定部分为20字节,选项和数据部分根据实际情况设置为4N(N可以为0)字节. 1.16bit源端口和目的端口号,它可以确认数据的传输方向(暂不考虑更底层的包) 2.32bit序号,它是为TCP包中数据部分进行编号的部分.假设要发送的数据有100M,由于受MSS( Maximum Segment Size 最大报文段长度)限制,一个TCP包是不可能传输完这100M的数据,于是需要将数据拆分,为了确保拆分传输后的数…