前文中我们简单的说明了一下什么是网络协议,也顺势提到了因为信号传递的转换配合,不同的介质和过程中需要使用不同的协议,对信号进行逐步的处理,今天我们对网络协议的具体分类进行了解。
目前主流的网络协议应该有三种分类:OSI七层模型,TCP/IP四层模型,五层体系结构。
- OSI七层模型:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)
- TCP/IP四层模型:应用层、运输层、网际层和网络接口层。从实质上讲,只有上边三层,网络接口层没有什么具体的内容
- 五层体系结构:应用层、运输层、网络层、数据链路层和物理层。五层协议是OSI和TCP/IP的综合,实际应用还是TCP/IP的四层结构,为了方便可以把下两层称为网络接口层。
我们今天主要讲解的是五层模型,它是一个综合的模型其他的两种也会涉及到。
物理层
在这里需要解释的是什么是物理?所谓的物理是从硬件上来进行考虑的,计算机和计算机之间进行沟通,需要通过物理介质,光纤,电缆或者电磁波,这些都是真实存在的物理媒介。我们通过这些媒介可以传递信息的物理信号,亮度、电压或者振幅。我们都应该知道数字通信中传递的实际上都是电压信号,通过电压这种物理信号来传递二进制的0和1,高电压代表1,低电压代表0。
这就是物理层。
而物理层协议简单可以认为分为两个部分:
- 使用电压代表1,低电压代表0传递信息
- 设备需要有相应的接口,用来接收物理信号,并解读成为0/1序列
连接层(数据链路层)
物理层解决的了电压信号向数字信号的传递和信号识别问题,那么另一个问题来了,经过物理层协议的处理得到的是一串二进制的信号,要怎么来处理这些信号呢?如果不做一定的协议约定,那么单纯的二进制0和1是没有任何意义的,所以我们必须规定对信号的解读方式,这就是数据链路层协议的内容,例如多少个电信号算一组?每个信号位有何意义?等。
所以我们总结一下数据链路层的核心功能:确定了0和1数字信号的分组方式。
在连接层,信息以帧(frame)为单位传输。所谓的帧,是一段有限的0/1序列。连接层协议的功能就是识别0/1序列中所包含的帧。比如说,根据一定的0/1组合识别出帧的起始和结束。在帧中,有收信地址(Source, SRC)和送信地址(Destination, DST),还有能够探测错误的校验序列(Frame Check Sequence)。当然,帧中最重要的最重要是所要传输的数据 (payload)。这些数据往往符合更高层协议,供网络的上层使用。与数据相配套,帧中也有数据的类型(Type)信息。连接层协议不关心数据中到底包含什么。帧就像是一个信封,把数据包裹起来。
以太网(Ethernet)和WiFi是现在最常见的连接层协议。通过连接层协议,我们可以建立局域的以太网或者WiFi局域网,并让位于同一局域网络中的两台计算机通信。连接层就像是一个社区的邮差,他认识社区中的每一户人。社区中的每个人都可以将一封信(帧)交给他,让他送给同一社区的另一户人家。
我不能保证每一个地方都是对的,但是可以保证每一句话,每一行代码都是经过推敲和斟酌的。希望每一篇文章背后都是自己追求纯粹技术人生的态度。
永远相信美好的事情即将发生。