วันอังคารที่ 25 สิงหาคม พ.ศ. 2552

Week 9 : HDLC

HDLC (High-Level Data Link Control)

HDLC เป็น Protocols ที่ถูกออกแบบมาให้สามารถสื่อสารได้ทั้งแบบ Half duplex แล Full duplex บนพื้นฐานของการเชื่อโยงแบบ Point-to-point และ Multipoint หรือ Multidrop มีวิธีการสื่อสาร 2 วิธี คือ NRM และ ABM

NRM (Normal response mode)เป็นวิธีการสื่อสารที่ต้องมี Primary station 1 สถานี ส่วน Secondary station สามารถมีได้หลายสถานี

  • Primary station มีหน้าที่ในการส่ง Command ไปยัง Secondary
  • Secondary จะทำหน้าที่ในการ Respond ต่อคำสั่งนั้น ๆ
NRM สามารถใช้ได้กับการเชื่อมโยงแบบ Point-to-point และ Multipoint หรือ Multidrop

ARM (Asynchronous balanced mode)จะใช้กับการเชื่อโยงอุปกรณ์แบบ Point-to-point โดยทุกสถานีจะทำหน้าที่เป็น Primary Station และ Secondary Stationในเวลาเดียวกัน

HDLC frame format ประกอบไปด้วย 6 ฟิลด์

  • Flagเริ่มต้น จะมีทั้งหมด 8 บิต โดยจะมีรูปแบบเป็น 01111110 ซึ่งบิตเหล่านี้จะหมายถึงการเริ่มต้นและสิ้นสุดของเฟรมแต่ละเฟรม
  • Adress ใช้ในการเก็บAdressของSecondary Station ขนาดจะขึ้นอยู่กับจำนวนจอง Secondary Station ภายในเครือข่าย
  • Control จะมีขนาด 1 หรือ 2 bytes ใช้สำหรับควบคุมอัตราการไหลและความผิดพลาดของการส่งข้อมูล
  • Information ใช้ในการเก็บข้อมูลของผู้ใช้ที่ส่งมาจาก Network Layer หรือเก็บข้อมูลสำหรับการจัดการระบบ ขนาดของฟิลด์นี้จะขึ้นอยู่กับชนิดของเครือข่ายว่าเป็นเครือข่ายแบบไหน
  • FCS ใช้เก็บกลุ่มของบิตสำหรับตรวจสอบความผิดพลาดของข้อมูล ซึ่งจะมีขนาด 2 หรือ 4 bytes ส่วนวิธีการตรวจสอบความผิดพลาดของข้อมูลนั้นจะใช้วิธีของ ITU-T CRC
HDLC frame types
ในการออกแบบเฟรมข้อมูลของ HDLC นั้นจะต้องให้ยืดยุ่นกับวิธีการสื่อสารทั้งแบบ NSM และ ABM ดังนั้นจึงได้มีการกำหนดเฟรมขอ้มูลไว้ 3 ชนิด ซึ่งมีหน้าที่ต่างกันไป

  1. I-frame (information frame) ใช้รับข้อมูลมาจาก Network Layer สามารถเพิ่มบิตสำหรับควบคุมอัตราการไหลของข้อมูลและตรวจสอบความผิดพลาดของการส่งข้อมูลได้ด้วย กลุ่มของบิตที่อยู่ในฟิลด์ควบคุมของ I-frame จะมีความหมายดังนี้
    - บิตแรกใน Control มีค่าเป็น "0" จะหมายความว่าเฟรมนี้เป็น I-frame
    - 3 บิตถัดมาจะเรียกว่า N(S) จะเก็บหมายเลขลำดับของแต่ละเฟรม
    - บิตถัดไปจะเรียกว่าบิต P/E (Poll/Final) จะมีค่าเป็น "1" ก็ต่อเมื่อ Primary Station ทำการ Poll ไปยัง Secondary Station แต่ถ้าบิตนี้เป็น "0" ก็คือ Secondary Station ส่งข้อมูลกลับมาให้ Primary Station
    - 3บิตสุดท้าย N(R) ใช้กลุ่มบิตนี้เมื่อเป็น Piggybacking
  2. S-frame (supervisory frame) ควบคุมอัตราการไหลของข้อมูลและการตรวจสอบความผิดพลาดของข้อมูล จะมีการใช้ S-frame เมื่อไม่มีการทำ Piggybacking ดังนั้น S-frame จึงเป็นเพียง Acknowledgement เท่านั้น
    - 2 บิตแรก มีค่าเป็น "10"
    - 2 บิตถัดมาบอกถึงประเภทของ S frame มี 4 ประเภท
    1. Receive ready แทนด้วย "00" เป็นเฟรม Acknowledgement คือผู้รับได้รับเฟรมข้อมูลที่ส่งมาเรียบร้อยแล้ว และพร้มที่จะรับเฟรมต่อไปจากผู้ส่ง
    2. Receive not ready แทนด้วย "10" คือ ผู้รับได้รับเฟรมข้อมูลแล้วแต่ไม่พร้อมที่จะรับเฟรมถัดไป
    3. Reject แทนด้วย "01" เป็น Negative acknowledgement คือ บอกผู้ส่งว่าให้ส่งเฟรมข้อมูลมาใหม่ ซึ่งจะทำงานเหมือนกัน Go-Back-N
    4. Selective reject แทนด้วย "11" เป็น Negative acknowledgement จะใช้กับ Protocal Selective reprat
    - บิตที่ 5 ใน Control คือบิต P/F
    - 3 บิตสุดท้าย N(R) คือค่าของ ACK หรือ NAK
  3. U-frame (unnumbered frame) ใช้สำหรับการบริหาร โดยฟิลด์ที่ใช้เก็บข้อมูลที่เกี่ยวข้องกับการบริหารระบบเท่านั้น ไม่ได้เก็บข้อมูลของผู้ใช้ U-frame เก็บ Code ของการควบคุมเอาไว้ 2 ส่วน คือ 2 บิต หน้า บิต P/F และอีก 3 บิตหลังบิต P/F ดังนั้นจึงมีรหัสที่ใช้สำหรับควบคุมระบบได้ถึง 5 บิต (32 รหัส)

PPP (Point-to-Point Protocol)

PPP เป็น Protocol ที่ได้รับความนิยมเป็นอย่างมาก โดยเฉพาะการใช้งานอินเทอร์เน็ตตามบ้าน ที่ใช้คอมพิวเตอร์ติดต่อไปยังผู้ให้บริการอินเทอร์เน็ต (ISP) ส่วนใหญ่จะเลิกใช้ Protocol นี้เป็นหลัก เช่น การติดต่อโดยใช้ Modem ธรรมดา DSL Modem หรือ เคเบิลโมเด็ม

Frame format ประกอบไปด้วย

  1. Flag มีค่าเป็น 01111110
  2. Adress มีค่าเป็น 11111111
  3. Control ใช้รูปแบบของ U-frame ใน HDLC มีค่าเป็น 11000000 จะไม่มีหมายเลขลำดับ ไม่สามารถควบคุมอัตราการไหลและความผิดพลาดของการส่งข้อมูล
  4. Protocol ข้อมูลที่จะส่งนั้นจะเป็นทั้งข้อมูลของผู้ใช้ และข้อมูลสำหรับการจัดการระบบ
  5. Massage (Variable) เก็บข้อมูลของผู้ใช้ที่ส่งมาจาก Network Layer หรือ เก็บข้อมูลการจัดการระบบ Max 1500 bytes
  6. FCS เก็บกลุ่มของบิตสำหรับตรวจสอบความผิดพลาดของข้อมูล มีขาด 2 หรือ 4 bytes วิธีตรวจสอบความผิดพลาดของข้อมูล ใช้วิธี ITU-T CRC

LCP (Link Control Protocol)
LCP
ทำหน้าที่สร้างการติดต่อระหว่างอุปกรณ์ การคงสภาพของการเชื่อต่อ และการยกเลิกการติดต่อ ภายใน LCP Packet ประกอบด้วย

  • Code บอกถึงชนิดของ LCP Packet
  • ID คือ หมายเลขที่ใช้สำหรับการร้องขอและการตอบรับกลับ
  • Length บอกถึงขนาดของ LCP Packet
  • Information บรรจุข้อมูลพิเศษเข้าไปใน Packet

PAP (Password Authentication Protocol)

PAP Packet แบ่งออกเป็น 3 ชนิดได้แก่

  • Authenticate-request ส่งชื่อผู้ใช้ และรหัสผ่าน
  • Authenticate-ack การยอมรับชื่อผู้ใช้และรหัสผ่านบอกว่าสามารถให้เข้าใช้ระบบได้
  • Authenticate-nak การปฏิเสธการเข้าใช้ระบบ
CHAP (Challenge Handshake Authentication Protocol)
CHAP
จะเก็บรหัสผ่านเอาไว้ และไม่ส่งออกไปตามสายส่ง มีการทำงานดังนี้

  • ส่ง Challenge Packet ประกอบไปด้วยค่าตัวเลขไม่มี byte
  • ผู้ใช้จะใช้ฟังค์ชันในการคำนวณโดยการนำค่าตัวเลขที่ได้รับมารวมกับรหัสผ่านที่ตัวเองได้ตั้งเอาไว้ แล้วส่งผลที่ได้กลับไปให้กับระบบ โดยใช้ Response Packet
  • เมื่อระบบได้รับ Response Packet แล้ว ใช้ฟังค์ชันคำนวณค่าตัวเลขที่ได้ส่งออกไปกับรหัสผ่านของผู้ใช้ (ซึ่งถูกเก็บอยู่ในระบบด้วย) แล้วนำมาเปรียบเทียบกับ Response Packet ถ้าเท่ากันก็เข้าระบบได้ ถ้าไม่เท่ากันก็ปฏิเสธการเข้าระบบ

CHAP Packet จะอยู่ในเฟรมข้อมูลของ PPP แบ่งออกเป็น 4 ชนิด

  • Challenge ส่งค่าตัวเลขที่ใช้ในการคำนวณให้กับผู้ใช้
  • Response ผู้ใช้ส่งผลการคำนวณมาให้กับระบบ
  • Success ระบบส่งไปบอกผู้ใช้ให้เข้าใช้งานระบบได้
  • Failure ระบบส่งไปบอกผู้ใช้ว่าไม่ใช้เข้าใช้งาน

IPCP (Internetwork Protocol Control Protocol)
IPCP
เป็น Protocol ที่ทำงานร่วมกับ Network Layer โดยนำข้อมูลจาก Network Layer มาใช่ในเฟรมข้อมูล PPP

Transmission Efficiency

Formula = Total number of info bit to be transmitted / Totla number of bits transmitted

Bigger the message length, better the efficiency

ไม่มีความคิดเห็น:

แสดงความคิดเห็น