网络协议之OSI七层协议简介
市面上有四层,五层协议,七层协议等。其中七层协议模型的缩写是OSI,即Open System Interconnection(开放式系统互联模型)。OSI模型有7层结构,每层都可以有几个子层。 OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层;其中高层(即7、6、5、4层)定义了应用程序的功能,下面3层(即3、2、1层)主要面向通过网络的端到端,点到点的数据流。
OSI七层协议
第一层 物理层
物理层的媒体包括架空明线、平衡电缆、光纤、无线信道等。主要作用是将数据以bit流形式从机器A传输到机器B,即二进制的0101数据,将它们转换为电流强弱来进行传输,到达目的机器B后,再将0101转换为机器码,这个过程就是数模转换和模数转换。物理层制定了相关传输介质的规范:比如连接头、帧、帧的使用、电流、编码及光调制等都属于各种物理层规范中的内容。
第二层 数据链路层
定义了如何让格式化数据进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。
第三层 网络层
这层对端到端的包传输进行定义,它定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法。路由器就属于网络层。网络层需要关注的协议是IP协议。
第四层 传输层
传输层是解决了打包的问题。但是如果我有多台计算机,怎么能找到我要发的那台?或者A要给F发信息,中间要经过B/C/D/E,但是中间还有好多节点,如K/J/Z/Y.我怎么选择最佳路径?这就是路由要做的事情。
于是,发明了网络层,也就是路由器,交换那些具有寻址功能的设备所实现的功能。这一层定义的是IP复制,通过IP地址寻址,所以产生了协议。传输层需要关注的协议有TCP协议和UDP协议。
第五层 会话层
用于不同机器上用户之间建立健全及管理会话。
它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。
第六层 表示层
这一层主要解决用户信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。即提供格式化的表示和转换数据服务。
比如:用Linux给window发包,两个系统语法不一致,就像安装包一样,EXE不能在Linux下用,shell在window也也是不能直接运行的。另外,数据的压缩和解压缩,加密和解密等工作都由表示层负责。
第七层 应用层
应用层由来:用户使用的都是应用程序,均工作于应用层,互联网是开发的,大家都可以开发自己的应用程序,数据多种多样,必须规定好数据的组织形式。
应用层功能:规定应用程序的数据格式。
例:TCP协议可以为各种各样的程序传递数据,比如Email、WWW、FTP等等。那么,必须有不同协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了“应用层”。
应用层规定应用程序的发送方和接收方必须使用固定长度的消息头,消息头必须使用某种固定的组成,而且消息头里必须记录消息体的长度等一系列信息,以便接收方能够正确解析发送方发送的数据。该层需要注意的是HTTP协议。