传输方式
通过网络发送数据分类
-
面向有连接型
面向有连接型中,在发送数据前,需要在收发主机之间建立一条通信线路,必须在通信传输前后,专门进行建立和断开连接的处理。
-
面向无连接型
面向无连接型不要求建立和断开连接。发送端可于任何时候自由发送数据。
接收端也不需要知道自己会在何时从哪里收到数据,在面向无连接的情况下,接收端需要时常确认是否收到数据。
在面向无连接的通信中,不需要确认对端是否存在。即使接收端不存在或无法接受数据,发送端也能将数据发送出去。
通过网络通信方式分类
-
电路交换
电路交换技术历史相对久远,主要用于过去的电话网。
电路交换中,交换机主要负责数据的中转处理。计算机首先被连接到交换机上,而交换机与交换机之间则由众多通信线路再继续连接。因此计算机之间在发送数据时,需要通过交换机与目标主机建立通信电路。建立好连接以后,用户就可以一直使用这条电路,直到该连接被断开为止。
问题
:如果一条电路上连接了多台计算机,而这些计算机之间需要相互传递数据。
鉴于一台计算机在收发信息时会独占整个电路,其他计算机只能 等待这台计算机处理结束以后才有机会使用这条电路收发数据。并且在此过程中,谁也无法预测某一台计算机的数据传输从何时开始又在何时结束。如果并发用户数超过交换机之间的通信线路数,就意味着通信根本无法实现。
-
分组交换
为了解决上面的问题,人们想到了一个新的方法,即让连接到通信电路的计算机将所要发送的数据分成多个数据包,按照一定的顺序排列之后分别发送,这就是分组交换。
分组交换的优势
- 数据被细分后,所有的计算机就可以一齐收发数据,这样也就提高了通信线路的利用率。
- 由于在分组的过程中,已经在每个分组的首部写入了发 送端和接收端的地址,所以即使同一条线路同时为多 个用户提供服务,也可以明确区分每个分组数据发往的目的地,以及它是与哪台计算机进行的通信。
分组交换的大致处理过程
:
发送端计算机将数据分组发送给路由器,路由器收到这些分组数据以 后,缓存到自己的缓冲区,然后再转发给目标计算机。因此,分组交换也有另一 个名称:蓄积交换。
路由器接收到数据以后会按照顺序缓存到相应的队列当中,再以先进先出的 顺序将它们逐一发送出去。
分组交换的问题
在分组交换中,计算机与路由器之间以及路由器与路由器之间通常只有一条通信线路,因此,这条线路其实是一条共享线路。在电路交换中,计算机之间的传输速度不变。然而在分组交换中,通信线路的速度可能会有所不同。根据网络拥堵的情况,数据达到目标地址的时间有长有短。另外,路由器的缓存饱和或溢出时,甚至可能会发生分组数据丢失、无法发送到对端的情况。
通过接收端数量分类
-
单播
(Unicast)
1对1通信
-
广播
(Broadcast)
将消息从1台主机发送给与之相连的所有其他主机。
进行广播通信的计算机有自己的广播范围,只有在这个范围内的计算机才能收到相应的广播消息,这个范围叫做广播域。
-
多播
(Multicast)
与广播类似,但是限定了某一组主机作为接收端。
-
任播
(Anycast)
在特定的多台主机中选出一台作为接收端。任播通信从目标主机群中选择一台最符合网络条件的主机作为目标主机发送消息。通常,所被选的特定主机将返回一个单播信号,随后发送端主机会只跟这台主机进行通信。
引用
《图解TCP/IP》