计算机网络笔记No.10

传输层服务概述

  • 基本理论和基本机制:

    1. 复用/分用
    2. 可靠数据传输机制
    3. 流量控制机制
    4. 拥塞控制机制
  • Internet的传输层协议

    1. UDP:无连接传输服务
    2. TCP:面向连接的传输服务
    3. TCP拥塞控制

—————————————————————————————————————————————
传输层服务和协议

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

端系统运行传输层协议:

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

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

—————————————————————————————————————————————
传输层 vs. 网络层
网络层:提供主机之间的逻辑通信机制

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

  • 位于网络层之上
  • 依赖于网络层服务
  • 对网络层服务进行(可能的)

—————————————————————————————————————————————
Internet传输层协议
可靠、按序的交付服务(TCP)

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

不可靠的交付服务(UDP)

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

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

—————————————————————————————————————————————

多路复用和多路分用

1、什么是多路复用和多路分用

接收端进行多路分用:

传输层依据头部信息将收到的Segment交给正确的Socket,即不同的进程

发送端进行多路复用:
从多个Socket接收数据,为每块数据封装上头部信息,生成Segment,交给网络层

2、为什么要有多路复用和多路分用

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

计算机网络笔记No.10

3、怎么样进行多路复用和多路分用

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

    1. 每个数据报携带源IP地址、目的IP地址
    2. 每个数据报携带一个传输层的段(Segment)
    3. 每个段携带源端口号和目的端口号
  • 主机收到Segment之后,传输层协议提取IP地址和端口号信息,将Segment导向相应的Socket

计算机网络笔记No.10

无连接分用

  1. 利用端口号创建Socket —— UDP的Socket用二元组标识(目的IP地址,目的端口号)
  2. 主机收到UDP段后、检查段中的目的端口号、将UDP段导向绑定在该端口号的Socket
  3. 来自不同源IP地址和/或源端口号的IP数据包被导向同一个Socket

计算机网络笔记No.10

面向连接的分用

  1. TCP的Socket用四元组标识——(源IP地址、源端口号、目的IP地址、目的端口号)
  2. 接收端利用所有的四个值将Segment导向合适的Socket
  3. 服务器可能同时支持多个TCP Socket——每个Socket用自己的四元组标识
  4. Web服务器为每个客户端开不同的Socket

计算机网络笔记No.10

面向连接的分用:多线程Web服务器
计算机网络笔记No.10

UDP

  • 基于Internet IP协议 —— 具有 复用/分用、简单的错误校验
  • “Best effort”服务,UDP段可能 —— 丢失、非按序到达
  • 无连接 —— UDP发送方和接收方之间不需要握手、每个UDP段的处理独立于其他段

UDP为什么存在?

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

—————————————————————————————————————————————
UDP常用于:

  • 流媒体应用 —— 容忍丢失、速率敏感
  • DNS、SNMP

计算机网络笔记No.10
—————————————————————————————————————————————
UDP校验和(checksum)

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

发送方:

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

接收方:

  • 计算所收到段的校验和
  • 将其与校验和字段进行对比
    • 不相等:检测出错误
    • 相等:没有检测出错误(但可能有错误

————————————————————————————————————————————————————————

由于水平有限及时间仓促或疏忽大意以及其他的一些原因,文中难免会存在一些错误,如若有发现不正确的地方,还请大佬们评论或私信告之于我,以便及时纠错