tcp四次挥手

tcp三次握手和四次挥手

冷暖自知 提交于 2019-11-30 18:53:58
1、三次握手 (1)三次握手的详述 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。 最初两端的TCP进程都处于CLOSED关闭状态,A主动打开连接,而B被动打开连接。( A、B关闭状态CLOSED —— B收听状态LISTEN——A同步已发送状态SYN-SENT——B同步收到状态SYN-RCVD——A、B连接已建立状态ESTABLISHED ) B的TCP服务器进程先创建传输控制块TCB,准备接受客户进程的连接请求。然后服务器进程就处于LISTEN(收听)状态,等待客户的连接请求。若有,则作出响应。 1 )第一次握手: A的TCP客户进程也是首先创建传输控制块TCB,然后向B发出连接请求报文段,(首部的 同步位SYN=1 , 初始序号seq=x) ,(SYN=1的报文段不能携带数据)但要消耗掉一个序号,此时TCP客户进程进入SYN-SENT(同步已发送)状态。 2 )第二次握手: B收到连接请求报文段后,如同意建立连接,则向A发送确认,在确认报文段中( SYN=1,ACK=1,确认号ack=x+1,初始序号seq=y ),测试TCP服务器进程进入SYN-RCVD(同步收到)状态; 3 )第三次握手: TCP客户进程收到B的确认后

TCP中的三次挥手四次握手

半世苍凉 提交于 2019-11-30 18:01:44
三次握手: 1:客户端发送SYN=1,seq=x 给服务端来建立请求连接, 2:服务端收到后发送SYN=1,ACK=1,seq=y,ack=x+1给客户端来表示已经收到请求报文 3:客户端发送ACK=1,ack=y+1,seq=x+1给服务端表示收到 之后就建立连接成功。 四次挥手: 1:客户端发送FIN=1,seq=x给服务端请求终止连接,进入终止等待1阶段 2:服务端发送ACK=1,seq=u,ack=x+1给客户端表示收到终止连接,客户端进入终止等待2,服务端进入关闭等待阶段 3:服务端处理完剩下的请求后,在发送FIN=1,ACK=1,seq=w,ack=u+1表示建立终止连接,等待客户端的报文,进入最后的终止确认阶段 4:客户端收到请求后发送ACK=1,seq=u,ack=w+1给服务端,然后自身等待2S后终止,服务端收到报文后立即终止。 来源: https://my.oschina.net/u/4189935/blog/3113558

远程通讯协议

最后都变了- 提交于 2019-11-30 14:19:28
第一.一个Http请求的整个流程 1.1概述 那么在分布式架构中,有一个很重要的环节,就是分布式网络中的计算机节点彼此之间需要通信。用浏览器访问各种网站,作为用户来说,只需要需要输入一个网址并且正确跳 转就行。但是作为程序员,看到的可能就是这个响应背后的整体流程。 1.2域名解析的DNS服务 首先,用户访问一个域名,会经过 DNS 解析DNS(Domain Name System),它和 HTTP 协议一样是位于应用层的协议,主要提供域名到 IP 的解析服务。我们其实不用域名也可以访问目标主机的服务,但是 IP 本身不是那么容易记,所以使用域名进行替换使得用户更容易记住。 1.3Http协议通信原理 http 协议的通信是基于 tcp/ip 协议之上的一个应用层协议,应用层协议除了 http 还有哪些呢(FTP、DNS、SMTP、Telnet 等)。 涉及到网络协议,OSI 七层网络模型和 TCP/IP 四层概念模型,OSI 七层网络模型包含(应用层、表示层、会话层、传输层、网络层、数据链路层、物理层)、TCP/IP 四 层概念模型包含(应用层、传输层、网络层、数据链路层)。 请求发起过程,在 tcp/ip 四层网络模型中所做的事情 当应用程序用 T C P 传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息

tcp/ip协议

偶尔善良 提交于 2019-11-30 13:45:22
TCP/IP协议是什么? TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议。它是在网络的使用中的最基本的通信协议。 TCP/IP传输协议对互联网中各部分进行通信的标准和方法进行了规定。TCP/IP协议被组织成四个概念层, 其中有三层对应于ISO参考模型中的相应层。ICP/IP协议族并不包含物理层和数据链路层,因此它不能独立完成整个计算机网络系统的功能, 必须与许多其他的协议协同工作。 TCP/IP分层模型的四个协议层分别完成以下的功能: 第一层:网络接口层(物理层) 包括用于协作IP数据在已有网络介质上传输的协议。实际上TCP/IP标准并不定义与ISO数据链路层和物理层相对应的功能。 相反,它定义像地址解析协议(Address Resolution Protocol,ARP)这样的协议,提供TCP/IP协议的数据结构和实际物理硬件之间的接口。   第二层:网络层 对应于OSI七层参考模型的网络层。本层包含IP协议、RIP协议(Routing Information Protocol,路由信息协议),负责数据的包装、寻址和路由。 同时还包含网间控制报文协议(Internet Control Message Protocol,ICMP)用来提供网络诊断信息。   第三层:传输层 对应于OSI七层参考模型的传输层,它提供两种端到端的通信服务。其中TCP协议

前端工程师系列,TCP复习及浓缩总结(全干货,支持面试)

白昼怎懂夜的黑 提交于 2019-11-30 13:16:39
最近公司项目不多,闲着也来写写文章,复习一下基础知识。 之前也写了好几片文章,苦于自己不太会玩标题党,结构内容也不生动,没什么点击量,希望慢慢总结的写,提高水平,给大家带来好的内容,废话不多说。下面进入正题。 说道TCP/IP、HTTP两个词,我估计各位应该没有人不知道,多多少少听到一些,如果您是网络专业的专家或熟知这些内容,就请您轻拍、路过。 TCP/IP 名词解释 IP(Internet Protocol)协议的英文名直译就是:因特网协议,它可以根据网络情况,将要传输的数据,分为不同大小的包、固定的格式,在源地址和目的地址之间传送。就好比现实生活中,我们有一批货物要从北京发送到广州,运输时我们把货物包装成一个个的包装箱后,然后进行运输,在这里IP协议就好比规定了包装箱的尺寸和包装方法。 IP的头部只有16位首部校验和,只能对ip头信息进行数据校验,但对数据本身是没有校验的。 TCP (Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。IP协议也有一些缺陷(传输不可靠也就是不提供点到点的传输确认、对数据没有完整性校验、不能重发和流量控制)。继续用传输货物的比喻,IP协议就好比货是打包发走了,但广州方面收没收到货物不管,货物是否完好无损不管。TCP协议在IP协议的基础上提供了可靠地面向对象的数据流传输服务的规则和约定

面试中必备的网络相关知识

北慕城南 提交于 2019-11-30 12:28:43
废话不说,直接上干货。 1.协议的概念和作用 为了能让计算机之间能够通信,计算机需要定义通信规则,这些规则就是协议。规则有多种,协议也有多种。协议就是数据封装格式+传输。 2.OSI七层模型 应用层:提供网络服务和最终用户软件之间的接口服务。 表示层:数据的表示、安全、压缩。 会话层:建立、管理、中止会话。 传输层:定义传输数据的协议端口号,以及流控和差错校验。 网络层:进行逻辑地址寻址,实现不同网络之间的路径选择。 数据链路层:建立逻辑连接、进行硬件地址寻址、差错检验等功能。 物理层:网线、同轴电缆等。 3.TCP/IP参考模型 常用的协议: TCP/IP协议被称为传输控制协议/互联网协议,又称网络通讯协议,是由网络层的IP协议和传输层的TCP协议组成的,是一个很大的协议集合。 物理层和数据链路层没有定义任何特定协议,支持所有的标准和专用的协议。 网络层定义了网络互连,也就是IP协议: (1) 网际协议(IP):负责主机和网络之间寻址和路由数据包。 (2) 地址解析协议(ARP):获得同一物理网络中的硬件主机MAC地址。 (3) 网际控制消息协议(ICMP):发送消息,并报告有关数据包的传送错误。 (4) 互联网管理协议(IGMP):IP主机向本地多路广播路由器报告主机组成员。 传输层定义了TCP(传输控制协议)和UDP(用户数据报协议)。 应用层定义了HTTP(超文本传输协议)

计算机网络太难?了解这一篇就够了

混江龙づ霸主 提交于 2019-11-30 11:56:55
计算机网络、计算机操作系统这两个“兄弟”是所有开发岗位都需要“结拜”的,不管你是 Java、C++还是测试。对于后端开发的童鞋来说,计算机网络的重要性不亚于语言基础,毕竟平时开发经常会和网络打交道,比如:抓个包等等。所以对这一块知识点的准备还是要抱着敬畏之心,不要放过任何一个漏网之题。下面分享下我的学习过程: 1.看书:对于计算机比较基础的模块,我都是比较推荐找一本经典的书籍来好好学习下,不可以只看面经就去面试了。我一共看了两本书:汤小丹的《计算机操作系统》和《图解HTTP》。《计算机操作系统》是教科书,所以知识点相对比较基础,覆盖范围也比较广,非科班的学生还是很有必要看一看的。《图解HTTP》这本书用很多插图将一些知识点讲的通俗易懂,看起来也很快,还是比较推荐的。 2.做笔记:计算机网络的知识点还是比较多的,需要看书的时候做好笔记,方便复习。而且做笔记的时候可以就这个知识点去百度下,看看有没有自己遗漏的点,再给补充进来。在这里说下,我为什么一直强调做笔记?好处 1:做笔记是第 1 次你对书中的知识点的回顾,加深记忆;好处 2:而且如果你是发表在公关社区的肯定要保证最大限度的正确性,就需要再去看看这个知识点,核对下自己是否有理解偏差和遗漏等,这样就完成了知识点的深挖;好处3:正在到面试复习的时候,你是不太可能重新看一本书的,那么笔记就显得很重要了,自己做的笔记,复习起来很快

TCP/IP协议栈

可紊 提交于 2019-11-30 06:15:52
文章目录 一、参考书籍 二、必须掌握的内容 1.TCP/IP协议体系的认知 2.数据链路层 3.网络层 4.传输层 5.应用层 三、常见面试题目 1.分层的概念 2.数据链路层 3.网络层 (1)IP协议 (2)ICMP协议 四、传输层 1.UDP协议 2.TCP协议 五、应用层 1.DNS 2.http基本格式 六、参考 一、参考书籍 (1)TCP/IP详解 卷1:协议 (2)计算机网络:自顶向下方法 二、必须掌握的内容 1.TCP/IP协议体系的认知 (1)分层。一部分处于用户态,一部分处于内核态。数据链路层,网络层,传输层封装于操作系统内核态。应用层存在于操作系统的用户空间,包括DNS,FTP,HTTPs,HTTP,工作中接触较多的是应用层的部分。但其它层的原理必须理解,面试考察。 (2)层与层之间下层对上层是透明的,传输在每一层是对等的。 2.数据链路层 (1)以太网帧的格式。 (2)MTU(最大传输单元)的概念。 (3)ARP协议和RARP协议(地址协议和逆地址协议,网卡MAC地址和IP地址互查机制)(网络层和链路层的中间层)ARP报文格式,查询原理,缓存机制 3.网络层 (1)掌握IP首部格式:如16位分片标识、DF不分片标志、MF更多分片标志、13位片偏移、8位生存时间TTL、16位的首部检验和等等。 (2)掌握如何IP分片:如总长大于MTU值,画分片情况

TCP三次握手和四次挥手及wireshark抓取

那年仲夏 提交于 2019-11-30 05:31:19
TCP的三次握手与四次挥手的详细介绍: 三次握手: 第一次握手(SYN=1, seq=x):   客户端发送客户端发送一个 TCP 的 SYN 标志位置1的,指明客户端打算连接的服务器的端口,以及初始序号 X,保存在包头的序列号(Sequence Number)字段里。 第二次握手(SYN=1, ACK=1, seq=y, ACKnum=x+1):   服务器发回确认包(ACK)应答。即 SYN 标志位和 ACK 标志位均为1。服务器端选择自己 ISN 序列号,放到 Seq 域里,同时将确认序号(Acknowledgement Number)设置为客户的 ISN 加1,即X+1。 发送完毕后,服务器端进入 SYN_RCVD 状态。 第三次握手(ACK=1,ACKnum=y+1):   客户端再次发送确认包(ACK),SYN 标志位为0,ACK 标志位为1,并且把服务器发来 ACK 的序号字段+1,放在确定字段中发送给对方,并且在数据段放写ISN的+1 发送完毕后,客户端进入 ESTABLISHED 状态,当服务器端接收到这个包时,也进入 ESTABLISHED 状态,TCP 握手结束。 握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。 三次握手

TCP三次握手,四次挥手

若如初见. 提交于 2019-11-30 05:23:26
tcp次传输层协议 三次握手 1客户端发送包到服务器,等待服务器确认(客户端进入发送状态) 2服务器收到包,确认。同时自己发送一个包(服务器进入接受状态) 3客户端收到服务器的包,向服务器发送确认确认包(分别进入已确定状态) 四次挥手 1客户端发送包。用来关闭客户端到服务端的数据传送 2服务器收到包后,发送一个码值给客户端,服务器进入关闭等待状态 3服务器发送一个包给客户端,用来关闭数据传送 4客户端收到码值后,进入关闭等待状态。然后发送命令确认符给服务器端。服务端进入关闭状态。结束 面试:为什么要四次挥手,三次行不行 握手的时候会将包和码值一起发送给服务包。而挥手的时候客户端发送给服务端包只是告诉对方并不发送数据了,不代表不能接受数据了。服务端也未必所有数据都已发送完毕。 所以服务方可以立即close,也可以发送一些数据给对方后,再发送给对方包来关闭链接 来源: https://www.cnblogs.com/jayjie/p/11561510.html