第五十讲——三次握手与四次挥手 本文共有12058个字,关键词: TCP连接的建立得有主动方,发起请求的标志是SYN位置1,SYN同传请求,建立联系的请求。 TCP的重要特色是它的可靠性,所以在任何时刻只要有一个报文出去,报文都有一个号码,当发起请求时这个号码是随机生成的,这个号码就是序列号(sequence number),简称为SN。 TCP建立连接的过程: 1. 主动方将SYN置1(开始的标志),并按一定机制生成序列号SN 2. 接受方收到后也会发送一个报文,将SYN置1(开始的标志),表示响应主动方的请求,并将ACK位置1,ACK为确认位,然后将主动方的SN(序列号)加1后赋予AN确认号(AcknowledgmentNumber),并按照一定机制生成自己的序列号(sequencenumber)SN。 3. 主动方接收到报文后,由于双方都已确认SYN,因此不再置SYN位。打开ACK位,即ACK位置1,将被动方的SN+1后赋予AN(主动方的第二次报文)。 于是连接建立,以后没发送一个数据包都会进行一次确认ACK=1,SN=***,AN=***,中间的过程称为已建立的连接(正常通信的过程),只有前两位SYN=1的过程我们称为新连接建立的过程。图示如下: 四次挥手过程: 四次挥手就是断开连接时的四次确认,断开同样是有主动方与被动方。主动方主动拆除连接,置FIN位为1(FIN为结束标志位)。在断开连接的四次过程中FIN位为1,因为处于连接过程,所以ACK位为1,SN,AN因建立连接后的有效数据传输,所以SN一直存在。图示如下: 在传输协议上(TCP协议上)为应用层协议,应用层协议有http,pop,IMAP,DNS,DHCP……这些应用层协议可能基于TCP使用,也可能使用UDP来完成端到端(进程到进程)的通信,利用IP完成主机到主机的通信,利用底层二层协议完成点到点的通信。应用层的协议就是利用这些来完成自己这个应用本身的服务,所以对整个模型来讲,应用层下的几层被称为通信子网,只是为了完成数据包从发送方到接收方的。而应用层被称为资源子网,为了完成资源共享或者资源的获取等各种功能的,这就是我们的整个网络模型。 「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」 赞赏 × 几人行 (๑>ڡ<)☆谢谢老板~ 2元 5元 10元 50元 100元 任意金额 2元 使用微信扫描二维码完成支付 版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。 给自己讲linux 2017-01-19 评论 1489 次浏览