1 / 26

packet transmission

packet transmission. A.J. Han Vinck January 19, 2010. Packets (1). Information is often transmitted in packets Fixed or variable length. bursty. continuous. Important to know t ime interval : for an information symbol on bit level for an information symbol on character level

tayte
Download Presentation

packet transmission

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. packet transmission A.J. Han Vinck January 19, 2010

  2. Packets (1) • Information is often transmitted in packets • Fixed or variable length bursty continuous • Important to know time interval : • for an information symbol on bit level • for an information symbol on character level • block or message level (start of frame or packet ) A.J. Han Vinck

  3. Start of packets flag Flag data 1 0 1 1 0 1 0 1 * * * Flag may not occur in other positions chosen according to some rule A.J. Han Vinck

  4. Bit stuffing • Avoid flag in the packet: • Insert stuffing bit at fixed positions in packet • Insert stuffing bit if necessary only k+2 Example: 01110>101>0>111>1>000>0>110 fixed 01110>1011>0>11>0>00011>0>0 variable Fixed:after every k data bits insert stuffing bit Redundancy = 1/(k+1) Variable:After observing 011 insert 0 In general, insert 0 after observing 01k-1 Homework:proof that this is a correct way A.J. Han Vinck

  5. detection • After k-1 1‘s check next bit(s) If 0 remove it (stuffed bit) If 10, end of frame marker (011...10) If 11, error detected ( k 1‘s not allowed ) A.J. Han Vinck

  6. Some standards CAN after 00000 insert 1 after 11111 insert 0 HDLC 01111110 as flag after 5 1‘s insert a 0 X25 111111 may not occur in frame insert 0 after 5 1‘s 802.11 80 bits: 010101... 16 bits start of frame: 0000 1100 1011 1101 A.J. Han Vinck

  7. Efficiency fixed length packets • Packet of length N has • k+2 + (N-(k+2))/(k+1) stuffing bits Minimizing with respect to redundancy gives k  N, minimum redundancy Rmin 2N. Example: for N = 1024, K = 23; Rmin = 64 A.J. Han Vinck

  8. Variable length packets • Rule: stuffing only when necessary! • For FLAG: 01k0 and Random data P(0) = P(1) = ½ the redundancy R  k+2 + (N-(k+2)) / 2k is minimized for k  log2N  log2N + 1 stuff bits per packet! Ex: 01110|1011101011100|:= 01110|101101010110110| Homework:use a Markov state diagram to find R A.J. Han Vinck

  9. Calculations of average length • Generate 0 and 1 with probability ½ • average redundancy = P(k-1)=1/(2k –1) Very important for practical applications: how far away from optimal? 1 1 1 0 1 2 k-1 0 0 0 A.J. Han Vinck

  10. At receiver • LOOK for FLAG in BITSTREAM • For fixed length: remove stuffed bits • For variable length, parse for 1k-10, remove the 0 • due to transmission errors • Flag may appear in packet • Flag may disappear • CRC might be correct! A.J. Han Vinck

  11. Synchronization with correlation • Strategy: locate a flag in the data stream • Pass the received digits through a „correlator“ compare 1 1 1 0 0 1 0 Test N positions One must be the correct one • Example: ESA uses 11101011100100000 A.J. Han Vinck

  12. What can happen? • Errors may distroy the flag • 01111110  01101110 • Errors may cause a flag to appear in the packet • 01111100  01111110 • Errors may increase or decrease the packet length (this has a strong influence on the CRC) • 01111000  01111100  0111110 -1 • 01111100  01011100 +1 A.J. Han Vinck

  13. A rule Packets consist of : k+2 flag-digits and N-(k+2) random data RULE: -for N subsequent possible starting positions, find the position m = u; 1  u  N which maximizes the number of agreements with the flag A.J. Han Vinck

  14. An example: • Calculate # of agreements = minimize Hamming distance Example: Barker 7 = 1110010 + + 1 1 1 0 0 1 0 + + + + worst case best case 1 1 1 0 0 1 0 7 7 1 1 1 0 0 1 0 4 3 1 1 1 0 0 1 0 4 2 1 1 1 0 0 1 0 5 2 1 1 1 0 0 1 0 5 1 etc In sync we expect k+2 agreements; out-of-sync we expect (k+2)/2 agreements Best position A.J. Han Vinck

  15. Barker codes exist of lengths 2, 3, 4, 5, 7, 11, and 13. Barker codes length 2 1 0 3 1 1 0 4 1 0 1 1 5 1 1 1 0 1 7 1 1 1 0 0 1 0 11 1 1 1 0 0 0 1 0 0 1 0 13 1 1 1 1 1 0 0 1 1 0 1 0 1 Property:                        . 1 1 1 0 0 1 0 7 1 1 1 0 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 0 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 0 0 1 0 0 1 1 1 0 0 1 0 1 |# of agreements - # disagreements|  1 A.J. Han Vinck

  16. Byte or character Stuffing[HDLC Example] • ASCII characters are used as framing delimiters (e.g. DLE STX and DLE ETX) • The problem occurs when these character patterns occur within the “transparent” data. Solution:sender stuffs an extra DLEinto the data stream just before each occurrence of an “accidental”DLE in the data stream. A.J. Han Vinck

  17. HDLC Byte Stuffing DLE STX Transparent Data DLE ETX Before DLE STX A B DLE H W DLE ETX Stuffed DLE STX A B DLE DLE H W DLE ETX Unstuffed DLE STX A B DLE H W DLE ETX A.J. Han Vinck

  18. ppp stuffing example PPP is character-oriented version of HDLC 􀁺 Flag is 0x7E (01111110) 􀁺 Control escape 0x7D (01111101) 􀁺 replace 0x7E 􀃆 by 0x7D 0x5E 0x7D 􀃆 by 0x7D 0x5D Example: Data to be sent 41 7D 42 7E 50 70 46 After stuffing and framing 7E 41 7D 5D 42 7D 5E 50 70 46 7E PPP also provides the framing in Packet-over-SONET A.J. Han Vinck

  19. Conclusion: • Structure of flag is of great importance • Several classes designed: • Barker, Gold, Kasami, etc • flag should not appear in data • bit stuffing can be used A.J. Han Vinck

  20. Comma free codes • A set code words is called comma-free if for every pair C = (c0,c1,,cN-1 ) and C‘ = (c‘0,c‘1, ,c‘N-1) the N tuple (ci,,cN-1,c‘0,  c‘i-1) is not a code word for any 1  i  N-1 A.J. Han Vinck

  21. Example Comma free { 00001 00101 00110 11001 11010 11110} A concatenation is uniquely decodable! Thus 010010100110110011101011110 is decoded as  01,00101,00110,11001,11010,11110  A.J. Han Vinck

  22. Comma free: efficiency • The # of code words in a comma free code of length N • M  2N/N Reason: every code word eliminates (N-1) shifts example for two shifted codewords: 010011 and 100110 the two codewords 100110-100110 can be synchronized as 0-10011 Redundancy: R  log2N (look at variable stuffing) Check! A.J. Han Vinck

  23. Packets • Synchronous arrivals: • accuracy in clock 0.0000001% (may be atom-clock) • A-synchronous arrivals: • clock derived from received signals • needs special regeneration of clock A.J. Han Vinck

  24. Asynchronous Transmission (example) • overhead is 20% ;(8 bits of data, 2 bits for start/stop) A.J. Han Vinck

  25. Support of timing recovery • Use of special symbols, e.g. Manchester code 1 0 • Prevent long runs of ones and zeros in data by precoding • Insert preamble, e.g. 1010101010 before start of packet A.J. Han Vinck

  26. Ethernet/IEEE 802.3 7 1 2/6 2/6 2 46-1500 4 Preamble SFD DA SA L Data FCS Bytes field Preamble: 56 bits alternating 10 used to synchronize the receiver SFD: Start Frame Delimiter. 10101011 to signal beginning of the transmission DA/SA: Destination and Source Addresses L: Length of the data part Data: Minimum length required for proper operation. Padding used if needed FCS: Extra bits appended for error checking: the CRC A.J. Han Vinck

More Related