计算机网络谢希仁版运输层知识点总结.docx

上传人:wj 文档编号:528349 上传时间:2023-04-29 格式:DOCX 页数:5 大小:34.94KB
下载 相关 举报
计算机网络谢希仁版运输层知识点总结.docx_第1页
第1页 / 共5页
计算机网络谢希仁版运输层知识点总结.docx_第2页
第2页 / 共5页
计算机网络谢希仁版运输层知识点总结.docx_第3页
第3页 / 共5页
计算机网络谢希仁版运输层知识点总结.docx_第4页
第4页 / 共5页
计算机网络谢希仁版运输层知识点总结.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算机网络谢希仁版运输层知识点总结.docx

《计算机网络谢希仁版运输层知识点总结.docx》由会员分享,可在线阅读,更多相关《计算机网络谢希仁版运输层知识点总结.docx(5页珍藏版)》请在冰点文库上搜索。

计算机网络谢希仁版运输层知识点总结.docx

运输层

运输层之间的通信是进程与进程之间的,通过端口的

一、运输层协议概述

1、从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。

2、当网络的边缘部分中的两个主机使用网络的核心部分的功能进行端到端的通信时,只有位于网络边缘部分的主机的协议栈才有运输层,而网络核心部分中的路由器在转发分组时都只用到下三层的功能。

3、两个主机进行通信实际上就是两个主机中的应用进程互相通信。

4、运输层的一个很重要的功能就是复用和分用。

通过端口实现。

5、网络层为主机之间提供逻辑通信,运输层为应用进程之间提供端到端的逻辑通信

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

当运输层采用无连接的UDP协议时,这种逻辑通信信道是一条不可靠信道。

7、两个对等运输实体在通信时传送的数据单位叫作运输协议数据单元TPDU

8、UDP在传送数据之前不需要先建立连接。

虽然UDP不提供可靠交付,但在某些情况下UDP是一种最有效的工作方式;TCP则提供面向连接的服务。

9、运输层的UDP用户数据报与网际层的IP数据报的区别:

IP数据报要经过互连网中许多路由器的存储转发,但UDP用户数据报是在运输层的端到端抽象的逻辑信道中传送的。

10、硬件端口与软件端口的区别:

在协议栈层间的抽象的协议端口是软件端口。

路由器或交换机上的端口是硬件端口。

硬件端口是不同硬件设备进行交互的接口,而软件端口是应用层的各种协议进程与运输实体进行层间交互的一种地址。

11、端口用一个16位端口号进行标志。

12、端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。

在因特网中不同计算机的相同端口号是没有联系的。

13、端口的分类:

熟知端口和登记端口号合称为服务器端使用的端口号

n熟知端口,数值一般为0~1023。

n登记端口号,数值为1024~49151,为没有熟知端口号的应用程序使用的。

使用这个范围的端口号必须在IANA登记,以防止重复。

n客户端口号或短暂端口号,数值为49152~65535,留给客户进程选择暂时使用。

二、用户数据报协议UDP

1、UDP只是在IP的数据报服务之上增加了端口的功能和差错检测的功能。

2、UDP的主要特点

nUDP是无连接的,即发送数据之前不需要建立连接。

nUDP使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制。

nUDP是面向报文的。

nUDP支持一对一、一对多、多对一和多对多的交互通信。

nUDP的首部开销小,只有8个字节。

nUDP没有拥塞控制,很适合多媒体通信的要求

3、发送方UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。

UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。

4、UDP的首部格式(每个部分各两个字节)

源端口(不需要回送时可填0),目的端口,长度(包括数据部分,最小为8字节),检验和(检查用户数据报是否有差错)

5、IP数据报首部检验和与UDP数据报检验和的区别:

IP数据报只检验首部,UDP则把首部和数据报部分一起检验了。

6、伪首部与检验和:

为了计算检验和在UDP首部之前再加入12字节的伪首部。

伪首部不能向上递交也不用向下传送。

接收方将UDP数据报与伪首部按二进制反码求和,正确的结果应为全0,否则丢弃这个数据报。

7、伪首部包括源IP,目的IP,一个全0字节,一个协议字段,2字节的UDP长度

三、传输控制协议TCP

1、TCP最主要的特点

nTCP是面向连接的运输层协议。

n每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的(一对一)。

nTCP提供可靠交付的服务。

nTCP提供全双工通信。

n面向字节流。

2、TCP连接是一条虚连接而不是一条真正的物理连接。

3、TCP连接的端点:

不是主机,不是主机的IP地址,不是应用进程,也不是运输层的协议端口,而是套接字(socket)或插口,是端口号拼接到IP地址后面构成的。

套接字socket=(IP地址:

端口号)192.168.1.1:

80

TCP连接:

:

={socket1,socket2}

={(IP1:

port1),(IP2:

port2)}

4、同一个IP地址可以有多个不同的TCP连接,而同一个端口号也可以出现在多个不同的TCP连接中。

四、可靠传输的工作原理

1、理想传输条件的两个特点:

传输信道不产生差错,无论发送发以多快的速度发送,接送方总来的及接受数据。

在这种条件下不需要采取何种措施就可以实现可靠传输。

2、停止等待协议:

每发送完一个分组就停止发送,等待对方确认。

确认后再发下一个分组

3、为了在出现差错时能够继续通信:

在发送完一个分组后,必须暂时保留已发送的分组的副本;分组和确认分组都必须进行编号;超时重传,超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些。

4、确认丢失和确认迟到

5、使用确认和重传机制,我们就可以在不可靠的传输网络上实现可靠的通信。

6、可靠传输协议又称为自动重传请求ARQ

7、信道利用率:

TD:

分组发送时间;RTT:

分组往返时间;TA:

发送确认分组所需的时间

8、停止等待协议的优点是简单,但缺点是信道利用率太低。

9、提高信道利用率的措施:

采用流水线传输:

发送方可连续发送多个分组,不必每发完一个分组就停顿下来等待对方的确认

10、连续ARQ协议:

TCP连接的每一端都必须设有两个窗口——一个发送窗口和一个接收窗口。

发送窗口内的数据可以连续发送出去,不需要等待对方的确认,接收方采用累积确认,对按序到达的最后一个分组确认,表示:

到这个分组为止的所有分组都已正确收到了。

发送方每接收到一个确认,就把发送窗口向前滑动一个分组单位。

五、TCP报文段的首部格式

1、源端口和目的端口字段——各占2字节。

端口是运输层与应用层的服务接口。

运输层的复用和分用功能都要通过端口才能实现。

2、序号字段——占4字节。

TCP连接中传送的数据流中的每一个字节都编上一个序号。

序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。

3、确认号字段——占4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。

4、数据偏移(即首部长度)——占4位,它指出TCP报文段的数据起始处距离TCP报文段的起始处有多远,以四个字节为单位,其实就是首部长度,最大60字节。

5、确认ACK——只有当ACK=1时确认号字段才有效。

6、复位RST(ReSeT)——当RST=1时,表明TCP连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。

7、同步SYN——同步SYN=1表示这是一个连接请求或连接接受报文

8、终止FIN(FINis)——用来释放一个连接。

FIN=1表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。

9、窗口字段——占2字节,用来让对方设置发送窗口的依据,单位为字节。

10、检验和——占2字节。

检验和字段检验的范围包括首部和数据这两部分。

检验规则和UDP检验和一样。

11、紧急指针字段——占16位,指出在本报文段中紧急数据共有多少个字节

12、MSS是TCP报文段中的数据字段的最大长度

13、选项字段——长度可变。

包括:

n窗口扩大选项——占3字节,

n时间戳选项——占10字节,其中最主要的字段时间戳值字段(4字节)和时间戳回送回答字段(4字节)。

用来计算往返时间,处理TCP序号超过2的32次方的情况,防止序号绕回,时间戳可以做个标记

n选择确认选项

14、填充字段,填0,这是为了使整个首部长度是4字节的整数倍。

六、TCP可靠传输的实现

1、TCP的滑动窗口以字节为单位

2、窗口越大,发送方就可以在收到确认之前发送更多的数据,传输效率高,但是接收方必须来的及接收。

3、窗口的分类:

发送窗口,可用窗口,未确认窗口

4、A的发送窗口并不总是和B的接收窗口一样大(因为有一定的时间滞后)。

5、TCP要求接收方必须有累积确认的功能,这样可以减小传输开销。

6、缓存和窗口的关系:

缓存一般大于窗口

7、发送缓存与接收缓存的作用

发送缓存用来暂时存放:

发送应用程序传送给发送方TCP准备发送的数据;

TCP已发送出但尚未收到确认的数据。

接收缓存用来暂时存放:

按序到达的、但尚未被接收应用程序读取的数据;

不按序到达的数据。

8、超时重传时间的选择:

RTO=RTTS+4´RTTD

平均往返时间

新的RTTS=(1-a)´(旧的RTTS)+a´(新的RTT样本)

0£a<1推荐=0.125

RTT的偏差的加权平均值

新的RTTD=(1-b)´(旧的RTTD)+b´½RTTS-新的RTT样本½

b推荐=0.25

9、如何判定一个确认报文段是对原来的报文段1的确认,还是对重传的报文段2的确认?

采用Karn算法:

在计算平均往返时间RTT时,只要报文段重传了,就不采用其往返时间样本。

修正的Karn算法:

报文段每重传一次,就把RTO增大一些:

10、选择确认sack是解决:

接收方收到了和前面的字节流不连续的两个字节块,怎样让发送方只发送没有到达的数据段

11、使用SACK时要将TCP首部中的SACK位置1,然后再选项字段填入未接受到的断块的边界值,每个边界值占4个字节,确定一个断块要用两个边界值,所以选项字段最多只能指明4个字节块的信息。

另外还要一个选项指明是SACK选项,一个指明SACK占用的字节数

七、TCP的流量控制:

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

1、流量控制(flowcontrol)就是让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞。

2、丢失报文导致互等死锁的解决办法:

持续计时器

nTCP为每一个连接设有一个持续计时器。

n只要TCP连接的一方收到对方的零窗口通知,就启动持续计时器。

n若持续计时器设置的时间到期,就发送一个零窗口探测报文段(仅携带1字节的数据),而对方就在确认这个探测报文段时给出了现在的窗口值。

n若窗口仍然是零,则收到这个报文段的一方就重新设置持续计时器。

n若窗口不是零,则死锁的僵局就可以打破了。

3、发送方的发送窗口不能超过接收方给的接收窗口的数值,TCP窗口的单位是字节。

4、考虑到传输效率,要解决TCP报文段的发送时机的选择:

n长度限制:

第一种机制是TCP维持一个变量,它等于最大报文段长度MSS。

只要缓存中存放的数据达到MSS字节时,就组装成一个TCP报文段发送出去。

n自己要求:

第二种机制是由发送方的应用进程指明要求发送报文段,即TCP支持的推送(push)操作。

n时间限制:

第三种机制是发送方的一个计时器期限到了,这时就把当前已有的缓存数据装入报文段(但长度不能超过MSS)发送出去。

八、TCP的拥塞控制

1、在某段时间,若对网络中某资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏——产生拥塞,即资源需求>可用资源

2、拥塞控制与流量控制的关系:

拥塞控制是一个全局性的过程,就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。

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

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

3、拥塞控制要解决好网络吞吐量与负载的关系

4、几种拥塞控制方法:

慢开始和拥塞避免,快重传和快恢复

5、发送方维持一个叫做拥塞窗口cwnd的状态变量。

拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。

发送方让自己的发送窗口等于或小于拥塞窗口。

6、发送方控制拥塞窗口的原则是:

只要网络没有出现拥塞,拥塞窗口就再增大一些,发送更多的分组。

但只要网络出现拥塞,拥塞窗口就减小一些,以减少注入到网络中的分组数。

7、“拥塞避免”不能完全避免拥塞,只是说在拥塞避免阶段把拥塞窗口控制为较多按线性规律增长,使网络比较不容易出现拥塞。

8、快重传算法:

快重传算法首先要求接收方每收到一个失序的报文段后就立即发出重复确认。

这样做可以让发送方及早知道有报文段没有到达接收方。

发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段。

9、快恢复算法:

当发送端收到连续三个重复的确认时,就执行“乘法减小”算法,把慢开始门限ssthresh减半,然后执行加法增大。

这是因为三个确认报文能够到达发送端,网络很可能没有拥塞

10、发送窗口的上限值=Min[rwnd,cwnd]接收方窗口rwnd和拥塞窗口cwnd

九、TCP的运输连接管理

1、运输连接就有三个阶段,即:

连接建立、数据传送和连接释放。

2、TCP连接的建立都是采用客户服务器方式。

主动发起连接建立的应用进程叫做客户(client)。

被动等待连接建立的应用进程叫做服务器(server)。

3、TCP用三次握手建立连接:

A表示发送方,B表示接收方

(1)A的TCP向B发出连接请求报文段,其首部中的同步位SYN=1,并选择序号seq=x,表明传送数据时的第一个数据字节的序号是x。

(2)B的TCP收到连接请求报文段后,如同意,则发回确认。

B在确认报文段中应使SYN=1,使ACK=1,其确认号ack=x+1,自己选择的序号seq=y。

(3)A收到此报文段后向B给出确认,其ACK=1,确认号ack=y+1。

A的TCP通知上层应用进程,连接已经建立。

4、TCP的连接释放:

四次握手释放连接。

A表示发送方,B表示接收方

(1)A把连接释放报文段首部的FIN=1,其序号seq=u,等待B的确认。

(2)B发出确认,确认号ack=u+1,而这个报文段自己的序号seq=v。

TCP服务器进程通知高层应用进程。

从A到B这个方向的连接就释放了,TCP连接处于半关闭状态。

B若发送数据,A仍要接收。

(3)若B已经没有要向A发送的数据,其应用进程就通知TCP释放连接。

(4)A收到连接释放报文段后,必须发出确认。

5、数据传输结束后,通信的双方都可释放连接。

6、发送方确认后必须等待2MSL的时间后才能真正释放连接理由如下:

第一,为了保证A发送的最后一个ACK报文段能够到达B。

第二,防止“已失效的连接请求报文段”出现在本连接中。

A在发送完最后一个ACK报文段后,再经过时间2MSL,就可以使本连接持续的时间内所产生的所有报文段,都从网络中消失。

整理者:

福州大学张毅

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2