1 / 106

计算机通信网

计算机通信网. 第四章 介质访问控制子层. 引言. 上一章内容是两台计算机间连接和通信问题 本章内容是: 在局部区域内多台计算机的联网和通信问题 — 局域网. 全双工. 或. 如何连接?如何通信. 半双工. 可以自己敷设传输导线,自己来连接. 网线连接. 无线连接. 引言 ( 续 1). 连接是一个问题 通信方式又是一个问题 两个站点同时向对方发送数据,对方能收到吗? 两个站点同时向第三方发送数据,第三方能收到吗?. 答案是收不到或收到的数据是错误的. 因此,局域网的通信需要站点间建立一种通信规则,才有可能实现通信. 引言 ( 续 2).

Download Presentation

计算机通信网

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 计算机通信网 第四章 介质访问控制子层

  2. 引言 • 上一章内容是两台计算机间连接和通信问题 • 本章内容是: • 在局部区域内多台计算机的联网和通信问题—局域网 全双工 或 如何连接?如何通信 半双工 可以自己敷设传输导线,自己来连接 网线连接 无线连接

  3. 引言(续1) • 连接是一个问题 • 通信方式又是一个问题 • 两个站点同时向对方发送数据,对方能收到吗? • 两个站点同时向第三方发送数据,第三方能收到吗? 答案是收不到或收到的数据是错误的 因此,局域网的通信需要站点间建立一种通信规则,才有可能实现通信

  4. 引言(续2) • 第三个问题:能否向指定的站点发送数据? • 上一章是点对点通信,不存在这个问题 其它站点是否收到数据不重要,重要的是指定站点要收到数据,并且知道是谁送给自己的 因此,局域网需要在数据中有一种地址机制来标识站点。这就是局域网的协议问题之一

  5. 本章知识点 • 1、局域网的连接方式 • 总线形连接、星形连接、环形连接、… • 2、局域网的通信规则及性能分析 • 竞争型通信方式 • 无竞争通信方式 • 有限竞争通信方式 • 3、以太网协议 • 4、其它协议(知识扩展) • WiFi、Token-Ring • 以太网设备 • HUB、网桥、交换机

  6. 1、局域网的连接 • 连接方式1:总线形、星形 两者是等效的 (需要半双工的接口) 典型画法

  7. 局域网的连接 • 连接方式2:环形 利用全双工收发分开进行连接 不好,若某个站点关机,环就断开了 加入小的单向传输阀 好,某个站点关机,环不会断开 典型画法

  8. 局域网的连接 • 其它连接方式的讨论 • 用多条总线,在一条上发送,其余总线上接收 • 或者反过来,在一条上接收,在其余总线上发送 A B C D ? ? ? 总线1 总线2 总线3 总线4

  9. 局域网的连接 • 无线信道的情况 • 可以有多个无线信道可用 • 每个站点只有一个发射机和一个接收机 • 讨论两种情况 • 发射机和接收机都在同一个信道上工作—(与总线等效) • 发射机和接收机可工作在不同信道上—(与多总线基本等效)

  10. 不同连接下的通信基本问题 • 总线形连接 • 单个站点发送数据 • 一旦一个站点发送数据,其信号立即占满整个总线(光速传播) • 多于一个站点几乎同时发送数据 • 多个信号在总线上叠加,信号产生混乱(冲突现象) B A 信号冲突 A B time t1 t3 t2 t4

  11. 不同连接下的通信基本问题 • 环形连接 • 通信情况同总线形完全一致 A 信号冲突 A B time t1 t3 t2 t4 B

  12. 2、局域网的通信规则及性能分析 • 性能分析模型 • 竞争型通信规则 • 想说就说型:ALOHA,slot-ALOHA • 先听后说型:CSMA(载波侦听) • 先听后说+边听边说型:CSMA/CD • 无竞争型通信规则 • 有令牌则说话:Token-Ring • 主站点名轮询:Polling • 有限竞争型 • 先听后争,争到再说型:CSMA/CA

  13. 2.1 性能分析模型 • 局域网有N个站点,每个站点随时都有数据帧可发。为分析方便,假定: • 所有数据帧长度相同(L bits),信道速率为R(bits/s) • 每个数据帧持续时间为T=L/R • 信道的帧速率为C=1/T = R/L 三个重要分析参数: C:信道帧速率,单位时间内最大成功帧数 g:信道负载,单位时间内所在站点传输总数 s: 有效传输,单位时间内成功传输总数 站点通信模型: --N个站点按某种通信规则发送数据帧。 --数据帧在信道上可能出现重叠(冲突) --只有未被冲突的帧才能成功传输 成功帧数s 总帧数g g 2 … 1 3 1 2 3 … C 单位时间=CT

  14. 归一化性能参数 • S = s/C,信道吞吐率 • 成功帧速率占信道帧速率的比例 • =sT/CT, 信道利用率 • 单位时间内成功帧所需的传输时间比例 • 0 < S < 1 • G = g/C:信道负载率 • 数据帧总传输速率与信道帧速率之比 • 0 < G < N • N个站的帧传输在时间上可能(部分)重叠 • 当G>1时,表明信道已达到满负荷 • G最大可达N(站点数),表示每个站点都以信道帧速率发送 成功帧数s 总帧数g g 2 … 1 3 1 2 3 … C 单位时间=CT 归一化: S = s/C G = g/C

  15. ifg ifg ifg ifg ifg 64bytes 64bytes 64bytes 64bytes 64bytes 64bytes

  16. 信道竞争模型 • 竞争模型 • N个独立工作的站点,随机地发送数据帧 • 一般化模型 • N个站点的数据帧从A点进入信道,出现冲突的帧消失在信道上,无冲突的帧(成功传输)从B点出信道 A B G S 冲突的帧 (消失在信道上) 进入信道 (帧速率G) 成功传输出信道 (吞吐率S)

  17. 信道竞争模型 • 简单分析可知 • G的大小,影响到出现冲突的概率 • G很小-冲突概率小-传输成功率高-S也较小 • G很大-冲突概率大-传输成功率低-S也较小 • 存在最佳的G,使得S到达最大 • 竞争规则的目标:S最大化 • 最佳的G是多少,跟通信规则有关 S(吞吐率) G过大 G适中 G小 理想情况 1 G(负载率) 1

  18. 信道竞争模型 • 性能分析中使用的帧速率的概率分布: • 在任意的一个时间段T(帧长度)内,生成k个帧的概率服从泊松分布 • 其中G为平均帧速率 典型值: T内生成0帧的概率为 pT(0)=e-G T内生成1帧的概率为 pT(1)=Ge-G 2T内生成0帧的概率为 p2T(0)=e-2G k G*C=10条件下,时间T内出现k个帧的概率分布图

  19. 信道竞争模型 • 背景知识:泊松(Poisson)分布 • 无穷多个独立工作站点随机生成(发送)帧的概率分布 • 设有一小的时间间隔dt,若 • 在dt内生成一帧的概率为λdt(λdt<<1),且独立于其它时间间隔 • 当dt足够小时,生成多于1帧的概率可忽略不计 • 在各不重叠的时间间隔,生成的帧数是独立的随机变量 • 概率结构与时间位置无关 • 则可推出在t时间内生成n个帧的概率为 • 且有: • 均值为 • 方差为 λ为帧的平均生成速率 (研究表明: 当站点数超过20个时,其生成帧的概率分布已非常接近泊松分布)

  20. 70年代,夏威夷大学为了用无线电将分散在各个岛屿的计算机连接起来,Norman Abramson等人设计了一种巧妙地解决信道分配问题的新算法,称为ALOHA(or pure ALOHA)。 该协议开创了通信介质共享领域的新时代 信道吞吐率S N G 2.2 ALOHA竞争方式 • “想说就说”型竞争信道方式 N个站点,帧到达立即发送 站点帧到达概率服从泊松分布,均值为G/N N个站点帧到达概率也是泊松分布,均值为G 设:成功传输概率P0 则:信道吞吐率S=G*P0 如何计算P0 信道上所有帧传输,在时间上有重叠(冲突)出现 G越大帧越多冲突越严重

  21. 2T 3T T a. 在时段3T内只有1帧发送的概率 b. 有一帧发送时3T内有0个帧发送的概率 a. 在时段2T内只有1帧发送的概率 b. 有一帧发送时2T内有0个帧发送的概率 a.在时段T内只有1帧发送的概率 b.有一帧发送的T内有0个帧的概率 ALOHA性能分析 • 信道传输成功概率P0 • 以下几种分析“似乎”都合理 • 那个是正确的? • 研究和仿真证明2T的b是正确的 P0 = p2T(0) = e-2G …………(1) 于是有:S = G*P0 = G*e-2G…………(2)

  22. ALOHA性能OPNET仿真 G 站点数 设定帧长 设定帧产生时间间隔 设定速率 节点模型 OPNET仿真场景 帧统计 发送状态机 S /* Outgoing packet */ Packet *out_pkt; /* A packet has arrived for transmission. Acquire */ /* the packet from the input stream, send the packet */ /* and update the global submitted packet counter. */ out_pkt = op_pk_get (IN_STRM); op_pk_send (out_pkt, OUT_STRM); ++subm_pkts; /* Compare the total number of packets submitted with */ /* the maximum set for this simulation run. If equal */ /* end the simulation run. */ if (subm_pkts == max_packet_count) op_sim_end ("max packet count reached.", "", "", ""); 代码 仿真结果 G

  23. /* Outgoing packet */ Packet *out_pkt; /* A packet has arrived for transmission. Acquire */ /* the packet from the input stream, send the packet */ /* and update the global submitted packet counter. */ out_pkt = op_pk_get (IN_STRM); op_pk_send (out_pkt, OUT_STRM); ++subm_pkts; /* Compare the total number of packets submitted with */ /* the maximum set for this simulation run. If equal */ /* end the simulation run. */ if (subm_pkts == max_packet_count) op_sim_end ("max packet count reached.", "", "", "");

  24. Pure ALOHA 性能曲线 • 性能描述 • Pure ALOHA的最大吞吐率 • Smax=Ge-2G|G=0.5=1/2e=0.184 • 适当大小的总帧数G • G=1/2,即一半的信道帧容量时,S达到最大值 • 帧丢失率 • 丢失帧数/总共传输帧 • 显然,G小时丢失率小,G大则大 • 如何计算? S=Ge-2G 理想吞吐率 吃惊吗?ALOHA的最高性能是18.4%! 相当于:信道是1Mbps的话,最大传输能力只能到达184kbps

  25. 2T T T T Slot-Aloha则将信道划分成长度为T的时隙。要求站点必须在时隙开始位置发送。这样,减少了冲突的危险区域(或者完全不冲突,或者完全冲突) Aloha的主要问题站点可以在任何时候发送帧,因此2T范围都是冲突的危险区域 ALOHA的性能改进 • Slot-ALOHA P0 = {当有一帧要发送时,在T内再没有新帧产生} = pT(0) = e-G 于是:S=G*P0 =Ge-G …………(3) 或 S = {每个时隙只产生一帧的概率} = pT(1) = Ge-G

  26. Slot ALOHA性能 • 性能描述 • 最大吞吐率 • Smax=Ge-G|G=1=1/e=0.368,Pure ALOHA的2倍 • 达到最大S时的G • G = 1,达到信道帧容量 • 帧丢失率? Slot-aloha Pure-aloha

  27. T 如果有多个站点在T内产生了新帧,必然在此处开始冲突。 在G比较小时,冲突概率才会小 推迟 站点s 预防多个站点在T内产生新帧,继续后退一个随机长度的时间后,再“听”信道,若信道闲才发送。 在G比较小时,可能是多余的后退 准备发送 开始发送 推迟 站点s 随机 后退 开始发送 准备发送 或者发送(概率p),或者后退(随机时间长度)后再“听信道” 通过调整p来配合G的大小 推迟 站点s 随机 后退 准备发送 开始发送 2.3 CSMA • 对ALOHA或slot ALOHA的性能不够满意 • 假设站点可以“听”到信道上是否有站点在发送 • 准备发送时,若“听到”信道上有站点发送,就推迟发送,直到信道“空闲”为止,从而主动避免了冲突 • Carrier Sense Multi-Access (CSMA)

  28. CSMA • 发送策略 • 1坚持CSMA:等待信道闲后立即发送(p=1) • 0坚持CSMA:等待信道闲后再等待一段随机长度(p=0) • p坚持CSMA:等待信道闲后可能发送(概率p),可能随机后退(概率1-p) • 随机后退情况下,都需要重新侦听信道 随机后退

  29. CSMA载波侦听动画(一) 信道空闲 A侦听信道,立即发送数据 信号到达B处 B侦听信道,抑制发送 t A B

  30. CSMA载波侦听动画连续(一) 信道空闲 A侦听信道,立即发送数据 信号到达B处 B侦听信道,抑制发送 t A B

  31. CSMA载波侦听动画(二) 信道空闲 • CSMA降低了冲突概率 • 因为信号传播延时是很短的--以2/3光速传播 A侦听信道,立即发送数据 B侦听信道,立即发送 信号到达B处,产生冲突 t 信号传播延时 A B

  32. 准备发送 否 信道忙 准备发送 准备发送 是 侦听 否 否 信道忙 信道忙 是 是 侦听 侦听 发送 发送 发送 R=rand() 信道闲 信道闲 时间到 时间到 信道闲 是 R<p 后退 后退 完成 完成 完成 CSMA发送流程 p坚持CSMA 0坚持CSMA 1坚持CSMA

  33. CSMA的几个说明 • 随机后退 • 各个站点选择的后退时间是随机、各不相同 • 后退后重新“侦听”信道,若发现“忙”,只有再后退! • 最坏情况:一直都在后退,站点的帧总发送不出去 • 因此,要规定后退次数上限,后退达到上限放弃发送该帧 • 发送概率p,例 • 丢硬币:正面就发送,反面就后退(p=0.5) • 丢骰子:小于5点就发送(p=4/6) • 取随机数(0-100),小于5就发送(p=0.05) τ 选择随机变量x[0~1] 后退时间=x* τ

  34. 几种竞争协议的效率 • 轻负载下,1-坚持的性能好,0-坚持差,p-坚持中等 • 重负载下,1-坚持的性能差,0-坚持好,p-坚持中等 • 1-坚持和0-坚持与网络的具体站点数无关,性能相对稳定

  35. G-S图的理解 • G大于1,意味着发送量大于信道容量 • G大于1,对流量出现瞬时过载能力的分析很重要 • 当出现G>1情况时,如果S很快就下降到零,即使以后G又回落到小于1情况,由于堆积在站点上等待发送的帧太多,进入信道的G也降不下来,网络恢复正常通信需要很长时间,或者无法恢复正常 • 因此,过载情况下(G>1)仍能有较高的S,是网络抗过载能力强的体现 • 抗过载能力 • 0坚持CSMA具有最强的抗过载能力 • Slot-aloha与1坚持CSMA在G>4时的抗过载能力相当 G 流量 信道容量 S1 S2 t

  36. CSMA的冲突问题 • 信道有长度,信号有限传播速度(v<C),因此,信号从一端传播到另一端需要一定的时间 • 考虑两个端点上的站点A和B • 当A在t0时刻开始发送数据,信号要在t0+τ才到达B • 因此,B在t0~t0+τ内侦听信道都是“空闲”的。这个时间是发生冲突的危险时间段 • 而且, τ越大,产生更多新帧概率越高,出现冲突概率更大 • 减小τ,意味着减小信道长度 • 因此CSMA不能再长信道上应用 τ = d/v t0+ τ t0 A B 300米信道, τ >300/3*108=1us 3Km信道, τ >10us 100Mbps信道:100us*100*106 = 10000bits 30Km信道, τ >100us

  37. CSMA后退算法 • 连续后退问题 • 若连续多次都发现信道忙,说明信道确实很忙,应该加大后退长度 • 让站点在[1..W]区间内随机选择一个后退值 • W称为后退窗口,后退时间单位= τ • 二进制指数后退算法 • 若节点在第k次准备发送时,仍发现信道忙,则 • W=2k • 站点在[1..W]区间中随机选择一个后退值N • 后退时间T = N* τ • 若k达到规定值(如15),则放弃发送该帧,转而发送下一帧

  38. 2.4 CSMA/CD(结合P216、P233) • 载波侦听多路访问/冲突检测 • 改进CSMA性能 • CSMA仍有少量冲突存在,浪费信道资源 • 引入条件:发送时如果能够发现冲突,就立即停止发送 • 有线信道上:发送的信号能量与接收的信号能量相当 • 冲突检测 • 有线信道上,可以检测信号的能量,以发现是否冲突 • 检测到冲突后,立即停止发送,让信道空闲 冲突 减少信道浪费 站B 站A 站C 成功发送

  39. 冲突检测方法 • 电平判断 • 冲突信号相互叠加,总电平将超过额定值 • 逻辑判断 • 发送的数据与同时收回来的数据不一致 超高 = + 收 发 冲突 信道

  40. 冲突检测时间 • 最坏情况 • 站点A发送数据帧后在td时到达最远端的站点B,而B恰好在此时开始发送。 • 站点B马上可以检测到冲突 • 站点A要再经过τ后,才可能检测到冲突 • 实际上,站点还需要用若干bit的来验证是否冲突 • 故:冲突检测时间≥ 2τ

  41. 冲突检测后的处理 • 检测到冲突后立即停止传输,停止传输后,随机延迟一段时间再尝试发送 • 延迟时间以时间片为单位 • 一个时间片=最大冲突检测时间(2 τ) • 随机延时算法--截断二进制指数回退算法 • 最大重试次数15次 • 当k≥10时,W维持210不变 while k < attempt_limit k++; if(k<=10) W +=W; r = random(0, W); end of while

  42. 2.5 CSMA/CA 发送时需要关闭接收机,否则泄漏来的信号都会使接收机过载 • 无线局域网 • 所有站点工作在相同的无线信道上 • 无线信道构成一个空中共享总线 • 与有线网不同之处 • 收发不能同时(无法实现CD) • 传输距离有限,新冲突 • B不能检测到A的载波,在C处产生冲突 • B称为A的“隐藏终端” 发送 40mW 接收 40mW*10-7 C A B 隐藏终端问题

  43. CSMA/CA (Collusion Avoidance) • 要求 • A发送时,A周围的站点侦听到载波,不会发送 • A发送数据到C时,C的附近不能有其它站点发送(不使C的接收受到冲突) • CSMA/CA工作方式 • A先向C发送“请求发送”短报文:RTS(持续时间) • C应答“允许发送”短报文:CTS(持续时间) • 产生抑制周围站点发送的效果 • A收到CTS后发送数据帧 C A 解决隐藏终端问题

  44. CSMA/CA • “暴露终端”问题 • 在A向B发送报文的同时,C应该可以向D发送报文 • C不会干扰B的接收,A也不会干扰D的接收 • 但C在A的范围内,A的发送抑制了C的发送 • C暴露在A的范围中而被禁止发送 • 解决暴露终端的方法 • C收不到B的CTS,证明不会干扰B的接收 • 设计节点的发送算法! C A B D 暴露终端问题

  45. CSMA/CA 大规模 • 通信范围外,信道可重复使用,从而增大了信道的利用效率

  46. 竞争访问信道 • 竞争访问信道面临的问题 • 有冲突出现 • 尽量减少冲突--降低冲突概率 • 监听载波 • 随机后退 • 尽量减小冲突带来影响--减小冲突窗口 • 分时槽 • 监听载波 • 冲突检测 • 减少用户发送延迟 • 发送延迟:从准备发送到正确发送数据的时间间隔 • 降低冲突概率 • 减小冲突持续时间

  47. 4.3.2 无冲突协议 • 预定协议--信道申请 • 自定方式 • 用特定信息指挥发送

  48. 无冲突协议— • 令牌环 TCU TCU TCU SD AC ED 令牌 SD AC AC ED 数据帧

  49. 无冲突协议 • 轮询方式 从 从 从 主 从

  50. 无冲突协议 • 预定协议--信道申请 • 在信道访问前先申请(预定)信道,然后按序访问 • 争用时隙的作用 • 发送站在自己的争用时隙中置位 • 在争用时隙结束后,各发送站按顺序发送 • 基本位图:建立争用时隙与站点的映射 (图4-6)

More Related