网络 运输层

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

这里举一个现实中的例子



两个公司的经理要经常交换一些公文信 函,他们会将这些信函交给自己的秘书。 从经理的角度看,公文信函只要交给秘 书,就可以到达对方的经理。 经理好比应用层,而秘书好比传输层, 两边的秘书为两边的经理建立一条公文 信函的传输通道。

如下图所示,传输层为应用进程提供了一条 逻辑通道,将两个应用进程连接起来。这个 连接是跨越网络的。
运输层的必要性



当一台主机的应用层将数据交给传输层传输时,数 据并不会由这台主机的传输层直接到达目的主机的 传输层,因为传输层不知道走什么样的路才能到达 目的地,这是网络层需要完成的任务。 传输层需要网路层的支持,它会将数据交给网络层, 让网络层找到一条正确的路,将数据传输到目的地。 既然数据要靠网络层功能传递到目的主机,为什么 不让网络层直接为应用层提供服务,而又要增加一 个传输层呢?
运输层的必要性


2、网络层根据IP地址可以把数据传递到目的 主机,但是网路层不知道该把分组中的数据交 给目的主机的哪一个进程? 所以网络层不能直接为应用层提供服务,需要 在网络层和应用层之间设置一层,来解决网络 层不能解决的问题,为应用层提供更好的服务, 这就是传输层。
运输层为相互通信的应用进程提供了 逻辑通信

端口是一种软件结构,是运输层协议和应用层 协议交互时的接口,每个端口有一个唯一的端 口号,并且有相应的输入和输出缓存。 一个应用进程通过系统调用可以绑定到运输层 协议(UDP或TCP)的一个端口上。 端口和应用进程是一一对应的,通过端口号能 确定主机内的一个应用进程。
5.1 运输层协议概述 5.1.1 进程之间的通信


从通信和信息处理的角度看,运输层向它上面 的应用层提供通信服务,它属于面向通信部分 的最高层,同时也是用户功能中的最低层。 当网络的边缘部分中的两个主机使用网络的核 心部分的功能进行端到端的通信时,只有位于 网络边缘部分的主机的协议栈才有运输层,而 网络核心部分中的路由器在转发分组时都只用 到下三层的功能。

还要强调两点

运输层的 UDP用户数据报与网际层的IP数据报 有很大区别。IP 数据报要经过互连网中许多路 由器的存储转发,但 UDP 用户数据报是在运输 层的端到端抽象的逻辑信道中传送的。 TCP 报文段是在运输层抽象的端到端逻辑信道 中传送,这种信道是可靠的全双工信道。但这 样的信道却不知道究竟经过了哪些路由器,而 这些路由器也根本不知道上面的运输层是否建 立了 TCP 连接。
运输层数据报
运输层数据报
运输层数据报
网络层
运输层/网络层接口
网络层
运输层的主要功能

2、提供数据的可靠传输 我们知道网络层在转发分组时,会出现 分组乱序和分组丢失现象,所以运输层 要能够检测到这些错误,并能处理这些 错误,提供数据的可靠传输。
运输层的主要功能


3、流量控制 通信双方的两个进程A和B ,A是发送方,B是 接收方,当A的发送速度比B的接收速度快,B 来不及处理,数据就只能丢失。 所以传输层要具有通知发送方减慢发送速度, 避免接收方数据丢失的功能。

使用UDP和TCP的应用层协议

TCP

SMTP电子邮件、TELNET远程登录、HTTP 万维网、FTP文件传送 DNS域名系统、TFTP简单文件传送、RIP路 由选择协议、DHCP动态地址分配、SNMP网 络管理 IP电话、流式多媒体通信

UDP


5.1.3 运输层的端口


运行在计算机中的进程是用进程标识符来标志的。 运行在应用层的各种应用进程却不应当让计算机 操作系统指派它的进程标识符。这是因为在因特 网上使用的计算机的操作系统种类很多,而不同 的操作系统又使用不同格式的进程标识符。 为了使运行不同操作系统的计算机的应用进程能 够互相通信,就必须用统一的方法对 TCP/IP 体 系的应用进程进行标志。
运输层协议和网络层协议 的主要区别
应用进程 应用进程




因 特 网
IP 协议的作用范围 (提供主机之间的逻辑通信)
TCP 和 UDP 协议的作用范围 (提供进程之间提供端到端的逻辑通信)
网络层、运输层和应用层关系。
应用层 data data 应用层
运输层
H4
data
H4
data
运输层
网络层 数据链 路层 物理层
TCP 传送的数据单位协议是 TCP 报文段 (segment)


UDP 传送的数据单位协议是 UDP 报文或用户数 据报。
TCP/IP 体系中的运输层协议
应用层
运输层
UDP
IP
TCP
与各种网络接口
TCP 与 UDP

UDP 在传送数据之前不需要先建立连接。对 方的运输层在收到 UDP 报文后,不需要给出 任何确认。虽然 UDP 不提供可靠交付,但在 某些情况下 UDP 是一种最有效的工作方式。 TCP 则提供面向连接的服务。TCP 不提供广 播或多播服务。由于 TCP 要提供可靠的、面 向连接的运输服务,因此不可避免地增加了许 多的开销。这不仅使协议数据单元的首部增大 很多,还要占用许多的处理机资源。
第 5 章 运输层
5.6 TCP 可靠传输的实现 以字节为单位的滑动窗口、超时重传时间的选择、 选择确认 SACK 5.7 TCP的流量控制 利用滑动窗口实现流量控制、必须考虑传输效率 5.8 TCP 的拥塞控制 拥塞控制的一般原理、几种拥塞控制方法、随机早 期检测 RED 5.9 TCP 的运输连接管理 TCP 的连接建立、TCP 的连接释放、TCP 的有限 状态机
计算机网络(第 5 版)
第 5 章 运输层
第 5 章 运输层
*5.1 运输层协议概述 进程之间的通信、两个主要协议、端口 * 5.2 用户数据报协议 UDP UDP 概述、UDP 的首部格式 * 5.3 传输控制协议 TCP 概述 TCP 最主要的特点、TCP 的连接 * 5.4 可靠传输的工作原理 停止等待协议、连续 ARQ 协议 * 5.5 TCP 报文段的首部格式
运输层的主要功能



运输层为应用进程之间提供端到端的逻 辑通信(网络层是为主机之间提供逻辑 通信)。它要实现的功能: 应用进程寻址 提供数据的可靠传递 流量控制 拥塞控制
运输层的主要功能

1、应用进程的寻址 网络层提供的是主机层次上的寻址,它 将数据从一台主机送到另一台主机。而 运输层需要提供应用进程的寻址,确保 数据交给正确的进程。

两种不同的运输协议


当运输层采用面向连接的 TCP 协议时, 尽管下面的网络是不可靠的(只提供尽 最大努力服务),但这种逻辑通信信道 就相当于一条全双工的可靠信道。 当运输层采用无连接的 UDP 协议时,这 种逻辑通信信道是一条不可靠信道。
TCP 与 UDP

两个对等运输实体在通信时传送的数据单位叫作 运输协议数据单元 TPDU (Transport Protocol Data Unit)。
应用进程寻址

运输层则需要提供应用进程的寻址,以确保数 据交给正确的应用进程。
主机A 主机B
应用层/运输层接口 发AP1 发AP2 发AP3 AP3 逻辑通道
发AP1 发AP2 发AP3 AP1 收AP4 收AP5 AP2 应用层 收AP6
收AP4 AP4 AP5 应用层 收AP5 收AP6
AP6
运输层必要性



应用层协议本身并不关心应用层数据是如何 传递到对方的,它只关心何时该发送什么样 的数据,以及收到数据后该如何给出应答。 所以,应用层协议需要有下层协议的支持, 需要下层协议帮助它将数据从一个应用进程 发送到另一个应用进程。 传输层便承担了帮助应用层将数据从一个应 用进程发送到另一个应用进程的任务。
5 4 3 2 1 IP 层 AP1 AP 2 应用进程 应用进程 端口 运输层提供应用进程间的逻辑通信 端口 AP3 AP4 5 4
3
2 1
主机 A
主机 B 路由器 1 LAN1 WAN IP 协议的作用范围 运输层协议 TCP 和 UDP 的作用范围 路由器 2 LAN2
AP1 AP2
AP3
AP4
5.1.2 运输层的两个主要协议


TCP/IP 的运输层有两个不同的协议: (1) 用户数据报协议 UDP (User Datagram Protocol) (2) 传输控制协议 TCP (Transmission Control Protocol)
两种不同的运输协议


运输层需要有两种不同的运输协议,即 面向连接的 TCP 和无连接的 UDP。 运输层向高层用户屏蔽了下面网络核心 的细节(如网络拓扑、所采用的路由选 择协议等),它使应用进程看见的就是 好像在两个运输层实体之间有一条端到 端的逻辑通信信道。
运输层的必要性



直接让网络层为应用层提供服务存在以下问题: 1、网络层提供的服务是分组交换服务,它解决的问题 是如何将分组从一台主机经过分组交换网络送到另一 台主机上。 在分组交换技术中,由于网络的状况会随时发生变化, 发往同一目的主机的分组会走不同的路径,所以很难 保证分组到达的顺序和发送时顺序是相同的,甚至会 有分组丢失的情况。 如果让网络层为应用层提供服务,对于分组乱序、分 组丢失的现象就意味着应用层数据乱序、应用层数据 丢失。这是不允许的。
应用层 运输层 网络层 数据链路层 物理层 AP1 逻辑通道 运输层 网络层 数据链路层 物理层 AP2 应用层
局域网 路由器
Internet 路由器
局域网
运输层提供的服务
应用层 data data 应用层 运输层 H4 data H4 data 运输层
网络层 数据链 路层 物理层
H3 H4
H5
data
运输层的必要性

从通信和信息处理的角度看,运输层向它上 面的应用层提供通信服务,它属于面向通信 处理部分的最高层,同时也是用户功能中的 最低层。
面向信息处理 应用层
用户功能
运输层 面向通信 网络层 数据链路层 物理层 网络功能
运输层必要性


在应用层中,两个应用进程通过实现应 用层协议为用户提供各种各样的应用 (如页面的浏览,文件下载,邮件传输 等)。 在实现协议的过程中,这两个进程需要 交换许多数据,而它们可能分别在相隔 很远的两个主机上运行,那么数据是如 何由一个进程到达另一个进程的?
H3 H4
H5
data
网络层 数据链 路层 物理层
H2
H3 H4
H5
data
T2
H2
H3 H4
H5
data
T2
0110100000...001101010101
0110100000...001101010101
Internet 主机 主机
―逻辑通道”


Байду номын сангаас
―逻辑通道”的意思是:运输层之间的通信好像 是沿水平方向传送数据。但事实上这两个运输 层之间并没有一条水平方向的物理连接。 我们在学习传输层时,暂不考虑传输层以下的 层次,可以认为传输层数据能够“水平”地到 达目的地的传输层。 这样直接考虑实体之间的“水平”通信,可以 简化问题。
端口机制——应用进程寻址

如:用户在使用FTP软件下载文件的同时又 在浏览网页,这时FTP软件和浏览器都在使 用TCP提供的服务。那么,当这个主机的 TCP收到一个数据时,该数据应该交给FTP 软件还是浏览器?这就是应用进程寻址的问 题。 TCP/IP提供了端口机制来解决这个问题。

端口机制


H1,你发的太快了!
满了,再来 就溢出了!
缓存 缓存 缓存 缓存 缓存
发送数据块
运输层的主要功能

4、拥塞控制 如果分组网络中涌入大量的数据,加在 网络上的负载超过网络的存储和处理能 力,就会出现分组传递时延增加,分组 丢失,服务质量下降的情况,这种现象 称为拥塞。如果不采取有效的检测和控 制手段,则拥塞情况就会加重,最终导 致网络崩溃。因此,运输层需要能够检 测拥塞并控制拥塞。
H3
H4
data
网络层 数据链 路层 物理层
H3
H4
data
网络层 数据链 路层 物理层
H3
H4
data
网络层 数据链 路层 物理层
局域网 主机 路由器
Internet 路由器
局域网 主机
各层首部内容不同



传输层协议添加的首部中含有:发送方的端口 号(源端口)和接收方端口号(目的端口), 用来标识不同的应用进程。 网络层协议添加的首部中含有:发送方的IP地 址(源地址)和接收方IP地址(目的地址), 用来标识通信双方不同主机。 数据链路层协议添加的首部中含有:发送方的 物理地址(源MAC地址)和接收方物理地址 (目的MAC地址)。
相关文档
最新文档