传输层协议有哪些(消息队列的使用场景)
传输层的介绍:
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、成都小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了甘谷免费建站欢迎大家使用!从通信和信息处理的角度看,传输层向它上面的应用层提供通信服务。它属于面向通信部分的成都定制网站高层,同时也是用户功能中的最低层。传输层位于网络层之上,它会运行在不同主机上的进程之间,提供逻辑通信。网络层提供主机之间的逻辑通信。显然,即使网络层协议不可靠,传输层同样能为应用程序提供可靠的服务.
传输层的功能:
1)传输层提供应用进程之间的逻辑通信。与网络层的区别是,网络层提供的是主机之间的逻辑通信。从网络层来说,成都app软件开发公司通信的双方是两台主机,IP数据报的首部给出了这两台主机的IP地址,但两台主机之间的通信实际上是两台主机中的应用进程之间的通信应用。进程之间的通信又称端到端的逻辑通信。这里"逻辑通信"的意思是传输层之间的通信好像是沿水平方向传送数据,但事实上,这两个传输层之间并没有一条水平方向的物理连接.
2)复用和分用. 复用是指发送方不同的应用进程都可使用同一传输层协议传送数据。分用是指接收方的传输层在剥去报文的首部后,能够把这些数据正确交付到目的应用进程.
3)传输层还要对收到的报文进行差错检测,而网络层只检查IP数据报的首部,不检验数据部分是否出错
4)提供两种不同的传输协议,即面向连接的TCP和无连接的udp,而网络层无法同时实现两种协议
描述
TCP可靠传输
TCP的任务是在IP层不可靠的尽力而为服务的基础上建立一种可靠数据传输服务。TCP提供的可靠数据传输服务,保证接收方进程,从缓冲区读出的字节流与发送方发出的字节流完全一样,TCP使用了校验 ,序号 ,确认和重传等机制来达到这一目的。其中TCP的校验机制与UDP校验一样
有两件事会导致TCP对报文段进行重传超时和冗余ACK.
超时:TCP每发送一个报文段,就得这个报文段设置一次计时器。计时器设置的重传时间到期,但还未收到确认时就要重传这一报文段.
冗余ACK:重传存在的问题是超时周期往往太长,索性的是发送方通常可以在超时事件发生之前,通过注意所谓的冗余ACK来较好的的检测丢包情况。冗余ACK就是再次确认某个报文段的ACK发送方先前已经收到过该报文段的确认.
TCP流量控制:
TCP提供流量控制服务来消除发送方使接收方缓存区溢出的可能性,因此可以说流量控制是一个速度匹配服务,简单点讲其实就是。发送的东西太多了。接收得太慢,没有办法匹配。传输层和数据链路层的流量控制的区别是:传输层定义端到端用户之间的流量控制,数据链路层定义两个中间的相应结点的流量控制。另外,数据链路层的滑动窗口协议的窗口大小不能动态变化,传输层就可以动态变化.
TCP拥塞控制:
所谓拥塞控制是指防止过多的数据注入网络,以使网络中的路由器或链路不致过载。出现拥塞时,端点并不了解拥塞发生的细节。对通信连接的端点来说,成都app软件开发公司拥塞往往表现为通信时延的增加。当然,拥塞控制和流量控制也有相似的地方,他们都通过控制发送方发送数据的速率来达到控制效果
拥塞控制和流量控制的区别:拥塞控制是让网络能够承受现有的网络负荷,是一个全局性的过程,涉及所有的主机,所有的路由器以及于降低网络传输性能有关的所有因素。相反,流量控制往往是指点对点的通信量的控制及接收端。控制发送端他所要做的事一直是发送端发送数据的速度,以便使接收端来得及接收.
下面简单讲一个拥赛控制的算法,很简单,大家请看图片
本章小结已经疑难点:
1)为什么不采用两次握手建立连接呢?
这主要是为了防止两次握手情况下已失效的连接请求报文段突然又传送到服务端而产生错误。考虑下面这种情况,客户a向服务器B发送TCP连接请求成都小程序开发公司个请求。报文在网络上某个节点长时间滞留,A超时后认为报文丢失,于是再重传一次连接请求B收到后建立连接,数据传输完毕后,双方断开连接,而此时前一个滞留在网络中的连接,请求到达服务端B,而B认为a又发来连接请求。此时若使用三次握手,则B向a返回确认报文段,由于是一个失效的请求,因此a不予理睬,建立连接失败。若采用的是两次握手,在这种情况下,B认为传输连接已经建立,并一直等待a传输数据,而a此时并无连接请求,因此不予理睬,这样就造成了B的资源白白浪费.
2)为何不采用三次握手释放连接且发送成都谷歌推广公司,一次握手报文要等待2MSL的时间呢?
原因有两个:(面试超能问)
1)保证a发送的成都谷歌推广公司,一个确认报文段能够到达b如果a不等待2MSL若a返回的成都谷歌推广公司,确认报文段丢失则必不能进入正常关闭状态而此时已经关闭也不可能再重传.
2)防止出现"已失效的连接请求报文段" a在发送成都谷歌推广公司,一个确认报文段后经过2MSL可保证本连续持续的时间内所产生的所有报文段从网络中消失造成错误的情形与下文不采用两次握手建立连接所述的情形相同.
服务器结束TCP连接的时间要比客户端早一些,因为客户端成都谷歌推广公司,要等待2MSL后才可以进入CLOSED状态(简单点说就是TCP关闭状态)
假设在一个互联网中,所有业务的传输都不出现差错,所有节点也都不会发生故障诗文。在这种情况下,TCP的可靠交付的功能是否就是多余的?
1)每个IP数据包独立地选择路由,因此在到达目的地的主机时有可能出现失序
2)由于路由选择地计算出现错误,导致IP数据包在互联网中转圈,成都谷歌推广公司,数据包首部中的生存时间的数值下降到零,这个数据包在中途就被丢失.
3)某个路由器突然出现很大的通信量,以致路由器来不及处理到达的数据包,因此有的数据包被丢弃.
这就说明,必须依靠TCP的可靠交付功能,才能保证在目的地主机的目的进程中接收到正确的报文.
网页标题:传输层协议有哪些(消息队列的使用场景)
标题链接:http://pwwzsj.com/article/dpjdi.html