1
0
mirror of https://github.com/Didnelpsun/CS408.git synced 2026-02-11 06:35:54 +08:00
Files
CS408/Computer-Network/transport-layer.md
2021-04-13 23:27:58 +08:00

326 KiB
Raw Blame History

传输层

基本概念

传输层只有主机才有,而路由器这种中间设备至多只有物理层、数据链路层和网络层三层架构。

传输层的功能

  1. 传输层提供进程与进程之间的逻辑通信。
  2. 复用与分用。(复用:应用层所有的应用进程都可以通过传输层再传输到网络层;分用:传输层从网络层收到数据后交付指明的应用进程)
  3. 差错检测。

寻址与端口

  • 端口(逻辑端口/软件端口是传输层的SAP标识主机中的应用进程。
  • 每一个端口有用于区分的端口号,只有本地意义,因特网中不同主机的相同端口号无联系。
  • 端口号长度为16bit能标识65536个不同的端口号。
  • 端口号按范围划分可以分为:
    • 服务端使用的端口号:
      • 熟知端口号0-1023给TCP/IP最重要的一些应用程序让所有用户都知道。
      • 登记端口号1024-49151为没有熟知端口号的应用程序使用。
    • 客户端使用的端口号:仅在客户进程运行时才系统动态分配。
  • 套接字Socket=(主机IP地址,端口号)。唯一标识了网络中的一个主机和它上面的一个进程。

常用的端口号:

应用程序 熟知端口号
FTP 21
TELNET 23
SMTP 25
DNS 53
TFTP 69
HTTP 80
SNMP 161
HTTPS 223

UDP协议

用户数据报协议只在IP数据报服务之上添加了很少的功能即只有复用分用与差错检测功能。

主要特点

  1. 无连接,减少开销和发送数据之前的时延。
  2. 使用最大努力交付,而非保证可靠交付。
  3. 面向报文不对报文拆分应用层给多长报文UDP就会照样一次发送一个完整报文适合一次性传输少量数据的网络应用。
  4. 无拥塞控制,适合很多实时应用,实时应用延迟要求高,需要立即响应。
  5. 首部开销小8B而TCP20B。

UDP帧格式

UDP帧格式

  • 源端口号如果不需要回应可以不填即是全0的。
  • 目的端口号是必填的。分用时如果找不到对应的目的端口号就丢弃该报文并向发送方发送ICMP端口不可达差错报告报文。
  • UDP长度整个UDP用户数据报的长度首部加上数据部分。
  • UDP检验和检测整个UDP数据报是否有错错就丢弃。

具体的UDP数据报格式如下

UDP校验

  • 伪首部只有在计算检验和时才出现,不向下传达也不向上提交。
  • 其中的17代表封装UDP报文的IP数据报首部协议字段是17。
  • UDP长度是UDP首部8B加上数据长度不包括伪首部。

[]