zoukankan      html  css  js  c++  java
  • 关于计算机网络模型,我自己的理解

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

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

    1.物理层

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

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

    这一层的数据叫做比特

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

    2.数据链路层

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

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

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

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

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

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

    3.网络层

    未完待续。。。

  • 相关阅读:
    readonly const
    多线程的安全性
    【C++】operator运算符重载
    C++ 多态的实现及原理(转载)
    C语言宽字符处理函数对照表
    UTF8编码规则(转)
    PE文件结构(转)
    C语言中宏定义
    汇编语言移位指令
    数组指针应该结合二维数组多维数组来理解
  • 原文地址:https://www.cnblogs.com/pandaNHF/p/13601924.html
Copyright © 2011-2022 走看看