第五章:TCP和UDP基本原理

TCP和UDP基本原理

  • 一、TCP/IP传输层的作用
  • [二、 端口](#二、 端口)
    • 1.范围
    • [2. 服务端](#2. 服务端)
    • [3. 客户端](#3. 客户端)
    • [4. 常见知名端口号](#4. 常见知名端口号)
      • [4.1 TCP 80 HTTP](#4.1 TCP 80 HTTP)
      • [4.2 TCP 20 21 FTP](#4.2 TCP 20 21 FTP)
      • [4.3 TCP 23 TELNET](#4.3 TCP 23 TELNET)
      • [4.4 TCP 25 SMTP](#4.4 TCP 25 SMTP)
      • [4.5 UDP 53 DNS](#4.5 UDP 53 DNS)
      • [4.6 TCP 443 HTTPS](#4.6 TCP 443 HTTPS)
  • [三、 TCP原理](#三、 TCP原理)
    • [1. TCP头部封装格式](#1. TCP头部封装格式)
      • [1.1 Source Port 源端口](#1.1 Source Port 源端口)
      • [1.2 Destination Port 目的端口](#1.2 Destination Port 目的端口)
      • [1.3 Seq 序列号](#1.3 Seq 序列号)
      • [1.4 Acknowledgement 确认号](#1.4 Acknowledgement 确认号)
      • [1.5 Data Offset 数据偏移](#1.5 Data Offset 数据偏移)
      • [1.6 Reserved 保留位](#1.6 Reserved 保留位)
      • [1.7 Urg 紧急开关](#1.7 Urg 紧急开关)
      • [1.8 Ack 确认位开关(重点)](#1.8 Ack 确认位开关(重点))
      • [1.9 Psh 直接提交缓存数据](#1.9 Psh 直接提交缓存数据)
      • [1.10 Rst 复位开关(重点)](#1.10 Rst 复位开关(重点))
      • [1.11 Syn 握手开关(重点)](#1.11 Syn 握手开关(重点))
      • [1.12 Fin 结束开关(重点)](#1.12 Fin 结束开关(重点))
      • [1.13 window 窗口尺寸](#1.13 window 窗口尺寸)
      • [1.14 Checksum 校验序列](#1.14 Checksum 校验序列)
      • [1.15 Urgent Pointer 紧急指针](#1.15 Urgent Pointer 紧急指针)
      • [1.16 Options 可选项](#1.16 Options 可选项)
    • [2. TCP可靠机制](#2. TCP可靠机制)
      • [2.1 确认机制](#2.1 确认机制)
      • [2.2 三次握手](#2.2 三次握手)
      • [2.3 四次挥手](#2.3 四次挥手)
      • [2.4 RST结束连接](#2.4 RST结束连接)
      • [2.5 窗口机制](#2.5 窗口机制)
      • [2.6 完整性校验](#2.6 完整性校验)
    • [3. TCP特征](#3. TCP特征)
      • [3.1 优点](#3.1 优点)
      • [3.2 缺点](#3.2 缺点)
    • [4. TCP的适用场景](#4. TCP的适用场景)
  • [四、 UDP原理](#四、 UDP原理)
    • [1. UDP特征](#1. UDP特征)
      • [1.1 优点](#1.1 优点)
      • [1.2 缺点](#1.2 缺点)
    • [2. UDP的使用场景](#2. UDP的使用场景)
  • [五、 比较](#五、 比较)

一、TCP/IP传输层的作用

  1. 提供面向连接或无连接的服务
  2. 维护连接状态
  3. 对应用层数据进行分段和封装
  4. 实现多路复用
  5. 可靠的传输数据
  6. 执行流量控制

二、 端口

每个应用程序进出网络都需要经过一个唯一端口,

通过端口号来识别数据交由哪个应用程序处理

1.范围

1 - 65535

2. 服务端

固定端口号

3. 客户端

1024以上随机端口

4. 常见知名端口号

4.1 TCP 80 HTTP

超文本传输协议

4.2 TCP 20 21 FTP

文件传输协议

4.3 TCP 23 TELNET

远程登录

4.4 TCP 25 SMTP

简单邮件传输协议

4.5 UDP 53 DNS

域名解析协议

4.6 TCP 443 HTTPS

HTTP over SSL

三、 TCP原理

1. TCP头部封装格式

1.1 Source Port 源端口

1.2 Destination Port 目的端口

1.3 Seq 序列号

标识本机发送的数据报文编号

1.4 Acknowledgement 确认号

标识请求对方下次发送的数据报文编号

1.5 Data Offset 数据偏移

标识数据分段在完整数据中的位置

1.6 Reserved 保留位

1.7 Urg 紧急开关

1.8 Ack 确认位开关(重点)

1.9 Psh 直接提交缓存数据

1.10 Rst 复位开关(重点)

用于强行中断TCP连接

1.11 Syn 握手开关(重点)

1.12 Fin 结束开关(重点)

1.13 window 窗口尺寸

用来通知本机的接收能力

1.14 Checksum 校验序列

1.15 Urgent Pointer 紧急指针

1.16 Options 可选项

2. TCP可靠机制

2.1 确认机制

  1. Seq = 上一次ack
  2. Ack = 上一次的seq + length
  3. 如果没有接收到,或接收到的是不完整数据,会再次发送Ack请求对方重发

2.2 三次握手

  1. 第一次 SYN置位 A-B
  2. 第二次 SYN,ACK置位 B-A
  3. 第三次 ACK置位 A-B

2.3 四次挥手

  1. 第一次 FIN置位 A-B
  2. 第二次 ACK置位 B-A
  3. 第三次 FIN置位 B-A
  4. 第四次 ACK置位 A-B

2.4 RST结束连接

  1. 收到RST置位的包后,立即结束TCP连接
  2. 发出RST置位的包后,不必等待对方的确认,直接结束TCP连接

2.5 窗口机制

滑动窗口 通过通告对方本机接收能力,来实现流量控制

2.6 完整性校验

通过Checksum来检查数据完整性

3. TCP特征

3.1 优点

传输可靠性高

3.2 缺点

占用带宽高,传输延迟高

4. TCP的适用场景

对数据完整性要求高,但是对传输延迟要求低

四、 UDP原理

1. UDP特征

1.1 优点

占用带宽低,传输延迟低

1.2 缺点

没有任何可靠性机制

2. UDP的使用场景

对传输延迟要求高,但数据完整性要求低

五、 比较

相关推荐
夜月yeyue4 分钟前
AUTOSAR CP 从上电到 Runnable
c语言·网络·tcp/ip·车载系统
treesforest16 分钟前
IP定位技术在网络犯罪侦查中的应用与价值
网络·网络协议·tcp/ip·网络安全·ip归属地查询·反欺诈
外滩运维专家28 分钟前
HTTPS 证书报错排查手册:6 个高频错误码及解决方法
网络协议·http·https
起司喵喵2 小时前
通过Certbot自动申请更新HTTPS网站的SSL证书
网络协议·https·ssl
鲜花飘飘扬4 小时前
HTTP请求头中表示代理IP地址的属性及获取情况
网络协议·tcp/ip·http
paopaokaka_luck8 小时前
基于springboot3+vue3的智能文库平台(AI智能搜索、AI智能汇总、实时在线状态展示、多格式文档预览与富文本编辑、Echarts图形化分析)
前端·网络·spring boot·网络协议·echarts
发光小北10 小时前
SG-RS232/485/422-Fiber-110 串口光纤收发器如何使用?
网络协议
纵有疾風起10 小时前
从OSI到TCP/IP——分层架构的思想根源与模型之争
tcp/ip·计算机网络·架构·osi·408·体系结构·分层
我星期八休息11 小时前
扩展— TCP 全连接队列与 tcpdump 抓包
linux·服务器·开发语言·前端·网络·tcp/ip·tcpdump
看昭奚恤哭11 小时前
LWIP TCP滑动窗口为TCP ZeroWindow的解决方法
网络·tcp/ip·php