计算机网络--传输层

传输层(第四层)

端到端通信 中,真正进行通信的是两端主机上的 应用进程,下三层(网络层、数据链路层、物理层)能够把数据传送至 目的主机,但是并没有交付给主机上的应用进程。

网络层为主机之间提供逻辑通信,传输层为应用进程之间提供端到端的逻辑通信;

1. 概述

从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层;

运输层提供应用进程间的逻辑通信,它向应用层屏蔽了下层细节(如网络拓扑,所采用的路由协议等),在应用进程的感知中,就好像是两个运输层实体之间有一条端到端的逻辑通信信道;

1.1. 运输层协议

TCP/IP 运输层有两个主要协议:

  1. 用户数据报协议 UDP(User Datagram Protocol),它在传送数据之前不需要先建立连接,即不提供可靠交付,由于较为简单,某些场景下十分有效;
  2. 传输控制协议 TCP(Transmission Control Protocol),提供 面向连接的服务,传送数据前要先建立连接,传送结束后要关闭连接;

OSI 术语定义:两个对等运输实体在通信时传送的数据单位叫做 运输协议数据单元 TPDU(Transport Protocol Data Unit)。但在 TCP/IP 体系中:

  1. 使用 TCP 协议时,称为 TCP 报文段(segment)
  2. 使用 UDP 协议时,称为 UDP 用户数据报
1.2. 复用与分用
  • 复用: 应用层所有的应用进程都可以通过运输层再传送到 IP 层(网络层);
  • 分用: 运输层从 IP 层收到发送给各应用进程的数据后,必须分别交付指明的各应用进程;
1.3. 端口

端口: 在应用层与运输层之间加入一个 协议端口(protocol port),作为通信的抽象端点,一般简称为 端口(port)

在协议栈层间的抽象的协议端口是软件端口,是应用层的各种协议进程与运输实体进行层间交互的地点;

TCP/IP 的运输层用一个 16 位(即 1 ~ 65535 之间)的 端口号 来标志一个端口,端口号只具有本地意义,是为了标志 本计算机 应用层中的各个进程在和运输层交互时的层间接口。

端口号分为以下两类:

  1. 服务器端使用的端口号:
    1. 熟知端口号: 又称 全球通用端口号0 ~ 1023
    2. 登记端口号: 1024 ~ 49151
  2. 客户端使用的端口号:又称 短暂端口号49152 ~ 65535

2. UDP

用户数据报协议 UDP 只在 IP 数据报上增加了 复用分用差错检测 的功能;

2.1. UDP 特点

UDP 的特点如下:

  1. UDP 是无连接的

  2. UDP 尽最大努力交付

  3. UDP 是 面向报文的

    • 发送方:对于应用层的报文,既不合并也不拆分,添加 UDP 首部后就交付给 IP 层;
    • 接收方:将 IP 层上交的 UDP 数据报去掉首部后 原封不动 的交付给上层的应用进程;

    image-20220503171658659

  4. UDP 没有阻塞控制,网络出现的阻塞不会使源主机的发送速率降低

  5. UDP 支持一对一、一对多、多对一和多对多的交互通信

  6. UDP 的首部开销小,UDP 的首部只有 8 个字节;

2.2. UDP 首部格式

UDP 首部共有 4 个字段,每个字段各 2 字节,共 8 字节:

  1. 源端口: 源端口号
  2. 目的端口: 目的端口号,在终点交付报文时使用;
  3. 长度: UDP 用户数据报的长度,最小值是 8 (仅有首部)
  4. 检验和: 检测 UDP 用户数据包在传输是是否有错,有错就丢弃;
    • 在计算检验和时,要在 UDP 用户数据报之前增加 12 个字节的 伪首部(为了让 UDP 包接收者确定发送和接受的 UDP 包是来自正确的源且是发给自己的)伪首部既不向下传送也不向上帝教,仅仅为了计算检验和;
    • UDP 检验和与 IP 数据报首部检验和方法类似,不同的是 UDP 的检验和是把首部和数据部分一起都检验;

image-20220503214004895

3. TCP

3.1. TCP 特点

TCP 的特点如下:

  1. TCP 是 面向连接的运输层协议,通信前要建立连接,通信后要释放连接;
  2. TCP 连接是 点到
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

睫毛进眼睛了!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值