280 likes | 294 Views
Understand how multiple stations share data cables using FDM, TDM, and StM. Learn about CSMA/CD protocols, cable types like CAT5 and CAT6, auto-negotiation, and IEEE 802.3 Ethernet formats.
E N D
Q and ACh. 14.6.2, Ch. 15 CS 332 Victor Norman
FDM, TDM, StM Here is what I’d like you to know: If multiple stations share a cable, they have to cooperate. • A pair can be assigned a frequency (Frequency Division Multiplexing). • Max # of frequencies, so that receiver can distinguish. • Time can be divided into slots and a pair can be assigned a slot. (Time Division Multiplexing) • Max # of slots. • If a slot is not used, it cannot be used for anything else. • Statistical Multiplexing: Packets queued up and sent when the cable is idle. • No setup phase; no fixed # of pairs; • But, unpredictable delays and possibility of dropping pkts.
Physical star, Logical bus Q: I don't understand how it is that twisted pair ethernet has a star topology physically, but has a bus topology logically. It seems like it would just be a star topology. How come devices attached to it see it as a bus? A: The devices attached have to assume it is a bus, so every packet sent can theoretically be seen by every device on the network. The switch/hub at the middle has to act like a bus – sending everything it receives to every other other device.
CSMA/CD • CS: carrier sense: listen before you transmit. • MA: multi-access: multiple machines share the medium. • CD: collision detection: listen while you transmit. • There is also collision avoidance (wifi uses it). • Exponential Backoff: how to recover from a collision.
Exponential Backoff Q: Why does it choose to use randomness and doubling delay time to recover from collisions? A: By doubling the maxbackoff time, the chances of the 2 machines sending again at the same time are lesser and lesser after each collision. Q: Is there a chance that the delay will be very long? (Since the range will be doubled if collision appears.) If there is, is there a solution? A: There is a chance, but it becomes a very very small chance. I don’t know if there is a general solution, or if a solution is required.
Thicknet, etc. Q: Is thicknet used today? A: No. Q: Why not? A: It is coax cable. It is more expensive and harder to snake through walls, etc.
Cables and speeds Q: How does a device know what type of cable is being used (CAT 5 or 6, etc.)? A: NICs nowadays do auto-negotiation. For 10/100 Mbps, only 4 of the 8 individual wires (two pair) in a Cat5e/6 cable are needed. 1000Mbps requires all 8 wires (four pair) to establish a connection. So, if you have the wrong kind of cable hooked up, 1000Mbps will fail. If a flaky/bad cable is used to connect the devices, you usually end up seeing poor performance due to the inability of the cable to correctly carry the electrical pulses. The endpoints will either auto-negotiate to a lower speed or will simply drop many frames.
Continued Some switches and devices are getting smart when it comes to detecting these conditions. Some switches will detect frame drop rates, and be able to isolate which wires/pins are having issues (1,2,3,6 or 4,5,7,8). If it can detect issues in this way, the switch may drop carrier and only allow carrier to be auto-negotiated to a slower speed. Wires 1,2,3,6 are required for 10/100Mbps connections, while pins 4,5,7,8 are used with 1000Mbps/PoE. (Thanks to Chris Wieringa for all of this…)
802.3 today? Q: What networks would use 802.3 Ethernet today? A: The split between IEEE 802.3 and DIX formatting was resolved with 802.3x. From then on, we call all Ethernet 802.3. See https://en.wikipedia.org/wiki/IEEE_802.3.
802.3 packet formats Various questions about the IEEE 802.3 formats, etc… An answer from the Intertubes: The whole thing is a terribly complex way to specify the 'next protocol' which is essentially the protocol contained in the ethernet frame.In most networks nowadays the type/length field in the ethernet header directly specifies the next protocol, such as 0x0800 (IP) or 0x0806 (arp). If the type/length field specifies the length instead of the type, then an 802.2 LLC header follows. 802.2 LLC can do many interesting things but basically it is the job of the 802.2 LLC header to then specify the next protocol.But wait, the 802.2 LLC header only specifies IEEE protocols. What if you want to run something non-IEEE? Then the 802.2 LLC header specifies the next protocol is SNAP, and a SNAP header follows the 802.2 LLC header. The SNAP header then FINALLY specifies the 'next protocol'. SNAP is basically an augmentation of 802.2 LLC to allow it to specify many many more 'next protocols' than it is capable of doing otherwise.Like I said, 802.2 LLC can do many different things, including connection-oriented service with acknowledgement at layer 2 (yep! Go look THAT up!). Also, when talking 802.2 LLC, the OSI model data link layer is essentially divided into two sub-layers (LLC on top and MAC below) which you NEVER see in any training or books nowadays, but for the most part it boils down to a complex way to specify next protocol.
Logical vs. Physical Topology Q: Can you explain Physical vs. Logical Topology more? A: Sure! As I’ve said, Ethernet assumes all machines are on a bus (coax cable was used first). But, most Ethernet is on twisted pair or fiber now – which does not support the bus paradigm. So, we need devices to make these point-to-point subnetworks act like a single bus network. Hubs and switches do that.
VLANs and Physical vs. Logical • A Virtual LAN really separates the physical topology from the logical topology. • Can put machines on one physical LAN (wire) into multiple VLANs. • Can put machines on multiple physical LANs into one VLAN. • These physical LANs could even be very far apart geographically.
Configuring a VLAN • Assigning a machine’s interface to a VLAN depends on physical topology. • Bus: have to configure the machine itself. • Switched (star): • Port-based VLANs: assign ports to VLANs and forward only to those in the same VLAN. • Or, MAC-based VLANs: assign MACs to VLANs. (Compare adv/disadv. of MAC-based vs. Port-based.) • And/or can alter the Ethernet frame, inserting the 802.1q header with the assigned VLAN before forwarding it. (trunking).
Hub / switch Q: Is a “hub” the same as a “switch”? A: No. A hub is a layer 1 device. • Repeats voltages from one port on all the others. A switch is a layer 2 device: • Knows about packets, queues them, retransmits them when there is a collision, learns where hosts are, etc.
Straight vs. Crossover Cables. Q: Why are their straight cables and crossover cables? A: There are two kinds of ports: ports on computers and ports on forwarding devices. A computer sends on pins 1,2 and a forwarding device expects to receive on 1,2. (etc). If you connect computer to computer or hub to hub (or switch to switch), you need a crossover. But, most devices auto-detect all this and adapt.
1500 bytes packets too small Q: Does the decision of a packet size of ~1500 bytes, made decades ago, hurt networks today? Wouldn’t it be better to use larger packet sizes to avoid having so much space used for headers? And will ethernet be the dominant technology used for the foreseeable future in quickly advancing environments, such as datacenters? A: There are “jumbo frames” – 9000 bytes. But, with 1500 byte frames, payload is about 97% of total – so not too bad.
Figure 15.2 Q: Can you explain Figure 15.2? A: This illustrates demultiplexing. • An Ethernet packet is received at a NIC. • The NIC accepts the packet because it has the proper destination MAC address in it. • The NIC passes it up to the operating system. • The OS needs to handle it – it could be an IP packet or ARP packet or … • The OS looks at the type field in the Ethernet header and then hands the packet to the proper module to handle the IP or ARP or ... packet.
Max/min payload size Q: Can a payload be less than or greater than 46 and 1000 bytes? A: No. The Ethernet packet must be at least 46 bytes and only up to 1500 bytes. Q (from Prof. Norman): How is this enforced? A: The device driver code pads out the payload to 46 bytes, and, (I think), returns an error to the caller if the payload is > 1500 bytes.
Detecting collision Q: The only thing I'm confused about right now is with CSMA/CD. I'm confused how it can actually detect that the signal was interrupted when there is a collision. A: How do you detect when you are interrupted? You hear someone else talking while you are talking. The NIC does the same.
Payload contents Q: I’m still confused about what is contained in the “payload” of an Ethernet frame? A: It is the data to be carried by the Ethernet frame to the destination machine. For us, almost always IPv4 packets.
Purpose of CRC Q: What is the purpose of the CRC? I read the footnote but am still a little confused. A: CRC is a “hash” of the bits of the message. The sender computes it and appends it to the message. The receiver computes it based on the contents and then compares to the one from the sender. If they disagree, the packet is garbage.
Preamble Q: What is the point of the Ethernet preamble? (64 bits of alternating 0s and 1s). A: I don’t know for sure, but it must be to allow the 2 machines to sync their clocks. (We didn’t look at how the bits are sent, but it has to do with voltages going up and down, which means both endpoints must be in sync.)
CSMA/CD Q: In CSMA/CD, when a new computer joins the network, how does it know that CSMA/CD is being used and does it have to wait until the wire is idle to ask for an IP address? A: An ethernet NIC only speaks ethernet on the wire, and ethernet uses CSMA/CD techniques. So, it waits until the “wire” is idle before sending anything.
Collisions Q: When a collision occurs in ethernet is part of the transmission lost? A: The whole transmission is essentially garbage, so, yes, the whole transmission is lost.
Demultiplexing Q: Does the 'type' field in the frame's header indicate whether to multiplex or demultiplex, or is the packet already demultiplexed and the header 'type' indicate which module to use (IP or ARP)? A: The type field is how layer 2 demultiplexesits packets. By checking the type field, it figures out which protocol handler it should call to handle the layer 2 payload (which is the layer 3 header and payload).
Demultiplexing (2) Q: Could you possibly give more detail on how the type field works? I don't understand how it allows multiple simultaneous protocols via multiplexing. A: When a NIC receives a packet for itself, it passes the packet up to software that handles layer 2. That software looks at the type field, so that it knows how the data in the payload (i.e., layer 3) is formatted. According to the value, it knows how to handle the packet. (http://en.wikipedia.org/wiki/EtherType)
Cables for different Ethernets Q: What are the differences in the cables used for 10BaseT, 100BaseT, and 1000BaseT? A: See p. 118 for more info on various cabling types. Some are cheapo wires. Some are shielded better. Some have more wires per connection, etc.