简析TCP三次握手和四次分手

简析TCP三次握手和四次分手

ID:44236011

大小:180.70 KB

页数:7页

时间:2019-10-19

简析TCP三次握手和四次分手_第1页
简析TCP三次握手和四次分手_第2页
简析TCP三次握手和四次分手_第3页
简析TCP三次握手和四次分手_第4页
简析TCP三次握手和四次分手_第5页
资源描述:

《简析TCP三次握手和四次分手》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、简析TCP的三次握手与四次分手TCP是什么?具体的关于TCP是什么,我不打算详细的说了;当你看到这篇文章时,我想你也知道TCP的概念了,想要更深入的了解TCP的工作,我们就继续。它只是一个超级麻烦的协议,而它又是互联网的基础,也是每个程序员必备的基本功。首先来看看OSI的七层模型:数据接收端▲1DATA1.数据球送端应用层■1111AH

2、DATA

3、i应用层表示层1

4、

5、PH1iAH

6、DATA;i表示层会话层解!丨SH1PH1AHIDATAI!封会话层传输层装:

7、TH「SH丨PH1AH

8、DATA

9、:菇传输层网络层1;

10、NH

11、TH]SH

12、PI!iAli

13、D

14、ATA

15、i网络层数据链路层iDT[Nil

16、DH

17、SHHiAH

18、DATA

19、DT数据链路层物理层——比特流物理层我们需要知道TCP工作在网络OSI的七层模型屮的第四层——Transport层,IP在第三层Network层,ARP在第二层DataLink层;在第二层上的数据,我们把它叫Frame,在第三层上的数据叫Packet,第四层的数据叫Segmento同时,我们需要简单的知道,数据从应用层发下來,会在每一层都会加上头部信息,进行封装,然后再发送到数据接收端。这个基本的流程你需要知道,就是每个数据都会经过数据的封装和解封装的过程。在OSI七层模型中,每

20、一层的作用和对应的协议如下:OSI中的层功能TCP/IP协议族应用层文件传输,电子邮件,文件服务,虚拟终端TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet表不层数据格式化,代码转换,数据加密没有协议会话层解除或建吉与别的接点的联系没有协议传输层提供端对端的接口TCP,UDP网络层为数据包选择路由IP,ICMP,RIP,OSPF,BGP,IGMP数据链路层传输有地址的帧以及错误检测功能SLIP,CSLIP,PPP,ARP,RARP,MTU物理层以一进制数据形式在物理媒体上传输数据ISO2U0,IEEE802oIEEE802.2TCP

21、是一个协议,那这个协议是如何定义的,它的数据格式是什么样子的呢?要进行更深层次的剖析,就需要了解,甚至是熟记TCP协议屮每个字段的含义。哦,来吧。0SourcePortDestinationPort14SequenceNumber8AcknowledgmentNumber12OffsetReservedCETCPFlagsUAPRSFWindow

22、16ChecksumUrgentPointer20TCPOptions(variablelength,optional)rrT•p、rIr[■I12I13Bit01234567'89012345!6789o

23、123、4567890lNibble>

24、ByteWord1上面就是TCP协议头部的格式,由于它太重要了,是理解其它内容的基础,下面就将每个字段的信息都详细的说明一下。•SourcePort和DestinationPort:分别占用16位,表示源端口号和目的端口号;用于区别主机中的不同进程,而IP地址是用来区分不同的主机的,源端口号和目的端口号配合上IP首部屮的源IP地址和目的IP地址就能唯一的确定一个TCP连接。•SequenceNumber:用来标识从TCP发端向TCP收端发送的数据字节流,它表示在这个报文段中的的第一个数据字节在数据流中的序号;主

25、要用来解决网络报乱序的问题。•AcknowledgmentNumber:32位确认序列号包含发送确认的一端所期望收到的下一个序号,因此,确认序号应当是上次己成功收到数据字节序号加不过,只有当标志位中的ACK标志(下而介绍)为1时该确认序列号的字段才有效。主要用来解决不丢包的问题。•Offset:给出首部中32bit字的数目,需要这个值是因为任选字段的长度是可变的。这个字段占4bit(最多能表示15个32bit的的字,即4*15=60个字节的首部长度),因此TCP最多有60字节的首部。然而,没有任选字段,正常的长度是20字节。•TCPFlags:TCP

26、首部中有6个标志比特,它们中的多个可同时被设置为1,主要是用于操控TCP的状态机的,依次为URG,ACK,PSH,RST,SYN,FIN。每个标志位的意思如下:URG:此标志表示TCP包的紧急指针域(后面马上就要说到)有效,用來保证TCP连接不被中断,并且督促中间层设备要尽快处理这些数据;ACK:此标志表示应答域有效,就是说前面所说的TCP应答号将会包含在TCP数据包中;有两个取值:0和1,为1的时候表示应答域有效,反之为0;PSH:这个标志位表示Push操作。所谓Push操作就是指在数据包到达接收端以后,立即传送给应用程序,而不是在缓冲区中排队;R

27、ST:这个标志表示连接复位请求。用来复位那些产生错误的连接,也被用来拒绝错误和非法的数据包;SYN:表示同步

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。