TCP/IP(三)数据链路层~2

1、局域网

1.一、局域网和以太网的区别和联系

局域网:前面已经介绍了,其实就是学校里面、各个大的公司里,本身组件的一个小型网络,这种就属于局域网。算法

以太网:以太网(Ethernet)指的是由Xerox公司建立并由Xerox、Intel和DEC公司联合开发的基带局域网规范,是当今现有局域网采用的最通用的通讯协议标准。缓存

    以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,并以10M/S的速率运行在多种类型的电缆上。网络

联系:是以太网就必定是局域网,可是局域网不必定就是以太网。 由于以太网就是一个规范,而大多数局域网都使用这个规范,因此才有这个话。学习

1.二、以太网经常使用的拓扑结构

  1)星状spa

    这种结构的网络是工做站以星形方式链接起来的,网中的每个节点设备都以中防节为中心,经过链接线与中心 节点相连,若是一个工做站须要传输数据,它首先必须经过中心节点。计算机网络

    因为在这种结构的网络系统中,中心节点是控制中心,任意两个节点间的通讯最多只需两步,因此,可以传输速度快,而且网络构形简单、建网容易、便于控制和管理。但这种网络系统,3d

    网络可靠性低,网络共享能力差,而且一旦中心节点出现故障则致使全网瘫痪。code

    

  2)树形  htm

    树形结构网络是自然的分级结构,又被称为 分级的集中式网络。其特色
    是网络成本低,结构比较简单。在网络中,任意两个节点之间不产生回路,每一个链路都支持双向传输,而且,网络中节点扩充方便、灵活,寻查链路路径比较简单。
    但在这种结构网络系统中,除叶 节点及其相连的链路外,任何一个工做站或链路产生故障会影响整个网络系统的正常运行。

    

 

  3)总线型

    总线形结构网络是将各个节点设备和一根总线相连。网络中全部的节点工做站都是经过总线进行信息传输的。

    

  4)环形 

    环形结构是 网络中各节点经过一条首尾相连的通讯链路链接起来的一个闭合环形结构网。环形结构网络的结构也比较简单,系统中各工做站地位相等。
    系统中通讯 设备和线路比较节省。在网中信息设有固定方向单向流动,两个工做站节点之间仅有一条通路,系统中无信道选择问题; 某个结点的故障将致使物理瘫痪。
    环网中,因为环路是封闭的,因此不便于扩充,系统响应延时长,且信息传输效率相对较低。

    

2、CSMA/CD协议(半双工通讯)

局域网是用广播信道的方式去传送数据,那么就会遇到问题,若是在局域网内有两个pc机同时在其中传播数据呢?就会发生碰撞,使两个数据都失效,那么如何解决这个问题呢,使用CSMA/CD协议来解决这类问题。

2.一、概述

  1)多址接入

    一种多址接入协议,许多站点以多址接入的方式连接在一根总线上,其实就是局域网中总线网这种形式。

  2)载波监听

    发送前监听,就是在发送数据前监听总线中是否有数据在传播,若是有就不发送。就是用电子技术检测总线上有没有其余计算机发送的数据信号。

  3)碰撞检测

    边发送边监听,在发送数据的中途也会监听总线中是否会有其它数据,当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。

    当一个站检测到的信号电压摆动值超过必定的门限值时,就认为总线上至少有两个站同时在发送数据,代表产生了碰撞。 所谓“碰撞”就是发生了冲突。所以“碰撞检测”也称为“冲突检测”

    检测到碰撞以后:     

      在发生碰撞时,总线上传输的信号产生了严重的失真,没法从中恢复出有用的信息来。

      每个正在发送数据的站,一旦发现总线上出现了碰撞,就要当即中止发送,省得继续浪费网络资源,而后等待一段随机时间后再次发送。

      经过例子也说明一下CSMA/CD协议会作哪些事情,借用下面这个图来讲明问题

      

      分析:

        第一步:B向D发送数据,在发送数据前,因为采用的CSMA/CD协议,那么先会进行载波监听,看总线中是否有其余的数据传输(若是检测,经过物理层的一些电磁波等)。

        第二步:若是没有,那么B就能够开始发送数据,因为B到D之间存在必定距离,那么在总线中传输数据也要时间,虽然很快,可能只须要十几微秒,在发送的的途中,遇到C向A发送数据,

            因为B到D的数据还没传过来,那么C也就没监听到总线中有数据,因此也开始发,那么在途中两个数据就会相遇,这就造成了碰撞,在碰撞之后,两个电磁波叠加,在总线中传输,

            那么会到C或者B时,就会知道电磁波的不一样,从而发生了碰撞。这就是碰撞检测。

2.二、详细描述

  1)解释名词

  传播延时:

    

  争用期:发生碰撞所须要的最迟时间。在根据上面的大致分析,咱们知道A到B之间的任意时刻均可能会发生碰撞,那么A确认发生碰撞要多久呢,那就是2t 了,传播时延是t,

      可能正好到B那里就发生了碰撞,而后返回到A,又须要t的时间,那就是2t了,咱们把这个2t时间就叫作争用期。

    举例:在10Mb/s(传播速率)的以太网,争用期为51.2μs(微秒),那么在争用期内可发送64字节,及512bit的数据。怎么算来的呢?  

      10Mb/s  = 10 000 Kb/s = 10 000 000 b/s (这里的换算是1000,指的是计算机网络中传输的多少位多少位,也就是0101这样的位数)

      51.2μs = 0.0512 ms = 0.000 0512 s  (1s = 1000ms = 1000 000 μs)

      51.2μs能传多少bit呢? 上面两个相乘就为 512bit 了,换算为字节,字节的换算是 1byte(字节) = 8bit(位) 因此 512/8=64byte(字节) 就这样算过来的。

  最短有效帧:64字节,就是上面这样算的,发送了64个字节以后,确定就不会发生碰撞,以太网规定了最短有效帧长为 64 字节,凡长度小于 64 字节的帧都是因为冲突而异常停止的无效帧。

  2)二进制指数类型退避算法

    这个算法就是在发生碰撞后,pc机该如何处理,在什么时间后再次发送数据。

    其实就是四部曲: 

      第一步:肯定基本退避时间,通常就是争用期2t

      第二步:定义参数k  K = Min[重传次数,10]

      第三步:从整数集合中[0,1,...,(2的k次方 -1)]随机取一个数,记为r,重传所须要等待的时延就是r倍的基本退避时间(2rt)

      第四步:当重传16次还不能成功则丢弃该帧,并向高层汇报

    解释:其实这四步很简单,我来分析一下就会了,首先第一次传数据,重传次数为0,那么k=0,从整数集合中只有0这个值,那么r=0,等待的时延就是2rt=0,因此第一次传数据须要等待的时延就是0,

      不须要等待,除非先检测到了有数据已经在传了,若是第一传数据发现碰撞,那么重传次数为1,那么k=1,整数集合中就有0,1两个值,随机取值,取到r=1,那么等待的时延就是2t,意思就是

      在第一次发生碰撞后,须要等待2t的时间,才能在从新发送数据,也可能不须要等就直接发,r=0时。

2、以太网信道利用率问题

  分析图:

  

  分析:一个帧从开始发送,经可能发生的碰撞后,将再重传数次,到发送成功(发送成功这段时间T0是指数据的发送时延,帧长为 L (bit),数据发送速率为 C (b/s),于是帧的发送时间为 L/C = T0 (s)),

     帧发出去之后,还要通过端到端的传播时延t,全部在真正占用信道的时间是 TO+t ,前面发生的碰撞损耗的时间,数据并无占用信道,咱们指真正占用信道的时间是指数据发送成功即不发生

       碰撞而后到达目的地的这段时间,而前面发生碰撞的时间,都市在浪费信道,每发送一帧须要的平均时间就是在信道中发生碰撞浪费的时间+上数据传输成功所用的占用期。不要理解错了。

  公式和参数a的理解:   首先理解一下信道利用率,借用上面的图,就是占用期在其图中的比例变大,则信道利用率就高。可是不肯定前面发生了多少次碰撞,

            只是一个平均的估算值,因此就定义了这个a的公式,用t/T0来表明信道利用率

  1)a→0 表示一发生碰撞就当即能够检测出来,并当即中止发送,于是信道利用率很高。

    a→0也就是t越小,而T0越大,发送时延尽量大一点,而t传播时延尽量小一点,现实意义就是数据在在信道中传播的时间若是很小很小,那么数据一发送,

    就能在不多的时间里面检测出碰撞来了,那么在前面那张图中,花费在争用期(发生碰撞)的时间就少了,就能快点成功发送数据占的时间就长了了,那信道的利用率不就很高吗,

  2)a 越大,代表争用期所占的比例增大,每发生一次碰撞就浪费许多信道资源,使得信道利用率明显下降

    就是T0越小,而r很大,那发生一次碰撞就浪费了不少信道资源,由于在信道中传输无用的波占的时间太长了。而成功发送的占用期天然就变小了,因此信道利用率就越低了。

    根据上面的分析信道利用率,就发现,影响信道利用率的就跟T0和t有关,也就是跟以太网的连线长度有关,因此才有在以太网中,有最远距离的限制,就是不能让t太大,

    以致于a很大,信道利用率过低,还有发送的帧长也有最小帧长的限制,由于怕发送的数据帧过短,而发送速率就必定,那么发送时延T0就过小了,会让a的值越大,信道利用率就过低了。

2.一、最大信道利用率

  

  理想的状况下就是不发生碰撞,一发送完数据,另外一个数据就又发送,也就是一有空闲时间,就发送数据。这个时候,信道中一直有数据在传输,一刻也不停歇,那此时的信道利用率就是100了?

  错误,这个想法是错的,举个例子就知道了。每帧用的时间就是下面图中这块,这块也就能够当作一段数据帧平均花费的时间,这里面所影响的因素就是发送时延T0和t传播时延了,一段数据帧平均花费的时间为1s,

  这是已经固定了,可是其中的两个部分并无肯定,若是T0占的比例大,说明发送时延大,发送速率已经肯定了,那么就确定是发送的数据变多了,在信道中传输的bit更过,信道利用率不就更到了吗,通俗一点讲,

  就是给了你1s的时间,你尽量的多发些bit过去,那么你的传播时延就大了,那不就信道利用率的很高了吗,理想状态下考虑的因素跟那个现实考虑的因素不同。

    

  对CSMA/CD协议的讨论,大概就是这些内容了,刚才讨论的前提是已经知道谁发送给谁了,而后说的数据在传播过程当中遇到的问题。

3、PC机与PC机怎么找到对方

用的就是MAC地址,在以太网中是若是封装数据帧来达到可以准确传输数据到目的地的呢?

MAC地址的格式:

    48bit,6个字节,前3个字节是由管理机构给各个厂家分配的。也就是说若是有厂家想生产网卡这类须要mac地址的东西,必须先像管理机构申请前三位字节,

    因此网卡上的前三个字节就表明着某个厂家,后三个字节就是由厂家本身来设定的。

每一个网卡都拥有识别数据帧中mac地址的功能

数据帧格式:

    

    先无论前8个插入字节的意思,在以太网中,发送的数据帧最小要是64个字节,那这64个字节由哪些组成的呢,就是图中所示,6个目的MAC地址,6个源MAC地址,2个字节表明数据包的类型,

  还有4个字节是FCS,用来进行CRC算法检测的,剩下的46个字节就是数据包最少要发送的字节数了,若是数据包实际发的少于46,那么会给这个数据包自动补充0,来达到须要的字节数。

    而后说说插入的8个字节是什么意思?前7个字节用来使发送的数据帧的的比特同步,也叫做前同步码,最后一个字节,帧的开始定界符,也就是告诉接收方,从这个字节开始,后面是是MAC帧了。

   有人这个时候会问,既然有了帧开始定界符,为何还要同步码?缘由是,在接受MAC帧后,并不能立刻识别出帧开始定界符,没有那么快的反应分辨出来,因此须要在前面加同步码,使接收方有反应的时间,

  因此同步码都是1010101010101这样的bit。前7个字节的同步码跟最后一个字节中的前6个bit位相同。上面图中这里画的有点错误,圈错了,正确的是下面这样:

    

3、扩展以太网

集线器和网桥(多个接口的交换机)

3.一、集线器

  1)概述  

  集线器(HUB)属于 数据通讯系统中的基础设备,它和双绞线等传输介质同样,是一种不需任何软件支持或只需不多管理软件管理的硬件设备。它被普遍应用到各类场合。集线器工做在局域网(LAN)环境
  应用于OSI参考模型第一层,所以又被称为物理层设备。集线器内部采用了电器互联,当维护LAN的环境是逻辑总线或环型结构时,彻底能够用集线器创建一个物理上的星型或树型网络结构。在这方面,集线器
  所起的做用至关于多端口的中继器。其实,集线器实际上就是中继器的一种,其区别仅在于集线器可以提供更多的端口服务,因此集线器又叫多口中继器。 HUB按照对输入信号的处理方式上,能够分为无源HUB、有源HUB、智能HUB。
  2)工做过程
  集线器的工做过程是很是简单的,它能够这样的简单描述:首先是节点发信号到线路,集线器接收该信号,因信号在电缆传输中有衰减, 集线器接收信号后将衰减的信号整形放大,最后集线器将放大的信号广播转发给其余全部端口。

  

  就是只可以转发数据,来了就往接了集线器的PC机上发数据,其余什么差错校验呀,什么东西全都不作,

  集线器的用法首先是下面这样

    

  而后想办法,改进成这样了

   

  改完是有好处也有坏处

    用集线器扩展局域网优势:

      使原来属于不一样碰撞域的局域网上的计算机可以进行跨碰撞域的通讯。

      扩大了局域网覆盖的地理范围。
    用集线器扩展局域网缺点:

      碰撞域增大了,但总的吞吐量并未提升。

      若是不一样的碰撞域使用不一样的数据率,那么就不能用集线器将它们互连起来。
  因为集线器总有这样的缺点,因此网桥这个设备就出来了

3.二、网桥

  1)概述  

    也有人把“网桥”比喻成一个聪明的中继器(Repeater)。由于中继器只是对所接收的信号进行放大,而后直接发送到另外一个端口链接的电缆上,主要用于扩展网络的物理链接范围;

  而网桥除了能够扩展网络的物理链接范围外,还能够对MAC 地址进行分区,隔离不一样物理网段之间的碰撞(也就是隔离“冲突域”)。集线器和中继器都是物理层设备,而网桥属于二层设备。
    咱们常常听到这样的说法,那就是“网桥”是一种可链接不一样网段的二层网络设备(二层交换机也同样),一个端口能够链接一个网段。因此不少人总在纳闷,网桥怎么能链接不一样网段呢?

  其实这是由于你们对这里所说的“网段”并不理解。其实这里“网段”更准确地讲应该是叫“物理网段”,是指IP 地址属于同一网络地址段(也就是IP 地址中的网络ID同样),位于不一样地理位置的不一样LAN 分段,

  是基于物理意义上的地理区域进行划分的。咱们常说的网段是指IP 地址属于不一样网络地址段的网络或子网,是一个三层概念,其实这应该叫作逻辑网段,是基于逻辑意义上的网络地址进行划分的。

  (hzhsan:就是说这里的网段是物理网段,并非咱们平时说的IP网段,不关心三层上的概念)
    不管是网桥,仍是二层交换机,虽然每一个端口能够链接一个网段,可是它们所链接的主机都在同一网络,或者同一子网中。如链接的主机位于不一样办公室或者不一样办公楼中,则可采用同一网络地址的两个或多个小LAN,

  以组成一个能够统一管理的大LAN。但要注意的是,由于网桥只有两个端口,因此所链接的两个物理网段的主机一般就是由当时的集线器进行集中链接的(网桥端口一般不是直接链接主机的)。

  软件中一般所说的桥接(如VMware中的桥接工做模式)也就是网桥的做用,它链接的也是同一网络或子网中的两个网段。
    网桥都是只有两个端口吗?应该能够有多个端口吧?
    答案:基本网桥只有两个端口,还有一种网桥叫作多口网桥,多口网桥有多个端口 

    图1

  2)优势

  有两个优势,能识别mac地址,遇到陌生的mac地址,会在内部mac表中记录下该mac地址,下次再使用,就认识了

    1.1)根据 MAC 帧的目的地址对收到的帧进行转发

    2.2)过滤帧的功能。当网桥收到一个帧时,并非向全部的接口转发此帧,而是先检查此帧的目的 MAC 地址,而后再肯定将该帧转发到哪个接口

  3)网桥原理

    图2

    前面说到了网桥具备两种主要特性:一是可基于物理网段的MAC 地址进行学习,二是能够隔离冲突域。下面经过一个示例来进行解析。
  假设图1 中所示的物理网段1 和物理网段2 中的主机都是经过集线器集中链接的,则这样这两个物理网段各自造成一个冲突域,由于集线器是采用共享介质传输的,

  而网桥的背板信道不是共享的(每一个端口的数据收发都有一条单独的信道),因此一个集线器就是一个冲突域。网桥的数据转发原理如图2所示。下面是具体的解析。
    说明 MAC 地址表也就是一般所说的CAM(Content Addressable Memory,内容可寻址存储器)表,保存的是对应MAC 地址主机与所链接的交换机端口的映射。这个映射表项能够由管理员手动绑定建立,

  也能够由交换机自动学习获得。在交换机上能够经过一些命令(如Cisco 交换机是使用show mac-address-table 命令)查看。下面是一个在交换机上查看MAC 地址和端口映射表的示例,其中列出了交换机中

  为CPU 分配的静态(static)MAC 地址和经过学习功能自动学习获得的动态(dynamic)MAC 地址,其中的Ports 列显示的是对应MAC 地址主机所链接的端口,VLAN 列则为对应主机链接端口所属的VLAN。  

mac-address-table 

  现假设图5-34 所示网络中的一台PC 要向另外一台PC 发送数据。由于集线器也是物理层设备,不能识别帧中的MAC 地址,因此不管是哪台主机要发送数据,在集线器上都是以广播方式进行的,

  链接该集线器上的全部节点都会收到这个广播帧,包括网桥链接到该集线器的端口。

    1)当网桥收到集线器的广播帧后,网桥会把帧中的源MAC 地址和目的MAC 地址与网桥缓存中保存的MAC 地址表进行比较。

    2)最初,网桥的缓存中是没有任何MAC 地址的,因此一开始它也不知道哪台主机在哪一个物理网段上,收到的全部帧都直接以泛洪方式(也是复制原数据帧)转发到另外一个端口上,

      同时会把数据帧中的源MAC 地址所对应的物理网段记录下来(其实就是与对应的网桥端口对应起来)。

    3)在数据帧被某个PC 机接收后,也会把对应目的MAC 地址所对应的物理网段记录在缓存中的MAC 表中。这样,通过屡次这样的记录,就能够在MAC 地址表中把整个网络中各

      主机MAC 地址与对应的物理网段所有记录下来。由于网桥的端口一般是链接集线器的,因此一个网桥端口会与多个主机MAC 地址进行映射。

    4)当网桥收到的数据帧中源MAC 地址和目的MAC 地址都在网桥MAC 地址表中能够找到时,网桥会比较这两个MAC 地址是否属于同一个物理网段。若是是同一物理网段,

      则网桥不会把该帧转发到下一个端口,直接丢弃,起到冲突域隔离做用。相反,若是两个MAC 地址不在同一物理网段,则网桥会把从一个物理网段发来的帧转发到链接

      另外一个物理网段上,而后再经过所链接的集线器进行复制方式的广播。

  3)透明网桥 

    局域网上的站点并不知道所发送的帧将通过哪几个网桥,由于网桥对各站来讲是看不见的  

    是一种即插即用设备,其标准是 IEEE 802.1D

  4)网桥的优势与缺点

  优势:   

    过滤通讯量。

    扩大了物理范围。
    提升了可靠性。
    可互连不一样物理层、不一样 MAC 子层和不一样速率(如10 Mb/s 和 100 Mb/s 以太网)的局域网。
  缺点:  

    存储转发增长了时延。

    在MAC 子层并无流量控制功能。
    具备不一样 MAC 子层的网段桥接在一块儿时时延更大。
    网桥只适合于 用户数不太多(不超过几百个)和通讯量不太大的局域网,不然有时还会因传播过多的广播信息而产生网络拥塞。这就是所谓的广播风暴。

4、高速以太网

从最先的使用集线器链接的以太网(CSMA/CD,半双工,10Mb/s)到使用网桥阶段的扩展以太网(CSMA/CD,半双工,10Mb/s或100Mb/s)到如今的高速以太网(半双工/全双工通讯)。

4.一、高速以太网

  速率达到或超过100Mb/s的以太网

  这个也没什么好讲的,就是在以前的基础上增强了不少东西,

    速率提升了不少

    从半双工通讯到能使用全双工通讯了(这个并非说就抛弃了半双工,在星形拓扑结构中的局域网,也就使用CSMA/CD协议的半双工通讯的方式,全双工就不使用该协议了)

    传输距离能够增加,由于有了光纤(传输过程的稳定性),速率加强很大,不止局限于局域网,扩展到了有城域网,广域网。

4.二、10Gb/s以太网

  1)概述

  与 10 Mb/s,100 Mb/s 和 1 Gb/s 以太网的帧格式彻底相同。

  保留了 802.3 标准规定的以太网最小和最大帧长,便于升级。也就是最小64字节,最大是多少不知道。

  再也不使用铜线而只使用光纤做为传输媒体。

  只工做在全双工方式,所以没有争用问题,也不使用 CSMA/CD 协议。

  2)优势  

    成熟的技术

    互操做性很好
    在广域网中使用以太网时价格便宜。

    统一的帧格式简化了操做和管理

相关文章
相关标签/搜索