概述
【计算机网络学习笔记12】交换技术(上)
经典局域网的交换技术
概念
以太网是由Xerox公司创建并由Xerox、intel和DEC公司联合开发的基带局域网规范,是当今现有局域网采用的最通用的通信协议标准。
CSMA/CD协议
CSMA/CD协议是为了解决多个站点共享总线的问题而存在的,其工作主要内容包括:
1. 多址接入
多址接入是指多个站点共享一根总线的传输资源,这种方式又称为多点访问。
2. 载波监听
载波监听是指站点在发送数据前先检测信道的状态,是否有其他站点在发送数据信道处于忙碌状态时无法处理其他站点的数据,则暂时不要发送数据,等待信道变为空闲时再发送。其实信到上并没有载波,此处是指监听信道上是否有其他站点发送数据时产生的信号电压。
3. 碰撞检测
碰撞检测是指“边发送边监听”,即适配器边发送数据边检测信道上的信号电压的变化情况,以判断自己再发送数据时其他站点是否也在发送数据。当几个站同时在总线上发送数据时,总线上的信号电压变化幅度将会增大(互相叠加)。当适配器(网卡)检测到的信号电压变化幅度超过一定的门限值时,就认为总线上至少有两个站点同时在发送数据,即信号发生了碰撞(或冲突),又称为”冲突检测”。发生碰撞时,总线上传输的信号发生了严重的失真,无法从中会恢复出有用的信息来。因此,每一个正在发送数据的站点,一旦发现总线上出现了碰撞,适配器都要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。
4. 延迟重发
延迟重发是指每一个正在发送数据的站点,一旦发现总线上出现了碰撞,适配都要立即停止发送,免得继续浪费网络资源,然后等待一段时间后再次发送。
二进制指数退避技术
发生碰撞的站点不能在等待信道变成空闲后马上再发送数据,因为这样会导致再次碰撞。以太网采用二进制指数退避算法(Binary Exponential Backoff)来解决碰撞后何时进行重传的问题。这种算法让发生碰撞的站点在停止发送数据后,推迟(即退避)一个随机的时间再监听信道进行重传。如果重传又发生了碰撞,则将随机选择的退避时间范围扩大一倍。这样做可以使得重传时再次发生冲突的概率减小。
因为站点确认数据没有冲突的时间是2τ,即一个争用期,所以退避的时间范围以争用期为单位计算。第i次的碰撞后退避的时间范围为2^????个争用期里进行随机选取:
第一次冲突后,在{0,1}两个争用期里随机选择一个尝试重传;
第二次冲突后,在{0,1,2,3}这4个争用期里随机选择一个尝试重传;
第三次冲突后,在{0,1,2,3,4,5,6,7}共8个争用期里随机;
……
当冲突次数达到10次后,因为随机的时间范围有1024个争用期,再增大随机事件范围会导致平均延时太大,所以不再增大随机时间范围;
当冲突次数达到16次时,以太网认为此时打算发送数据的站点太多,以致连续发送冲突,此时丢弃该帧,并向高层报告,由高层处理。
为了保证所有站点在发送完一个帧之前能够检测出是否发生了碰撞,帧的发送时延不能小于2τ,即一个争用期,以太网规定最短有效帧长为64字节。
扩展局域网
使用场景
- 连接不同部门网络
- 连接不同地理位置的网络
- 主机太多的网络需要进行隔离
在物理层扩展以太网
使用多个集线器,可以连接成为覆盖更大范围包含更多站点的多级星状结构的以太网。
例如,将图(a)中的三个以太网通过一个主干集线器把各部的以太网连接起来,成为一个大的以太网如图(b)。
这里需要注意的是,在物理层扩展的以太网仍然是一个碰撞域,不能连接过多的站点,否则会导致大量的冲突。在物理层扩展以太网相当于延长了共享的传输媒体,由于以太网有争用期对时延的限制,并不能无限扩大地理覆盖范围。
在数据链路层扩展以太网
网桥
网桥可以在数据链路层扩展以太网。网桥工作在数据链路层,采用存储转发的方式,它根据MAC帧的目的地址对收到的帧进行转发和过滤。当网桥收到一个帧时,并不是向所有接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口,或者是把它丢弃(即过滤)。可见,网桥就是一种数据链路层的分组交换机。
1、 网桥的内部结构
图c所示为一个网桥的内部结构。最简单的网桥只有两个接口(常称为端口,但与传输层的端口是两个不同的概念),可以连接2个LAN。复杂些的网桥可以由多个接口,可以连接多个LAN。多个LAN通过网桥连接起来,扩展为覆盖更广的LAN,而原来的每个LAN就可以称为一个网段。
网桥根据转发表来转发数据帧。正常情况下,网桥接收到数据帧,解析数据帧的头部可以获得目的主机的MAC地址;接着去查找网桥内的转发表,当找到匹配项时,即可知道转发端口;最后将数据帧从该端口发送出去,数据即可到达接收主机。
总的来说交换机对数据帧有两种操作。
- 转发:当目的主机MAC地址与转发表中某项匹配时
若转发端口与接收端口一致,则丢弃;
若转发端口与接收端口不一致,则按照转发端口转发数据帧; - 泛洪:广播帧(或转发表中无匹配项)在除了接收端口以外所有端口转发该数据帧。
2、 透明网桥
要实现透明网桥,需要两种算法:一种是后向学习算法(Backward Learning),让网桥自动学习转发表;另一种是生成树(Spaning Tree)算法,解决网络中的环路问题,将会在下一节进行讨论。
后向学习算法(Backward Learning)
转发信息可以从接收到的数据帧中学习到。因为在数据帧的MAC地址字段,不仅仅有目的主机MAC地址,还有源主机MAC地址。所以当网桥从某个X端口收到一个数据帧时,从帧头部解析出来源主机MAC地址,就可以学习到一项转发信息:从这个接收端口X可以到达该源主机!即可把这项信息填写到网桥的转发表中,这种方法称为后向学习算法。
所以根据后向学习算法,网桥在端口X接收到一个数据帧时,解析源主机MAC地址,对照转发表,如果转发表中没有该目的主机MAC地址,则将该源主机地址作为目的主机地址,接收端口X作为转发端口,填写进转发表中;如果转发表中有对应的目的主机MAC地址,用新的目的地MAC地址和接收端口替代原来的项。
作者: 梁汉荣
排版: 胖虎
初审: 正山小种
复审: 二月二
更多视频课程请访问 “CSDN 正月十六工作室讲师学院首页”
最后
以上就是灵巧水池为你收集整理的【计算机网络学习笔记12】交换技术(上)【计算机网络学习笔记12】交换技术(上)经典局域网的交换技术扩展局域网的全部内容,希望文章能够帮你解决【计算机网络学习笔记12】交换技术(上)【计算机网络学习笔记12】交换技术(上)经典局域网的交换技术扩展局域网所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复