传输层协议TCP

TCP协议

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

TCP协议几个重要字段

  • 源端口、目的端口: 16位,$2^{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状态,则表示[]{.gap} {.quiz}

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

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

    • 接受 {.options}
    • 发送 {.correct}
    • 丢弃 {.options}
    • 阻挡 {.options}
      {.options}
  4. POP3协议采用 ([]{.gap} ) 模式进行通信。 {.quiz}

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

    • TCP {.correct}
    • UDP {.options}
    • PHP {.options}
    • IP {.options}
      {.options}
  6. 在TCP/IP协议中,合法的端口地址的范围是 []{.gap} {.quiz}

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

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