八、传输层相关知识

TCP协议介绍

TCP和UDP协议
TCP:传输控制协议
UDP:用户数据报协议
TCP是面向连接的、可靠的进程到进程通信的协议
UDP协议无连接、不保证可靠性的传输层协议

TCP报文

TCP报文段:
在这里插入图片描述

源端口号:发送方进程的端口号。

目标端口号:接收端进程的端口号。接收端收到数据段后,根据这个端口号来确定把数据送给哪个应用程序的进程。

序号:发送端为每个字节进行编号,便于接收端正确重组。
当TCP从进程接收数据字节时,把它们分片成数据段存储在发送缓存中,并对每一个字节进行编号。当数据到达目的地后,接收端会按照这个序号把数据重新排列,保证数据的正确性。

确认号:对发送端的确认信息。
接收端响应消息时将用会它来告诉发送端这个序号之前的数据段都已经收到,如确认号是x,就是表示前x-1个数据段都已经收到

首部长度:用它可以确定TCP首部数据结构的字节长度。一般情况下TCP首部是20字节,但首部长度最大可以扩展为60字节。

控制位:
URG:紧急位。紧急指针有效位。

ACK:确认位。只有当 ACK=1时,确认序列号字段才有效;当 ACK=0时,确认号字段无效。

PSH:急迫位。标志位为1时,要求接收方尽快将数据段送达应用层。

RST:重置位。当 RST 值为1时,通知重新建立 TCP连接。

SYN:同步(连接)位。同步序号位,TCP需要建立连接时将这个值设为1

FIN:断开位。当TCP完成数据传输需要断开连接时,提出断开连接的
一方将这个值设为1。

窗口大小:说明本地可接收数据段的数目。这个值的大小是可变的,当网络通畅时接收端响应消息会将这个窗口值变大以加快传输速度,当网络不稳定时减小这个值可保证网络数据的可靠传输,TCP中的流量控制机制就是依靠变化窗口的大小实现的。

TCP三次握手

TCP建立连接的过程称为三次握手
在这里插入图片描述

第一次握手:主机A发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,主机B由SYN=1知道,A要求建立联机;

第二次握手:主机B收到请求后要确认联机信息,向A发送ack number=(主机A的seq+1),syn=1,ack=1,随机产生seq=7654321的包;

第三次握手:主机A收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,主机A会再发送ack number=(主机B的seq+1),ack=1,主机B收到后确认seq值与ack=1则连接建立成功。

SYN:用于建立连接。
ACK:用于确定收到了请求。
seq:发送自己的数据。
ack:发送接收到的对方的数据。

TCP断开连接的四次挥手

在这里插入图片描述

常见的TCP、UDP端口及其功能

TCP

端口 协议 说明
21 FTP 文件传输
23 TELNET 远程登录
25 SMTP 邮件使用
80 HTTP 超文本传输协议
110 PoP3 邮件接收

UDP

端口 协议 说明
69 TFTP 简单文件传输协议
111 RPC 远程过程调用
123 NTP 网络时间协议

猜你喜欢

转载自blog.csdn.net/TaKe___Easy/article/details/111871014