我们的数据帧究竟是怎么传给不同的主机呢。前面我们了解到每一个上层都依赖于下层的API,而物理层是最底层的了,它是真的要把数据传出去了。而数据最终都会变为0和1,物理层依赖于各种不同硬件技术,通过网络的电子传输技术,把0和1在传输介质中进行传输。
1、通信系统的模型
下我我们举一个最简单的例子来说明通信系统的模型[1]。
很久以前,有些同学家里都是用的电话线进行上网的,这种网络传输模型类似如下这样:
如上图,主要包括源系统,传输系统,目的系统,可以抽象为下半部分的模型:
- 源点:源点产生要传输的数据;
- 发送器:源点产生的数据经过发送器编码之后进行传输;
- 传输系统:传输系统可能是简单的传输线,也可能是复杂的网络系统;
- 接收器:接收传输系统的信号,转换为能够被目的设备处理的信息;
- 终点:从接收器获取传送过来的数字比特流,最终输出信息。
2、物理层解决什么
传输媒介的种类非常多:双绞线、对称电缆、同轴电缆、光缆、无线信道等,导致物理层的协议种类较多。
物理层的主要作用是屏蔽掉这些传输媒介和通信手段的差异,使物理层上面的数据链路层感觉不到这些差异。为此,物理层需要处理以下事情:
- 规定接口所用接线器的形状和尺寸,引脚数目和排列,固定和锁定装置等;
- 规定接口电缆各条线上的电压范围;
- 规定某一电平电压的意义;
- 规定不同功能的各种可能事件出现顺序。
3、物理层也出面试题?
最后我列几个物理层常见的面试题,一般的开发人员都是工作在传输层以上,所以考一些TCP,UDP,HTTP,HTTPS等协议我觉得更贴近开发人员真实的工作场景。当然,如果是通信领域的工程师,物理层都是家常便饭,这些可是通信的基础知识。即使知识应用开发工程师,了解这些也不会吃亏,说不定哪天亲戚还需要叫你帮忙拉网线呢。
下面是几个常见的物理层面试题:
有哪些通信交互方式?单工、半双工通信、全双工通信?
单工通信,又称为单向通信,只有一个方向的通信,如无线电广播,电视广播;
半双工通信,又称为双向交替通信,双方都可以收发信息,只能交替进行;
全双工通信,又称为双向同时通信,双方可以同时发送和接收数据。
为了提高信道利用率,有哪些信道复用技术?
所谓信道复用技术,指的是大家共享一个信道进行通信,在接收端在使用分用器,把合起来传输的信息分别送到相应的终点;
频分复用
用户在分配到一定的频带后,通信过程中使用都占用这个频带;
时分复用
将时间划分为一段段等长时分复用帧,每一个时分复用的用户周期性的占用帧位;
统计时分复用
时分复用,如果用户没有任何数据要传输,也会周期性的给他分配时隙,这就导致了信道利用率不高。
为此出现了统计时分复用。
统计时分复用使用STDM帧来传送复用的数据,把所有用户数据按时间顺序组成STDM帧,放入一个队列中,依次发送出去,这样就能够更合理的共享信道。STDM帧中的数据需要添加用户地址首部信息,以便能够正确的分发给目标用户:
这里的集中器也叫智能复用器。
除了以上三种,还有波分复用和码分复用,感兴趣的朋友可以自行搜寻资料了解,这里就不继续展开来讲了。
物理层要解决什么问题?
这个问题上一小节已经回答了。
4、物理层设备之集线器
如果我们只是想用几台电脑搭建一个局域网,那么可以通过集线器(Hub)进行搭建,这个硬件工作在物理层,会把自己收到的字节都复制到其他端口,如下图:
如上图,其中一台电脑发送信息之后,Hub以广播的方式发给其他三台机器,但是究竟哪台电脑才会把消息接收下来呢?这里我们就要讲到数据链路层了,在这一层判断数据包是不是自己的。
References
谢希仁. 计算机网络(第6版). 电子工业出版社. P39 ↩︎