美文网首页计算机网络
开放系统互联模型(OSI)(一)

开放系统互联模型(OSI)(一)

作者: 廖马儿 | 来源:发表于2017-06-06 22:19 被阅读19次

    由国际化标准化组织ISO于1984年提出的。
    是目前公认的计算机通信和Internet网络通信的基本结构模型。
    如今使用的最广泛的TCP/IP协议就是基于OSI模型设计的

    OSI:Open System Interconnection

    我们既然将其叫作模型,那么它应该是只给我们提供给一个标准,告诉我们这个东西怎么样去设计,怎么样去做,而不是具体的实现,只是 一个参考模型。像TCP/IP协议就是他的实现。

    OSI的七层参考模型。


    七层模型的功能:

    1)物理层

    最基本的底层数据传输,底层的接口,底层的传输方式,等都是由物理层定义的。

    比如我们现在上网,使用的无线网卡,或者以太网线,那么无线网卡需要遵循一个什么样的标准,我用的是一个什么样的频段,我的双绞线是应该使用一个多大的电压,使用什么样的频率,这些都是由物理层去定义的。
    也就说物理层是定义这些介质的标准,接口的标准,线缆的标准。

    2)数据链路层

    定义数据的基本格式,数据如何在线缆上传输,怎么样进行标识。
    错误检测。
    如何去访问底层介质。
    比如:MAC地址的标准。

    3)网络层

    数据的编址,三层的数据编址,路由功能。

    定义了三层的IP编址:
    IP地址就是第三层所定义的。
    定义了路由功能:
    提供了在不同网络功能进行转发。

    4)传输层

    定义了端到端通信的一些,端到端连接。
    其中:最主要的协议TCP/UDP定义了如何在一个源和目标,端到端数据传输,以及如何保证数据传输的速度,效率和数据的可靠性。

    5)会话层

    是控制的一个应用程序,一个IP地址对之间的不同的会话。
    比如一个ip(10.1.1.1)与另外一个ip(10.1.1.2)之间,有几个程序在通讯,比如: QQ,腾讯微博,等。
    里面有很多会话,一个是传输图片,一个是传输音频,一个是做其他。

    6)表示层

    用来定义数据的封装格式,比如说我是传输一个视频,可以是.avi,.rmb, 如果传输一个照片,是.png还是.jpeg,传输一个文本,是.txt还是其他格式。这些都是由表示层定义的。
    还有压缩和加密的功能。

    7)应用层

    应用层,实际上就是我们的应用软件。我们计算机上面所有装的软件,都是应用层的东西。应用层的东西也可以包含5,6层的。有些比较简单的程序就只实现了第七层的标准。有些复杂的大型程序可以实现5,6,7层。一般下面的4层是由操作系统所实现的,上面三层是由应用程序实现的。

    5,6,7可以统一称为应用层。因为上三层都是由应用程序控制的。


    数据在传输的过程中有一个封装的过程

    数据是由应用程序产生的,比如:
    有两个QQ在聊天,一个在西安,一个在成都,QQ1发送“Hello”给QQ2。
    发送的时候,“Hello”会依次经过这七层(应用层->物理层),并且加上每一层的标识数据(每一层的报头)。

    图片.png

    FCS:帧检验序列

    目标在收到数据信息(Bits)的时候,会依次解封装(从物理层解封到应用层)。
    在L2(第二层,数据链路层):需要查看MAC地址。
    在L3(第三层,网络层):需要查看IP地址。
    在L4:查看是什么方式:UDP还是TCP
    再向上层走,我们需要查看是哪个程序的,是QQ?IE?MSN?

    向上解封的过程中,每过一层,就删除那层报文头信息。

    图片.png

    所以说,数据的传输,是有一个封装和解封装的过程。


    数据在每一层通讯的时候,都有自己的名词:

    图片.png

    在L1(物理层)叫作比特流(Bits),L2(数据链路层)叫作帧(Frames),在L3(网络层)叫作包(Packets),在L4(传输层)叫作段(Segments)。

    OSI只是一个模型,而我们现在的应用都是基于TCP/IP协议的(注意:TCP/IP协议不是TCP协议)。
    TCP/IP协议就是OSI七层模型的实现,并且对7层模型做了简化,准确说定义了四层。

    图片.png

    因为很多时候,并不需要这么细化层次。

    TCP/IP协议与OSI七层模型的对照

    图片.png

    对于网络工程师来说,一般讨论的TCP/IP协议都是下四层(物理层,数据链路层,internet层(也就是网络层),传输层),而开发工程师讨论的是上线的应用层。

    相关文章

      网友评论

        本文标题:开放系统互联模型(OSI)(一)

        本文链接:https://www.haomeiwen.com/subject/mrsnfxtx.html