网络安全协议基础
检验和
窗口 紧急指针
选 项 (长 度 可 变)
填充
20 字节
固定
首部
窗口字段 —— 占 2 字节。窗口字段用来控制对方发送的数据量,
单位为字节。TCP 连接的一端根据设置的缓存空间大小确定自己的
接收窗口大小,然后通知对方以确定对方的发送窗口的上限。
19
TCP报文各字段域的含义
比特 0
8
16
24
31
TCP 报文段 TCP 首部
TCP 数据部分
发送在前 IP 首部
IP 数据部分
7
TCP报文各字段域的含义
比特 0
8
16
24
31
TCP 首部 数据
偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I
G KH T NN
检验和
窗口 紧急指针
选 项 (长 度 可 变)
填充
20 字节
固定
首部
现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后
再重新建立运输连接。
16
TCP报文各字段域的含义
比特 0
8
16
24
31
TCP 首部 数据
偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I
G KH T NN
检验和
窗口 紧急指针
选 项 (长 度 可 变)
填充
20 字节
固定
首部
固定
首部
终止比特 FIN (FINal) —— 用来释放一个连接。当FIN 为1 时,表 明此报文段的发送端的数据已发送完毕,并要求释放运输连接。
18
TCP报文各字段域的含义
比特 0
8
16
24
31
TCP 首部 数据
偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I
G KH T NN
能接收的报文段的数据字段的最大长度是 MSS 个字节。”
22
TCP报文各字段域的含义
比特 0
8
16
24
31
TCP 首部 数据
偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I
G KH T NN
检验和
窗口 紧急指针
选 项 (长 度 可 变)
填充
20 字节
固定
首部
填充字段 —— 这是为了使整个首部长度是 4 字节的整数倍。
TCP采用的最基本的可靠性技术是: 确认与超时重传; 流量控制。
3
TCP协议与其他协议的层次关系
应用层 传输层 网络层
SMTP
FTP ... HTTP
DNS
...
SNMP
TCP
UDP
IP
4
TCP的端口号分配和Socket地址
端口号 20 21 23 25 53 80 111
TCP常用的熟知端口号
TCP 首部 数据
偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I
G KH T NN
检验和
窗口 紧急指针
选 项 (长 度 可 变)
填充
20 字节
固定
首部
检验和 —— 占 2 字节。检验和字段检验的范围包括首部和数据这
两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的
偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I
G KH T NN
检验和
窗口 紧急指针
选 项 (长 度 可 变)
填充
20 字节
固定
首部
紧急比特 URG —— 当 URG 为1 时,表明紧急指针字段有效。它
告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数
据)。
13
TCP报文各字段域的含义
比特 0
8
16
24
31
TCP 首部 数据
偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I
G KH T NN
检验和
窗口 紧急指针
选 项 (长 度 可 变)
填充
20 字节
固定
首部
确认比特 ACK —— 只有当 ACK 为 1 时确认号字段才有效。当 ACK 为 0 时,确认号无效
14
31
一次完整的FTP会话
启动Sniffer,利用FTP连接目标主机上的FTP服务器
32
一次完整的FTP会话
33
一次完整的FTP会话
登录FTP的过程是一次典型的TCP连接,因为FTP服务使 用的是TCP协议。其TCP报头的结构:
34
TCP协议的三次“握手”
这个过程在FTP的会话中也明显的显示出来
源端口和目的端口字段——各占 2 字节。端口是运输层与应用层的 服务接口。运输层的复用和分用功能都要通过端口才能实现。
8
TCP报文各字段域的含义
比特 0
8
16
24
31
TCP 首部 数据
偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I
G KH T NN
检验和
窗口 紧急指针
选 项 (长 度 可 变)
填充
20 字节
固定
首部
序号字段——占 4 字节。TCP 连接中传送的数据流中的每一个字 节都编上一个序号。序号字段的值则指的是本报文段所发送的数据 的第一个字节的序号。
9
TCP报文各字段域的含义
比特 0
8
16
24
31
TCP 首部 数据
偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I
端口
TCP
发送缓存
TCP
接收缓存
报文段
报文段
…
发送TCP 报文段
报文段
6
比特 0
TCP 首部
数据 偏移
TCP报文段格式
32 bit
8
16
24
31
源端口
序号
确认号
保留
U AP RSF R CS SY I G KH T NN
检验和
选 项 (长 度 可 变)
目的端口
窗口 紧急指针
填充
20 字节的 固定首部
第3讲 网络安全协议基础
主讲:谢昕
课程主要内容
TCP协议概述 UDP协议与应用 ICMP协议与应用 常见网络服务 常用网络命令使用
2
传输控制协议TCP
TCP协议的主要特点:
TCP是一种面向连接的、可靠的传输层协议;
TCP协议建立在不可靠的网络层IP协议之上,IP不能 提供任何可靠性机制,TCP的可靠性完全由自己实现;
第一次交互中,首先发送一个FIN=1的请求,要求断开,目标 主机在得到请求后发送ACK=1进行确认
40
第三次“挥手”
之后就发送了一个FIN=1的包,与源主机断开
41
第四次“挥手”
随后源主机返回一条ACK=1的信息,一次完整的TCP会话就结束
42
用户报文协议UDP
UDP协议的主要特点 UDP是一种无连接的、不可靠的传输层协议; 在完成进程到进程的通信中提供了有限的差错检验功能; 设计比较简单的UDP协议的目的是希望以最小的开销来达
也通知其上层应用进程,连接已经建立。
26
TCP协议的四次“挥手”
172.18.25.110
172.18.25.109
我要结束连接
当然可以 终止了
好,收到
27
TCP 连接释放的过程
主机 A
主机 B
应用进程 释放连接 A 不再发送报文
FIN, SEQ = x
① 通知主机 应用进程 ②
确认
确认
FIN, ACK, SEQ = y+1, ACK = x + 1
伪首部。
20
Hale Waihona Puke CP报文各字段域的含义比特 0
8
16
24
31
TCP 首部 数据
偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I
G KH T NN
检验和
窗口 紧急指针
选 项 (长 度 可 变)
填充
20 字节
固定
首部
紧急指针字段 —— 占 16 bit。紧急指针指出在本报文段中的紧急 数据的最后一个字节的序号。
31
TCP 首部 数据
偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I
G KH T NN
检验和
窗口 紧急指针
选 项 (长 度 可 变)
填充
20 字节
固定
首部
保留字段——占 6 bit,保留为今后使用,但目前应置为 0。
12
TCP报文各字段域的含义
比特 0
8
16
24
31
TCP 首部 数据
Ö÷»ú A
¿Í »§ ½ø ³Ì
·þ Îñ Æ÷ ½ø ³Ì
Ö÷»ú B