# 传输层协议 TCP

# TCP 协议

  • 传输控制协议,面向字节流按顺序、连接、可靠、全双工,可变滑动窗口、缓冲累积传送。
  • 协议号 6

# TCP 协议几个重要字段

  • 源端口、目的端口: 16 位,2162^{16}(0-65535)

  • URG:紧急指针有效

  • ACK:应答顺序号有效

  • PSH:推进功能有效

  • RST:复位为初始状态

  • SYN:建立同步连接

  • FIN:结束释放连接

  • 校验和:包括 TCP 段头、数据、伪段头

    tcpbt

# TCP 端口

端口 服务 端口 服务
20 文件传输协议(数据) 80 超文本传输协议
21 文件传输协议(控制) 110 POP3 服务器(邮箱发送)
23 Telnet 终端仿真协议 139 Win98 共享资源端口
25 SMTP 简单邮件发送协议 143 IMAP 电子邮件
42 WINS 主机名服务 161 NMP-snmp
53 域名服务器(DNS) 162 SNMP-trap-snmp

# TCP 三次握手:防止产生错误的连接

scws

  • SYN 码:1 为肯定,0 为否定

# TCP 四次挥手:释放连接

schs

# TCP 拥塞控制机制

  • 报文到达速率大于路由器的转发速率,产生拥塞
  • 解决方法
    • 重传计时器
    • 慢启动
    • 拥塞避免
    • 快速重传
    • 可变滑动窗口
    • 选择重发 ARQ
  • 总结:差错控制、流量控制、拥塞控制

# 超时重传计时器

  • 重传是为了保证 TCP 可靠的重要措施。TCP 每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的时间到了,但还没有收到确认,就重传这一报文段
  • 重传时间要设置的合理,一般和 往返时间平均时延时间偏差 等有关。大多数采取观察最近一段时间的报文时延来估算往返时间

# 慢启动

  • 发送方在接收到确认之前逐步扩大窗口的大小

  • 1、2、4、8 等按指数规律翻倍,最后达到门限阈值。出现超时,将拥塞窗口回到 1,再次开始慢启动

    mqd

# 拥塞避免

  • 窗口达到门限阈值以后,进入拥塞避免阶段,TCP 采用线性增加方式放大窗口,按照 + 1 递增。发生拥塞,门限阈值减半。再发生再减半。按指数规律成倍减半

# 快速重传

  • 发送端一连收到 3 个重复 ACK,就重传,不等待计时器

    kscc

# 传输层协议 UDP

# UDP 协议

  • 用户数据报协议,无连接的、不可靠的、不保证顺序的、无差错流控机制
  • 校验和包括:UDP 头部、数据、伪头部
  • 协议号 17

# UDP 报文格式

  • 少量传输数据,高层程序负责解决数据排序、差错控制等

  • 开销少,网络管理经常使用

    UDPbw

  • TCP 支持数据传输,UDP 支持音视频传输

# 场景应用层协议

# 电子邮件协议 SMTP

  • SMTP 简单邮件传输协议,负责将邮件上传到服务器,采用 TCP 的 25 端口,C/S 工作模式,仅传送 ASCII 码文本

    smtp

# 电子邮件协议 POP3

  • POP3 邮局协议,负责将邮件下载到客户机,采用 TCP 的 110 端口,C/S 工作模式

  • 用户从服务器读取邮件后,服务器就删除该邮件

    pop3

# 电子邮件协议 S/MIME

  • S/MIME 多用途互联网邮件扩展协议,负责将多媒体邮件安全 上传到服务器中,包含文本、图像、音频、视频以及其他应用程序专用的数据

# 电子邮件协议 IMAP4

  • IMAP4 互联网消息访问协议,提供摘要浏览,选择下载
  • 采用 TCP 的 142 端口,C/S 工作模式
  • 用户从服务器读取邮件后,服务器 仍会保存该邮件

# 电子邮件协议 PGP

  • PGP 电子邮件加密协议,数据加密、鉴别、签名和压缩等技术

  • 使用 IDEA(128 位)加密数据,RSA 加密密钥,MD5 认证

  • PEM 增强保密邮件协议

    • 使用多种加密方法提供机密性、认证和信息完整性的因特网电子邮件协议,采用每个报文 一次一密的方法加密 ,其他和 PGP 功能差不多

# 文件传输协议 FTP

  • FTP 文件传输协议,赋值文件通过服务器 上下传送
  • 采用 TCP 的两条连接
    • 数据连接 20 端口
    • 控制连接 21 端口
  • C/S 工作模式
  • 分为合法访问和匿名访问
    • ftp://192.168.12.106 的格式访问,或把 IP 改为域名也可访问,但必须加上 ftp:// 协议头

# FTP 的传输模式

  • FTP 的传输模式

    • 主动模式(PORT/Standard)
    • 被动模式(PASV/Passive)
  • 区别为:服务器主动使用 20 端口传数据,被动随机传端口

    port

    pasv

# 远程登录协议 Telnet

  • TCP/IP 仿真协议,登录到远程主机上操作,网络虚拟终端 NVT 致辞异构主机,采用 TCP 的 23 端口,C/S 工作

  • 使用命令 telnet 192.168.1.254

    telnet

# 超文本传输协议 HTTP

  • 万维网 WWW(Web)服务器提供全球的、分布的、动态的、多平台的、交互的多媒体信息
  • 使用 TCP 的 80 端口,B/S 工作模式,统一资源定位符 URL
  • 编程语言为 HTML

# 练习例题

  1. 如果一个 TCP 连接处于 ESTABISHED 状态,则表示

    • 已经发出了连接请求
    • 处于连接监听状态
    • 连接已经建立
    • 等待对方的释放连接响应
  2. 下面哪个字段的信息出现在 TCP 头部而不出现在 UDP 头部? ( )。

    • 目标端口号
    • 顺序号
    • 源端口号
    • 校验和
    • 数据排列:TCP 有序,UDP 无序
  3. SMTP 协议用于 ( ) 电子邮件。

    • 接受
    • 发送
    • 丢弃
    • 阻挡
  4. POP3 协议采用 ( ) 模式进行通信。

    • B/S
    • C/S
    • P-to-P
    • P-to-C
  5. 在 POP3 协议中,当客户机需要访问时,客户端软件与 POP3 服务器建立 ( ) 连接。

    • TCP
    • UDP
    • PHP
    • IP
  6. 在 TCP/IP 协议中,合法的端口地址的范围是

    • 1-255
    • 1-1023
    • 1-1024
    • 1-65535
  7. FTP 需要建立两个连接,当工作与 PSVE 模式时,其数据连接的端口号是

    • 20
    • 21
    • 用户确定
    • 服务器确定
    • FTP 默认是主动模式 使用 20 21 端口,PSVE 是随机的,由服务器确定端口号