• 计算机网络-传输层


    1、传输层的功能

    1. 通信功能的最高层,用户功能的最底层
    2. 进程通信,端到端,主机间的逻辑通信
    3. 复用分用,不同进程都可用,网络层的复用是不同传输层协议都可以封装成数据报
    4. 在这里插入图片描述
    5. 差错检测,同时检测数据部分和首部,网络层之间测首部

    端口

    1. 端口号16bit,可以表示65536个端口
    2. 不同主机间的端口号没关系
    3. 分为两类:服务端,客户端
    4. 服务端分为 熟知(0-1023)登记(1024-49151)
    5. 在这里插入图片描述
      12. 客户端口49152-65535,临时端口,动态选择
    6. 套接字:IP:端口号

    面向链接与无链接

    1. TCP面向链接、可靠、全双工,逻辑,无广播组播
    2. UDP无链接、不可靠、无确认、仅在IP上加多路复用-投递到对应端口,和错误检测,TFTP、DNS、SNMP、RTP
    3. IP数据报对应UDP数据报,虚电路对应TCP,TCP是否可以使用IP数据报
      在这里插入图片描述
    4. TCP和IP数据报的首部长度都是20
    5. 提供确认,就可以认为是可靠协议

    UDP

    1、概述

    功能
    在这里插入图片描述
    优点:无链接、首部小、多对多
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
    面向报文
    在这里插入图片描述

    3、首部格式

    在这里插入图片描述
    在这里插入图片描述

    UDP校验
    1. 伪首部
      在这里插入图片描述
    2. 伪首部的格式
      在这里插入图片描述
    3. 校验和的计算方法
      在这里插入图片描述
    4. 例子
      在这里插入图片描述
      反码求和是什么
      在这里插入图片描述

    TCP

    1. 特点
      在这里插入图片描述
      暂存数据类型
      在这里插入图片描述
      在这里插入图片描述
      关于TCP长度问题
      在这里插入图片描述

    TCP报文段

    首部
    在这里插入图片描述
    格式
    在这里插入图片描述
    格式详解

    1. 原端口和目的端口:各2B
    2. 序号:4B,按照字节传送,每个字节都编号,序号字段表示发送数据的第一个字节的编号
    3. 确认号:4B,期待收到下一个报文段的序列号
    4. 数据偏移,也是首部长度:4bit,单位是4字节,最大15*4B = 60B
    5. 保留位:6位,目前是0
    6. 紧急位URG:=1时有效,表示紧急数据,配合紧急指针,表示从第一个到紧急指针都是紧急数据
    7. 确认位ACK:ACK = 1确认号才有效,建立连接后,ACK置1
    8. 推送位PSH:PSH = 1尽快交付,否则填满缓存后交付
    9. 复位位RST:RST = 1严重差错,释放链接,重新建立
    10. 同步位SYN:SYN = 1表示链接请求,链接接受豹报文 ,SYN = 1 ACK = 0 请求报文,SYN = 1 ACK = 1 接受报文
    11. 窗口:2B,发送方设置发送缓存的依据
    12. 校验和:2B,把UDP的伪首部17改成4
    13. 紧急指针:2B
    14. 选项:TCP规定了一个选项,最大报文长度,MSS数据字段的最大长度
    15. 填充:使首部长度是4B的整数倍

    TCP链接管理

    1. 客户服务器模式
    2. TCP链接端口是套接字
    3. 建立连接三个阶段
  • 相关阅读:
    C++文件服务器项目—Nginx—3
    [kubernetes]-k8s开启swap
    flex布局属性简约速记
    烟草专卖生产企业许可证
    实战一次完整的博彩渗透测试
    记录一次项目依赖升级
    一段木棍剪成三段,能够组成三角形的概率是多少
    Java实现停车场收费系统 JAVA+Vue+SpringBoot+MySQL
    提高软件测试覆盖率的5个重点
    Flask博客实战 - 实现个人中心及权限管理
  • 原文地址:https://blog.csdn.net/weixin_43124546/article/details/126527540