传输层:
OSI 参考模型协议栈的第四层也是“中间”层是传输层。我认为传输层在某些方面是 OSI 模型中下层和上层“组”的一部分。它更多地与较低层相关联,因为它涉及数据的传输,但它的功能也有些高级,导致该层与第 5 层到第 7 层有相当多的共同点。
回想一下,第 1、2 和 3 层与数据的实际打包、寻址、路由和传递有关;物理层处理比特;数据链路层处理本地网络,网络层处理网络之间的路由。相比之下,传输层具有足够的概念性,它不再关心这些“具体细节”问题。它依赖于较低层来处理设备之间移动数据的过程。
传输层实际上充当了高层应用程序的抽象世界与一到三层的具体功能之间的某种“联络”。由于这个角色,传输层的总体工作是提供必要的功能,以实现不同计算机上的软件应用程序进程之间的通信。这包括许多不同但相关的职责
现代计算机是多任务处理的,并且在任何给定时间可能有许多不同的软件应用程序都试图发送和接收数据。传输层负责提供一种方法,使这些应用程序都可以使用相同的低层协议实现来发送和接收数据。因此,传输层有时被称为负责端到端或主机到主机的传输(实际上,TCP/IP 模型中的等效层称为“主机到主机传输层”) .
网络层:
OSI 参考模型的第三低层是网络层。如果数据链路层基本上定义了被认为是网络的边界,那么网络层就是定义互联网络(互连网络)如何运作的层。网络层是 OSI 模型中最低的一层,它关注的是从一台计算机实际获取数据到另一台计算机,即使它位于远程网络上;相反,数据链路层只处理彼此本地的设备。
虽然 OSI 参考模型中的所有第 2 层到第 6 层都充当了它们下面的层和它们上面的层之间的“栅栏”,但网络层在这方面尤为重要。正是在这一层,真正开始了从更高层的更抽象的功能(与数据传递无关)到将数据传输到目的地所需的特定任务的转变。传输层以多种方式与网络层相关,随着您在 OSI 协议栈上的提升,它会继续这种“抽象转换”。网络层功能
网络层通常执行的一些特定工作包括:
逻辑寻址:通过网络进行通信的每个设备都有一个与之相关的逻辑地址,有时称为第三层地址。例如,在 Internet 上,Internet 协议 (IP) 是网络层协议,每台机器都有一个 IP 地址。请注意,寻址也是在数据链路层完成的,但这些地址指的是本地物理设备。相反,逻辑地址独立于特定硬件,并且在整个互联网中必须是唯一的。
路由:在一系列互连网络中移动数据可能是网络层的定义功能。在网络层运行的设备和软件例程的工作是处理来自各种来源的传入数据包,确定它们的最终目的地,然后确定它们需要被发送到哪里才能将它们送到应该去的地方。我在关于间接设备连接的主题中更完整地讨论了 OSI 模型中的路由,并通过 OSI 模型类比来展示它是如何工作的。
数据报封装:网络层通常封装从更高层接收到的消息,方法是将它们放入带有网络层标头的数据报(也称为数据包)中。
分片和重组:网络层必须将消息向下发送到数据链路层进行传输。一些数据链路层技术对可以发送的任何消息的长度都有限制。如果网络层要发送的数据包太大,网络层必须将数据包拆分,将每个部分发送到数据链路层,然后在到达目标机器上的网络层后重新组合。一个很好的例子是互联网协议是如何做到这一点的。
错误处理和诊断:在网络层使用特殊协议,允许逻辑连接或尝试路由流量的设备交换有关网络上主机或设备本身状态的信息。