计算机网络层提供的面向连接服务还是无连接服务讨论与思考
概要
在计算机网络领域,网络层应该向运输层提供怎样的服务(“面向连接”还是“无连接”)曾引起了长期的争论。争论焦点的实质就是:在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统?
介绍
有些人认为应当借助于电信网的成功经验,让网络负责可靠交付。大家知道,传统电信网的主要业务是提供电话服务。电信网使用昂贵的程控交换机(其软件也非常复杂),用面向连接的通信方式,使电信网络能够向用户(实际上就是电话机)提供可靠传输的服务。因此他们认为,计算机网络也应模仿打电话所使用的面向连接的通信方式。当两台计算机进行通信时,也应当先建立连接,以预留双方通信所需的一切网络资源。然后双方就沿着已建立的虚电路发送分组。这样的分组的首部不需要填写完整的目的主机地址,而只需要填写这条虚电路的编号,因而减少了分组的开销。这种通信方式如果再使用可靠传输的网络协议,就可使所发送的分组无差错按序到达终点,当然也不丢失、不重复。在通信结束后要释放建立的虚电路。
但互联网的先驱者却提出一种崭新的网络设计思路。他们认为,电信网提供的端到端可靠传输的服务对电话业务无疑是很合适的,因为电信网的终端(电话机)非常简单,没有智能,也没有差错处理能力。因此电信网必须负责把用户电话机产生的话音信号可靠地传送到对方的电话机,使还原后的话音质量符合技术规范的要求。但计算机网络的端系统是有智能的计算机。计算机有很强的差错处理能力。因此,互联网在设计上就采用了和电信网完全不同的思路,
其实互联网采用的设计思路多样化,网络层就是提供简单灵活的无连接,把数据传输出去的服务,
解决
您可能已经通过邮局发送了一封信,在这样做时,您需要在信封上写下收件人的地址,并且很可能是您的地址以便回复。
以相同的方式,网络层负责识别网络中的各种设备。但是,与邮政地址不同,网络层中的寻址是合乎逻辑的。这意味着地址不固定到设备,它们可能会更改。
此层中使用的地址用于远程传递,如果我们使用邮局类比,远程传递将向另一个组织发送信件。本地交付 - 将在后面的章节中讨论,可以比作向坐在您旁边的同事发送备注。
封装
网络层PDU协议数据单元是分组。封装需要基于来自传输层的段添加第3层特定信息。此类信息包括标题和预告片。它还将段与传输层分开以进行远程传递。
路由
在网络层中,这些是将数据从主机定向到目标的服务。在许多情况下,数据包可能必须通过许多中间设备(如路由器)。路由确保到目的地的路径是管理员定义的最有效路径。
解封
当数据包到达目的地时,必须对其进行解码并将OSI层向上移动到应用层,从而移动到人类网络。网络层承载数据包,不包含有关上层的信息,例如应用程序类型。解封装用于将分组重新组装成分段,然后在传输层中使用分段。
网络层协议
在网络层中,有两个主要协议用于承载数据。这些是:
Internet协议版本4(IPv4)
Internet协议版本6(IPv6)
还有其他协议使用,但是,它们超出了本课程的范围,将不再讨论。
IP(互联网协议) - Ipv4和IPv6。
在本课程的大部分内容中,我们将讨论IPv4,我们还将简要讨论IPv6,因为在更高级的课程(如CCNP)中更详细地讨论了IPv6中的概念。
IP定义了通过网络将数据包从源设备传输到目标设备所需的功能。网络可能包含许多节点,因此IP地址不会更改。IP不会跟踪各种数据包或管理其流量。这些功能在其他层执行。IP的一些特征包括以下内容。
无连接 - 这意味着在发送数据包之前不必建立连接。
媒体独立 - 无论媒体如何; 即无线,铜线或光纤,IP地址不会改变。
不可靠的传输(尽力而为) - 这意味着无法保证数据包的传输,当数据包在传输过程中丢失时,可能会根据其他层(如传输层)的协议重新传输数据包。例如,如果VOIP数据包丢失,则不会重新发送,因为VOIP使用UDP,但是,当HTTP数据包丢失时,由于HTTP使用TCP,因此必须重新发送它们。
划分网络
网络层的一个功能是寻址网络中的主机。随着网络的增长,网络管理员需要一种方法来管理这些地址。以一个国家为例,如果没有计划所有的地址,你能想象在发送信件时会出现混乱吗?这将是一场噩梦。同样,随着网络的发展,网络管理员需要找到一种定义不同网段的方法。
如果网络中的主机被分成不同的网络组,那么它将更易于管理。这些网络组称为子网。
网络可以分为不同的方式,例如:
目的
地理范围
所有权
为什么要划分网络呢?
随着网络的发展,可能面临的一些常见问题包括:
性能下降
安全问题
地址管理
要解决这些问题,我们需要子网。
将主机划分为不同的子网或网络有助于提高性能。
子网划分可以帮助创建安全边界,因为并非网络中的所有主机都应该相互通信。例如,销售部门中的主机可能需要与财务部门中的主机分开。
互联网使用第3层地址。如果连接到互联网的所有主机都在一个网络上,那么几乎不可能进行通信。因此,当在诸如因特网的大型网络上进行通信时,子网分离并使网络更易于管理。
如何划分网络 - 分层寻址
当我们划分网络时,我们通常使用分层寻址结构。分层地址很重要,因为可以识别每个主机。您可以将其比作使用家谱来追踪亲戚。
分割网络时,分层地址的工作方式与发送信件时可能使用的地址类似。考虑下面的图表。
在此图中,地址结构是分层的,第一级是我们发送到的国家,第二级是城市,第三级是收件人的确切地址。类似地,网络层中的逻辑地址包含网络部分和主机部分。
在邮局,邮递员只需要知道邮件发送到的邮局,这与代码类似。当信件到达邮局时,那里的帖子负责将信件发送给预定的收件人。
第3层地址还具有网络和主机部分。网络中的路由器仅通过查看目标网络在各个单独的网络之间转发数据包。当数据包到达目的地时,路由器必须查看整个地址,以便将数据包传送到预定目的地。
在将大型网络划分为较小的网络时,我们需要创建其他级别或层次的寻址。就像我们上面的邮政示例一样,当我们使用分层寻址方案时,我们可以保留更高级别,例如国家/地区。然后我们可以将国家划分到不同的城市,最后解决最低级别的各种主机或用户。
IPv4地址由两部分组成,即网络和主机部分。地址应该具有两个部分以便通信成功。
IPv4地址由32位组成,我们可以不同地划分这些位以创建更多主机地址或更多网络,但是,在任何一种情况下,地址必须是32位长才能完成地址。
第3层的沟通
当主机想要与不同网络上的主机通信时,必须使用诸如路由器之类的中间设备。路由器充当到其他网络的网关,如下图所示。
从上图中可以看出,2个不同的网络上有两台主机。为了使它们之间的通信成为可能,在它们之间需要中间设备,在这种情况下是路由器。路由器具有主机的默认网关,来自这些主机的流量将通过路由器。路由器的工作是确定数据包的所在位置。
只有路由存在时才能转发数据包。所有第3层设备必须具有逻辑地址才能转发数据包。
在上面的场景中,连接到主机B的网络是来自主机A的远程网络,因此,我们必须具有从主机A到主机B的到该网络的路由。路由器可以基于已静态配置的路由或者路由来转发数据包。动态学习。
注意:我们将在后续章节中讨论路由。
路由器使用其内存中包含的路由表转发数据包,该路由表包含目标网络,度量标准和下一跳设备等信息。