【传输层】

传输层

  • 目标:理解传输层的工作原理
    • 多路复用/解复用
    • 可靠数据传输
    • 流量控制
    • 拥塞控制
  • 学习Internet的传输层协
    • UDP:无连接传输
    • TCP:面向连接的可靠传输
    • TCP的拥塞控制

传输服务和协议

  • 为运行在不同主机上的应用进程提供逻辑通信
  • 传输协议运行在端系统
    • 发送方:将应用层的报文分成报文段,然后传递给网络层
    • 接收方:将报文段重组成报文,然后传递给应用层
  • 有多个传输层协议可供应用选择
    • Internet: TCP和UDP

传输层 vs. 网络层

  • 网络层服务:主机之间的逻辑通信
  • 传输层服务:进程间的逻辑通信
    • 依赖于网络层的服务
    • 并对网络层的服务进行增强
      有些服务是可以加强的:不可靠 -> 可靠;安全
      但有些服务是不可以被加强的:带宽,延迟
      在这里插入图片描述

Internet传输层协议

  • 可靠的、保序的传输: TCP
    • 多路复用、解复用
    • 拥塞控制
    • 流量控制
    • 建立连接
  • 不可靠、不保序的传输:UDP
    • 多路复用、解复用
    • 没有为尽力而为的IP服务添加更多的其它额外服务
  • 都不提供的服务:
    • 延时保证
    • 带宽保证

多路复用/解复用

在发送方主机多路复用

从多个套接字接收来自多个进程的报文,根据套接字对应的IP地址和端口号等信息对报文段用头部加以封装(该头部信息用于以后的解复用)

在接收方主机多路解复用

根据报文段的头部信息中的IP地址和端口号将接收到的报文段发给正确的套接字(和对应的应用进程)
在这里插入图片描述

多路解复用工作原理

  • 解复用作用:TCP或者UDP实体采用哪些信息,将报文段的数据部分交给正确的socket,从而交给正确的进程。
  • 主机收到IP数据报
    • 每个数据报有源IP地址和目标地址
    • 每个数据报承载一个传输层报文段
    • 每个报文段有一个源端口和目标端口
  • 主机联合使用IP地址和端口号将报文段发送给合适的套接字

无连接(UDP)多路解复用

  • 在接收端,UDP套接字用二元组标识(目标IP地址,目标端口号)
  • 当主机收到UDP报文段:
    • 检查报文段的目标端口号
    • 用该端口号将报文段定位给套接字
  • 如果两个不同源IP地址/源端口号的数据报,但是有相同的目标IP地址和端口号,则被定位到相同的套接字

无连接传输:UDP

UDP: User Datagram Protocol [RFC ]

  • 尽力而为的服务,报文段可能
    • 丢失
    • 送到应用进程的报文乱序
  • 无连接
    • UDP发送端和接收端之间没有握手
    • 每个UDP报文段都被独立的处理
  • UDP被用于:
    • 流媒体(丢失不敏感,速率敏感,应用可控制传输速率)
    • DNS
    • SNMP
  • UDP上可行可靠传输:
    • 在应用层增加可靠性
    • 应用特定的差错恢复

UDP:用户数据报协议

在这里插入图片描述

为什么要有UDP?

  • 不建立连接(会建立延时)
  • 简单:在发送端和接收端没有连接状态
  • 报文段的头部很小(开销小)
  • 无拥塞控制和流量控制:
    • UDP可以尽可能快的发送报文段

UDP校验和

目标;检测在被传输报文段中的差错 (如比特反转)

发送方:

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

接收方:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值