计算机网络--第5章运输层知识点总结

1、运输层提供的服务

运输层向它上面的应用层提供通信服务,运输层提供应用进程间的逻辑通信,也就是说,运输层之间的通信并不是真正在两个运输层之间直接传送数据,运输层向应用层屏蔽了下面网络的细节(如网络拓扑、所采用的路由选择协议等),它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。真正进行通信的实体是在主机中的应用进程,是一台主机中的应用进程和另一台主机中的应用进程在交换数据(即通信)。

2、运输层的功能

网络层为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信。运输层还要对收到的报文进行差错检测。根据应用程序的不同需求,运输层需要有两种不同的运输协议即面向连接的TCP和无连接的UDP。

运输层向高层用户屏蔽了下面网络核心的细节(如网络拓扑、所采用的路由选择协议等),它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道,但这条逻辑通信信道对上层的表现却因运输层使用的不同协议而有很大的差别。当运输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的(只提供尽最大努力服务),但这种逻辑通信信道就相当于一条全双工的可靠信道。但当运输层采用无连接的UDP协议时,这种逻辑通信信道仍然是一条不可靠的信道。

3、端口号

运输层用一个16位端口号来标志一个端口。端口号只具有本地意义,它只是为了标志本计算机应用层中的各个进程在和运输层交互时的层间接口。在互联网的不同计算机中,相同的端口号是没有关联的。

在协议栈层间的抽象的协议端口是软件端口,和路由器或交换机上的硬件端口是完全不同的概念。硬件端口是不同硬件设备进行交互的接口,而软件端口是应用层的各种协议进程与运输实体进行层间交互的地点,不同的系统具体实现端口的方法可以是不同的(取决于系统使用的操作系统)。

两台计算机中的进程要互相通信,不仅要知道对方的IP地址(为了找到对方的计算机),而且还要知道对方的端口号(为了找到对方计算机中的应用进程)。

运输层的端口号分为服务器端使用的端口号( 0~1023指派给熟知端口,1024~49151是登记端口号)和客户端暂时使用的端口号(49152~65535)。

4、用户数据报协议UDP

UDP的主要特点是:①无连接;②尽最大努力交付;③面向报文;④无拥塞控制;⑤支持一对一、一对多、多对一和多对多的交互通信;⑥首部开销小(只有四个字段:源端口、目的端口、长度和检验和)。

UDP的首部字段只有8个字节,由4个字段组成,每个字段的长度都是2字节。

 ①源端口:源端口号。在需要对方回信时选用。不需要时可用全0。

②目的端口:目的端口号。在终点交付报文时必须使用。

③长度:UDP用户数据报的长度,其最小值是8(仅有首部)。

④检验和:检测UDP用户数据报在传输中是否有错,有错就丢弃。UDP的检验和是把首部和数据部分一起都检验。

5、传输控制协议TCP

TCP的主要特点是:①面向连接;②每一条TCP连接只能是点对点的(一对一);③提供可靠交付的服务;④提供全双工通信;⑤面向字节流。

TCP用主机的IP地址加上主机上的端口号作为TCP连接的端点。每一条TCP连接有两个端点。这样的端点就叫做套接字或插口。套接字用(IP地址:端口号)来表示。每一条TCP连接唯一地被通信两端的两个端点(即套接字对)所确定。

6、可靠传输原理

TCP发送的报文段是交给IP层传送的,但IP层只能提供尽最大努力服务,也就是说,TCP下面的网络所提供的是不可靠的传输。因此TCP必须采用适当的措施才能使得两个运输层之间的通信变得可靠。

理想的传输条件有以下两个特点:①传输信道不产生差错;②不管发送方以多快的速度发送数据,接收方总是来得及处理收到的数据。

实际的网络都不具备以上两个理想条件。

7、停止等待协议

停止等待协议能够在不可靠的传输网络上实现可靠的通信。每发送完一个分组就停止发送,等待对方的确认,在收到确认后再发送下一个分组。必须暂时保留已发送的分组的副本(在发生超时重传时使用)。分组和确认分组都必须进行编号。出现差错时超时重传,超时重传是指只要超过了一段时间仍然没有收到确认,就重传前面发送过的分组(认为刚才发送的分组丢失了)。因此每发送完一个分组,需要设置一个超时计时器,其重传时间应比数据在分组传输的平均往返时间更长一些。这种自动重传方式常称为自动重传请求ARQ。

在停止等待协议中,若接收方收到重复分组,就丢弃该分组,但同时还要发送确认。

信道利用率U=Tᵈ/(Tᵈ+RTT+Tᴬ)

其中Tᵈ表示发送分组需要的时间,Tᴬ表示确认分组需要的时间,RTT表示往返时间。

流水线传输就是发送方可连续发送多个分组,不必每发完一个分组就停顿下来等待对方的确认,这样可使信道上一直有数据在不间断的传送。显然,这种传送方式可以获得很高的信道利用率。

8、连续ARQ协议

连续ARQ协议可提高信道利用率。发送方维持一个发送窗口,凡位于发送窗口内的分组都可连续发送出去,而不需要等待对方的确认。接收方一般采用累积确认,对按序到达的最后一个分组发送确认,表明到这个分组为止的所有分组都已正确收到了。

累积确认的优点是容易实现,即使确认丢失也不必重传,但缺点是不能向发送方及时反映接收方已经正确收到所有分组的信息。

9、TCP报文段

 TCP虽然是面向字节流的,但TCP传送的数据单元却是报文段。

TCP报文段首部的前20个字节是固定的,后面有4N字节是根据需要而增加的选项(N是整数)。因此TCP首部的最小长度是20字节。在一个TCP连接中传送的字节流中的每一个字节都按顺序编号。首部中的序号字段值则指的是本报文段所发送的数据的第一个字节的序号。TCP首部中的确认号是期望收到对方下一个报文段的第一个数据字节的序号。若确认号为N则表明到序号N-1为止的所有数据都已正确收到。TCP首部中的窗口字段则指出了现在允许对方发送的数据量。窗口值是经常动态变化着的。

10、滑动窗口

TCP的滑动窗口是以字节为单位的。TCP使用滑动窗口机制。发送窗口里面的序号表示允许发送的序号。发送窗口后沿的后面部分表示已发送且已收到了确认,而发送窗口前沿的前面部分表示不允许发送,因为接收方没有为这部分数据保留临时存放的缓存空间。发送窗口后沿的变化情况有两种可能,即不动(没有收到新的确认)和前移(收到了新的确认)。发送窗口后沿不可能向后移动,因为不能撤销掉已收到的确认。发送窗口前沿通常是不断向前移动的,但也有可能不动。向前移动的原因是没有收到新的确认,对方通知的窗口大小也不变。不动的原因是收到了新的确认但对方通知的窗口缩小了,使得发送窗口前沿正好不动。

11、TCP流量控制

流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。发送方的发送窗口不能超过接收方给出的接收窗口的数值。TCP的窗口单位是字节,不是报文段。

流量控制往往是指点对点通信量的控制,是一个端到端的问题,流量控制所要做的就是抑制发送端发送数据的速率,以便接收端来得及接收。

12、TCP拥塞控制

在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏。这种情况就叫做拥塞。拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不至于过载。

拥塞控制是一个全局性的过程,涉及所有的主机、所有的路由器以及与降低网络传输性能有关的所有因素。

为了进行拥塞控制,TCP的发送方要维持一个拥塞窗口cwdn的状态变量。拥塞窗口的大小取决于网络的拥塞程度,并且动态的在变化。发送方让自己的发送窗口取为拥塞窗口和接收方的接收窗口中的较小的一个。

TCP的拥塞控制采用了四种算法,即慢开始、拥塞避免、快重传和快恢复。在网络层,也可以使路由器采用适当的分组丢弃策略(如主动队列管理AQM),以减少网络拥塞的发生。

13、TCP的运输连接管理

运输连接有三个阶段,即连接建立、数据传送和连接释放。运输连接的管理就是使运输连接的建立和释放都能正常的进行。

TCP连接的建立采用客户服务器方式,主动发起连接建立的应用进程叫做客户,而被动等待连接建立的应用进程叫做服务器。TCP的连接建立采用三报文握手机制。服务器要确认客户的连接请求,然后客户要对服务器的确认进行确认。

TCP的连接释放采用四报文握手机制。任何一方都可以在数据传送结束后发出连接释放的通知,待对方确认后就进入半关闭状态。当另一方也没有数据再发送时,则发送连接释放通知,对方确认后就完全关闭了TCP连接。

猜你喜欢

转载自blog.csdn.net/weixin_65089091/article/details/131415275