《计算机网络自顶向下方法》知识梳理——第三章:运输层

运输层:为进程之间提供逻辑通信

  • 运输层:面向通信部分的最高层,用户功能中的最低层。
  • 真正通信的实体是进程。

运输层功能:

  • 为运行在不同主机上的应用进程之间提供了逻辑通信
  • 复用(transport-layer multiplexing):发送方不同的应用进程可以使用同一个运输层协议通信。
  • 分用(demultiplexing):接收方的运输层能够将其正确地送至不同的应用进程。
    运输层得到的数据报文并不直接交给应用进程,而是交付给相应的套接字

两个主要协议:

  • 用户数据保协议UDP(User Datagram Protocol):
    • UDP用户数据报。
    • 无连接。
  • 传输控制协议TCP(Transmission Control Protocol):
    • TCP报文段(segment)。
    • 面向连接。

TCP提供的服务:

  • 面向连接服务
    • 客户端套接字和服务器套接字之间建立一个全双工的TCP连接(客户端既可以下载,也可以上传)
    • “面向连接”而非“连接”,是因为TCP连接是一种非常松散的、抽象的连接
  • 可靠传输服务
  • 拥塞控制服务
    • 对整个因特网数据的传输有好处,但是抑制传输速率对一些实时应用非常致命,因此它们会选择UDP
  • 报文分组传输
  • 多路复用/多路分解

UDP提供的服务

  • 数据交付
  • 差错检测
  • 多路复用/多路分解
  • 与TCP的区别:
    1. 轻量级,提供最小服务
    2. 无连接,通信前后无需握手
    3. 不可靠传输服务
    4. 无拥塞控制机制(可以保证一定的吞吐量,为实时应用所需)
    5. 不可分组,无分组开销
      因为很多防火墙都设置为阻塞UDP流量,因此多媒体和实时应用越来越多的使用TCP

应用举例:

在这里插入图片描述

分用实现:使用协议端口号。

  • 与硬件端口不同,软件端口是应用进程的“地址”。
  • 长16位。
  • 只在本主机上有效。
    用户在发起通信请求时,必须知道对方的IP和端口号

套接字标识符

  • UDP套接字使用 { 目的IP地址,目的端口号 } 二元组来全面标识
    因此一个端口只对应一个UDP套接字
  • TCP套接字使用 { 源IP地址,源端口号,目的IP地址,目的端口号 } 四元组来全面标识
    一个端口可以对应很多个TCP套接字
    具有不同源IP地址或源端口号的TCP报文将被定向到两个不同的套接字,除非TCP携带了初始创建连接的请求(带有初始创建连接请求的所有TCP报文段都会被定位到一个welcoming套接字,welcoming套接字再为其创建一个专用套接字(新的线程),像开房一样)
    一个进程可以有多个线程,意味着可以有多个连接

端口号分类:

  • 服务器使用的端口号:分为熟知端口号(系统端口号,0~1023)和登记端口号。
    • HTTP 80
    • FTP 21
  • 客户端使用的端口号:短暂端口号,客户进程通信时才分配。

用户数据报协议UDP:

  • 特点:无连接、尽最大努力交付(不可靠)、面向报文(对应用程序送来的报文不合并也不拆分,对IP层上交的数据报直接去除头部就交给应用进程。)、无拥塞控制、支持一对一、多对多、一对多和多对一的交互通信、首部开销小(只有8字节)。
  • UDP用户数据报格式:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值