最近在看一些Tcp网络编程方面的内容,不免涉及客户端和服务器交互的内容,其中最经典的应该是TCP的三次握手和四次挥手了。 背景描述 通过上一篇中网络模型中的IP层的介绍,我们知道网络层,可以实现两个主机之间的通信。但是这并不具体,因为,真正进行通信的实体是在主机中的进程,是一个主机中的一个进程与另外 ...
分类:
其他好文 时间:
2018-07-07 11:19:56
阅读次数:
174
今天去面试围绕RPC组件这一块被询问到了TCP的连接机制,脑子仅存在大学里的一点记忆,于是回来整理一番,先看个例子 三次握手:A:“喂,你听得到吗?”A->SYN_SEND B:“我听得到呀,你听得到我吗?”应答与请求同时发出 B->SYN_RCVD | A->ESTABLISHED A:“我能听到 ...
分类:
其他好文 时间:
2018-06-22 20:31:57
阅读次数:
207
三次握手协议:指的是在发送数据的准备阶段,服务器端和客户端之间需要进行三次交互: 第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的syn(ack=j+1),同时自己也发送一个SYN包(syn=k),即S ...
分类:
其他好文 时间:
2018-06-14 18:07:20
阅读次数:
145
1 Socket通常也称做”套接字“,用于描述IP地址和端口,废话不多说,它就是网络通信过程中端点的抽象表示。 2 Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 3 4 socket中TCP的三次握手建立连接详解 5 6 我们知道tcp建立连接要进行“三次握... ...
分类:
其他好文 时间:
2018-06-14 11:26:39
阅读次数:
135
IO和NIO的区别 这是一个很常见的问题,如果单纯的只回答IO和NIO的区别,只能算及格。我个人觉得应该从以下几个方面回答: 1)、IO简介, 2)、TCP的三次握手,因为这也是两者的区别之一, 3)、NIO简介, IO:(Block-IO)是一种阻塞同步的通信模式。是一个比较传统的通信方式,模式简 ...
分类:
编程语言 时间:
2018-05-19 23:18:46
阅读次数:
241
所谓三次握手(Three way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送4个包(两个SYN,两个ACK); 第一次握手:当客户端向服务器发起连接请求时,客户端会发送同步序列标号SYN到服务器,等待服务器确认,这时客户端的状态为SYN_SENT。 第二次握手:当服务 ...
分类:
其他好文 时间:
2018-05-10 23:21:11
阅读次数:
143
4、建立连接方式的差异 4.1TCP 说到 TCP 建立连接,相信大多数人脑海里肯定可以浮现出一个词,没错就是--“三次握手”。TCP 通过“三次握手”来建立连接,再通过“四次挥手”断开一个连接。在每次挥手中 TCP 做了哪些操作呢?流程如下图所示(TCP的三次握手和四次挥手): 上图就从客户端和服 ...
分类:
其他好文 时间:
2018-05-03 12:50:33
阅读次数:
195
传输层TCPUDPTCP:ip提供点到点的连接,通过ip可以找到目标主机,TCP传输控制协议提供可靠的面向连接的端到端的协议(确认端口、提供服务类型)(传输效率低)DUP:用户数据报协议,不可靠的非面向连接的协议。(传输效率高)TCP封装格式4.TCP的三次握手=建立连接、四次断开=结束通信发送完成之后断开连接=四次断开TCP计时器:重传计时器——为了控制丢失的数据段坚持计时器——为了防止零窗口死
分类:
其他好文 时间:
2018-04-28 19:38:50
阅读次数:
157
TCP 三次握手第一次: 客户端将标志位SYN置为1,随机产生一个值seq=x,并将该数据包发送给服务端,客户端进入等待状态,等待服务端确认。第二次: 服务端收到数据包后确认SYN=1。知道客户端请求建立连接,服务端将标志位SYN和ACK都置为1,ack=x+1,随机产生一个值seq=y, 并将该数 ...
分类:
其他好文 时间:
2018-04-16 14:39:09
阅读次数:
135
客户端向服务端请求数据的过程中,如果是TCP协议,则需经历TCP的三次握手和四次挥手,其中具体的过程如下: 三次握手 这个过程其实就是确认对方的收发功能是否都正常的功能,形象表示如下: 这就好比我们在打电话时,听到电话里有声音 >说明对方说话正常;自己询问听不听得清后对方给了回应-->说明对方听话正 ...
分类:
其他好文 时间:
2018-03-24 11:31:16
阅读次数:
107