码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 第五章:TCP和UDP基本原理


    TCP和UDP基本原理

    • 一、TCP/IP传输层的作用
    • 二、 端口
      • 1.范围
      • 2. 服务端
      • 3. 客户端
      • 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
    • 三、 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 复位开关(重点)
        • 1.11 Syn 握手开关(重点)
        • 1.12 Fin 结束开关(重点)
        • 1.13 window 窗口尺寸
        • 1.14 Checksum 校验序列
        • 1.15 Urgent Pointer 紧急指针
        • 1.16 Options 可选项
      • 2. TCP可靠机制
        • 2.1 确认机制
        • 2.2 三次握手
        • 2.3 四次挥手
        • 2.4 RST结束连接
        • 2.5 窗口机制
        • 2.6 完整性校验
      • 3. TCP特征
        • 3.1 优点
        • 3.2 缺点
      • 4. TCP的适用场景
    • 四、 UDP原理
      • 1. UDP特征
        • 1.1 优点
        • 1.2 缺点
      • 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的使用场景

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

    五、 比较

    在这里插入图片描述

  • 相关阅读:
    free-mybatis-plugin插件下载
    基于JAVA在线考试系统计算机毕业设计源码+系统+数据库+lw文档+部署
    看源码逐行学习ChatGLM2-6B大模型,项目中的modeling_chatglm.py文件
    计算机毕业设计ssm校园竞赛管理系统设计与实现hyr9b系统+程序+源码+lw+远程部署
    Banana Pi BPI-M6(Raspberry Pi 5 替代品)初始设置及固件烧录
    PyQt5快速开发与实战10.2 复利计算 && 10.3 刷新博客点击量
    odoo16前端框架源码阅读——ormService.js
    测试基础知识
    docker-compose + elasticsearch7.6(配置密码及证书) + kibana7.6 + elasticsearch-head搭建集群
    RabbitMQ事务消息
  • 原文地址:https://blog.csdn.net/self_correction/article/details/133820466
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号