Download Understanding Ethernet: OSI Model, Framing, Error Detection, and Security and more Study notes Computer Science in PDF only on Docsity!
CIS 551 / TCOM 401
Computer and Network
Security
Spring 2010
Lecture 6
Open Systems Interconnection (OSI) Application Presentation Session Transport Network Data Link Physical End Host (^) Reference model – not actual implementation. Transmits messages (e.g. FTP or HTTP) Data format issues (e.g. big- vs. little-endian) Manages multiple streams of data Process to process protocols Routes packets among nodes in network Packages bit streams into frames Transmits raw bits over link
Open Systems Interconnection (OSI) Application Presentation Session Transport Network Data Link Physical End Host (^) Reference model – not actual implementation. Transmits messages (e.g. FTP or HTTP) Data format issues (e.g. big- vs. little-endian) Manages multiple streams of data Process to process protocols Routes packets among nodes in network Packages bit streams into frames Transmits raw bits over link
Framing
- Need a way to send blocks of data.
- How does the network adapter detect when the sequence begins and ends?
- Are there transmission errors in the data?
- Frames are link layer unit of data transmission
- Byte oriented vs. Bit oriented
- Point-to-point (e.g. PPP) vs. Multiple access (Ethernet)
Problem: Error Detection & Correction
- Bit errors may be introduced into frames
- Electrical interference
- Thermal noise
- Could flip one bit or a few bits independently
- Could zero-out or flip a sequence of bits ( burst error )
- How do you detect an error?
- What do you do once you find one?
Error Detection
- General principal: Introduce redundancy
- Trivial example: send two copies
- High overheads: 2n bits to send n
- Won’t detect errors that corrupt same bits in both copies
- How can we do better?
- Minimize overhead
- Detect many errors
- General subject: error detecting codes
Cyclic Redundancy Check
- Reading: Wikipedia entry on CRC
- Used in link-level protocols
- CRC-32 used by Ethernet, 802.5, PKzip, …
- CRC-CCITT used by HDLC
- CRC-8, CRC-10, CRC-32 used by ATM
- Better than parity or checksum
- (e.g. 32 bits to send 12000)
- Simple to implement
Error Correction Codes
- Redundant information can be used to correct some errors
- Typically requires more redundancy
- Tradeoffs:
- Error detection requires retransmission
- Error correction sends more bits all the time
- Forward Error Correction is useful:
- When errors are likely (e.g. wireless network)
- When latency is too high for retransmission (e.g. satellite link)
IEEE 802 network standards
The IEEE 802 committee produces standards & specifications for Local Area Networks (LAN):
- 802.3 CSMA/CD Networks (Ethernet)
- 802.4 Token Bus Networks
- 802.5 Token Ring Networks
- 802.6 Metropolitan Area Networks
- 802.11 Wireless LAN (Wifi) [Thursday]
Ethernet (802.3)
- A standard for local area networks (LAN)
- Developed in mid-70’s at Xerox PARC
- Descendent of Aloha, a U. of Hawaii radio packet network
- DEC, Intel, and Xerox standard: 1978 for 10Mbps
- IEEE 802.3 standard grew out of that
- Physical implementations:
- 10Base5, 10BaseT, 100BaseT, 1000BaseT…
- Speed: 10Mbps,100Mbps, 1000Mbps, …
Ethernet topologies
Host 10Base5 topology Hub Hub 10BaseT topology Repeater
How the ethernet works
- The Ethernet link is shared
- A signal transmitted by one host reaches all hosts
- Method of operation: CSMA/CD
- Carrier Sense, Multiple Access, with Collision Detection
- Hosts competing for the same link are said to be in the same collision domain - Good news: easy to exchange data - Bad news: have to regulate link access
- Procotol: Media Access Control (MAC)
Ethernet Frame Format
- Preamble – repeating pattern of 0’s & 1’s
- Used by receiver to synchronize on signal
- Dest and Src – Ethernet Addresses
- Type – demultiplexing key
- Identifies higher-level protocol
- Body – payload
- Minimum 46 Bytes
- Maximum 1500 Bytes Preamble Dest Src Type Body CRC 64 48 48 16 32
Addresses in an ethernet frame
- All bits = 1 indicates a broadcast address
- First bit = 0 indicates unicast address
- Sent to only one receiver
- First bit = 1 indicates multicast address
- Sent to a group of receivers