วันจันทร์ที่ 31 สิงหาคม พ.ศ. 2552

Week 9 ... 25 August 2009

HDLC

High-level Data link Control (HDLC) เป็นโพรโตคอลที่ถูกออกแบบมาให้สามารถสื่อสารได้ทั้งแบบฮาล์ฟดูเพล็กซ์และฟูลดูเพล็กซ์ บนพื้นฐานการเชื่อมโยงอุปกรณ์สื่อสารทั้งแบบจุดต่อจุด(point-to-point) และ แบบหลายจุด (multipoint)หรือ (multidrop) HDLC มีวิธีการสื่อสาร 2 แบบ คือ NRM และ ABM

NRM (Normal response mode)

เป็นวิธีการสื่อสารที่ต้องมีสถานีหลัก (primary station) 1 สถานี ส่วนสถานีรอง (secondary station) สามารถมีได้หลายสถานี

ABM (Asynchronous balanced mode)

จะใช้กับการเชื่อมโยงอุปกรณ์สื่อสารแบบจุดต่อจุด โยทุกสถานีจะท าหน้าที่เป็นสถานีหลักและสถานีรองในเวลาเดียวกัน

เฟรมข้อมูลของ HDLC

ในการออกแบบเฟรมข้อมูลของ HDLC จะต้องให้ยืดหยุ่นกับวิธีการสื่อสารทั้งแบบ NRM และ ABM ดังนั้นจึงได้มีการก าหนดเฟรมข้อมูลไว้ 3 ชนิด ดังนี้

- I-frame (information frame) เป็นเฟรมที่ใช้ส าหรับบรรจุข้อมูลของผู้ใช้ และควบคุมความผิดพลาดของข้อมูลจากการสุญหาย เสียหาย หรือส่งซ้ า

- S-frame (supervisory frame) เป็นเฟรมที่จะใช้ส าหรับควบคุมความผิดพลาดของข้อมูลจากการสูญหาย เสียหายหรือส่งซ้ า

- U-frame (unnumbered frame) เป็นเฟรมที่ใช้ส าหรับการจัดการระบบ เช่น การสร้างการติดต่อ หรือ การยกเลิกการติดต่อ เป็นต้น

โครงสร้างเฟรมข้อมูล (Frame format)

ประกอบด้วย 6 ฟิลด์ ดังรูปที่ 15 โดยจะมีฟิลด์แฟล็กเริ่มต้น ฟิลด์แอดเดรส ฟิลด์ควบคุม ฟิลด์ควบคุม ฟิลด์ข้อมูล ฟิลด์ตรวจสอบ และฟิลด์แฟล็กสิ้นสุด ถ้ามีเฟรมข้อมูลหลายๆ เฟรมฟิลด์แฟล็กสิ้นสุดของเฟรมหนึ่งสามารถเป็นฟิลด์แฟล็กเริ่มต้นของอีกเฟรมหนึ่งได้

- ฟิลด์แฟล็ก จะมีทั้งหมด 8 บิต โดยจะมีรูปแบบเป็น 01111110 ซึ่งบิตเหล่านั้น หมายถึง การเริ่มต้นและสิ้นสุดของเฟรมแต่ละเฟรม

- ฟิลด์แอดเดรส จะใช้ในการเก็บแอดเดรสของสถานีรอง ขนาดของฟิลด์จะขึ้นอยู่กับจ านวนของสถานีรองภายในเครือข่าย เช่น ถ้าฟิลด์นี้มีขนาด 1 ไบต์ หมายความว่า ในเครือข่ายนั้นมีสถานีรองได้ทั้งหมด 128 สถานี

- ฟิลด์ควบคุม จะมีขนาด 1 หรือ 2 ไบต์ ใช้ส าหรับในการควบคุมอัตราการไหลและความผิดพลาดของการส่งข้อมูล

- ฟิลด์ข้อมูล จะใช้ในการเก็บข้อมูลของผู้ใช้ที่ส่งมาจากเน็ตเวิร์กเลเยอร์ หรือเก็บข้อมูลส าหรับการจัดการระบบ ขนาดของฟิลด์จะขึ้นอยู่กับชนิดของเครือข่ายเป็นเครือข่ายแบบไหน

- ฟิลด์ตรวจสอบ หรือ ฟิลด์ FCS (frame check sequence) เก็บกลุ่มของบิตสำหรับตรวจสอบความผิดพลาดของข้อมูล ซึ่งจะมีขนาด 2 หรือ 4 ไบต์ ส่วนวิธีการตรวจสอบนั้นจะใช้วิธีการของ ITU-T-CRC

ชนิดของเฟรม (frame type)

HDLC จะมีเฟรมอยู่ 3 ชนิด คือ I-frame, S-frame และ U-frame

I-Frame

ออกแบบมาเพื่อรับข้อมูลจากเน็ตเวิร์กเลเยอร์ สามารถเพิ่มบิตส าหรับควบคุมการไหลของข้อมูลและการตรวจสอบความผิดพลาดชองการส่งข้อมูลได้ด้วย (piggybacking)

กลุ่มของบิตที่อยู่ในฟิลด์ควบคุมของ I-frame มีความหมายดังนี้

- ถ้าบิตแรกในฟิลด์ควบคุมมีค่าเป็น 0 หมายความว่า เฟรมนี้เป็น I-frame

- 3 บิตถัดมาจะเรียกว่า N(S) จะเก็บหมายเลขล าดับของกลุ่มแต่ละเฟรม

- บิตถัดไปจะเรียกว่า P/F (poll/final) บิตนี้จะมีค่าเป็น “1” ก็ต่อเมื่อสถานีหลักได้ทำการโพลไปยังสถานีรอง แต่ถ้าบิตนี้เป็น “0” หมายถึงสถานีรองได้ส่งข้อมูลกลับมาให้สถานีหลัก

- 3 บิตสุดท้าย เรียกว่า N(R) จะใช้กลุ่มบิตนี้เมื่อเป็น piggybacking โดย N(R) จะบอกว่าเฟรมถัดไปที่ต้องการรับคือเฟรมอะไร ซึ่งก็ต่อ ACK นั่นเอง

S-Frame

ใช้ส าหรับควบคุมอัตราการไหลของข้อมูลและการตรวจสอบความผิดพลาดของการส่งข้อมูล จะมีการใช้ก็ต่อเมื่อไม่มีการท า piggybacking ดังนั้น S-frame จะเป็นเพียง acknowledgment เท่านั้น จะไม่มีการส่งข้อมูลใดๆ ไปพร้อมกับเฟรมนี้

กลุ่มของบิตที่อยู่ในฟิลด์ควบคุมของ S-frame มีความหมายดังนี้

- ถ้า 2 บิตแรกของฟิลด์ควบคุมมีค่า “10” หมายความว่าเฟรมนี้เป็น S-frame

- 2 บิตถัดมา จะเป็นการบอกถึงประเภทของ S-frame มีอยู่ 4 ประเภทคือ RR,

RNR, REJ, และ SREJ

1. Receiver ready (RR) จะแทนด้วย “00” เป็นเฟรม acknowledgment บอกว่าผู้รับได้รับเฟรมข้อมูลที่ส่งมาเรียบร้อยแล้ว และพร้อมที่จะรับเฟรมต่อไปจากผู้ส่ง

2. Receiver not ready (RNR) จะแทนด้วย “10” คล้ายกับ RR คือบอกว่าผู้รับได้รับเฟรมข้อมูลที่ส่งมาเรียบร้อยแล้ว แต่จะบอกว่ายังไม่พร้อมที่จะรับเฟรมถัดไป ซึ่ง S-frame ชนิดนี้จะมีไว้ส าหรับควบคุมการแน่นขนัด

3. Reject (REJ) จะแทนด้วย “01” เป็น negative acknowledgment (NAK) บอกว่าผู้ส่งว่าให้ส่งเฟรมข้อมูลมาใหม่ ซึ่งการท างานจะเหมือน Go-Back-N

4. Selective reject (SREJ) จะแทนด้วย “11” เป็น negative acknowledgment ซึ่งจะใช้กับโพรโตคอล Selective reject

ส่วนบิตที่ 5 คือ P/F

- 3 บิตสุดท้าย เรียกว่า N(R) คือค่าของ ACK หรือ NAK

U-frame

เป็นเฟรมใช้ส าหรับบริหารจัดการโดยจะมีฟิลด์ที่ใช้เก็บข้อมูลที่เหี่ยวข้องกับการ

บริหารระบบเท่านั้น ไม่ได้เก็บข้อมูลผู้ใช้ U-frame จะเก็บรหัส ของการควบคุมไว้

2 ส่วนคือ 2 บิตหน้าบิต P/F และอีก 3 บิตหลังบิต P/F ดังนั้นจึงมีรหัสที่ใช้

ส าหรับควบคุมระบบได้ถึง 5 บิต (32 รหัส)