计算机网络原理(9)——传输层服务和协议、Internet传输层协议、多路复用分用、UDP

传输层服务的基本理论和基本机制

  • 多路复用/分用
  • 可靠数据传输机制
  • 流量控制机制
  • 拥塞控制机制

掌握Internet的传输层协议

  • UDP:无连接传输服务
  • TCP:面向连接的传输服务
  • TCP拥塞控制
一、传输层服务和协议

传输层协议为运行不同Host上的进程提供了一种逻辑通信机制

端系统运行传输层协议

  • 发送方:将应用递交的消息分成一个或多个的Segment,并向下传给网络层
  • 接收方:将接收到的Segment组装成消息,并向上交给应用层

传输层可以为应用提供多种协议

  • Internet上的TCP
  • Internet上的UDP

传输层 V.s. 网络层

网络层:提供主机之间的逻辑通信机制

传输层:提供应用进程之间的逻辑通信机制

  • 位于网络层之上
  • 依赖于网络层服务
  • 对网络层服务进行(可能的)增强
二、Internet传输层协议

可靠、按序的交付服务(TCP)

  • 拥塞控制
  • 流量控制
  • 连接建立

不可靠的交付服务(UDP)

  • 基于“尽力而为(Best-effort)”的网络层,没有做(可靠性方面的)扩展

两种服务均不保证:延迟、带宽

三、多路复用/分用

原因:如果某层的一个协议对应直接上层的多个协议/实体,则需要复用/分用。

  • 接收端进行多路分用:传输层依据头部信息将收到的segment交给正确的socket,即不同的进程。
  • 发送端进行多路复用:从多个Socket接收数据,为每块数据封装上头部信息,生成Segment,交给网络层

分用的基本原理

主机接收到IP数据报(datagram)

  • 每个数据报携带源IP地址、目的IP地址
  • 每个数据报携带一个传输层的段(Segment)
  • 每个段携带源端口号和目的端口号

主机收到Segment之后,传输层协议提取IP地址和端口号信息,将Segment导向相应的Socket

  • TCP做更多处理

无连接分用

  • 利用端口号创建Socket

  • UDP的Socket用二元组标识

    • 目的IP地址,目的端口号
  • 主机收到UDP段后

    • 检查段中的目的端口号

    • 将UDP段导向绑定在该端口号的Socket

  • 来自不同源IP地址和/或源端口号的IP数据包被导向同一个Socket

面向连接的分用

  • TCP的socket用四元组标识
    • 源IP地址
    • 源端口号
    • 目的IP地址
    • 目的端口号
  • 接收端利用所有的四个值将segment导向合适的socket
  • 服务器可能同时支持多个TCP socket
    • 每个socket用自己的四元组标识
  • Web服务器为每个客户端开不同的socket
四、UDP:User Datagram Protocol

基于Internet IP协议

  • 复用/分用
  • 简单的错误校验

Best effort 服务,UDP段可能

  • 丢失
  • 非按序到达

无连接

  • UDP发送方和接收方之间不需要握手
  • 每个UDP段的处理独立于其他段

UDP为什么存在?

  • 无需建立连接(减少延迟)
  • 实现简单:无需维护连接状态
  • 头部开销少
  • 没有拥塞控制:应用可更好的控制发送时间和速率

UDP用途

常用于流媒体应用:容忍丢失,速率敏感

还用于:DNS,SNMP

如何在UDP上实现可靠数据传输

  • 在应用层增加可靠性机制
  • 应用特定的错误恢复机制

UDP校验和(checksum)

目的:检测UDP段在传输中是否发生错误(如位翻转)

发送方

  • 将段的内容视为16-bit整数
  • 校验和计算:计算所有整数的和,进位加在和的后面,将得到的值按位求反,得到校验和
  • 发送方将校验和放入校验和字段

接收方

  • 计算所收到段的校验和
  • 将其预校验和字段进行对比
    • 不相等:检测出错误
    • 相等:没有检测出错误(但可能有错误)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值