学习linux的人,都会接触到一些网络方面的知识。作为一个linux方面的萌新,今天,小编就接触了OSI模型和TCP/IP协议栈,那么什么是OSI模型呢?
OSI模型,开放式系统互联通信参考模型,由国际标准化组织(ISO)提出,一个试图使各种计算机在世界范围内互连为网络的标准框架。
通过OSI网络模型分层,网络协议设计师们可以达到这样的效果:
•降低复杂性
•标准化接口
•简化模块化
•设计确保技术的互操作性
•加快发展速度
OSI模型将计算机网络体系结构划分为以下七层:
OSI模型具体每一层的结构和作用是:
第一层:物理层
二进制传输,为启动、维护以及关闭物理链路定义了电气规范、机械规范、过程规范和功能规范。
第二层:数据链路层
访问介质,定义如何格式化数据以便进行传输以及如何控制对网络的访问,支持错误检测。
第三层:网络层
数据传输,选择传递数据的最佳路径,支持逻辑寻址和路径选择。
第四层:传输层
传输问题,确保数据传输的可靠性,建立维护和终止虚拟电路,通过错误检测和恢复,信息流控制来保障可靠性。
第五层:会话层
主机间通信,建立、管理和终止在应用程序之间的会话。
第六层:表示层
数据表示,确保接受系统可以读出该数据,格式化数据,构建数据,协商用于应用层的数据传输语法,提供加密。
第七层:应用层
网络进程访问应用层,为应用程序进程提供网络服务,提供用户身份验证。
什么是TCP/IP协议栈呢?
TCP/IP是一个网络通信模型,以及一整个网络传输协议家族,常被通称为TCP/IP协议族,它将软件通信过程抽象化为四个分层,类似计算机科学中的堆栈,协议套组下的各种协议,依其功能不同,被分别归属到这四个层次结构之中,和OSI模型有以下的对应关系:
它的结构和每一层的作用分别是:
第一层:网络接口(访问)层
包括用于协作IP数据在已有网络介质上传输的协议,提供TCP/IP协议的数据结构和实际物理硬件之间的接口。
第二层:网间(Internet)层
对应于OSI七层参考模型的网络层,负责数据的包装、寻址和路由。
第三层:传输层
对应于OSI七层参考模型的传输层,它提供两种端到端的通信服务。
第四层:应用层
对应于OSI七层参考模型的应用层和表达层,包括http、ftp、dns等。