面向连接与无连接

        面向连接与面向无连接是两种方法,在网络中用于相关网络协议的制定(例如TCP是面向连接的,而UDP是面向无连接的),在应用中,它们代表着数据通信的两种不同的传输数据技术。本文主要指协议与服务。

 

面向连接(Connection-Oriented)

       面向连接协议是TCP/IP协议族的重要组成部分,面向连接依赖发送方和接收方之间的显示通信和阻塞以管理双方的数据传输,网络系统需要在两台主机之间发送数据之前先建立连接。而面向连接服务就是通信双方在通信时,要事先建立好一条通信线路(虚拟的),其过程有建立连接、维护连接、释放(断开)连接三个过程。

 

 

       面向连接方法中,在两个端点之间建立了一条数据通信信道(电路)。这条信道提供了一条在网络上顺序发送报文分组的预定义路径,这个连接类似于语音电话。发送方与接收方保持联系以协调会话和报文分组接收或失败的信号。但这并不意味着面向连接的信道比无连接的信道使用了更多的带宽,两种方法都只在报文分组传输时才使用带宽。

 

流状态信息

       对于电路抽象和面向连接的分组网络(例如X.25),需要在每个交换机中为每个连接存储一些信息或状态。原因是每个分组只携带少量的额外信息,以提供到某个状态表的索引。例如,在X.25中,12位的逻辑信道标识符(LCI)或逻辑信道号(LCN)被用于这个目的。在每台交换机中,LCI或LCN和交换机中的每个流状态相结合,以决定分组交换路径中的下一台交换机。在使用信令协议在一条虚电路上交换数据之前,每个流状态已经建立,该协议支持连接建立、清除和状态信息。

        简单来说,面向连接的网络将流状态信息(LCI、LCN等用于识别通信两端的信息)存储在交换机中,因此相较于面向无连接网络的传送数据来说携带信息较少。

特点

       面向连接服务的特点是其在进行数据传输前必须经过建立连接、维护连接、释放连接三个过程,并且在数据传输过程中,各分组不需要携带目的节点的地址。这就好比一个通信管道,数据发送方在一端发送数据,数据接收方在另一端取出数据。面向连接协议保证数据传输的收发顺序不变,即你应我答的模式。因此面向连接服务的传输可靠性高,但需要负担通信开始前的链接开销,协议复杂,通信效率不高。

 

虚拟连接

       面向连接协议建立的是虚拟连接,这是相对于物理连接而言的。物理连接是实实在在存在的,例如线缆、索道等,看得见摸得着。而虚拟连接则是通过双向的消息传送以及消息确认来模拟物理连接。
       在计算机网络中,面向连接协议除了Internet的传输控制协议(TCP,Transmission Control Protocol)以外,还有Novell的顺序分组交换(SPX)、IBM/Microsoft的NetBIOS等。

 

 

面向无连接

       与面向连接相对,面向无连接是指通信双方不需要事先建立通信线路,而是把每个带有目的地址的报文分组送到线路上,由系统自主选定线路进行传输。面向连接基于电话系统模型,而面向无连接则基于邮政系统模型。相对于面向连接的建立连接的三个过程,面向无连接只有“传送数据”的过程。
       在无连接方法中,网络除了把分组传送到目的地以外不需做任何事情,如果分组丢失了,接收方必须检测出错误并请求重发;如果分组因采用不同的路径而没有按序到达,接收方必须将它们重新排序。

 

 

数据报(Datagram)

       数据报是面向无连接网络的一个重要概念,可用于建立一个无连接的网络。数据报起源于CYCLADES[P73]系统,它是一个特定类型的分组,有关来源和最终目的地的所有识别信息都位于分组而不是分组交换机。虽然这通常需要较大的数据包,但不需要再交换机中维护连接状态,并且不需要使用复杂的信令协议。

 

 

特点

       由于面向无连接不需要在通信双方进行数据传输前建立虚拟连接线路,而维护连接的过程正是影响面向连接网络的瓶颈所在,因此面向无连接的服务能做到高效率和实时性,但可靠性相对面向连接服务较低一些。

 

 

对比与总结

       面向连接,是指通信双方在进行通信之前,要事先在双方之间建立起一个完整的可以彼此沟通的通道,这个通道也就是连接。在通信过程中,整个连接的情况一直可以被实时地监控和管理。而无连接的通信,就不需要预先建立起一个联络两个通信节点的连接来,需要通信的时候,发送节点就可以往“网络”上送出信息,让信息自主地在网络上去传,一般在传输的过程中不再加以监控,让该信息的传递在通信网络中尽力而为地往目的地节点传送。
       在远程通信的技术中,X.25协议是面向连接的,它的传输方式叫做“虚电路”(virtual circuit);在因特网技术里,IP协议就是无连接的,它的信息传输方式叫做数据报(datagram)。而TCP协议就是面向连接的。

 

 

       面向连接的协议比面向无连接的协议在可靠性上有着显著的优势,但建立连接前必须等待接收方响应,传输信息过程中必须确认信息是否传到,断开连接时需要发出响应信号等,无形中加大了面向连接协议的资源开销。具体到TCP和UDP协议来说,除了源端口和目的端口,TCP还包括序号、确认信号、数据偏移、控制标志(通常说的URG、ACK、PSH、RST、SYN、FIN)、窗口、校验和、紧急指针、选项等信息,UDP则只包含长度和校验和信息。UDP数据报比TCP小许多,这意味着更小的负载和更有效的使用带宽。许多即时聊天软件采用UDP协议,与此有莫大的关系。两种协议的特点决定了它们的应用场景,在网络中,有些服务,如HTTP、FTP等,对数据的可靠性要求较高,在使用这些服务时,必须保证数据包能够完整无误的送达;而另外一些服务,如DNS、即时聊天工具等,并不需要这么高的可靠性,高效率和实时性才是它们所关心的。

 

 

       因特网是一个巨大的无连接数据分组网络,其中所有的数据分组传递都通过IP处理。然而,TCP在顶层添加面向连接的服务。TCP提供全部的高级面向连接的会话功能,以确保适当地传递数据。MPLS是用于IP网络的相对较新的面向连接的连网方案,它通过路由或两层网络建立快速标记交换路径。


 

                                                     本文内容摘自《TCP/IP详解 卷1:协议(中文版)第2版》、百度百科、维基百科

你可能感兴趣的:(计算机网络,学习笔记)