• 关于计算机网络模型,我自己的理解


    如果想实现连个独立计算机的通讯,必须具备两个条件,一个是连接通道(网线啊,wifi之类的),一个是协议,因为你不约定好,大家传来传去的都是0和1,但是不知道这些0和1是干什么的。

    但是一个协议,如果既要传输0和1,又要管0和1组合完是啥意思,又要管两台计算机的地址和连接方式(是一直连着啊,还是发完一次就断开),这个太为难这个协议了,所以有了协议分层的概念,每层协议干不同的活。

    1.物理层

    该层主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。

    它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。

    这一层的数据叫做比特

    问题:光有了这些物理硬件的规范,就算是目标电脑接收到了比特,也不知道比特代表的含义,而且物理硬件传输过程中会有噪音干扰,数据可能出错,这就需要下一层。

    2.数据链路层

    这一层主要在物理层的基础上,把比特流(上面提到的0和1组成的数据流)截成,成为帧后的数据,就可以解析出不同的意义了。

    这个帧里除了本来要传达的信息,还有大量的冗余信息,这些信息就是用来纠正物理传输过程中的出错,所以这一层还有个重要作用就是差错控制。

    除了以上两个功能,这一层还负责链路管理透明传输

    链路管理就是你去跟别的节点建立连接才能有传输这个事,但是它这块只看自己的和目标的地址。

    透明传输就是不管数据是怎样的比特组合,都能在链路上传输。

    问题:如果只是点对点传输

    3.网络层

    未完待续。。。

  • 相关阅读:
    python3 TypeError: a bytes-like object is required, not 'str'
    Centos 安装Python Scrapy PhantomJS
    Linux alias
    Vim vimrc配置
    Windows下 Python Selenium PhantomJS 抓取网页并截图
    Linux sort
    Linux RSync 搭建
    SSH隧道 访问内网机
    笔记《鸟哥的Linux私房菜》7 Linux档案与目录管理
    Tornado 错误 "Global name 'memoryview' is not defined"
  • 原文地址:https://www.cnblogs.com/pandaNHF/p/13601924.html
Copyright © 2020-2023  润新知