新手向,以入门为主,建立对物理层的直观理解
网络就是一组互相连接的通信设备。如何实现网络可以让两台计算机传达消息。
协议:决定两个人或两台设备交流信息都要遵守的一个规则。
我们可以通过制定自己的协议来尝试构建网络。
物理层:帮助发送信息的组件
Lan比特传输协议0.1(Lan Bits transfer protocol 0.1,LBTP 0.1)
两台电脑之间连接一根电线,一台电脑通电,另一台电脑可以接收到这个电信号。有电压代表1,无电压代表0.如果不改变电压,大约0.5秒代表一个信号结束(这样才可以传递连续的1或0)。由硬件保证一方在发送消息时,另一方会等待。等到一方发送完成的时候,另一方才可以继续发送消息。
此时A想向B发送信息123
A:1 2 3
A的物理层收到A的消息并将消息转化为二进制电信号:1 1 0 1 1
~~电线可以传输二进制电信号~~
B的物理层接收到A的消息(一脸疑惑)但还是尝试发给B:0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0
B:???
额,好像B不知道消息什么时候开始的,也不知道该怎么断句。。也不知道什么时候结束。。
Lan字节传输协议1.0(Lan Bytes transfer protocol 1.0,LBTP 1.0)
每8位代表一个信息单元(就是字节!)。
加上代表开始的特殊字节,和代表结束的特殊字节。为了可以让结束字节作为内容的话,设定一个特殊字节为转义字节。转义字节后的字节均为普通内容字节。
转移机制:比如图中的结束字符是01001000,刚好对应数字72,如果想发72就会被误认为结束。所以使用转义机制,发送72之前需要先发转义字节,跟随转移字节的下一个字节就不会是字节。想发送转移字节对应的数字,就发送两个转移字节就可以。(类比c语言的转义字符/)
A:1 2 3
A的物理层接收到A的消息并将消息包装好发送出去:10110111 00000001 00000010 00000011 01001000
~~电线可以传输二进制电信号~~
B的物理层收到消息并将消息解析出来:00000001 00000010 00000011
B:1 2 3
成功,两台电脑已经可以发送消息,如果可以将汉字或英语编码为数字,都可以通过LBTP1.0协议发送出去,这是一个大的突破!
多台电脑的情况
利用LBTP1.0协议,A和B这两个小伙伴快乐的交流起来。此时C,D,F等等小伙伴也想加入这个网络。
于是每两个人为了传递信息,都连接起来。大家都觉得很费电线。
一个聪明的小伙伴F把自己卖了,买了一台叫 集线器 的设备。
这下大家也可以交流,并且一个人发送的消息,所有人都能收到呢。
但有时候A想仅仅发送给B消息,不想让其他人收到,该怎么办?
下一节,《如何直观理解链路层?》将会讲解如何解决这个问题!!
物理层:利用传输介质为数据链路层提供物理连接,实现节点间比特流的透明传输.传输介质可能是双绞线(普通网线),电话线,光纤,空气(wifi)等.
新手理解物理层:物理层=物理层协议+协议适用的传输介质
本节涉及到的网络设备:
集线器(Hub)
内部构造简单,只是将所有网线接到一起,充当共用导线的功能
某个端口发出的电信号,将传送到所有其他端口。
优点:
放大中继物理电信号
延申网络访问距离
扩展终端数量
缺点:
所有计算机(端口)共享带宽
所有计算机使用同一信道(冲突域),一个人发送其他人只能等待。
集线器工作于物理层。
下一节:如何直观理解链路层?