IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 5. 传输层 -> 正文阅读

[网络协议]5. 传输层

考纲内容

  • 传输层提供的服务
    • 传输层的功能、寻址与端口
    • 无连接服务和面相连接服务
  • UDP
    • UDP数据报, UDP校验
  • TCP
    • TCP段,TCP连接管理、可靠传输、流量控制、拥塞控制

1. 传输层提供的服务

1. 功能

  • 提供应用进程间的逻辑通信(端到端的通信);网络层提供的是主机间的逻辑通信
  • 复用和分用
    • 复用:发送方不同的应用进程都可使用同一个传输层协议传送数据
    • 分用:接收方的传输层在剥去报文的首部后能把这些数据正确交付到目的应用进程
  • 对收到的报文进行差错检测(首部和数据部分);网络层只检查IP数据报的首部
  • 提供两种不同的传输协议(UDP和IP);网络层无法同时实现两种协议

2. 传输层的寻址与端口

  • 端口的作用
    • 让应用层的应用进程将其数据通过端口向下交付给传输层
    • 让传输层知道将其报文段中的数据向上通过端口交付给应用层相应的进程
  • 分类
    • 硬件端口:不同硬件设备进行交互的接口
    • 软件端口:应用层的各种协议进程与传输实体进行层间交互的一种地址(传输层使用
  • 端口号
    • 服务端使用的端口号
      • 熟知端口号:0~1023
      • 登记端口号:1024~49151
    • 客户端使用的端口号:49152~65535
      传输层的寻址与端口
  • 套接字(通信端点):唯一地标识网络中的一台主机和其上的一个应用(进程)
    • 作用:采用发送方和接收方的套接字(Socket)组合来识别端点
    • 组成套接字 = (主机IP地址,端口号)

3. 无连接服务和面相连接服务

TCP vs UDP

  • IP vs UDP
    • IP数据报对路由可见
    • UDP数据报封装成IP数据报在网络层传输时,UDP数据报的信息对路由不可见
  • TCP vs 虚电路
    • TCP报文段在传输层抽象的逻辑信道中传输,对路由器不可见
    • 虚电路所经过的交换结点都必须保存虚电路状态信息
    • 注意网络层采用虚电路方式,则无法提供无连接服务;而传输层采用TCP不影响网络层提供无连接服务

2. UDP协议

1. UDP数据报

  • 特点
    • 面向报文(仅增删首部,不修改报文内容)
    • 可靠性由用户在应用层维护
      UDP
  • 优点
    • UDP无须建立连接,不会产生建立连接的时延
    • 无连接状态,减少资源消耗
    • 分组首部开销小(TCP首部开销20B,UDP首部开销8B)
    • 应用层能更好地控制要发送的数据和发送时间(无拥塞控制,稳定传输)
  • UDP基于端口的分用
    UDP基于端口的分用
  • 应用场景
    • 一次性传输较少数据的网络应用
    • 多媒体应用(实时性要求 > 可靠性要求)
  • 首部格式
    UDP首部格式

2. UDP校验

  • 定义:计算校验和时,要在UDP数据报之前增加12B的伪首部(伪首部不是UDP的真正首部)
    UDP校验
  • 注意:伪首部既不向下传送也不向上递交,仅为了计算校验和(校验UDP数据报、IP数据报的源IP地址和目的IP地址)
    UDP校验

3. TCP协议

1. TCP协议概述

  • 定义:TCP是在不可靠的IP层上实现的可靠的数据传输协议,主要解决传输的可靠、有序、无丢失和不重复问题
  • 特点
    • TCP只能点对点传输(不能广播和多播)
    • 面向连接,可靠传输(可靠有序,不丢不重
    • 全双工通信,随时发送数据,连接端设有发送缓存和接受缓存
    • 面向字节流
  • 发送缓存暂存以下数据
    • 发送应用程序传送给发送方TCP准备发送的数据
    • TCP已发送但尚未收到确认的数据
  • 接收缓存暂存以下数据
    • 按序到达但尚未被应用程序读取的数据
    • 不按序到达的数据

2. TCP报文段

  • 数据单元:报文段(首部最短20B,长度为4B的整数倍)
  • 功能:运载数据、建立连接、释放连接和应答
  • 各字段意义
    TCP报文
    • 源端口和目的端口字段2B
    • 序号字段4B,其值代表本报文段所发送的数据的第一个字节的序号(TCP按字节发送,传送的数据流中的每个字节都编号)
    • 确认号4B,期望收到对方的下一个报文段的数据的第一个字节的序号
    • 数据偏移(首部长度)4bit,单位为4B,最大长度为60B
    • 保留字段:6bit,目前置全0
    • 紧急位URG:URG=1时,表明紧急指针字段有效(数据从地一个字节到紧急指针所指字节就是紧急数据
    • 确认为ACK:ACK=1时确认号字段有效(连接建立后ACK必须置1
    • 推送位PSH(Push):若接收TCP收到PSH=1的报文段,就尽快交付
    • 复位位RST(Reset):RST=1时表明TCP连接出现严重差错
    • 同步位SYN:SYN=1表示这是一个连接请求或连接接收报文
      • SYN=1,ACK=0 :连接请求报文
      • SYN=1,ACK=1 :连接接收报文
    • 终止位FIN(Finish):释放连接(FIN=1表示数据发送完毕)
    • 窗口字段:2B,允许对方发送的数据量(作为接收方让发送方设置其发送窗口的依据单位为字节
    • 校验和:2B,校验首部和数据(也需加伪首部,协议字段的17改为6,其他同UDP)
    • 紧急指针字段:16bit,指出本报文段中紧急数据共有多少字节(紧急数据放在本报文段数据的最前面
    • 选项字段:长度可变,MSS是TCP报文段中的数据字段的最大长度
    • 填充字段:使整个首部长度是4B的整数倍

3. TCP连接管理

1. 连接与管理
  • 三个阶段
    • 连接建立
    • 数据传送
    • 连接释放
  • 建立连接要解决的问题
    • 要使每一方都能够确知对方的存在
    • 允许双方协商一些参数(最大窗口值、时间戳选项及服务质量)
    • 能够对运输实体资源进行分配(缓存大小、连接表中的项目)
  • 管理:使运输连接的建立和释放都能正常进行
  • 特点
    • 连接的端口为套接字或插口
    • 每条TCP连接唯一地被通信两端的两个端点(两个套接字)确定
    • 采用客户机/服务器方式
2. TCP连接的建立(三次握手)

三次握手

  • SYN洪泛攻击:攻击者发送TCP SYN,SYN是TCP三次握手中的第一个数据包,当服务器返回ACK后,该攻击者不对其进行再确认,那这个TCP连接就处于挂起状态,服务器收不到再确认的话,还会重复发送ACK给攻击者。这样会更加浪费服务器的资源,攻击者就对服务器发送大量的这种TCP连接,由于每一个都无法完成三次握手,所以在服务器上,这些TCP连接会消耗CPU和内存,可能导致服务器死机
3. TCP的连接释放(四次挥手)

四次挥手

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-03 11:34:09  更:2021-08-03 11:36:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/3 19:25:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码