网络基础 05 传输层协议介绍

传输层协议介绍

 

 

 

TCP和UDP协议:

TCP(Transmission Control Protocol )

传输控制协议

UDP(User Datagram Protocol )

用户数据报协议

TCP协议:

特点:TCP是面向连接的、可靠的进程到进程通信的协议

TCP提供全双工服务,即数据可在同一时间双向传输

TCP报文段:TCP将若干个字节构成一个分组,叫报文段(Segment)TCP报文段封装在IP数据报中

                       

TCP报文段:

 

序号:发送端为每个字节进行编号,便于接收端正确重组

确认号:用于确认发送端的信息

窗口大小:用于说明本地可接收数据段的数目,窗口大小是可变的

URG:紧急指针,当URG=1时表明紧急指针字段有效,告诉报文中有紧急数据

ACK:确认指针,当ACK=1时,确认字段有效

PSH:推送指针,当两个进程进行交互通信时,用于实时响应

RST:复位指针,当RST=1时,表示TCP中出现重大差错,必须释放连接

SYN:同步指针,在建立连接使用与同步序号,当SYN=1  ARK=0时,连接请求报文,当SYN=1  ACK=1时,链接为响应报文

FIN:终止指针,用于释放连接

 

² TCP三次握手,四次挥手

 

TCP建立连接的过程被称为三次握手

  • l  客户端发送syn包(seq=x)到服务器,并进入SYN_SEND状态,等待服务器确认;
  • l  服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(seq=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;
  • l  客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

 

 

TCP断开连接的过程被称为四次挥手

  • l  首先客户端发送第一个FIN将执行主动关闭,服务器收到这个FIN执行被动关闭。
  • l  当服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。
  • l  同时TCP服务器还向应用程序(即丢弃服务器)传送一个文件结束符。接着这个服务器程序就关闭它的连接,导致它的TCP端发送一个FIN。
  • l  客户端必须发回一个确认,并将确认序号设置为收到序号加1。

 

常用的TCP端口号及其功能

 

UDP协议

UDP是一个面向无连接、不可靠的传输协议,发送端不关心发出的数据是否达到目标主机,数据是否出错等。

但UDP花费的开销小,UDP部首结构简单,在传输时能实现最小的开销而且传输数据块能实现一对多,多对一的传输

 

UDP长度:用来指出UDP的总长度,为首部加上数据

校验和:用来完成对UDP数据的差错检验,它是UDP协议提供的唯一的可靠机制

原文地址:https://www.cnblogs.com/baoqingrui/p/11195258.html