首页 TCP建立及关闭过程详解

TCP建立及关闭过程详解

举报
开通vip

TCP建立及关闭过程详解TCP建立及关闭过程详解 一、TCP协议简介     TCP,全称Transfer Control Protocol,中文名为传输控制协议,它工作在OSI的传输层,提供面向连接的可靠传输服务。     TCP的工作主要是建立连接,然后从应用层程序中接收数据并进行传输。TCP采用虚电路连接方式进行工作,在发送数据前它需要在发送方和接收方建立一个连接,数据在发送出去后,发送方会等待接收方给出一个确认性的应答,否则发送方将认为此数据丢失,并重新发送此数据。     可以从以下几个方面对TCP协议进行分析:     1....

TCP建立及关闭过程详解
TCP建立及关闭过程详解 一、TCP协议简介     TCP,全称Transfer Control Protocol,中文名为传输控制协议,它工作在OSI的传输层,提供面向连接的可靠传输服务。     TCP的工作主要是建立连接,然后从应用层程序中接收数据并进行传输。TCP采用虚电路连接方式进行工作,在发送数据前它需要在发送方和接收方建立一个连接,数据在发送出去后,发送方会等待接收方给出一个确认性的应答,否则发送方将认为此数据丢失,并重新发送此数据。     可以从以下几个方面对TCP协议进行 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 :     1.TCP报头:TCP报头总长最小为20个字节,其报头结构如下图(图1)所示; 比特0             比特15   比特16             比特31 源端口(16)        目的端口(16) 序列号(32) 确认号(32) 报头长度(4)        保留(6)        连接标记(6)        窗口(16) 校验和(16)        紧急(16) 选项(0或32) 数据(可变)           2.TCP连接建立:TCP的连接建立过程又称为TCP三次握手。首先发送方主机向接收方主机发起一个建立连接的同步(SYN)请求;接收方主机在收到这个请求后向送方主机回复一个同步/确认(SYN/ACK)应答;发送方主机收到此包后再向接收方主机发送一个确认(ACK),此时TCP连接成功建立;     3.TCP连接关闭:发送方主机和目的主机建立TCP连接并完成数据传输后,会发送一个将结束标记置1的数据包,以关闭这个TCP连接,并同时释放该连接占用的缓冲区空间;     4.TCP重置:TCP允许在传输的过程中突然中断连接,这称为TCP重置;     5.TCP数据排序和确认:TCP是一种可靠传输的协议,它在传输的过程中使用序列号和确认号来跟踪数据的接收情况;     6.TCP重传:在TCP的传输过程中,如果在重传超时时间内没有收到接收方主机对某数据包的确认回复,发送方主机就认为此数据包丢失,并再次发送这个数据包给接收方,这称为TCP重传;     7.TCP延迟确认:TCP并不总是在接收到数据后立即对其进行确认,它允许主机在接收数据的同时发送自己的确认信息给对方。     8.TCP数据保护(校验和):TCP是可靠传输的协议,它提供校验和计算来实现数据在传输过程中的完整性。 二、跟踪分析TCP 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计      我们使用科来网络分析系统对一个Telnet会话中的TCP部分进行跟踪,以分析TCP的连接建立和连接关闭流程。这个Telnet会话的流程如下:在客户端(Windows主机,名为wangym)的命令窗口中使用telnet 192.168.2.100访问192.168.2.100,并输入用户名和密码(这里都是ftpuser),然后直接使用exit命令退出此Telnet连接。     1. TCP连接建立     1)第1步(图2),客户端(名为wangym,下同)使用3192的随机端口向192.168.2.100主机的23端口发起一个TCP 同步数据包请求建立TCP连接。这个数据包将TCP标记中的同步位置1, 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示这是TCP三次握手的第一个数据包;      (图2 TCP连接建立第1步)     2)第2步(图3),192.168.2.100主机向客户端发送一个同步/确认数据包,此数据包同时将TCP标记中的同步位和确认位置1,它既对第一步中的客户端同步数据包进行确认,表示愿意与客户端同步,同时再对客户端主机进行同步请求;      (图3 TCP连接建立第2步)     3)第3步(图4),客户端在收到192.168.2.100对它的同步请求后,再对192.168.2.100进行确认,此数据包中将TCP标记中的确认位置1,表示这是一个确认数据包,此数据包发送后,两台主机的三方握手成功建立;      (图4 TCP连接建立第3步) 2. TCP连接关闭     第4到69的数据包,是用户进行Telnet登录及退出的操作,第70到74的数据包,是双方主机在收到退出Telnet操作命令后的TCP连接关闭过程。     1)第1步(图5),192.168.2.100主机向客户端发送一个终止数据包,此数据包同时将TCP标记中的终止位和确认位置1,它告诉客户端192.168.2.100主机已成功接收客户端的上一个数据包,并提示内容接收完毕,请求关闭这个TCP连接;      (图5 TCP连接关闭第1步)     2)第2步(图6),客户端收到192.168.2.100发给自己且带有终止位的数据包后,对其进行确认,且示同意关闭此TCP连接。      (图6 TCP连接关闭第2步)     3)第3步(图7),客户端在对192.168.2.100主机的确认后,再向其发送一个终止TCP连接的请求,此请求数据包将TCP标记中的确认位和终止位同时置1,表示同意192.168.2.100关闭TCP连接的请求,且自己也把关闭此TCP连接的请求发给192.168.2.100,并等待对方的确认。    (图7 TCP连接关闭第3步)     4)第4步(图8),192.168.2.100主机对客户端关闭TCP连接的请求进行确认,此数据包将TCP标记中的确认位置1,表示同意客户端关闭TCP连接的请求。至此,此TCP连接正常关闭。      (图8 TCP连接关闭第4步) ipv4和tcp报头数据 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 收藏 IPv4 (Internel协议)头部 view plaincopy to clipboardprint? #include   struct iphdr {  #if defined(__LITTLE_ENDIAN_BITFIELD)  __u8    ihl:4,version:4;  #elif defined (__BIG_ENDIAN_BITFIELD)  __u8    version:4,ihl:4;  #else  #error “Please fix ”  #endif  __u8    tos;  __be16 -tot_len;  __be16 -id;  __be16 -frag_off;  __u8    ttl;  __u8    protocol;  __be16 -check;  __be32 -saddr;  __be32 -daddr;  };  #include struct iphdr { #if defined(__LITTLE_ENDIAN_BITFIELD) __u8    ihl:4,version:4; #elif defined (__BIG_ENDIAN_BITFIELD) __u8    version:4,ihl:4; #else #error “Please fix ” #endif __u8    tos; __be16 -tot_len; __be16 -id; __be16 -frag_off; __u8    ttl; __u8    protocol; __be16 -check; __be32 -saddr; __be32 -daddr; }; iphdr->version:版本(4位),目前的协议版本号是4,因此IP有时也称作IPv4。 iphdr->ihl:首部长度(4位):首部长度指的是IP层头部占32 bit字的数目(也就是IP层头部包含多少个4字节 — 32位),包括任何选项。由于它是一个4比特字段, 因此首部最长为60个字节。普通IP数据报(没有任何选择项)字段的值是5 <==> 5 * 32 / 8 = 5 * 4 = 20 Bytes。 iphdr->tos:服务类型字段(8位): 服务类型(TOS)字段包括一个3 bit的优先权子字段(现在已被忽略),4 bit的TOS子字段和1 bit未用位但必须置0。4 bit的TOS子字段分别代表:最小时延、最大吞吐量、最高可靠性和最小费用。4 bit中只能设置其中1 bit。如果所有4 bit均为0,那么就意味着是一般服务。 iphdr->tot_len:总长度字段(16位)是指整个IP数据报的长度,以字节为单位。利用首部长度字段和总长度字段,就可以知道 IP数据报中数据内容的起始位置和长度。由于该字段长16比特,所以IP数据报最长可达65535字节总长度字段是IP首部中必要的内容,因为一些数据链路(如以太网)需要填充一些数据以达到最小长度。尽管以太网的最小帧长为46字节,但是IP数据可能会更短。如果没有总长度字段,那么IP层就不知道46字节中有多少是IP数据报的内容。 iphdr->id:标识字段(16位)唯一地标识主机发送的每一份数据报。通常每发送一份报文它的值就会加1。 iphdr->frag_off (16位):frag_off域的低13位 — 分段偏移(Fragment offset)域指明了该分段在当前数据报中的什么位置上。除了一个数据报的最后一个分段以外,其他所有的分段(分片)必须是8字节的倍数。这是8字节是基本分段单位。由于该域有13个位,所以,每个数据报最多有8192个分段。因此,最大的数据报长度为65,536字节,比 iphdr->tot_len域还要大1。 iphdr->frag_off的高3位:(1) 比特0是保留的,必须为0;(2) 比特1是“更多分片”(MF — More Fragment)标志。除了最后一片外,其他每个组成数据报的片都要把该比特置1。(3) 比特2是“不分片”(DF — Don’t Fragment)标志, 如果将这一比特置1,IP将不对数据报进行分片。这时如果有需要进行分片的数据报到来,会丢弃此数据报并发送一个ICMP差错报文给起始端。 iphdr->ttl:TTL(time-to-live) — 8位,生存时间字段设置了数据报可以经过的最多路由器数。它指定了数据报的生存时间。TTL的初始值由源主机设置(通常为32或64),一旦经过一个处理它的路由器,它的值就减去1。当该字段的值为0时,数据报就被丢弃,并发送ICMP报文 通知 关于发布提成方案的通知关于xx通知关于成立公司筹建组的通知关于红头文件的使用公开通知关于计发全勤奖的通知 源主机。TTL(Time to live)域是一个用于限制分组生存期的计数器。这里的计数时间单位为秒,因此最大的生存期为255秒。在每一跳上该计数器必须被递减,而且,当数据报在一台路由器上排队时间较长时,该计数器必须被多倍递减。在实践中,它只是跳计数器,当它递减到0的时候,分组被丢弃,路由器给源主机发送一个警告分组。此项特性可以避免数据报长时间地逗留在网络中,有时候当路由表被破坏之后,这种事情是有可能发生的。 iphdr->protocol:协议字段(8位): 根据它可以识别是哪个协议向IP传送数据。当网络层组装完成一个完整的数据报之后,它需要知道该如何对它进行处理。协议(Protocol)域指明了该将它交给哪个传输进程。TCP是一种可能,但是UDP或者其他的协议也是可能的。 iphdr->check:首部检验和字段(16位)是根据IP首部计算的检验和码。它不对首部后面的数据进行计算。 ICMP、IGMP、UDP和TCP在它们各自的首部中均含有同时覆盖首部和数据检验和码。为了计算一份数据报的IP检验和,首先把检验和字段置为0。然后,对首部中每个16 bit进行二进制反码求和(整个首部看成是由一串16 bit的字组成),结果存在检验和字段中。当收到一份IP数据报后,同样对首部中每个16 bit进行二进制反码的求和。由于接收方在计算过程中包含了发送方存在首部中的检验和,因此,如果首部在传输过程中没有发生任何差错,那么接收方计算的结果应该为全1。如果结果不是全1(即检验和错误),那么IP就丢弃收到的数据报。但是不生成差错报文,由上层去发现丢失的数据报并进行重传。 iphdr->saddr:32位源IP地址 iphdr->daddr:32位目的IP地址 网络字节序 4个字节的32 bit值以下面的次序传输:首先是0~7bit,其次8~15bit,然后16~23bit,最后是24~31 bit。这种传输次序称作big endian字节序。由于TCP/IP首部中所有的二进制整数在网络中传输时都要求以这种次序,因此它又称作网络字节序。 TCP头 view plaincopy to clipboardprint? #include   struct tcphdr {  __be16 source;  __be16 dest;  __be32 seq; 
本文档为【TCP建立及关闭过程详解】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_589748
暂无简介~
格式:doc
大小:34KB
软件:Word
页数:10
分类:计算机考试
上传时间:2019-06-04
浏览量:10