当前位置 : 主页 > 编程语言 > java >

计算机网络基础之传输层的功能和服务

来源:互联网 收集:自由互联 发布时间:2022-07-04
温故: 网络层在OSI七层中为位于第三层,同时也是通信子网的最高层,物理层传输的单位是比特流,数据链路层传输的是数据帧,而网络层的传输单位是数据包。这里还要做一个比较,

温故:

        网络层在OSI七层中为位于第三层,同时也是通信子网的最高层,物理层传输的单位是比特流,数据链路层传输的是数据帧,而网络层的传输单位是数据包。这里还要做一个比较,物理层要解决的问题是创建、维护和释放连接;数据链路层要解决的问题是将不可靠的物理链路改造成无差错的数据链路;而网络层主要解决的问题是选择路径。之所以设置网络层的目的就是要为报文分组提供最佳路径,通过通信子网到达目的主机。

关于上面提到的知识点的链接如下,有兴趣的朋友可以去看看:

​​计算机基础之网络层的功能和服务​​

​​计算机网络基础之数据链路层的功能与服务​​

​​计算机网络基础之物理层功能与协议​​

知新:

1、传输层的必要性

        前面的内容中我们已经讲了物理层、数据链路层和网络层,截止到上一篇文章我们已经将通信子网的相关内容都已经讲完了。当然了实话实说写的一般,但是按照我目前的水准也就只能写到这样了,希望各位不要介意。我希望后面的日子里,能够通过我的努力去完善之前写过的文章,尽量给大家带来更好的阅读体验。

        今天咱们要讲得内容是传输层的功能和服务。众所周知传输层位于OSI网络七层中的第四层,它在OSI七层模型中起到了一个承上启下的作用,它的上面是会话层、表示层和应层,但是这三层却不具备任何数据传输的功能;它的下面是网络层、数据链路层和物理层。为什么说传输层的存在至关重要呢?首先在网络中一直存在着这样一个问题:世界上的各种通信子网的性能是存在着很大的差异的,这种差异具体指的是吞吐量、传输速率等。     

        但是很恶心的一件事是会话层表示不能接受通信子网的这种差异性的存在,不给它解决这个问题它接不工作。所以就在网络层和会话层之间增加了新的一层,即传输层。传输层在这里会使用分流/合流,复用/介复用技术等技术为上层的会话层屏蔽掉这种差异,让上层的会话层对下层的通信子网的差异性“视而不见”。

        其实计算机网络之间的通信,就是计算机之间的应用程序之间的通信。当两个主机之间的程序进行交互时,源主机的程序发出的信息需要准确的送往目的主机地相应程序,这个过程是怎么实现的呢?首先网络层只能做到将源主机的数据按照网络地址发送到目的主机,但是也仅仅如此了。还有一个问题需要解决:因为一个计算机上运行着很多个程序,如何保证把来自源主机的信息准确的送往了目的主机中相应的程序呢。这个时候就需要传输层出马了,传输层可以根据端口号将数据准确无误的传送到对应的程序。这个过程有点像邮政送快递的过程,网络层的作用就像把邮件从北京市的邮局1送往天津市的一个目的邮局2,而传输层的作用就像是将邮局2的邮件准确的送往收件人的收货地址所在地。这样解释是不是就很明白了!

2、传输层的功能

        其实上面对内容里基本已经将传输层的功能叙述一遍了,这里在做一个简单的总结:传输层可以实现应用间端到端的连接(进程到进程),负责为一个进行中的会话提供可靠的传输,完成端到端的通信链路的建立、维护和管理。再顺便说一说传输层是怎样工作的?首先传输层会将会话层发来的数据分割成若干份小的数据单元,然后再传输层为每一个数据单元的头部添加上控制信息,其中包含了源目端口号,然后数据经过通信子网到达接收方的传输层之后,会去掉报文头部的控制信息,最终将数据单元按照原来的顺序进行重组,发往本地的会话层 。当然了传输层也有相应的流量控制和差错检测功能流量控制功能是通过窗口技术来实现,避免本地端口发出的流量超过接收端口所能承受的接收能力。

3、传输层的服务

        比较有意思的是传输层的服务也是分为面向有连接的服务和面向无连接的服务。为什么我这里用了“也是”这个词呢?如果大家看了我之前的文章的话,会发现我在网络层的介绍中也提到了这两种服务,那么为什么不直接使用网络层的虚电路电路服务和数据报服务呢?原因是网络层的这两个服务达不到传输层所要求的的标准,网络层的这两个服务终究会出现不可靠的情况。而会话层又无法对下面的通信子网进行控制,所以就添加了新的传输层,因为传输层会更容易检错纠正。

4、传输层协议

        在提传输层协议之前,我先简单说一个概念,即QoS。这三个字母代表的是传输层的服务质量。你就可以简单的理解为传输能力吧。通诺上面的讲解,大家不拿看出传输层的服务其实就是网络层服务的增强版,相当于是网络层的补充。所以呢通信子网中的网络层的能力越高则传输层中协议就越简单。

1、传输控制协议TCP

2、用户数据报协议UDP

        TCP协议:面向连接的可靠传输协议。利用TCP进行通信时,首先要通过三步握手,以建立通信双方的连接。TCP提供了数据的确认和数据重传的机制,保证发送的数据一定能到达通信的对方。

        UDP协议:是无连接的,不可靠的传输协议。采用UDP进行通信时不用建立连接,可以直接向一个IP地址发送数据,但是不能保证对方是否能收到。

                                                           拓展

根据差错性质,网络服务按质量可分为以下三种类型:
☆ A类服务:低差错率连接,即具有可接受的残留差错率和故障通知率
☆ C类服务:高差错率连接,即具有不可接受的残留差错率和故障通知率☆ B类服务:介于A类服务与C类服务之间
差错率的接受与不可接受是取决于用户的。因此,网络服务质量的划分是以用户要求为依据的。OSI根据运输层的功能特点,定义了以下五种协议级别:
☆ 0级:简单连接。只建立一个简单的端到端的传输连接,并可分段传输长报文。
☆ 1级:基本差错恢复级。在网络连接断开、网络连接失败或收到一个未被认可的传输连接数据单元等基本差错时,具有恢复功能。
☆ 2级:多路复用。允许多条传输共享同一网络连接,并具有相应的流量控制功能。
☆ 3级:差错恢复和多路复用。是1级和2级协议的综合。
☆ 4级:差错检测、恢复和多路复用。在3级协议的基础上增加了差错检测功能。
(3) 典型的传输层协议
☆ SPX:顺序包交换协议,是Novell NetWare网络的传输层协议。
☆ TCP:传输控制协议,是TCP/IP参考模型的传输层协议。
传输层的协议标准有以下几种.
ISO8072:称为面向连接的传输服务定义.
ISO8072:称为面向连接的传输协议规范

        如果对这部分内容感兴趣,可以看看我的《​​计算机网络基础之传输层(二)​​》


上一篇:Java循环中的do...while循环控制
下一篇:没有了
网友评论