1 / 71

Spring 2006 EE 5304/EETS 7304 Internet Protocols

Spring 2006 EE 5304/EETS 7304 Internet Protocols. 1-24-2006. Tom Oh Dept of Electrical Engineering taehwan@engr.smu.edu. Administrative Issues. Course Website: www.engr.smu.edu/eets/7304 Obtain lectures, video clip, syllabus, homework and homework solutions

Download Presentation

Spring 2006 EE 5304/EETS 7304 Internet Protocols

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Spring 2006 EE 5304/EETS 7304 Internet Protocols 1-24-2006 Tom Oh Dept of Electrical Engineering taehwan@engr.smu.edu

  2. Administrative Issues • Course Website: www.engr.smu.edu/eets/7304 • Obtain lectures, video clip, syllabus, homework and homework solutions • Please fill out the Student Information Sheet and email it to me as soon as possible. • If you have any question regarding DVD delivery and other adminstrative issues, please contact Gary McClesky (garym@engr.smu.edu, 214-768-3108). • TA: Mr. Poonawala will be my TA for this semester.

  3. Grade • Because of huge enrollment in this class, I will not include final report as a part of your semester grade. So final grade will consists of three test grades only. • Grade distribution: • Test 1: 30% • Test 2: 30% • Test 3: 40% • Homework will not be part of your grade. • All tests will be close notes and books.

  4. Grade (cont) • Test Dates • Test 1 : Feb. 28 (Materials from week 1, 2, 3, 4, 5) • Test 2 : Apr. 4 (Materials from week 6, 7, 8, 10 and 11) • Week 9 is Spring Break • Test 3: Final week (May 5- 11) (Materials from week 12, 13, 14, 15 and 16)

  5. DVD and Distance Learning Students • DVD and DLS students will have additional week to finish the test. For example, DVD students must take Test 1 by Mar. 7. • For DVD and DLS students: If you don’t have proctor at your site, please ask Gary McClesky about test proctor in your area.

  6. Outline • Types of networks • History • Standards • Terminology • OSI protocol reference model • Text Book (Comer): Ch. 16 Protocols and Layering: pg. 251-pg. 269 • Protocol layering principles • Text Book (Comer): Ch. 16 Protocols and Layering: pg. 251-pg. 269

  7. Outline (cont) • TCP/IP protocol architecture • Text Book (Comer): Ch. 17 Internetworking: Concepts, Architecture, and Protocols: pg. 273-283) • B-ISDN protocol reference model

  8. OSI Protocol Reference Model (cont) • 7 layers: 7. Application layer • User program that generates or uses data • What the user sees 6. Presentation layer • Changes syntax (data format) of information, as necessary 5. Session layer • Establishes and synchronizes sessions (dialogues) between applications

  9. OSI Protocol Reference Model (cont) 4. Transport layer • Reliable end-to-end transfer of information between users • Establishes and manages connections between users • Segments and reassembles information to/from subnet • End-to-end error recovery and flow control

  10. OSI Protocol Reference Model (cont) 3. Network layer • Establishes and manages connections through network • Carries packets from source to destination by routing between nodes • Congestion control

  11. OSI Protocol Reference Model (cont) 2. Data link layer • Reliable error-free transmission on link, with flow control and synchronization • Organizes bits into frames, adds acknowledgements and retransmissions • MAC sublayer: controls access to shared medium (ie, in LANs) 1. Physical layer • Point-to-point transmission of unstructured bitstream • Depends on physical medium

  12. OSI Layering Principles • Layers are independent and strictly vertical • Each layer provides services to next higher layer and use services from next lower layer • “Protocol entities" are active in each layer • “Peer entities" in same layer communicate with each other • To send, data is passed down the layers, each layer adds protocol information (eg, header)

  13. OSI Layering Principles (cont) • To receive, data is passed up the layers, each layer removes protocol information • Protocol defines how the information is used between peer entities in same layer

  14. Difficulties with OSI Model • Not best or only way to divide layers • Session and presentation layers are often minor, network layer is complex • Not followed exactly in practice, more useful as reference • Error control and flow control are repeated in different layers • Not obvious which layer is responsible for encryption, network management, internetworking • OSI model is strictly vertical: all networks conform to single standard protocol in each layer

  15. TCP/IP Protocol Architecture • 1974 DoD standardized protocol suite for connecting other networks to ARPAnet • Internetworking is very important design consideration

  16. TCP/IP Protocol Architecture (cont) • 4 layers: 4. Application layer • Telnet, ftp, SMTP, SNMP, HTTP • Corresponds to OSI layers 6-7, some 5 3. Transport (host-host) layer • Allows end-to-end communication • Connection establishment, error control, flow control • Transmission control protocol (TCP), user datagram protocol (UDP) • Corresponds to OSI layers 4, some 5

  17. TCP/IP Protocol Architecture (cont) 2. Internet layer • Route data between different networks • Includes addressing, segmentation/reassembly, error control • Implemented in gateways and routers • Internet protocol (IP) • IP packet is basic data unit in Internet • Roughly corresponds to OSI layer 3

  18. TCP/IP Protocol Architecture (cont) 1. Network access (host-to-network) layer • Lets host pass data to network with flow control, error control, priority, security • Corresponds to OSI layers 1-2, some 3 • Can be any protocol (eg, Ethernet, ATM, X.25) to carry IP packets

  19. OSI vs TCP/IP Models • OSI model can be generally applied to most protocol suites, TCP/IP model is specific to Internet • Hierarchy versus layering • OSI does not allow different protocols in same layer • OSI allows interactions only between adjacent layers

  20. OSI vs TCP/IP Models (cont) • TCP/IP recognizes importance of internetworking different networks • Internetworking was inserted into OSI model as sublayer in layer 3 • TCP/IP recognizes importance of connectionless service • OSI model recognizes only connection-oriented transport layer

  21. B-ISDN Protocol Reference Model • 3 planes: • User plane: protocols for user data • Control plane: protocols for control (signaling) data • Management plane: protocols for management data (e.g., OAM)

  22. B-ISDN Protocol Reference Model (cont) • 4 layers in user plane: 4. Services • Originally Class A, B, C, D (obsolete) • Now CBR, real-time and nonreal-time VBR, ABR, UBR 3. ATM adaptation layer (AAL) • Originally AAL 1, 2, 3, 4 corresponding to services classes A, B, C, D • Now AAL1, AAL2, AAL3/4, AAL5 • Translate user data into ATM cells

  23. B-ISDN Protocol Reference Model (cont) • 2 sublayers: • Convergence sublayer (CS): service-specific • Segmentation and reassembly (SAR): divides user messages into 48-byte cell payloads and recombines at receiver 2. ATM layer • Connection-oriented transfer of ATM cells (53-byte packets) across network • Establish, maintain, and terminate virtual connections • Routing and congestion control

  24. B-ISDN Protocol Reference Model (cont) • 1. physical (transmission) layer • Physical signal and framing, e.g., SONET • Assumed to be digital, highly reliable, low bit errors

  25. Wrap Up • Protocol layering is a central design principle in all modern networks, although approaches may differ in some aspects • Examples: OSI reference model, TCP/IP protocol suite • While TCP/IP is prevalent in practice, OSI reference model provides a common conceptual understanding and terminology

  26. Spring 2006 EE 5304/EETS 7304 Internet Protocols Data Link Layer, Error Detection, ARQ Tom Oh Dept of Electrical Engineering taehwan@engr.smu.edu

  27. Outline • Data link layer • Error detection • Stop-and-wait ARQ • Go-back-N ARQ • Selective repeat ARQ

  28. Data Link Layer (OSI Layer 2) Layer 3 Network - Routing, congestion control - Hides details of physical layer from network - Adds reliability, synchronization, flow control Data link Layer 2 - Unguaranteed, unstructured bitstream transmission on physical channel - Electrical/optical/radio Physical Layer 1

  29. Data Link Layer (cont) • Adds synchronization (framing), reliability (error control), and flow control • Depends on quality of physical layer • Eg, wireless links are unreliable needing strong error control, optical fiber links are very reliable needing little error control • Framing • Break bitstream into identifiable frames • Frame = block of data + control info. (frame header/trailer)

  30. Framing • Break bitstream into identifiable frames = block of data + control info. (frame header/trailer) • Commonly use special byte pattern (eg, 01111110) to mark beginning and end of frame • Same byte can mark end of one frame and start of next Frame Frame B E B E Node Node

  31. Framing (cont) • What if this byte pattern appears in data? • Bit stuffing: insert 0 bit after every 5 consecutive 1's • Receiver recognizes this pattern and deletes the stuffed 0 bit • Pattern of 6 consecutive 1's can only mean frame beginning/end • More than 6 consecutive 1's is illegal condition

  32. Error Control • To detect random bit errors and possibly correct them • Bit errors can cause lost frame (unrecognizable frame) or errored frame (certain bits are wrong) • Commonly handled by ARQ (automatic repeat request) schemes involving error detection + acknowledgements + retransmissions per frame • Stop-and-wait ARQ • Go-back-N ARQ • Selective-reject (selective repeat) ARQ

  33. Error Control (cont) • Error control = error detection or error correction • Typically only detection -- more efficient to retransmit (ARQ- automatic repeat request) than correct (FEC- forward error correction) if bit error rate is low • ARQ involves overhead cost per packet + costs for ACKs + costs for retransmissions, but retransmissions will be rare if bit error rate is low • FEC requires more code bits per frame → more overhead cost for every packet even if no errors • Error correction must be used when retransmissions cannot be requested, e.g., simplex links, deep space, audio CDs

  34. Error Control (cont) • In ARQ schemes, acknowledgements can be positive or negative • Positive acknowledgement: ACK only frames received error-free • No ACK means need to retransmit • Sender will retransmit frame after time-out • Could be slow to respond to lost frame • Lost ACKS → unnecessary retransmissions

  35. Error Control (cont) • Negative acknowledgement (NACK): NACK only errored frames • NACK means need to retransmit • Saves bandwidth if errors are rare • What if NACK is lost? • Possible complications • Or both positive + negative acks • Sender will retransmit for NACK or lost ACK/NACK

  36. Error Detection • For data of m bits, add an error check of r bits • Error check includes some redundancy of data enough to detect errors but not which error • n-bit codeword = m data bits + r error check bits m data bits r check bits 2m “legal” codewords

  37. Hamming Distance • Hamming distance = minimum number of bit errors to change legal codeword into another legal codeword • To detect d errors, need distance (d+1) code • Takes d+1 or more bit errors to receive legal codeword that was another codeword originally • To correct d errors, need distance (2d+1) code • With d or fewer errors, can always look for closest legal codeword

  38. Hamming Distance (cont) • Eg, codewords: 0000000000, 0000011111, 1111100000, 1111111111 • Distance = 5 → detect up to 4 bit errors C1 C2 5 Up to 4 bit errors are detectable as illegal codewords 4 distance = 5 C3 C4 Codewords 5

  39. Hamming Distance (cont) • Codewords: 0000000000, 0000011111, 1111100000, 1111111111 • Distance = 5 → correct up to 2 bit errors C1 C2 2 2 Up to 2 bit errors are correctable to nearest legal codeword distance = 5 5 C3 C4 Codewords 5

  40. Single (even) Parity Bit • Parity=0 if number of 1 bits in data is even, parity=1 if number is odd (ie, parity bit = binary addition of data bits modulo 2) • Valid codewords should always have even number of 1’s • Distance = 2 code → can detect single bit errors (or odd number of bit errors), no error correction • For long frames or bursty errors, even or odd number of bit errors are equally likely → about equally likely to detect errors as not

  41. Received codewords: Example: legal illegal 0000 0001 0011 0010 transmission 0101 0100 3 bits parity bit 0110 0111 1001 1000 1010 1011 1100 1101 → 23 legal codewords out of 24 possible codewords 1111 1110 Single bit error will change valid word into an invalid word (detectable); double bit error will change valid word into another valid word (undetectable)

  42. Bit-Interleaved Parity (BIP-N) • 1st error check bit = parity bit over 1st bits of all N-bit sequences • 2nd error check bit = parity bit over 2nd bits of all N-bit sequences, etc. • Better for detecting bursts, eg, an error burst of length up to N is easily detected

  43. Horizontal/Vertical Parity Checks • Arrange data in M x N array, calculate parity bits for M rows and N columns • Lower right corner can be parity check over column or row parity bits

  44. Horizontal/Vertical Parity Checks (cont) • Distance = 4 code • Can detect odd number of bit errors in any row or column • Can detect up to 3 bit errors and correct any single bit error • But any rectangular pattern of 4 bit errors is undetectable

  45. IP Example • Internet protocol (IP) checksum • Checksum field is included in IP packet header for error detection • View packet as sequence of 16-bit words, add up all words using ones complement arithmetic • Errors are detected if checksum in header does not match with calculated checksum • Relatively weak error detection but simple implementation • eg, misordering of 16-bit words is not detectable

  46. Cyclic Redundancy Check (CRC) or Polynomial Codes • k-bit string is viewed as coefficients of (k-1)-degree polynomial, eg, 1011 represents 3rd-degree 1x3 + 0x2 + 1x + 1 • All arithmetic is modulo 2, ie, XOR (binary addition/subtraction without carries/borrows) • Modulo 2 long division is like binary except subtraction is modulo 2 • Sender and receiver agree on r-degree generator polynomial G(x) • Both highest order bit and last bit are 1

  47. CRC (cont) • Compute r-bit checksum and append to m-bit data string such that resulting n-bit codeword is exactly divisible by G(x) • (1) append r zeros to end of m-bit data string M(x) to get (m+r) bits representing xrM(x) • (2) divide (modulo 2) xrM(x) by G(x) • (3) r-bit remainder is checksum • Resulting n-bit codeword C(x) is exactly divisible by G(x) with no remainder

  48. Example: M(x)=10011010, G(x)=1101 1. Append temp. 000 to M(x) x3M(x) = 10011010000 11111001 2. Divide by G(x) 1101 10011010000 1101 1001 1101 1000 1101 1011 1101 1100 1101 1000 1101 101 3. Append remainder to M(x) C(x) = 10011010101

  49. CRC (cont) • Receiver divides codeword by G(x), assumes no error only if remainder is 0 • Consider error pattern as polynomial E(x) • Received frame = transmitted codeword C(x) + E(x) • C(x)/G(x) has no remainder -> any remainder is due to E(x)/G(x) • Errors undetectable only if E(x) is exactly divisible by G(x)

More Related