乐趣区

关于tcp-ip:小菜学网络物理层概述

通信模型

假如,计算机网络当初还没有被创造进去,作为计算机科学家的你,想在两台主机间传输数据,该怎么办?

这时,你可能会想到,用一根电缆将两台主机连接起来:

物理课大家都学过,电压能够分为 低电平 高电平。因而,咱们能够通过管制电平高下,来达到传输信息的目标:主机①管制电缆电平的高下,主机②检测电平的高下,主机间数据传输便实现了!

用数学语言进一步形象:以低电平示意 0,高电平示意 1。这样就失去一个理想化的信道:

通过信道,单方能够传输由 0 和 1 组成的比特流,上图中传输的比特流是 1111001011... (从右往左看)。比特流能够编码任意信息,例如:用 1111 通知对方本地开机了,用 0000 通知对方本地筹备关机了。

至此,咱们是否失去一个牢靠的比特流信道,万事具备了呢?——实践上是这样的,但事实世界往往要比理想化的模型更简单一些。

收发管制

信道是无穷无尽的,状态要么为 0,要么为 1,没有一种示意闲暇的非凡状态:

举个例子,主机①向主机②发送比特序列 101101001101,如下图(从右往左读)。最初一个比特是 1,对应的电平是高电平。发送结束后,主机①进行管制电缆电平,所以仍放弃着高电平状态:

换句话讲,信道看起来仍依照既定节奏,源源不断地发送比特 1 (灰色局部),主机②如何检测比特流结尾呢?

咱们能够定义一些非凡的比特序列,用于标识结尾和结尾。例如,101010 示意结尾,010101 示意结尾:

  1. 主机①首先发送 101010 (绿色),通知主机②,它开始发数据了;
  2. 主机①接着发送数据 01101011 (彩色局部);
  3. 主机①最初发送 010101 (红色),通知主机②,数据发送结束;

留神到,平时信道为 1 (灰色),也就是代表闲暇状态。

抵触仲裁

如果两台服务器同时向信道发送数据,会产生什么事件呢?

一边发 0,一边发 1,那信道到底应该是 0 还是 1 呢?必定抵触了嘛!有什么方法能够解决抵触吗?

计划①,引入一根新电缆,组成双电缆构造,每根电缆只负责一个方向的传输。这样一来,两个方向的传输放弃独立,互不烦扰,能够同时进行。这样的传输模式在通信畛域称为 全双工模式

计划②,在硬件层面实现一种仲裁机制:当检测到多台主机同时传输数据时,及时叫停,并协商哪一方先发。这样一来,信道同样反对双向通信,但不可同时进行。这种传输模式则称为 半双工模式

  • 单工 (simplex ),只反对单向通信,即从其中一端发往另一端,反之不行;
  • 半双工 (half duplex ),反对双向通信,但不可同时进行;
  • 全双工 (full duplex ),反对双向通信,而且能够同时进行;

常见物理介质

除了电信号,还有其余物理信号亦可充当通信介质。那么,常见的物理介质都有哪些呢?

  • 电信号,例如电缆,网线就是电缆中的一种;
  • 光信号,例如光纤;
  • 电磁波,例如 WiFi,无线网卡,蓝牙等;

【小菜学网络】系列文章首发于公众号【小菜学编程】,敬请关注:

退出移动版