[工学]TCP协议.doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:54 大小:129KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

[工学]TCP协议.doc

[工学]TCP协议.doc

预览

免费试读已结束,剩余 44 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第7章传输控制协议(TCP)1了解面向连接的概念了解TCP报文端的结构及其首部各个字段的意义理解TCP连接的建立和关闭的过程理解TCP保证可靠性的机制:顺序号、超时与重传和确认了解TCP的流量控制方法了解TCP的拥塞控制策略27.1TCP协议TCP的特点:1.TCP连接TCP协议与UDP一个重要的不同之处是TCP是面向连接的而UDP是非连接的TCP传输数据前必须先在发送者和接受者之间通过握手建立一个连接。3TCP常用端口号4TCP的特点2.数据流传输TCP协议只是把应用程序要传输的莸?成无结构的可以分成字节的比特流TCP协议“不知道”所传输的数据的意义3.可靠传输TCP是可靠的传输层协议,它使用多种技术来保证数据的可靠交付57.2TCP6源端口(16比特):报文段发送者端口号目的端口(16比特):报文段接收者端口号序号(32比特):TCP连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。确认号(32比特):当控制位ACK置位时,此域包含的顺序号为接收端希望接收的下一个字节的顺序号。首部长度(4比特):以32比特为单位的报文段首部的长度,即指出数据区在报文段中的位置。保留位(6比特):保留未用,全置为0。7控制位(6比特)URG(urgent):置位时表示紧急指针字段有效。ACK(acknowledge):置位时表示确认号字段有效。PSH(push):置位时表示本报文段要求PUSH操作,此时TCP会立即发送缓冲区中的数据,而不必等待缓冲区填满;在接收端,TCP立即把接收到的数据送给应用程序。RST(reset):置位时表示连接复位,用于在连接发生异常时复位连接。SYN(synchronous):置位时表示与对方同步顺序号。只有在连接请求报文或连接接受报文中该位才会设置为1。FIN(finish):置位时表示发送方没有数据发送了,用于关闭连接。8窗口(16比特):指出接收方可以接收的最大字节数,可以认为是接收端缓冲区的大小?接收端通过窗口字段来控制发送方发送的数据量。TCP连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。校验和(16比特):用于检测数据是否在传输过程中受到破坏。检验的范围包括首部和数据这两部分。算法与UDP协议校验和的计算方法相同。计算检验和时,要在TCP报文段的前面加上12字节的伪首部。9校验和计算所用到伪头部格式10081631源IP地址目的IP地址0协议标识符TCP长度取值为6。紧急指针(16比特):当URG位置位时此字段才有效。有效时标识了此报文段中紧急数据最后一个字节相对于此报文段数据区第一个字节的偏移量。可选项:此字段位数是可变的,没用到的位用0填充使其长度为32比特。11可选项可以分为以下两类:单字节选项结束:00000000,数据起始于下一个4字节开始的地方。无操作选项:00000001多字节最大报文段长度(MMS)。代码:2,长度:4窗口扩大因子。代码:3,长度:3时间戳。代码:8,长度:1012最大报文段长度(MMS)仅在建立连接时使用该选项来协商MMS,在数据传输阶段不能使用该选项。报文格式:13窗口扩大因子窗口大小的确定:New_win=Win*2nNew_win:新窗口的大小;Win:窗口字段大小;n:扩大因子即:窗口扩大因子指出要把窗口字段的值左移多少位来作为真正窗口的大小。14时间戳。发送方在每个报文段中放置一个时间戳值。接收方在确认中返回这个数值,从而允许发送方为每一个收到的ACK计算RTT0000100000001010时间戳值时间戳回送应答TCP报文段实例0015EBB7AADEBC5FF40E57EF08004500003401B540004006B5B9C0A80104C0A80101042900502560137B000000008002FFFFAE6E0000020405B40103030001010