1

运输层主要功能

  • 运输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)。
  • 运输层还要对收到的报文进行差错检测
  • 运输层需要有两种不同的运输协议,即面向连接的 TCP无连接的 UDP

运输层的两个主要协议

  • UDP 用户数据报协议
    传送数据之前不需要建立连接,不需要给出任何确认。提供不可靠的服务。
  • TCP 传输控制协议
    传送数据之前必须建立连接,数据传送结束后要释放连接。TCP提供可靠的、面向连接的运输服务,这样不可避免的增加了许多开销,使协议数据单元的首部增大很多。

运输层的端口

给应用层的每个应用进程赋予一个非常明确的标志是至关重要的。
clipboard.png
为了使运行不同OS的计算机应用进程能够互相通信,就必须用统一的方法(irrelevant with OS):端口
端口用一个 16 位端口号进行标志。
端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在因特网中不同计算机的相同端口号是没有联系的.

三类端口
- 熟知端口 0-1023
- 登记端口号
- 客户端口号


UDP

UDP 只在 IP 的数据报服务之上增加了很少一点的功能,即端口的功能差错检测的功能。

clipboard.png

clipboard.png

TCP

TCP 连接的端点不是主机,不是主机的IP 地址,不是应用进程,也不是运输层的协议端口。TCP 连接的端点叫做套接字(socket)或插口。
clipboard.png

TCP报文段的首部格式

clipboard.png

可靠传输的工作原理

使用确认和重传机制,即自动重传请求-- 连续ARQ(发送完一批分组后,必须暂时保留已经发送的分组副本;直到接收了接收方的确认报文;分组和确认分组都必须进行编号;丢弃重复的报文)可以在不可靠的传输网络上实现可靠的通信。

ARQ的重传的请求是自动进行的。接收方使用累积确认:即不必对收到的分组逐个发送确认,而是对按序到达的最后一个分组发送确认,这样就表示:到这个分组为止的所有分组都已正确收到了

还有超时重传 和 选择确认机制

具体实现

TCP 连接的每一端都必须设有两个窗口——一个发送窗口和一个接收窗口 -- 以字节为单位的滑动窗口

TCP 的可靠传输机制用字节的序号进行控制。TCP 所有的确认都是基于序号而不是基于报文段。

TCP两端的四个窗口经常处于动态变化

流量控制

利用滑动窗口实现流量控制

clipboard.png

clipboard.png

clipboard.png

拥塞控制

在计算机网络中的链路容量(带宽)、交换结点的缓存和处理机等,都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏。 -- 这种情况叫做拥塞

出现资源拥塞的条件:
对资源需求的总和 > 可用资源

拥塞控制与流量控制的关系
拥塞控制所要做的都有一个前提,就是网络能够承受现有的网络符合。

拥塞控制是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。

流量控制往往指在给定的发送端和接收端之间的点对点通信量的控制

流量控制所要做的是抑制发送端发送数据的速率,以便使接收端来得及接收。


TCP运输连接

连接建立 (三次握手终于来了!)

clipboard.png

连接释放 (四次握手)

clipboard.png


想更一进步的支持我,请扫描下方的二维码,你懂的~
图片描述


SecondLife
1.9k 声望252 粉丝