CSMA/XX Protocols Emmanuel Fleury Distributed System and Semantic Group Aalborg University – BRICS Denmark CSMA/XX Protocols – p.1/17
� ✁ ✂ ✄ CSMA Definition S S S S Medium CSMA = Carrier Sense Multi Access Describe the hardware model (medium, sources). CSMA/XX Protocols – p.2/17
� ✁ ✂ ✄ CSMA Definition S S S S Medium CSMA = Carrier Sense Multi Access Describe the hardware model (medium, sources). CS (Carrier Sense): Sources can sense the medium without modifying the signal. CSMA/XX Protocols – p.2/17
✄ � ✁ ✂ CSMA Definition S S S S Medium CSMA = Carrier Sense Multi Access Describe the hardware model (medium, sources). CS (Carrier Sense): Sources can sense the medium without modifying the signal. MA (Multi Access): Several sources can access to the medium in the same time. CSMA/XX Protocols – p.2/17
CSMA General Protocol enum bus = {idle,busy} timer t; message m,m; CSMA/XX Protocols – p.3/17
CSMA General Protocol enum bus = {idle,busy} timer t; message m,m; Wait CSMA/XX Protocols – p.3/17
CSMA General Protocol enum bus = {idle,busy} timer t; message m,m; Wait ?m Sense CSMA/XX Protocols – p.3/17
CSMA General Protocol enum bus = {idle,busy} timer t; message m,m; Wait bus!=idle , ?m t:=rand() Random Sense Wait timeout(t) CSMA/XX Protocols – p.3/17
CSMA General Protocol enum bus = {idle,busy} timer t; message m,m; Wait bus!=idle , ?m t:=rand() Random Emit Sense Wait bus==idle timeout(t) CSMA/XX Protocols – p.3/17
CSMA General Protocol enum bus = {idle,busy} timer t; message m,m; Wait bus!=idle , ?m !m t:=rand() Random Emit Sense Wait bus==idle timeout(t) CSMA/XX Protocols – p.3/17
XX (Collision Resolution) But , this general algorithm doesn’t fit with some hardware constraints. We have to modify slightly the CSMA protocol for each specific case. For example, the protocol used to resolve collisions (signal collision) is different from one hardware to another. CSMA/XX Protocols – p.4/17
XX (Collision Resolution) But , this general algorithm doesn’t fit with some hardware constraints. We have to modify slightly the CSMA protocol for each specific case. For example, the protocol used to resolve collisions (signal collision) is different from one hardware to another. Several protocols are based on CSMA: CSMA/CD (Collision Detection) CSMA/CA (Collision Avoidance) CSMA/DCR (Deterministic Collision Resolution) . . . CSMA/XX Protocols – p.4/17
CSMA/CD History CSMA/XX Protocols – p.5/17
CSMA/CD History 1973 Ethernet (3 Mbps) (Bob Metcalf at Palo Alto Xerox Research Center), CSMA/XX Protocols – p.5/17
CSMA/CD History 1973 Ethernet (3 Mbps) (Bob Metcalf at Palo Alto Xerox Research Center), 1978 Ethernet (10 Mbps) (DEC, Intel, Xerox), CSMA/XX Protocols – p.5/17
CSMA/CD History 1973 Ethernet (3 Mbps) (Bob Metcalf at Palo Alto Xerox Research Center), 1978 Ethernet (10 Mbps) (DEC, Intel, Xerox), 1979 3Com Corp. foundation (Bob Metcalf), CSMA/XX Protocols – p.5/17
CSMA/CD History 1973 Ethernet (3 Mbps) (Bob Metcalf at Palo Alto Xerox Research Center), 1978 Ethernet (10 Mbps) (DEC, Intel, Xerox), 1979 3Com Corp. foundation (Bob Metcalf), 1985 IEEE 802.3 (Ethernet, 10 Mbps) ISO norm, CSMA/XX Protocols – p.5/17
CSMA/CD History 1973 Ethernet (3 Mbps) (Bob Metcalf at Palo Alto Xerox Research Center), 1978 Ethernet (10 Mbps) (DEC, Intel, Xerox), 1979 3Com Corp. foundation (Bob Metcalf), 1985 IEEE 802.3 (Ethernet, 10 Mbps) ISO norm, 1995 IEEE 802.3u (Fast Ethernet, 100 Mbps) ISO norm, CSMA/XX Protocols – p.5/17
CSMA/CD History 1973 Ethernet (3 Mbps) (Bob Metcalf at Palo Alto Xerox Research Center), 1978 Ethernet (10 Mbps) (DEC, Intel, Xerox), 1979 3Com Corp. foundation (Bob Metcalf), 1985 IEEE 802.3 (Ethernet, 10 Mbps) ISO norm, 1995 IEEE 802.3u (Fast Ethernet, 100 Mbps) ISO norm, 1999 IEEE 802.3z (Gigabit Ethernet, 1 Gbps) ISO norm. CSMA/XX Protocols – p.5/17
CSMA/CD Hypothesis Facts CSMA/XX Protocols – p.6/17
CSMA/CD Hypothesis Facts 1. Medium = Copper Wire (AUI, BNC, RJ45), CSMA/XX Protocols – p.6/17
CSMA/CD Hypothesis Facts 1. Medium = Copper Wire (AUI, BNC, RJ45), 2. Signal = Electrical Signal (Manchester Code), CSMA/XX Protocols – p.6/17
CSMA/CD Hypothesis Facts 1. Medium = Copper Wire (AUI, BNC, RJ45), 2. Signal = Electrical Signal (Manchester Code), 3. Sources = Ethernet Network Cards. CSMA/XX Protocols – p.6/17
CSMA/CD Hypothesis Facts 1. Medium = Copper Wire (AUI, BNC, RJ45), 2. Signal = Electrical Signal (Manchester Code), 3. Sources = Ethernet Network Cards. Synthesis CSMA/XX Protocols – p.6/17
✄ CSMA/CD Hypothesis Facts 1. Medium = Copper Wire (AUI, BNC, RJ45), 2. Signal = Electrical Signal (Manchester Code), 3. Sources = Ethernet Network Cards. Synthesis 1. Diffusion takes time (signal speed about ), �✂✁ ✄✆☎ CSMA/XX Protocols – p.6/17
✄ CSMA/CD Hypothesis Facts 1. Medium = Copper Wire (AUI, BNC, RJ45), 2. Signal = Electrical Signal (Manchester Code), 3. Sources = Ethernet Network Cards. Synthesis 1. Diffusion takes time (signal speed about ), �✂✁ ✄✆☎ 2. Asynchronous model, CSMA/XX Protocols – p.6/17
✄ CSMA/CD Hypothesis Facts 1. Medium = Copper Wire (AUI, BNC, RJ45), 2. Signal = Electrical Signal (Manchester Code), 3. Sources = Ethernet Network Cards. Synthesis 1. Diffusion takes time (signal speed about ), �✂✁ ✄✆☎ 2. Asynchronous model, 3. Sources can both sense and emit in the same time, CSMA/XX Protocols – p.6/17
✄ CSMA/CD Hypothesis Facts 1. Medium = Copper Wire (AUI, BNC, RJ45), 2. Signal = Electrical Signal (Manchester Code), 3. Sources = Ethernet Network Cards. Synthesis 1. Diffusion takes time (signal speed about ), �✂✁ ✄✆☎ 2. Asynchronous model, 3. Sources can both sense and emit in the same time, 4. Collision can be detected, CSMA/XX Protocols – p.6/17
✄ CSMA/CD Hypothesis Facts 1. Medium = Copper Wire (AUI, BNC, RJ45), 2. Signal = Electrical Signal (Manchester Code), 3. Sources = Ethernet Network Cards. Synthesis 1. Diffusion takes time (signal speed about ), �✂✁ ✄✆☎ 2. Asynchronous model, 3. Sources can both sense and emit in the same time, 4. Collision can be detected, 5. Medium has three modes ( idle , busy , jammed ). CSMA/XX Protocols – p.6/17
CSMA/CD WRONG Algorithm Trying to apply CSMA general algorithm enum bus = {idle,busy,jammed} timer t; message m,m; Wait bus!=idle , ?m !m t:=rand() Random Emit Sense Wait bus==idle timeout(t) CSMA/XX Protocols – p.7/17
✁ � ✄ ✂ ✁ � ✄ ✂ What’s WRONG ? S ,S ,S ,S Wait bus!=idle , ?m !m t:=rand() Random Emit Sense Wait bus==idle timeout(t) S S S S Idle CSMA/XX Protocols – p.8/17
✄ � ✄ ✂ ✂ ✁ � ✁ What’s WRONG ? S ,S Wait bus!=idle , ?m !m t:=rand() Random S ,S Emit Sense Wait bus==idle timeout(t) S S S S ? ? Idle CSMA/XX Protocols – p.8/17
✂ ✁ ✄ ✂ ✁ � � ✄ What’s WRONG ? S ,S Wait bus!=idle , ?m !m S t:=rand() Random S Emit Sense Wait bus==idle timeout(t) S S S S ? Idle CSMA/XX Protocols – p.8/17
✂ ✁ ✄ ✂ ✁ � ✄ � What’s WRONG ? S ,S Wait bus!=idle , ?m !m S ,S t:=rand() Random Emit Sense Wait bus==idle timeout(t) S S S S Idle CSMA/XX Protocols – p.8/17
✂ ✁ ✄ ✂ ✁ � ✄ � What’s WRONG ? S ,S Wait bus!=idle , ?m !m S ,S t:=rand() Random Emit Sense Wait bus==idle timeout(t) S S S S Jammed Idle CSMA/XX Protocols – p.8/17
CSMA/CD REAL Algorithm enum bus = {idle,busy,jammed} timer t; message m,m; const float d; // Time to go and back bus!=idle, t:=rand() Random ?m Wait Sense Wait timeout(t) !m bus==idle Emit CSMA/XX Protocols – p.9/17
CSMA/CD REAL Algorithm enum bus = {idle,busy,jammed} timer t; message m,m; const float d; // Time to go and back bus!=idle, t:=rand() Random ?m Wait Sense Wait timeout(t) CSMA/XX Protocols – p.9/17
� CSMA/CD REAL Algorithm enum bus = {idle,busy,jammed} timer t; message m,m; const float d; // Time to go and back bus!=idle, t:=rand() Random ?m Wait Sense Wait bus==idle, timeout(t) t:=d Unsafe Emit (t<d) (bus==jammed), t:=rand() CSMA/XX Protocols – p.9/17
� CSMA/CD REAL Algorithm enum bus = {idle,busy,jammed} timer t; message m,m; const float d; // Time to go and back bus!=idle, t:=rand() Random ?m Wait Sense Wait bus==idle, !m timeout(t) t:=d Safe Unsafe Emit Emit timeout(t), (t<d) (bus==jammed), bus!=jammed t:=rand() CSMA/XX Protocols – p.9/17
✁ � CSMA/CD Mini-project What is expected: Groups of 2-3 people, Report of 4 or 5 pages, Deadline: 12 of April. Questions: Model this protocol for 2 sources in order to check the safety of the emission, Check that if the protocol is in the Safe Emit state, then the message can’t be jammed, Explain the differences between the untimed model and a timed model. Give some examples. CSMA/XX Protocols – p.10/17
CSMA/CA History CSMA/XX Protocols – p.11/17
CSMA/CA History 1990 IEEE Working Group on Wireless LAN CSMA/XX Protocols – p.11/17
Recommend
More recommend