Lurk servers? Undersea Cables, if we didn't talk about it before Reminder: OSI Layers Data Link Layer: Communication between two adjacent machines Must tolerate errors (tolerance comes in many forms) Must deal with propegation delay Data layer takes packets from the network layer and sends frames over the physical layer - Diagram with two machines joined by physical layer Frames have a header, payload, and trailer Service possibilities (to network layer): - Unacknowledged, connectionless (Ethernet, reliable physical layer) - Acknowledged, connectionless (802.11) - Acknowledged, connection-oriented (frames are numbered, connection is tested, etc) + Connections can be made at higher layers... Frames (can) contain a checksum Frames: Some method must be made to determine when the end of a frame has arrived - Byte count, and missing bits - Flag bytes. An escape character is needed. "Byte Stuffing". Used for PPP + Message may grow - Or encode all data in a bigger way (like 5B/5B) - These can be combined + Ethernet and 802.11 use a lengthy preamble and a length Sequence numbers can be added even without connections Timers Flow Control - "wire speed" network cards and higher layers Let's catch some traffic: Wireshark Errors: Correction vs. Detection - Choice depends on reliability Example: Parity bits Hamming Distance and xor The task in principle: - message m is converted to n - Find the closest valid n to the one we have Hamming code example Detecting errors with Hamming Codes - Clever...but what about two bit errors? Hamming code with added parity There are other codes too - Convolutional: GSM, 802.11, Voyager - Reed-Soloman DSL: Cable Internet, Satellites, Optical Disks - LDPC (Low Density Parity Check): 10G Ethernet, powerline networks, 802.11 Ethernet is 802.3 - Anybody care to guess how many ethernet standards there are? - Wikipedia... - Physical layer: Some standards work on some physical layers - The Cat 7 story 802.11 standards - Same kinda thing, but physical media is always EM - Antennas vary Media Access Control sublayer Part of the dynamic link layer, but sub-part Main Challenge: Who talks? Last chapter is good for point to point, two parties, like ADSL, SONET Silly scheme: Divide bandwidth by users Either meaning of bandwidth "Bursty" traffic Assumptions: - Independent Traffic - Single Channel (raise hands example) + If there are two channels, they should both be used for data. - Observable collisions, or unobservable collisions (wireless) - Continuous or slotted time - Carrier sense, or no carrier sense (ability to sense traffic) + Usually available with wired, not always with wireless ALOHA: - Base station communicates with islands in Hawaii - Worse case for a lot of the assumptions - Stations can't hear each other, just the base station - Base station transmits received frames, for collision detection - No carrier sense - No collision detection, other than received frames - Non-slotted (originally), collision ruins frames - Utilization: 18% assuming Poisson Distribution + Is this a good assumption? + Not for a home network, probably + Better assumption with more users - Adding slots helps a lot, about doubles utilization. Carrier sense would help more Adding Carrier Sense: - Usually available for wired, sometimes/unreliably for wireless - Wait for transmissions to finish before sending + What if lots of senders are waiting? - Propegation delay, two may collide and not know for a moment - Potential senders poll the channel for utilization + persistant, non-persistant, p-persistant - Book utilization picture - Adding collision detection: Stop right away if a collision is detected + Not usually availiable with wireless Avoiding Collisions Completely: - Token Ring - Switched Ethernet A Geometry note: Think about classic (non-switched) ethernet Computers don't all have to be connected to the hub! - All in a chain with thick or thin ethernet - Token ring: Same thing Layer 2 switches: Data link layer links devices No IP addresses at layer 2! Looking at them would be a layering violation A layer 2 switch is a drop-in hub replacement! - It doesn't have a MAC address Bridging: Make a "pretend wire" that goes a long ways Expanding this concept: VLANs