传输层协议介绍

传输层协议介绍

  • TCP和UDP协议
    • 1.TCP报文格式
    • 1.1TCP常见协议及其端口
    • 1.2TCP三次握手
    • 1.3TCP四次挥手
  • 2.UDP报文的首部格式
    • 2.1UDP端口号及其功能
  • 总结

TCP和UDP协议

TCP协议:是面向连接的,是全双工的,可靠的进程到进程通信的协议。
UDP协议:是无连接的不可靠的,但是高效传输,花费较小。

1.TCP报文格式

源端口
目标端口号
序号:标识相应编号
确认号:确认发送端的信息
首部长度:确定TCP首部长度,一般二十字节,最大60.
控制位6个:
URG:紧急指针(urgent pointer)有效。
ACK:确认序号有效。
PSH:接收方应该尽快将这个报文交给应用层。
RST:重置连接。
SYN:发起一个新连接。
FIN:释放一个连接。
保留
窗口大小:量从小变大
校验和:校验有误,数据丢弃。
紧急指针:配合URG使用。
选项:根据首部长度,首部长度多少,他就多少。

1.1TCP常见协议及其端口

协议 端口
FTP 21
TELNET 23
SMTP 25
HTTP 80
POP3 110
HTTPS 443
SSH 22
DNS 53

1.2TCP三次握手

三次握手即TCP连接的建立。
PC1和PC2先建立连接,这个连接必须是一方主动打开,另一方被动打开的。以下为客户端主动发起连接的图解:
握手之前主动打开连接的客户端
(1)首先客户端向服务器端发送一段SYN报文,随后客户端进入SYN-SENT(同步已发送状态)阶段。
(2)服务器端接收到来自客户端的SYN报文之后,确认收到客户端的请求,并发出建立连接,进入SYN-RCVD(同步收到)阶段。
(3)客户端接收到来自服务器端的确认收到数据的SYN报文之后,明确了从客户端到服务器的数据传输是正常的,结束SYN-SENT阶段,进入ESTABLISHED(已建立连接)阶段。

1.3TCP四次挥手

1.第一次挥手:客户端发送一个FIN,用来关闭客户端到服务端的数据传送的请求,客户端进入FIN_WAIT-1(等待终止-1状态)。

2.第二次挥手:服务端收到FIN后,发送一个ACK给客户端,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),服务端进入CLOSE_WAIT(关闭等待状态)。

这是已成半断开,这时客户端已无法继续连接服务端,但是服务端仍能给客户端发送数据。

3.第三次挥手:服务端发送一个FIN,用来关闭服务端到客户端的数据传送,服务端进入LAST_ACK状态。服务器在确认断开之后还需要发送数据,客户端进入FIN_WAIT-2(等待终止-2状态)

4.第四次挥手:客户端收到FIN后,客户端进入TIME_WAIT时间等待状态,接着发送一个ACK给服务端,确认序号为收到序号+1,服务端进入CLOSED状态(服务器接收到确认包之后),之后客户端也关闭了,完成四次挥手。

2.UDP报文的首部格式

源端口号(16) 目标端口(16)
UDP长度(16) UDP校验和(16)

2.1UDP端口号及其功能

协议 端口 说明
TFTP 69 简单文件传输协议
RPC 111 远程过程调用
NTP 123 网络时间协议
DHCP 67服务68客户 动态主机配置协议

总结

TCP是一个可靠的面向连接的协议
TCP建立连接要经历三次握手
TCP断开连接要经历四次挥手
UDP是一个不可靠无连接的协议

你可能感兴趣的:(其他)