当前位置:   article > 正文

Network Stack 学习笔记(1)

network stack

最近一直在看计算机网络方面的知识,一方面下周需要考试不得不看,一方面算是我对网络基础知识的扫盲吧。先从OSI定义的七层协议说起。

OSI标准层TCP/IP标准
应用层 表示层应用层
会话层 传输层传输层
网络层网络层
链路层链路层
物理层物理层

物理层

物理层包括对传输介质的描述、信号的调制模式和调制方法、传输物理参数。 包括了数据传输的物理链路的创建、维护和拆除。简单地说就是 信号+介质。 物理层的协议包括RS232、FDDI、802.2,3,5等

主要功能

  1. 采用不同的物理传输技术,但是对上层来说是透明的、屏蔽对上层的影响。一般来说解决包括:铜线、双绞线、光纤、无线等。
  2. 传输数据,单工、半双工、全双工;串行,并行等,但总的来说为上层提供输出传输的链路。同步、异步传输(ATM)
  3. RS-232、RJ4、EIA etc.

链路层

主要功能

  • 数据封装
    在分组网络上,数据应该具有封装、分组的特性,因此数据应封装成一个个独立的数据包发送。每个数据包应该携带有明显的帧头,帧尾(帧定界符)。通过帧定界符来区分多个传输的数据包
  • 传输透明性
    链路层的传输对上层来说应该是透明的,这意味着上层无论传送何种数据都是不会产生差错,遇到一些特殊的字符(如帧定界符、转义符)应该进行转义,从而不影响底层的分组传输。
  • 差错控制
    差错控制要是判断数据包在发送过程中是否出现错误、bit反转等情况,当链路层在收到数据包后判断是否产生了传输错误,一旦产生传输错误则直接丢弃包裹。(注意链路层一般不会采用拥塞控制、可靠传输等机制,原因在于上层已经处理了类似的问题,在链路层实际无需再多此一举,在现实的网络中,链路层传输的可靠率很高,误码率低于104)差错控制一般采用CRC之类的算法实现数据包错误检查。
  • 数据逻辑链路与物理链路

以太网链路层

以太网的链路层一般分为两个子层:逻辑链路控制层(LLC),媒体介质控制层(MAC). MAC主要工作任务是CSMA/CD、差错控制、封装成帧。

  • PPP协议, PPP协议是一个典型的链路数据传输协议。它的功能包括了: 封装成帧、帧定界、透明传输、差错控制、网络控制、支持多种协议。其中网络控制方面,PPP具有LCP、NCP等在链路和网络层上的配置协议。PPP的工作流程:

  • CSMA/CD, 单帧或者单个bit在传输时,难免会发生碰撞。CSMA/CD的主要作用是判断是否网络处于碰撞状态,保证带宽的利用率提高。MAC层在发送每一个数据帧的时候,边发边检测,检测是否发生碰撞,一旦碰撞则停止传送。为了检测到碰撞,帧长最小为64个字节(100m)。发生碰撞后采用指数退避。
    流程图:

Created with Raphaël 2.1.2 链路层断开 建立物理连接 验证 验证成功? LCP 链路配置 NCP 网络配置 yes
  • 以太网扩展
    • 集线器
      纯粹物理层上的连接器,实际上是一种总线结构的设备,集线器不存在转发数据,数据包在发送时直接从各个端口中同步发出。集线器不具备存储转发的任何功能,必须设备自己做CSMA/CD的能力,集线器将使得机器的平均带宽降低。
    • 网桥
      网络的能力比集线器上升一步,带有存储转发的能力,并且可以隔离几个总线之间的碰撞,同一个总线内的机器共享带宽,网桥接入的两个总线间的带宽互不影响。网桥拥有自学习的转发表。
    • 交换机
      交换机比网桥能力进一步,点对点得传输,各个机器的链路速度各不影响。交换机可实现存储转发,VLAN功能。
      最后,VPN也是在链路层的一个协议,VPN分为接入VPN,内网VPN,extranet VPN三种。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/174246
推荐阅读
相关标签
  

闽ICP备14008679号