运输层
Posted Kunkun只喝怡宝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运输层相关的知识,希望对你有一定的参考价值。
考试内容:
-
TCP被称为是面向连接的,这是因为在一个应用进程可以开始向另一个应用进程发送数据之前,这两个进程必须先相互“握手”,即它们必须相互发送某些预备报文段,以建立确保数据传输的参数。
-
TCP连接提供的是全双工服务:如果一个主机上的进程A与另一台主机上的进程B存在一条TCP连接,那么应用层数据就可在从进程B流向进程A的同时,也从进程A流向进程B。
-
TCP连接时点对点的,即在单个发送方与单个接收方之间的连接。所谓“多播”,即在一次发送操作中,从一个发送方将数据传送给多个接收方,这种情况对TCP来说是不可能的。
UDP: 提供的是不可靠服务,即不能保证一个进程所发送的数据能够完整无缺地到达目的进程。UDP的特点:
-
关于发送什么数据以及何时发送的应用层控制更为精细。
采用UDP时,只要应用进程将数据传递给UDP,UDP就会将此数据打包进UDP报文段并立即将其传递给网络层。在另一方面,TCP则需要利用拥塞控制和可靠传输,而不管可靠交付需要多长时间。所以对于有些应用通常要求最小的发送速率,不适合过分地延迟报文段的传送,且能够容忍一些数据丢失,TCP服务模型并不是特别适合这些应用的需要。 -
无须建立连接。
TCP在开始数据传输之前要经过三次握手建立连接。UDP不需要任何准备即可进行数据传输。因此UDP不会引入建立连接的时延。这可能是DNS运行在UDP之上而不是TCP之上的主要原因。HTTP使用TCP是因为对于具有文本数据的Web网页来说,可靠性是至关重要的。 -
无连接状态。
TCP需要在端系统中维护连接状态。此连接状态包括接收和发送缓存、拥塞控制参数以及序号与确认号的参数。而UDP不维护连接状态,也不跟踪这些参数。 -
分组首部开销小。
每个TCP报文段都有20字节的首部开销,而UDP仅有8字节的开销。
-
校验和的计算方法
用户数据报UDP有两个字段:数据字段和首部字段。首部字段有8个字节,由四个字段组成(源端口、目的端口、长度、检验和),每个字段都是两个字节。长度是首部和数据的总长度。计算检验和时,临时把“伪首部”和UDP用户数据报连接在一起。伪首部仅仅是为了计算检验和。
UDP检验和提供了差错检测的功能。用于确定当UDP报文段从源到达目的地移动时,其中的比特是否发生了改变。发送方的UDP对报文段中的所有16比特字的和进行反码运算,求和时遇到的任何溢出都被回卷(求和时产生的进位加到结果上)。得到的结果被放在UDP报文段的检验和字段。
-
TCP的连接控制
-
可靠数据传输原理
4.1 构造可靠数据传输协议
经具有比特差错的丢包信息的可靠数据传输:rdt3.0
4.2 流水线可靠数据传输协议
rdt3.0是一个功能正确的协议,但并非人人都对它的性能满意,特别是在今天的高速网络中更是如此。rdt3.0性能问题的核心在于它是一个停等协议。这种特殊的性能问题的一个简单的解决方法是:不以停等方式运行,允许发送方发送多个分组而无须等待确认。
以上是关于运输层的主要内容,如果未能解决你的问题,请参考以下文章