前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >传输层Stu

传输层Stu

作者头像
用户11097514
发布2024-05-31 12:31:25
700
发布2024-05-31 12:31:25
举报
文章被收录于专栏:技术分享

概述和传输层服务

本章学习的重点:

  1. 理解传输层的工作原理
    1. 多路复用/解复用
    2. 可靠数据传输
    3. 流量控制 (发送方和接收方的问题)
    4. 拥塞控制
  2. 学习Internet的传输层协议
    1. UDP:无连接传输
    2. TCP:面向连接的可靠传输
    3. TCP的拥塞控制

传输服务和相关协议

** 为运行在不同主机上的应 用进程提供逻辑通信 ** ** 传输协议运行在端系统 **

  • 发送方:将应用层的报 文分成报文段,然后传 递给网络层
  • 接收方:将报文段重组 成报文,然后传递给应 用层

** 有多个传输层协议可供应 用选择 **

  1. Internet: TCP 和 UDP

传输层和网络层比较

  1. 网络层服务: 主机之间的逻辑通信
  2. 传输层服务: 进程之间的逻辑通信
  • 依赖于网络层的服务
  • 并对网络层的服务进行 增强

Internet传输层协议

image.png
image.png

传输层向上层应用进程提供逻辑的通信服务 在物理上就是通过层间接口传给传输层,由传输层之间的相互配合 将massage 传输给对方的应用进程。

三个协议

  1. ** 可靠的、保序的传输: TCP **

原理 :

  • 多路复用、解复用
  • 拥塞控制
  • 流量控制
  • 建立连接
  1. ** 不可靠、不保序的传输:UDP **

多路复用、解复用

没有为尽力而为的IP服务添加更 多的其它额外服务

  1. **都不提供的服务: **
  • 延迟保证(主机之间的延迟上层无法加强)
  • 带宽保证(ip主机上的带宽无法加强)

多路解复用的工作原理(TCP和UDP不同)

TCP复用解复用

  1. 每个数据报有源IP地址和目标地 址
  2. 每个数据报承载一个传输层报 文段
  3. 每个报文段有一个源端口号和 目标端口号 (特定应用有著名的端口号)

ip之间的传输说的是主机之间的信息传输, 如果想要实现进程之间的信息传输就需要加上端口号(port)

img
img

TCP绑定的是四元组的信息。

通过层间接口向下传输的是四元组 ,和 massage 。

Server端将数据报发出之后, 对方的IP就会接收到这个数据报开始解析, 在TCP部分就会解析TCP的头部,等等信息 。然后在向上传输

主机联合使用IP地址和端口号将报 文段发送给合适的套接字

例子:

1.

img
img

1.

img
img

3, 多线程的场景举例 :

img
img

UDP多路解复用

Server端:

  1. 服务端通过APP的线程, 里面封装了要传输的massage 、 serverSocket 、对方的ip和udp端口的捆绑关系所在的结构体的指针(PID)
  2. 将上述的信息传输给UDP,UDP再往下就是将udp的datagram 、ip地址

Client端:

  1. client接收到对方的ip打包传输过来的信息后, 先检查报文段的目标端口号 , 然后 用该端口号将报文段定位给 套接字
  2. IP解析之后向上交的是 UDP datagram、源ip和目标ip等信息
  3. udp 的datagram中 有源port 目标port ,通过这两个端口信息, 我们就可以将进程的对应关系找到了

如果两个不同源IP地址/源端 口号的数据报,但是有相同的 目标IP地址和端口号,则被定 位到相同的套接字

img
img

无连接传输:UDP

UDP: User Datagram Protocol (用户数据报协议)

它只是增加了多了复用解复用, 除此之外, 并没有增加其他的

  1. 尽力而为”的服务,报文段可能

丢失 、送到应用进程的报文 段乱序

  1. 无连接:
    1. UDP发送端和接收端 之间没有握手
    2. 每个UD报文段都被 独立地处理
  2. UDP经常被用于 :

流媒体(丢失不敏感, 速率敏感、应用可控制 传输速率)

DNS

SNMP

UDP:用户数据报协议

为什么要有UDP?

  1. 不建立连接 (会增加延时 )
  2. 简单:在发送端和接收端没 有连接状态
  3. 报文段的头部很小(开销小)
  4. 无拥塞控制和流量控制: UDP可以尽可能快的发送报 文段
    1. 应用->传输的速率= 主机->网 络的速率

一个UDP数据报文段格式:

img
img

UDP校验和

目标: 检测在被传输报文段中的差错 (如比特反转) , 如果出现差错, 那么就直接丢失。

发送方:

  1. 将报文段的内容视为16 比特的整数
  2. 校验和:报文段的加法 和 (1的补运算)
  3. 发送方将校验和放在 UDP的校验和字段

接收方:

  1. 计算接收到的报文段的校验 和
  2. 检查计算出的校验和与校验 和字段的内容是否相等:
  • 不相等––检测到差错
  • 相等––没有检测到差错 ,但也许还是

Such as(不太懂)

注意:当数字相加时,在最高位的进位要回卷,再加 到结果上

img
img

目标端:校验范围+校验和=1111111111111111 通过校验

否则没有通过校验

注:求和时,必须将进位回卷到结果上

要有进位回滚

回卷 和 校验和之间的和 就是仅为回滚的和。

可靠数据传输的原理

传送门: https://wclspace.xyz/post/84f702e5.html

面向连接的传输: TCP

段结构

可靠数据传输

流量控制

连接管理

拥塞控制原理

TCP 拥塞控制

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-07-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述和传输层服务
    • 传输服务和相关协议
      • 传输层和网络层比较
        • Internet传输层协议
          • 三个协议
        • 多路解复用的工作原理(TCP和UDP不同)
          • TCP复用解复用
          • UDP多路解复用
      • 无连接传输:UDP
        • UDP:用户数据报协议
          • UDP校验和
            • Such as(不太懂)
        • 可靠数据传输的原理
        • 面向连接的传输: TCP
          • 段结构
            • 可靠数据传输
              • 流量控制
                • 连接管理
                • 拥塞控制原理
                • TCP 拥塞控制
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档