6-传输层

来源:互联网 发布:maven编译java命令 编辑:程序博客网 时间:2024/05/22 03:46

6-传输层

6.1 传输层概述

6.1.1 传输层功能

完成主机进程-主机进程之间的报文传输。

6.1.2 传输层地位

位于网络体系结构的中间, 作为数据通信和数据处理的分水岭, 具有承上启下的作用。

image

6.1.3 传输层作用

传输层要彻底解决网络通信问题, 使得应用层不必关心通信问题

6.1.4 传输层是真正的端对端的通信

  • 传输层协议在端主机上运行,路由器一般没有传输层。
  • 传输层从主机层面上对网络层采取相应补救措施,可以提供更高质量的数据传输能力。
  • 传输层独立于网络设备,可以提供标准的传输服务接口(原语)。

6.1.5 传输层协议涉及的内容

  • 寻址: 传输地址及其发现。
  • 差错控制: 分组顺序、差错检测、重传确认机制等。
  • 连接管理: 连接建立、连接释放。
  • 流量控制: 主机进程之间的流量控制。

6.2 传输服务质量

6.2.1 传输服务质量反映网络最终通信质量

6.2.2 传输服务质量参数

连接建立延迟:发出连接请求到连接建立成功之间的时间。
连接建立失败概率
吞吐量:在一条传输连接上,每秒传输有效数据的字节数。
传输延迟:从开始传输数据到该数据被收到为止的 时间。
残留差错率:传输连接上数据出错的概率。
保护性:传输过程中保障数据安全的能力,包括防止非法窃取、篡改数据等。
优先权:保证高优先权的传输连接优先传输数据、优先获得网络资源的能力。
回弹率:由于某种原因而自发终止传输连接的可能性。

6.3 传输层协议机制

6.3.1 传输协议数据单元

传输协议数据单元(TPDU) 是传输层的最小数据传输单位, 又称为“报文段” 。

TPDU类型

  • CR:连接请求
  • CC:连接确认, 对CR TPDU的确认
  • DR:断连请求
  • DC: 断连确认, 对DR TPDU的确认
  • DT:数据( 高层数据)
  • AK:数据确认, 对DT TPDU的确认
  • REJ:拒绝接受请求, 或拒绝接受DT TPDU

6.3.2 传输地址

传输地址唯一地标识主机进程

传输地址=网络号+主机号+端口号, 端口号即传输服务访问点( TSAP), 用来标识应用进程。

在IP网络, 传输地址= IP地址+端口号

image

6.3.3 传输连接

传输连接实质

传输连接实质上是通过传输地址,建立两个主机进程之间的连接 。

三次握手

其他层上的连接一般采用“两次握手” , 建立传输连接过程比较复杂, 双方需进行反复协商, 通常采用“三次握手” , 其原因是:
image

建立传输连接过程

image

释放传输连接

image
image

6.4 TCP协议

6.4.1 TCP 概述

Internet的两个传输层协议

  • TCP( Transmission Control Protocol) :在IP支持下, 为应用层提供面向连接的、 可靠的端到端字节流服务。
  • UDP( User Datagram Protocol) :为应用层提供非面向连接的、 不可靠的传输服务。

TCP传输地址( 套接字) : IP地址+端口号

  • TCP连接用四元组<源IP地址, 源端口号, 目的IP地址, 目的端口号>表示。
  • 端口号16位, 端口号范围: 0 - 65535 ; 其中0-1023称为著名端口号,分配标准服务使用, 如FTP服务器端口号为21, HTTP服务器端口号80,TELNET服务器端口号为23, SMTP服务器端口号为25。

TCP发展

TCP最初在Unix环境下实现, 后来也在Windows环境下实现, 通过Socket提供服务, 见P.261。

数据帧格式

image

TCP提供的服务

TCP提供全双工数据传输服务, 如果主机进程A和主机进程B建立了一条传输链路, 则意味着A, B都可以同时发送和接收TCP报文段。

TCP不支持组播和广播。

TCP连接提供可靠的字节流服务

如果发送了4个有效载荷为512B的报文段, 接收方收到后, 向应用层提供2048B的字节流, 而不是4个报文段。 这是因为TCP是真正的端到端通信, 接收端无需再转发。

6.4.2 TCP报文段格式

image

源/目的端口号

各占16位, 表示发送方和接收方的端口号。

顺序号

32位, 表示TCP段中的数据部分第1个字节的编号。

确认号

32位, 表示期望接收数据的第1个字节的编号, 同时表示对确认号之前数据的确认。

数据偏移

4位, 表示TCP段头长度, 包括固定和可变部分, 单位为字( 32位)

URG

紧急数据标志。 当有紧急数据时, 该标志为“ 1”。

ACK

该标志若为“ 1”, 则表示确认号有效;若为“ 0”, 则确认号无效。

PSH

表示要求马上发送数据, 不必等到缓冲区满时才发送。例如, TELNET协议中, 每输入一个字符就必须立即发送。

RST

该标志用于对本次TCP连接进行复位。 通常在TCP连接发生故障时设置本位,以便双方重新同步,并初始化某些连接变量。 如接收方收到它不希望接收的报文段, 则将RST置“ 1 “。

SYN:用于建立TCP连接

  • SYN置为“ 1” 且ACK置为“ 0” ,表示请求建立TCP连接
  • SYN置为“ 1” 且ACK置为“ 1” ,表示确认TCP连接。

FIN

用于释放连接。 若FIN置为“ 1” , 则表示没有数据要发送了, 但仍可以接收数据。

窗口大小

16位, 用于TCP流量控制。 表示从确认的字节号开始还可以接收多少字节。 窗口大小也允许为“ 0” , 表示确认号以前的字
节已收到, 但暂停接收数据。

校验和

用于对TCP报文段进行校验( 类似于IP校验和) , 但校验范围包括头部和数据部分。 计算校验和需包括一个TCP伪头, 这样有助于检测分组是否被错误递交。

image

紧急指针

当URG为“ 1” 时, 紧急指针给出TCP段中紧急数据的长度,单位为字节;数据字段的起始位置( 顺序号) 作为紧急数据的开始位置。

选项

目前TCP只规定一种选项, 即最大的TCP段长( MSS) , 缺省值是556B。 TCP实体双方可通过协商确定一个特定的最大TCP段长。

若MSS选的太小, 则由于帧头和报头开销而网络利用率会降低;

若MSS选的太大, 则由于IP层分段而增加额外开销。 一般认为,MSS应尽可能选大些, 只要IP层不需要分段就行

填充

以0为填充位, 确保TCP头部以32位边界结束。

数据

TCP载荷数据, 由于IP分组长度限制, TCP最大载荷长度=65535B-20B-20B=65495B。

6.4.3 TCP连接管理

建立TCP连接的目的

  • 发现对方是否存在
  • 进行参数协商( 协议类、 MSS、 窗口大小、 服务质量等)
  • 为TCP实体分配资源( 缓冲区、 连接表等)

TCP连接建立

image

image

image

TCP连接释放:仍采用”三次握手”

image

image

6.4.4 TCP流量管理

为什么要进行流量控制

发送方TCP实体发送数据过快, 接收方TCP实体来不及处理, 导致接收缓冲区溢出

TCP流量控制采用可变尺寸的滑动窗口协议

  • 由于TCP为应用层提供字节流服务, 窗口尺寸以字节为单位。
  • 应用进程根据处理能力读取TCP接收缓冲区中的字节流, 导致空闲的接收缓冲区( 接收窗口) 动态变化

TCP流量控制过程

类似于数据链路层的滑动窗口协议, 所不同的是:通过接收窗口当前尺寸调整发送窗口的上限值
image

6.4.5 TCP拥塞控制

TCP拥塞控制与流量控制的区别

  • 拥塞控制是为了防止网络过载导致路由器缓冲区不足而造成IP分组的丢失
  • 流量控制是为了防止发送端发送速度过快, 导致接收端缓冲区不足而造成TCP段的丢失

为什么不用网络层控制

从理论上讲, 网络过载( 即网络拥塞) 问题应由网络层( IP) 解决但IP没有实现拥塞控制功能, Internet拥塞控制实际上由TCP完成。

TCP拥塞控制策略

  • 发送端设置拥塞窗口来反映网络容量, 通过拥塞窗口来限制发送方向网络注入数据的速度, 即发送端允许发送的数据既不能超过接收窗口的大小, 也不能超过拥塞窗口的大小; 前者是为了流量控制, 后者是为了拥塞控制。
  • 通过慢启动和拥塞避免策略来控制拥塞窗口的大小。

TCP 拥塞控制过程

image
image

6.5 UDP协议

6.5.1 UDP概述

UDP是非面向连接, 不可靠的传输协议。

  • 不需要建立连接。
  • 不支持流量控制和拥塞控制。
  • UDP段在传输过程中可能会丢失、 失序和延迟。
  • 支持广播和组播, 这对多媒体传输是非常有用的

6.5.2 UDP实质

UDP实质上在IP基础上, 增加了端口机制, 实现了主机进程间的数据传输

6.5.3 UDP报文段

image

6.5.4 UDP校验和

UDP计算“校验和” 方法同TCP, 也需要包括一个UDP伪头;一旦发现出错, 则简单地丢弃, “重传” 由应用层完成。

image

6.5.5 UDP 原则

UDP采用尽力而为方式, 即不保证可靠传输, 既没有重传机制, 也没有流量控制和拥塞控制, 因此主机不需要维护具有许多参数、 复杂的连接状态表, 因此减少了开销和发送数据之前的延时, 适合很多实时应用, 如IP电话、 视频会议等。

0 0
原创粉丝点击