一、不同层次的协议概要
计算机之间的通信遵循不同层次的协议来实现通信
1 物理层:
1.1 两种物理信号来分别表示0和1,比如用高电压表示1,低电压表示0,就构成了简单的物理层协议,电脑有相应的借口接收物理信号,并解读为0/1序列。
2 连接层:
2.1 在连接层,信息以帧(frame)为单位传输。所谓的帧,是一段有限的0/1序列。连接层协议的功能就是识别0/1序列中所包含的帧。比如根据一定的0/1组合识别出帧的起始和结束。
2.2 常见的连接层协议:以太网和WiFi等。
2.3 通过连接层协议,可以建立局域的以太网或者WiFi局域网,并让位于同一局域网络中的两台计算机通信。
3 网络层:
3.1 不同的社区之间该如何通信呢?如何让WiFi上的一台计算机和以太网上的另一台计算机通信呢?我们需要一个有以下功能的“中间人” 1. 能从物理层上在两个网络的接收和发送0/1序列,2. 能同时理解两种网络的帧格式。路由器(router)就是为此而产生的“翻译”。一个路由器有多个网卡(NIC,Network Interface Controller),每个NIC可以接入多个网络,并理解相应的连接层协议。在帧经过路由到达另一个网络的时候,路由会读取帧的信息,并改写以发送到另一个网络。
3.2 通信过程如下: WiFi上的计算机1 -> 路由WiFi接口 -> 路由以太网接口 -> 以太网上的计算机2。
3.3 常见的网络层协议:IP协议。
3.4 路由将分离的局域网络连接成了internet,并最终构成了覆盖全球的互联网。
4 传输层:
4.1 上面的三层协议做到了不同的计算机间通信,但是计算机中有多个进程,每个进程都可能有通信的需求。传输层协议识别端口号以识别进程。
4.2 常见的传输层协议:UDP、TCP等。
5 应用层:
5.1 通过上面的协议可以在任意两个进程间进行通信,应用层协议是对数据进一步的用语规范。
5.2 常见的应用层协议:用于Web浏览的HTTP协议,用于传输文件的FTP协议,用于Email的IMAP等等。
6 总结:
整个过程是可读信息 -> 二进制 -> 可读信息。计算机只能理解和传输0/1序列,而计算机的用户则总是输入和输出可读信息。网络协议保证了可读信息在整个转换和传输过程中的完整性。