• 以太网基础知识(一)-计算机网络


      本文主要知识来源于学校课程,部分知识来自于H3C公司教材,未经作者许可,禁止转载

    1. 现阶段成熟的局域网技术有三种:以太网(Ethernet)、令牌环(Token Ring)和光纤分布式数据接口(FDDI),且以太网技术逐步成为局域网技术的主流。
    2. CSMA/CD英文全称是Carrier Sense Multiple Access with Collision Detetion, 中文为带冲突检测的载波监听多路访问技术

      详细解释:以太网是一种共享介质的局域网技术,多个站点连接到一个共享介质上,同一时间只能有一个站点发送数据。这种共享介质的通信方式必然存在一个冲突的问题,如何检测链路是否空闲,站点能否发送数据是共享链路必须解决的问题。

      同一链路连接多个终端,就是多路访问。因此,CSMA/CD为多路访问链路多个站点同时发送数据避免冲突提供了作为多路访问控制协议的方法。

      CSMA/CD具体工作方式:(1) 发送数据帧之前先监听信道。信道忙,则持续监听,直到信道
      空闲。信道空闲则立即发送。
      (2) 边发送边检测冲突。如果发送完毕都没有检测到冲突,则发送
      成功。
      (3) 如果检测到冲突,则停止发送,并发送32位干扰位以加强冲突
      信号。采用二进制指数退避算法随机延迟一段时间后,转
      (1)
      CSMA/CD协议的流程图:

        

      3.冲突域和广播域

      冲突域:在传统的以粗同轴电缆为传输介质的以太网中,同一介质上的多个节点是共享链路的带宽,争用链路的使用权,这样就会发生冲突,CSMA/CD机  制中当冲突发生时,网络就要进行回退,这段回退的时间内链路上不传送任何数据。而且这种情况是不可避免的。当同一介质上的节点越多,冲突发生的概率也就会越大。这种连接在同一导线上的所有节点的集合就是一个冲突域。

    同轴电缆HUB连接的主机就属于一个冲突域。他们共同的特征是所有的节点都要共享带宽,会发生冲突,且一个节点发出的报文(无论是单播、组播、广播)其余节点都可以收到。

      因此,用Hub或者Repeater连接的所有节点可以被认为是在同一个冲突域内。而第二层设备(网桥,交换机)第三层设备(路由器)都可以划分冲突域的

      

      广播域:

      我们知道广播方式会占用带宽,而且降低节点的处理效率,必须对广播加以限制。这种一个站点发送一个广播报文其余节点能够接收到的节点的集合,就是一个广播域。

    传统的二层交换机所有端口都属于一个广播域。

    传统的网桥(Bridge)可以根据MAC表对单播报文进行转发,对于广播报文向所有的端口都转发,所以网桥的所有端口连接的节点属于一个广播域,但是每个端口属于一个单独冲突域。

    4.  以太网帧格式

    目前使用最广泛的是Ethernet II封装。所以我们展现其以太网帧格式。

      

      或

    前导字符(Preamble): 同步字符(7B)和起始定界符(Start of Frame Delimiter)(1B)

      每个以太网帧发送时都是以8个字节的前导码开始,Preamble是1和0交替(1 0 1 0 1 0…….)的7个字节数据,该部分的作用是通知接收方有数据帧  到来,使其与输入的时钟保持同步,56bit 模式容许站点在帧的开始可以丢弃一些bit。

      目的地址DA(Destination Address):6个字节,目的节点的MAC地址。

      源地址SA(Source Address):6个字节,源节点的MAC地址。

      类型/长度字段(Type/Length):指明上层协议(>1500时)或有效载荷的长度(1500时)。

      有效载荷(Payload): 用户数据。不足46字节时加入填充字节(任何字节)46字节。

      帧校验序列(Frame Check Sequence):对目的地址、源地址、类型/长度和有效载荷(加填充位)字段进行CRC-32校验

      另外以太网还有如下所示的封装格式:

      802.3(802.3/802.2 LLC):

      

      或

      

      802.3/802.2 LLC封装中,DSAP、SSAP用来标志上层协议

      802.3 SNAP:

      

      或

      

      802.3/802.2 SNAP Org Code代表机构编码,是全球唯一的表示组织机构的代码OUI

  • 相关阅读:
    c++智能指针的一些文章
    c++ template(8)模版多态
    空指针赋值分区
    windbg调试命令
    c++ template(5)模板实战
    GetStockObject 理解
    c++ template(6)模板术语
    c++ template(71)模板参数声明
    DirectDraw教程资料
    c++ template(9)trait和Policy
  • 原文地址:https://www.cnblogs.com/fengxw/p/6119465.html
Copyright © 2020-2023  润新知