15-441 Computer NetworkingBrainstormingProblem 1 – Sharing a WireProblem 2 – Listen and TalkSlide 5Slide 6Prob. 3 – Who is this packet for?OutlineMAC Protocols: A TaxonomyRandom Access ProtocolsAloha – Basic TechniqueSlotted AlohaPure (Unslotted) ALOHASlide 14EthernetEthernet MAC – Carrier SenseEthernet MAC – Collision DetectionEthernet MAC (CSMA/CD)Ethernet’s CSMA/CD (more)Ethernet Backoff CalculationSlide 21CollisionsMinimum Packet SizeEthernet Collision DetectEnd to End DelayPacket Size10BaseT and 100BaseTGbit EthernetSlide 29Ethernet Frame StructureEthernet Frame Structure (cont.)Slide 32Addressing AlternativesSlide 34Slide 35“Taking Turns” MAC ProtocolsToken RingsWhy Did Ethernet Win?Why Ethernet?SummaryTeaching Philosophy*15-441 Computer NetworkingLecture 7 – EthernetLecture 7: 9-19-06 2Brainstorming•One of class goals: learning how to design systems•Take a look at problem and come up with your own solutions first look at actual designs later•Learn to appreciate solution tradeoffs•Build confidence in your skillsLecture 7: 9-19-06 3Problem 1 – Sharing a Wire•… But what if we want more hosts?•Expensive! How can we share a wire?SwitchesWires for everybody!Learned how to connect hostsLecture 7: 9-19-06 4Problem 2 – Listen and Talk•Natural scheme – listen before you talk…•Works well in practiceyak yak…Lecture 7: 9-19-06 5Problem 2 – Listen and Talk•Natural scheme – listen before you talk…•Works well in practiceyada yada…Lecture 7: 9-19-06 6Problem 2 – Listen and Talk•Natural scheme – listen before you talk…•Works well in practice•But sometimes breaks down•Why? How do we fix/prevent this?yada yada…yak yak…Lecture 7: 9-19-06 7Prob. 3 – Who is this packet for?•Need to put an address on the packet•What should it look like?•How do you determine your own address?•How do you know what address you want to send it to?Lecture 7: 9-19-06 8Outline •Aloha•Ethernet MAC•Collisions•Ethernet Frames•“Taking Turns” MAC and Other LANsLecture 7: 9-19-06 9MAC Protocols: A TaxonomyThree broad classes:•Channel partitioning•Divide channel into smaller “pieces” (time slots, frequency)•Allocate piece to node for exclusive use•Random access•Allow collisions•“Recover” from collisions•“Taking turns”•Tightly coordinate shared access to avoid collisionsGoal: efficient, fair, simple, decentralizedLecture 7: 9-19-06 10Random Access Protocols•When node has packet to send•Transmit at full channel data rate R•No a priori coordination among nodes•Two or more transmitting nodes “collision”•Random access MAC protocol specifies: •How to detect collisions•How to recover from collisions (e.g., via delayed retransmissions)•Examples of random access MAC protocols:•Slotted ALOHA•ALOHA•CSMA and CSMA/CDLecture 7: 9-19-06 11Aloha – Basic Technique•First random MAC developed•For radio-based communication in Hawaii (1970)•Basic idea:•When you’re ready, transmit•Receiver’s send ACK for data•Detect collisions by timing out for ACK•Recover from collision by trying after random delay•Too short large number of collisions•Too long underutilizationLecture 7: 9-19-06 12Slotted Aloha•Time is divided into equal size slots (= pkt trans. time)•Node (w/ packet) transmits at beginning of next slot •If collision: retransmit pkt in future slots with probability p, until successfulSuccess (S), Collision (C), Empty (E) slotsLecture 7: 9-19-06 13Pure (Unslotted) ALOHA•Unslotted Aloha: simpler, no synchronization•Pkt needs transmission:• Send without awaiting for beginning of slot•Collision probability increases:•Pkt sent at t0 collide with other pkts sent in [t0-1, t0+1]Lecture 7: 9-19-06 14Outline •Aloha•Ethernet MAC•Collisions•Ethernet Frames•“Taking Turns” MAC and Other LANsLecture 7: 9-19-06 15Ethernet•First practical local area network, built at Xerox PARC in 70’s•“Dominant” LAN technology: •Cheap•Kept up with speed race: 10, 100, 1000 Mbps Metcalfe’s EthernetsketchLecture 7: 9-19-06 16Ethernet MAC – Carrier Sense•Basic idea:•Listen to wire before transmission•Avoid collision with active transmission•Why didn’t ALOHA have this?•In wireless, relevant contention at the receiver, not sender•Hidden terminal•Exposed terminalNYCMUChicagoSt.LouisChicagoCMUNYHidden ExposedLecture 7: 9-19-06 17Ethernet MAC – Collision Detection•Note: ALOHA has collision detection also, should really be called “Fast Collision Detection”•Basic idea:•Listen while transmitting•If you notice interference assume collision•Why didn’t ALOHA have this?•Very difficult for radios to listen and transmit•Signal strength is reduced by distance for radio•Much easier to hear “local, powerful” radio station than one in NY•You may not notice any “interference”Lecture 7: 9-19-06 18Ethernet MAC (CSMA/CD)Packet?Sense CarrierDiscard PacketSendDetect CollisionJam channel b=CalcBackoff(); wait(b);attempts++;NoYesattempts < 16attempts == 16•Carrier Sense Multiple Access/Collision DetectionLecture 7: 9-19-06 19Ethernet’s CSMA/CD (more)Jam Signal: make sure all other transmitters are aware of collision; 48 bits; Exponential Backoff: •If deterministic delay after collision, collision will occur again in lockstep•Why not random delay with fixed mean?•Few senders needless waiting•Too many senders too many collisions •Goal: adapt retransmission attempts to estimated current load•heavy load: random wait will be longerLecture 7: 9-19-06 20Ethernet Backoff Calculation•Exponentially increasing random delay•Infer senders from # of collisions•More senders increase wait time•First collision: choose K from {0,1}; delay is K x 512 bit transmission times•After second collision: choose K from {0,1,2,3}…•After ten or more collisions, choose K from {0,1,2,3,4,…,1023}Lecture 7: 9-19-06 21Outline •Aloha•Ethernet MAC•Collisions•Ethernet Frames•“Taking Turns” MAC and Other LANsLecture 7: 9-19-06 22CollisionsTimeA B CLecture 7: 9-19-06 23Minimum Packet Size•What if two people sent really small packets•How do you find collision?Lecture 7: 9-19-06 24Ethernet Collision Detect•Min packet length > 2x max prop delay•If A, B are at opposite sides of link, and B starts one link prop delay after A•Jam network for 32-48 bits after collision, then stop
View Full Document