2.2 IP、域名、App三者之间的关系
首先,我们来介绍IP协议。可能有人会有疑问,不是已经介绍过了IP了么。不,前面介绍的是IP地址。
按照OSI(Open System Interconnection,开放系统互连参考模型,又称为网络七层协议)模型的层次来划分,IP(Internet Protocol,网际协议)位于网络层。IP这个名称听起来可能有点夸张,但事实上几乎所有需要用到网络的系统,都会用到IP。
IP是一个协议簇的总称,其本身并不是任何协议。它一般有文件传输协议(FTP)、电子邮件协议(SMTP、POP3、IMAP4等)、超文本传输协议(HTTP)等。互联网最基础的协议为TCP/IP协议簇,IP在协议中占据了一半的位置,其重要性可见一斑。
IP协议的作用,是把各种数据包传输给对方。而要确保传送到对方那里,就需要满足各种各样的条件。其中最重要的两个条件,一个是IP地址(普通人认知中的IP),另一个是MAC地址(Media Access Control Address,媒体访问控制地址,又称为物理地址、硬件地址,用来定义网络设备的位置)。
IP地址指明了网络结点被分配到的地址,MAC地址则是指网卡所属的固定地址。IP地址可以和MAC地址进行一对一配对。IP地址可随时更换,但是MAC地址基本上不会改变(事实上,MAC地址也可以通过技术手段进行修改)。
既然我们说到了IP,那么就不得不说TCP/IP协议簇了。因为我们通常使用的网络(包括互联网)都是在TCP/IP协议簇的基础上运作的。
TCP/IP协议簇里最重要的一点就是分层。按照层次从下到上、从里到外可以分为以下四层:链路层、网络层、传输层和应用层。前面说到的OSI模型则是七层,把它按照层次从下到上、从里到外可以分为以下七层:物理层、链路层、网络层、传输层、会话层、表示层和应用层。
按照OSI模型划分的七层,其各层的作用如下。
(1)物理层
这层的规范是有关传输介质的,这些规范通常也参考了其他组织制定的标准。连接头、帧、帧的使用、电流、编码及光调制等都属于各种物理层规范中的内容。物理层常用多个规范(如RJ45、IEEE 802.1A、IEEE 802.2到IEEE 802.11等)完成对所有细节的定义。
(2)链路层
它定义了在单个链路上如何传输数据。这些协议(如ATM、FDDI、Ethernet、Arpanet、PDN、SLP、PPP等)与被讨论的各种介质有关。
(3)网络层
这层对端到端的包传输进行定义,它定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法,例如IP、IPX、ICMP、ARP、RARP、AKP、UUCP等。
(4)传输层
这层的功能包括是选择差错恢复协议还是无差错恢复协议,(如TCP、UDP、SPX等)以及在同一主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能。
(5)会话层
它定义了如何开始、控制和结束一个会话,包括对多个双向消息的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的,在某些情况下,如果表示层收到了所有的数据,则用数据代表表示层。
(6)表示层
这一层的主要功能是定义数据格式及加密。例如,FTP允许用户选择以二进制或ASCII格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容;如果选择ASCII格式,发送方将把文本从发送方的字符集转换成标准的ASCII发送数据,在接收方将标准的ASCII转换成接收方计算机的字符集。
(7)应用层
与其他计算机进行通信的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信功能的字处理程序不能执行通信的代码,从事字处理工作的程序员也就不用关心OSI的第7层。但是,如果添加了一个传输文件的选项,那么字处理器的程序员就需要实现OSI的第7层。
接下来,简单说明一下IP、域名、App三者之间的关系。普通人头脑中的IP,基本上是指IP地址,IP地址属于IP的一部分,而IP又可以划分到OSI模型的网络层;域名属于DNS域名解析系统中的一环,是IP地址的面具,为DNS中可见的一部分;大部分的App都有联网功能,但也有不少没有联网功能的App。最简单的App,应该是用交互原型设计软件(如Axure)做出来的,它可能什么实质内容都没有,只能作为演示的用途存在。这样的App,似乎并不符合OSI模型的七层中的任何一层。但是,不管怎样,它们至少都有相同的一点——用户与App可以进行交互。
为此,我们把App等作为新的一层,加到原先的OSI七层模型中靠近用户的一层,并把这层命名为——交互层,因此产生了一个新的有八个层次的OSI模型,如图2-1所示。这种做法,可能并不严谨,但不管怎样,它是比较直观和易于理解的。
图2-1 新开放系统互连参考模型