OSI参考模型:之所以设计这个模型是为了开放系统互联,促进网络标准化,使得网络可以轻松的实现互联互通互操作。是整个网络构建的基石,是学习网络其他知识的基础。它是一种概念的理论上的描述,以后学习到网络设备会对OSI模型有更深的了解。
第七层 | 应用层 | Application | 用户的具体的应用、具体的服务、具体的功能 |
第六层 | 表示层 | Presentation | 数据的表达、数据格式的转换 |
第五层 | 会话层 | Session | 会话的控制 |
第四层 | 传输层 | Transport | 网间的两点间提供传输的实体,保证端到端的传输 |
第三层 | 网络层 | Network | 网间两点间的可达性 |
第二层 | 数据链路层 | DataLink | 负责网络内部帧的传输 |
第一层 | 物理层 | physical | 负责链路方面比特流的传输 |
当用户进行数据传输的时候,数据信息要顺次的经过这七层的处理,就变成在链路上传输的比特流,这就是OSI网络的工作模式。
那么为什么要这样做、这样做的优势在哪里呢?
分层结构的优势:
1、各层间相互独立,某一层的变化不会影响到其他的层——这些变化包括协议、产品、设备、采用公共的开放的接口,保证接口不变,这样撤换掉一层的设备、软件、协议不会影响到其他的层的正常工作。
2、促进标准化工作
3、使网络易于实现和维护——因为网络中的每一项功能都被分到网络中不同的层去实现,哪一个功能出了问题肯定就是在哪个层次中的设备或软件中出的问题。
4、实现互联、互通、互操作。
分层结构的工作原理
纵向通信 在分层结构中,低层功能为高层功能提供服务,高层功能使用低层功能提供的服务。在纵向上,网络层次之间是调用和被调用或者说服务与被服务的关系。
横向通信 有所谓对等层的概念,在分层结构中,对应的分层协同工作,以保证能够完成通讯,以IP为例,在一台机器的协议栈上,网络这个层次安装的是IP协议,只有另一台机器协议栈网络层也是安装了IP协议,那么这两台机器在网络层上面才能进行横向的通讯。这两台机器的网络层才能使互联互通的。这是一种横向的对等层的通讯。
所以在分层结构中,有纵向的服务与被服务的关系,也有横向的对等层的关系。
物理层:
通过物理链路传输比特流,Bit stream指的bit是流过物理层的设备,比特流的一个显著的含义是它不支持格式或者结构,物理层并不需要关心在它传输的比特流里面的每一个比特代表的是什么,代表的是网络地址还是用户邮件它都不需要知道。它只需要把这个比特从链路的一端传输到链路的另一端,物理层的工作就完成了。不同的链路需要某个物理层设备去进行连接或者说去进行中继,在这里我们经常遇到的设备有两个,中继器repeater和集线器hub,他们共同的特点是提供信号的接续、整形、放大、进一步传输,也就是说他不是对数据进行处理,而是对数据信号进行处理,他能够对信号进行中继、整形、放大、和更远距离的传输。中继器和集线器并不需要了解信号所代表的具体的含义,因为他们是在物理层的。
数据链路层
在网络内部传输帧(Frame)。这里面其实有两个概念需要强调,第一、什么叫网络内部呢,一个网里面就是网络内部,比如说一个以太网就是一个网,网络内部用什么传输方式来传输呢,就用以太来传输,那么以太是一种数据链路层技术;一个帧中继网这是一个网和网络内部,在网络内部用什么技术来传输呢,用帧中继frame relay来进行数据传输,那么帧中继frame relay就是一种数据链路层技术,这是第一个意思,它负责的是一个网内部的数据传输。传输帧,帧frame 这是一种数据结构,它有帧头、帧尾,在帧头里有地址信息,控制信息;在帧尾里面有校验信息;帧的中间是数据。数据链路层所传输的数据是有格式的,这个格式就叫做帧。
硬件地址或物理地址(MAC地址)用于链路层的寻址,硬件地址物理地址由它在局域网上在以太网里面我们经常把它叫做网卡地址,这个地址是标识着当前的系统、当前的机器、当前的网络接口,这是一种链路层地址。比如说在以太网里面每一片网卡都有唯一的以太地址,这种地址本身就叫做硬件地址或者物理地址,以太网里面所谓寻址寻找的就是这样的硬件地址或者物理地址
两个子层,下面的子层叫做介质访问控制(MAC media access control)负责控制多台计算机怎么样共享一个公共的介质,上面的子层叫做逻辑链路控制(LLC logical link control)负责高一些层次的链路控制包括校验、成帧等等。
所以说数据链路层的功能分为两个部分:下半层叫做MAC上半层叫做LLC。
数据链路层的链接设备:网桥和交换机。这个设备是有些只能的,有些交换机通过识别设备的链路层地址去决定数据如何转发,网桥和交换机比物理层的中继器和集线器要只能,但是它所处理的数据结构是帧,它说查询的地址是MAC地址,所以说网桥和交换机是数据链路层的设备。
网络层:
数据链路层的典型特点是网内的数据传输,而第三层网络层是网间的数据传输。所以网络层所负责的是网与网之间的数据传输,换句话说它不是解决如何找到一个主机的问题,而是需要解决如何找到一个网络的问题,这是一个更宏观的概念。首先我们要找到一个网络,再找到网络内部的一个主机。网络层就是解决找到目标网络的问题。网络层的数据结构叫做数据包(Packet),经常我们说IP包叫网络传送,因为IP是一种网络层的协议,所以按照IP协议所组成的数据结构或者说是数据单位是网络层的数据结构packet,网络层可以进行数据包的传输、分割、重组。在网络层还有可能有差错校验恢复机制,可能的数据流量控制,这些根据不同的协议实现也可能不同。在网络层的链接设备是路由器(网间的路径选择和数据转发)
传输层:
保证一个端到端的传输,保证一个传输实体,在传输层上数据结构叫做数据段(Segment)。在传输层支持两种数据类型,一个叫做面向链接的(Connection—oriented),一个是无连接的(Connectionless)。 传输层有一种特殊的寻址方式去表示特定的应用程序,这也就是所谓的端口号Port,我们可以把它理解成应用程序的物理标识。
会话层、表示层、应用层,很多时候使用软件来实现的,他们的层次结构有些时候不是非常的清晰。会话层是建立管理和终止会员,表示层是数据的格式和表达、数据格式的转化比如加密解密、压缩解压缩等等,应用层里面有一些具体的应用协议,比如web的Http协议,文件传输的Ftp协议,远程登录的telnet协议等等实现具体的应用功能的协议都属于应用层。