当前位置: 首页 > news >正文

dfaews

TCP 协议扩展

1. 面向连接

TCP 传输数据前需建立点到点的逻辑连接

2. TCP 报文结构

  • 包含源端口号(16 位)、目标端口号(16 位)、序列号(32 位)参数。
  • 区分不同 TCP 连接靠 “四元组”:源 IP 地址、源端口、目标 IP 地址、目标端口,可唯一标识一条 TCP 连接。

3. TCP 异常连接

  • 主机向发送源发送 RST 标记位置 1 的 TCP 报文段可中断连接,发送到无效 TCP 连接时常用此方式终止。

4. TCP 可靠传输机制

  • 连接确认机制:让对方回复确认报文段,其 TCP 头部的 ACK 标记位置 1,同时激活确认序列号。
  • 重传机制
    • RTT(Round-Trip Time):发出数据到收到确认报文的往返时间。
    • RTO(Retransmission Timeout):超时重传时间,是动态变化的值。
    • 超时间隔加倍:缓解网络拥塞时的重传压力。
    • 快速重传机制:发送方可在超时前通过接收方反馈意识到数据包丢失并重传,接收方收到失序报文会发送冗余 ACK。
  • 流控
    • 滑动窗口:接收方通过窗口字段通知发送方窗口大小,控制数据发送。
    • 小窗口处理:接收方缓冲区满时设窗口为 0,发送方满足特定条件才发送数据。
  • 校验和:确保数据完整性。

5. TCP 拥塞控制

  • 目的:根据网络拥堵情况调整发送量,缓解拥堵。
  • 拥塞判断:将丢包视为拥塞表现,丢包形式包括数据包确认超时和收到 3 个冗余 ACK。
  • 拥塞控制方法
    • 拥塞窗口:发送方维护,动态调整,受其和接收窗口共同影响,取最小值。
    • 控制过程:包括慢开始、拥塞避免、快重传、快恢复等阶段,各阶段拥塞窗口有不同变化规则。
    • 二、网络类型及数据链路层协议

      1. 网络类型分类

    • 多点接入网络(MA)
      • BMA:广播型,支持广播,如以太网,设备间可互访。
      • NBMA:非广播型,不支持广播,如帧中继网络,spoke 间不能互访,与 hub 可互访。
    • P2MP(点到多点网络):由其他网络类型手动更改,需手动指定邻居,模拟组播发送协议报文。
    • 点到点网络(P2P):网络中只有两台设备,用串线连接串线接口,传输标准有 E1(2.048Mbps,欧洲)和 T1(1.544Mbps,北美)。
    • 2. 数据链路层协议

    • MA 网络:以太网协议,是传输标准 EthernetII 类型帧的协议,支持多路访问和广播,用 MAC 地址标识设备,可通过多种以太网线连接设备以太网接口,利用频分技术提高传输速率。
    • P2P 网络
      • HDLC 协议:高级数据链路控制协议,私有协议,厂商间不兼容,分标准和非标准,有透明传输、效率高、可靠性高等特点,但不支持验证和 IP 地址协商。
      • PPP 协议:点到点协议,公有协议,厂商兼容,支持同步和异步线路,有诸多特点,其数据帧有特定结构,由 LCP、NCP 及可选验证协议族组成,工作过程包括链路建立、可选认证、网络层协议协商等阶段,验证方式有 PAP 和 CHAP,还可通过 MP-GROUP 配置实现多链路捆绑。
http://www.lryc.cn/news/597629.html

相关文章:

  • React中的antd的表格使用方法
  • docker安装minio及配置禁止列出目录文件
  • 【前沿技术动态】【AI总结】RustFS:从 0 到 1 打造下一代分布式对象存储
  • 《WebGL打造高性能3D粒子特效系统:从0到1的技术探秘》
  • La Création du C++ : Une Épopée dans l‘Évolution de la Programmation
  • 5.综合案例 案例演示
  • Java面试宝典:Spring专题一
  • 背包DP之0/1背包
  • OpenLayers 快速入门(六)Interaction 对象
  • 嵌入式学习-(李宏毅)机器学习(1)-day28
  • 《汇编语言:基于X86处理器》第9章 复习题和练习
  • #Linux内存管理# 详细介绍使用mmap函数创立共享匿名映射的工作原理
  • 力扣146:LRU缓存
  • 单片机-----基础知识整合
  • Win10_Qt6_C++_YOLO推理 -(1)MingW-opencv编译
  • Linux dd命令 数据备份、转换与磁盘操作的终极工具
  • LinkedList的模拟实现+LinkedList和ArrayList的区别
  • 低代码中的统计模型是什么?有什么作用?
  • 海外短剧系统全栈开发指南:从视频编解码到全球CDN架构实战
  • 什么是5G-A三防平板?有什么特点?哪些领域能用到?
  • SpringBoot 内嵌 Tomcat 的相关配置
  • 上网行为管理之身份认证实验
  • 纯CPU场景下C++的分布式模型训练框架设计思路
  • 18.设备虚拟化
  • LeetCode 407:接雨水 II
  • SQL 中 CASE WHEN 及 SELECT CASE WHEN 的用法
  • SparkSQL 聚合函数 MAX 对 NULL 值的处理
  • 基于多种机器学习的水质污染及安全预测分析系统的设计与实现【随机森林、XGBoost、LightGBM、SMOTE、贝叶斯优化】
  • 小白做投资测算,如何快速上手?
  • 网安-SQL注入-sqli-labs