计算机网络–运输层

来源:互联网 发布:武当山釒殿的建筑数据 编辑:程序博客网 时间:2024/05/24 00:34
  • 计算机网络–概述
  • 计算机网络–物理层
  • 计算机网络–数据链路层
  • 计算机网络–网络层
  • 计算机网络–运输层
  • 计算机网络–应用层

1. 运输层协议概述

1.1 进程间的通信

为何要设置运输层?运输层向上面的应用层提供通信服务,屏蔽下面网络实现的细节,端到端通信的不是主机而是主机中的进程

网络层主机之间提供逻辑通信,运输层应用程序之间提供端到端的逻辑通信。

1.2 运输层两个主要协议

  • 用户数据报协议UDP(User Datagram Protocol),提供无连接的服务
  • 传输控制协议TCP(Transmission Control Protocol),提供面向连接的服务

主要的应用层协议和所使用的运输层协议

1.3 运输层的端口

为了主机不同解决进程之间通信的问题,在运输层使用了协议端口号。TCP/IP使用一个16位的数字来表示进程一个端口。

  • 服务器端使用0~1023,指派给了最重要的应用程序。
  • 登记端口1024~49151,登记使用。
  • 客户端使用4915~65535,客户端程序动态选择

常见的端口号

2. 用户数据报协议UDP

  • 无连接的
  • 尽最大努力交付,即不保证可靠交付
  • 面向报文
  • 无阻塞控制
  • 支持一对一、一对多、多对一、多对多

UDP数据报

3. 传输控制协议TCP

  • 面向连接的
  • 可靠交付
  • 面向字节流
  • 全双工
  • 点对点

每一条TCP连接有两个端点,这个端点叫套接字(socket)—端口号拼接到IP地址。
套接字socket=(IP地址:端口号)

3.1 可靠传输的工作原理

可靠传输采用停止等待协议实现

为了解决停止等待协议信道利用率低的问题,采用流水线传输提高信道利用率

3.2 TCP报文段的首部格式

3.3 TCP可靠传输的实现

可靠传输采用了滑动窗口实现



超时重传采用自适应算法,根据加权平均返回时间计算

3.4 TCP的流量控制

利用可变窗口进行流量控制

3.5 TCP的运输连接管理

1. 三次握手建立连接

2. 四次挥手释放连接

3. TCP有限状态机