好的,在开始讲OSI参考模型之前呢,先给大家理清什么是OSI,什么是ISO,什么是ISO,这三个字母巧妙组合很容易混交起来。
      OSI 开放系统互连(Open Systems Interconnection)是帮助理解信息是如何在网络设备之间传递的。
      ISO 国际标准化组织(International Organization for Standardization)在1984年开发了开放系统互联(OSI)参考模型。
      IOS 互联网操作系统(Internetwork Operation System)是思科的交换机和路由器上的操作系统。
      然后我们来介绍一下为什么要开发OSI参考模型以及OSI提供给我们的便利。
     OSI提供了的优势是模块化设计,互操作性,简单和培训的目的。 PC就是模块化设计的实际例子,自己组装过PC机的一定知道,在购买PC的时候,一般不会对着老板说道:老板,来一台PC,老板肯定当你是冲头,而是分别购买自己看中的内存,CPU,主板,显卡,以太网卡,CD-ROM,机箱等。如果一个组件坏了,很容易判断哪个组件出了故障并更换那个组件。同样,当有新款的CD-ROM驱动器时,也不必为了使用新的设备而扔掉现有的PC机,只需要单独更换CD-ROM就可以了。而且你机箱里所以组件应该不会是同一个厂家生产的吧,但是它们照样可以互操作。OSI参考模型为网络应用了相同的思考过程,厂商可以针对一个目的设计某个层中具体应用程序或硬件,同时不会影响整个网络协议栈的运行。
       OSI参考模型一共有七层,从上往下分别是:应用层,表示层,会话层,传输层,网络层,数据链路层和物理层。对于我们应用角度来讲,我们常常认为是逻辑间的通讯。在家如果你和女朋友在聊QQ,你发一个我爱你过去她那里是不是也能从QQ里收到一样的话,这个时候你肯定是认为两个人都用QQ在进行聊天的,你在什么时候感觉到或者你想到过我这个QQ的东西是逐渐传到网线然后从网线传到对端的,你有这么复杂,这么折腾的想过么,所以逻辑上他们是通过对等层次的应用
       然后我们来讲各种层次的功能,首先是
       应用层:
       应用层是提供应用程序间通讯,各种各样的应用,比如QQ,msn,email等,对软件提供接口和网络服务。
 
       表示层:
       是用来处理数据格式的,它有数据格式的转换,数据压缩,数据加密的功能,你在网络上抓QQ的包看不到其中的内容就是因为这一层给它加密了,然后到对端再给它解密对方就能看见了。
       
        会话层:
        会话层允许不同计算机之间建立会话关系,会话层确保从一个连接接受数据并转发到正确的本地应用程序,但是这个过程的实际技术细节是在传输层实现的,就像你用QQ发过去的我爱你不会从她的MSN里接收到。如果下载一个东西到99%突然断掉了你最想干什么事情?不要急,有断点下载,断点下载就是在会话层提供的,操作原理是在数据中加入同步点,每次网络故障后只要重传最后一个同步点以后的数据就可以了。
  
        传输层:
        提供了可靠和不可靠的数据传输,并且可以多路复用,将数据包分为更小的,更易管理的多个部分,就像你用QQ在一个时间段不一定只能和女朋友一个人聊,还能和小丽啊,小蜜一起聊,它们互不干扰,这就是多路复用。因为一个数据包源端口是使用随即端口的,也就是说从1023端口以后到65536之间就是复用的范围了。
 
        网络层:
        网络层提供逻辑地址和逻辑拓扑,路由器就工作在此层,要在不同网络号之间传递数据需要使用路由器。
  
        数据链路层:
        数据链路层提供物理地址或硬件地址,这些地址通常称为MAC地址,也定义了网络设备如何访问与其相连的介质。交换机工作在此层。
 
        物理层:
        听名字就知道是物理设备,每一个接口,电缆,连接器,针脚排列都属于物理层。
 
        其实从上层到下层的过程就像是寄信件,由于分层化大大简化了寄信的过程。