TCP协议:传输控制协议

 面向连接,可靠,基于IP。 在IP中的报文协议号为6.因特网传输层协议

前20个字节固定

   16位源端口号,16位目的端口号

  32位 发送数据包中第一个字节的序列号:sequence number

   32位确认号

  4位数据偏移,;6位标志位;6位保留位; 16位window表示接受缓冲区的空间空间

  16位校验和,16位紧急指针

选项,填充

data

 

数据偏移:以4字节为单位,故TCP首部(包括选项)最大长度=15*4个字节。

6位标志位分别为:

 URG:紧急指针有效 ,ACK 即 确认号有效

PSH:push功能,  RST:复位TCP连接

SYN:SYN报文     FIN:没有数据需要发送

 

window区告诉TCP连接端对自己能够接收的最大数据长度

 

TCP 使用三次握手协议建立连接:

主动主发送SYN连接请求,等待接收方回答SYN+ACK。

并最终对对方的SYN执行ACK确认。

 

例:

client 发送SYN (SEQ=x) 报文给 server .

server收到SYN报文,回应一个SYN(SEQ=y)ACK(ACK=x+1)

client收到SYN报文,回应一个ACK(ACK=y+1).

 

使用四次握手终止连接

client - FIN -> server

client <- ACK - server

client <- FIN -> server

client - ACK -> server

 

TCP重传策略:定时器

确认号指示:期待接收的下一个字节

 

比较:

TCP 面向连接,UDP 非

TCP传输速度快,UDP 慢

TCP有丢包重传机制,UDP无

TCP协议保证数据正确性,UDP可能丢包

UDP:

无连接协议,与TCP一样处理数据包,但不提供分组,组装,排序。

主要作用:将网络数据流量压缩成包

16位源端口号,16位目的端口号

16位UDP长度,16位UDP检验和

data

报头4个域,各占2个字节。

在TCP/IP协议层次模型中,位于IP层上。 IP层报头指明源主机和目的主机地址

UDP层报头指明主机上的源端口号和目的端口号。

 

posted on 2014-10-21 17:33  Dreaming-Dan  阅读(224)  评论(0编辑  收藏  举报