上回,主要介绍了下协议和OSI参考模型,并简单了解下网络构成要素,这回该说说TCP/IP了
互联网与TCP/IP的关系
互联网进行通信时,需要相应的网络协议,TCP/IP原本就是为使用互联网而开发定制的协议族。因此,互联网的协议就是TCP/IP,TCP/IP就是互联网的协议。
知道了解TCP/IP的重要性了吧,那就好好看看吧
TCP/IP的诞生
TCP/IP的标准化
20世纪90年代,ISO开展了OSI这一国际标准协议的标准化进程。然而OSI协议并没有得到普及,真正被广泛使用的是TCP/IP协议。
那么为什么OSI失败了呢?
那TCP/IP好在哪儿呢?
- 开放性
- 注重实用性
由于TCP/IP尽早地制定了可行性较强的协议,提出了应对技术快速革新的协议,并及时进行后期改良的方案,因此打败了OSI模型,成为了事实上的标准。
TCP/IP协议分层模型
上图列出了TCP/IP与OSI分层之间的大概关系,不难看出,TCP/IP与OSI在分层模块上稍有区别。OSI参考模型注重“通信协议必要的功能是什么”,而TCP/IP则更强调“在计算机上实现协议应该开发哪种程序”。
在 TCP/IP 模型中,网络访问层是 TCP/IP 模型的最低层,负责接收从网际层交来的 IP 数据报并将 IP 数据报通过底层物理网络发送出去,或者从底层物理网络上接收物理帧,抽出 IP 数据报,交给互联网层。网络访问层使采用不同技术和网络硬件的网络之间能够互联, 它包括属于操作系统的设备驱动器和计算机网络接口卡,以处理具体的硬件物理接口。
网际层负责独立地将分组从源主机送往目标主机,涉及为分组提供最佳路径的选择和 交换功能,并使这一过程与它们所经过的路径和网络无关。这好比你寄信时,你并不需要知道它是如何到达目的地的,而只关心它是否到达了。TCP/IP 模型的互联网层在功能上非常类似于 OSI 参考模型中的网络层。
传输层的作用与 OSI 参考模型中传输层的作用是类似的,即在源结点和目的结点的两个对等实体间提供可靠的端到端的数据通信。为保证数据传输的可靠性,传输层协议也提供了确认、差错控制和流量控制等机制。另外,由在一般的计算机中,常常是多个应用程序同时访问网络,所以传输层还要提供不同应用程序的标识。
应用层涉及为用户提供网络应用,并为这些应用提供网络支撑服务。由于 TCP/IP 将所有与应用相关的内容都有归为一层,所以在应用层要处理高层协议、数据表达和对话控制等任务。
OSI 模型和 TCP/IP 模型的区别
OSI 模型包括了七层,而 TCP/IP 模型只有四层。虽然它们具有功能相当的网络层、传输层和应用层,但其它层并不相同。
TCP/IP 模型中没有专门的表示层和会话层,它将与这两层相关的表达、编码和会话控制等功能包含到了应用层中去完成。另外,TCP/IP 模型还将 OSI 的数据链路层和物理层包括到了一个网络访问层中。
OSI 模型在网络层支持无连接和面向连接的两种服务,而在传输层仅支持面向连接的服 务。TCP/IP 模型在互联网层则只支持无连接的一种服务,但在传输层支持面向连接和无连 接两种服务。
TCP/IP 由于有较少的层次,因而显得更简单,并且作为从因特网(INTERNET)上发展起来的协议,已经成了网络互连的事实标准。但是,目前还没有实际网络是建立在 OSI 七层模型基础上的,OSI 仅仅作为理论的参考模型被广泛使用。
TCP/IP 通信示例
数据包首部
每个分层中,都会对所发送的数据附加一个首部,在这个首部中包含了该层必要的信息,如发送的目标地址以及协议相关信息。通常,为协议提供的信息为包首部,所要发送的内容为数据。
现在再来看看主机A向主机B发送一封电子邮件,在TCP/IP模型下的处理过程: