บทที่ 3

รูปแบบการสื่อสารของ Core Network

แกนกลางของเน็ตเวิร์กขนาดใหญ่ (WAN) มีวิธีส่งข้อมูลอยู่สองตระกูล — จองเส้นทางไว้ก่อนแล้วค่อยส่ง (Circuit Switching) กับ หั่นเป็นก้อนแล้วปล่อยไปเลย (Packet Switching) บทนี้อธิบายทั้งสองแบบ พร้อมจุดที่ข้อสอบ Q6 กับ Q7 หยิบไปออก

อ่าน ~13 นาที เชื่อมกับ ข้อสอบ Q6, Q7 หน้าหนังสือ 17–22
ข้อสอบออกแบบไหน
  • Q6 — «แสดงการสื่อสาร ข้อมูลขนาด 10 MByte บนสายสัญญาณขนาด 2 Mb/s แบบ Packet Switching และ Circuit Switching จาก A ไปหา B ดังรูป พร้อม ACK» → เป็นข้อ วาดรูปเทียบกัน ไม่ต้องพิสูจน์อะไร วาดถูกได้คะแนนทันที
  • Q7 — A —10 km, 1.5 Mbps— B —10 km, 1.5 Mbps— C ให้วาด Stop-and-Wait ส่ง 2 เฟรมจาก A ไป C กุญแจอยู่ที่โนด B ต้องเป็น store-and-forward คือรับให้ครบทั้งเฟรมก่อนแล้วค่อยส่งต่อ ถ้าวาดให้ B ส่งต่อทันที = ผิดทั้งข้อ
    ตัวเลขที่เฉลยฉบับใหม่ใช้: ความเร็วสัญญาณ 2×106 m/s → dp = 10,000 / (2×106) = 0.005 s = 5 ms ต่อ hop และลำดับคือ A ส่ง I(n) → B รับครบทั้งเฟรมก่อน (store) แล้วค่อยส่งต่อ (forward) I(n) → C → C ตอบ Ack(n) → B → A แล้วจึงเริ่ม I(n+1)

ภาพรวม — ทำไม Core Network ถึงต้องเลือกวิธีสื่อสาร

การสื่อสารของเน็ตเวิร์ก Core Network เพื่อรองรับเน็ตเวิร์กขนาดใหญ่หรือ WAN ถือเป็นความท้าทายสำคัญ โดยทั่วไปการสื่อสารของ WAN จะขึ้นอยู่กับผู้ให้บริการเป็นหลัก และสามารถแบ่งรูปแบบการทำงานออกได้เป็น 2 ประเภทหลัก

เซอร์กิท สวิตซิ่ง (Circuit Switching)

จอง "เส้นทางจริง" ไว้ให้ผู้ใช้คู่หนึ่งโดยเฉพาะ ตั้งแต่ต้นทางถึงปลายทาง ก่อนจะส่งข้อมูลได้ — เหมือนคู่สายโทรศัพท์

แพ็กเก็ต สวิตซิ่ง (Packet Switching)

หั่นข้อมูลเป็นก้อนย่อยแล้วปล่อยเข้าเน็ตเวิร์กเลย ไม่จองอะไรไว้ ทุกคนใช้ทรัพยากรร่วมกัน — เหมือนอินเทอร์เน็ตทุกวันนี้

อ่านทั้งบทนี้ให้จบด้วยคำถามเดียว

«ทรัพยากร (ช่องสัญญาณ) ถูกจองไว้ให้ใครคนเดียว หรือ ถูกใช้ร่วมกัน?» — คำตอบของคำถามนี้อธิบายทุกความแตกต่างในบทนี้ ตั้งแต่เรื่องเฮดเดอร์ ลำดับแพ็กเก็ต ไปจนถึงว่าแบบไหนเร็วกว่ากันเมื่อไร

3.1เซอร์กิท สวิตซิ่ง (Circuit Switching)

การทำงานของเซอร์กิท สวิตซิ่ง เป็นการเชื่อมต่อเฉพาะผู้ใช้ เช่น การเชื่อมต่อระหว่างคู่สายโทรศัพท์ เมื่อเกิดการเชื่อมต่อแล้ว จะถูกใช้งานจนกว่าการสนทนาจะสิ้นสุด การทำงานแบ่งออกเป็น 3 ขั้นตอน

  1. การสร้างการเชื่อมต่อ (Setup) — ก่อนส่งข้อมูลใด ๆ การเชื่อมต่อระหว่างต้นทางและปลายทางจะต้องถูกสร้างขึ้นก่อน โดยโนดสวิตชิ่งจะจัดสรรทรัพยากรให้ เช่น ในการทำงานแบบ FDM จะกำหนดช่องความถี่ที่จะใช้ให้กับโนดต้นทาง

  2. การส่งข้อมูล (Data transfer) — เมื่อได้รับการตอบรับการสร้างการเชื่อมต่อจากปลายทางแล้ว ต้นทางสามารถเริ่มส่งข้อมูลได้ทันที

  3. การยกเลิกการเชื่อมต่อ (Teardown) — เมื่อสิ้นสุดการสื่อสาร เช่น ปลายทางวางสาย โนดที่อยู่ระหว่างทางจะยกเลิกทรัพยากรที่จัดสรรไว้ เพื่อให้ผู้ใช้รายอื่นสามารถใช้งานได้

การทำงานของเซอร์กิท สวิตซิ่ง 6 ขั้นตอน
รูปที่ 3.1 จากตำรา — การทำงานของเซอร์กิท สวิตซิ่ง (1. Initiate call → 2. incoming call → 3. Accept call → 4. Call connected → 5. Data flow begins → 6. Receive data)

ทรัพยากรที่ถูก "จอง" หน้าตาเป็นยังไง — FDM และ TDM

หนังสือระบุตรง ๆ ว่าในขั้นตอนสร้างการเชื่อมต่อ ระบบที่ทำงานแบบ FDM จะกำหนดช่องความถี่ที่จะใช้ให้กับโนดต้นทาง นั่นคือสิ่งที่เรียกว่า "ทรัพยากรถูกจอง" — ช่องความถี่นั้นเป็นของการสื่อสารคู่นี้จนกว่าจะวางสาย

ส่วนขยาย (เชื่อมกับบทที่ 10)

บทที่ 3 กล่าวถึง FDM เป็นตัวอย่างเดียว ส่วนรายละเอียดของ FDM/TDM อยู่ในบทที่ 10 — หนังสือเปรียบ FDM ว่าเหมือน "แบ่งห้องเรียนออกเป็นห้องเล็ก ๆ หลายห้อง ทุกคนเข้าไปใช้ห้องของตนเอง" ส่วน TDM เหมือน "ทุกคนใช้ห้องเต็มห้องได้ ตามเวลาที่กำหนด" ทั้งสองแบบใช้เป็นกลไกจองทรัพยากรของเซอร์กิท สวิตซิ่งได้เหมือนกัน

ตัวอย่างการสื่อสารแบบเซอร์กิท สวิตซิ่ง

เทคโนโลยีหนังสือบอกว่าอะไร
PPP
Point-to-Point Protocol
เป็นตัวอย่างของเซอร์กิท สวิตซิ่ง ถูกใช้งานในรูปแบบ โมเด็ม (Modem), Digital Subscriber Line (DSL) และการสื่อสารผ่านไฟเบอร์ออปติก
ISDN
Integrated Services Digital Network
เป็นระบบโทรศัพท์แบบดิจิทัล
จุดที่คนพลาดบ่อย

อย่าตอบว่า "DSL คือ packet switching เพราะใช้กับอินเทอร์เน็ต" — ในบริบทของหนังสือเล่มนี้ DSL ถูกจัดอยู่ในกลุ่มที่ใช้ PPP ซึ่งเป็นตัวอย่างของเซอร์กิท สวิตซิ่ง เหตุผลคือมันเป็นเส้นทาง point-to-point เฉพาะระหว่างบ้านคุณกับชุมสายผู้ให้บริการ (ไม่ได้แชร์กับเพื่อนบ้านในช่วงนั้น) ส่วนสิ่งที่วิ่งอยู่ ข้างใน จะเป็น IP packet นั่นเป็นคนละเลเยอร์กัน

3.2แพ็กเก็ต สวิตซิ่ง (Packet Switching)

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

วิธีการคือ แบ่งข้อมูลที่จะส่งออกเป็นส่วนย่อย เรียกว่า แพ็กเก็ต (Packet) แล้วส่งแต่ละแพ็กเก็ตออกไป โดยแบ่งการทำงานได้เป็น 2 แบบ

นี่คือรากของข้อสอบ Q7

สังเกตในภาพเคลื่อนไหวข้างบน — โนดกลาง ต้องรับบิตสุดท้ายของแพ็กเก็ตเข้ามาครบก่อน ถึงจะเริ่มส่งบิตแรกออกไปได้ กลไกนี้ชื่อ store-and-forward เวลาวาด Q7 ให้ลากเส้น "รับครบ" ที่โนด B ก่อนเสมอ แล้วค่อยเริ่มลูกศรเส้นถัดไป — โจทย์ Q7 มีสองลิงก์ (A→B และ B→C) แปลว่าเสีย transmission delay สองครั้ง ต่อหนึ่งเฟรม

3.2.1การสื่อสารแบบดาต้าแกรม (Datagram)

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

ด้วยเหตุนี้ ภาครับอาจได้รับแพ็กเก็ตไม่เป็นลำดับ ทำให้ภาครับต้องจัดเรียงแพ็กเก็ตตามหมายเลขที่กำกับไว้ ก่อนส่งขึ้นไปยังแอปพลิเคชัน รูปแบบนี้ถือเป็นพื้นฐานของการสื่อสารอินเทอร์เน็ตและ LAN ในปัจจุบัน

กรณีที่ Datagram "ทำงานไม่สวย" — ตัวอย่างที่ต้องเขียนได้

ตำราพูดถึงกรณีนี้แค่ประโยคเดียว แต่ข้อสอบชอบให้ยกตัวอย่าง ลองเดินตามนี้ — ส่ง 4 แพ็กเก็ตจาก A ไป B ผ่านสองเส้นทาง เส้นบนโล่ง เส้นล่างติดคิว:

แพ็กเก็ตเส้นทางที่เลือกได้ตอนนั้นลำดับที่มาถึง B
P1เส้นล่าง (ตอนนั้นยังว่าง)ที่ 1
P2เส้นล่าง (เริ่มมีคิว)ที่ 3
P3เส้นบน (เร้าเตอร์เห็นว่าเส้นล่างเริ่มแน่น)ที่ 2
P4เส้นบนที่ 4

B ได้รับเป็น P1 P3 P2 P4 → ต้องกันบัฟเฟอร์ไว้พัก P3 จนกว่า P2 จะมา แล้วค่อยส่งขึ้นแอปพลิเคชันเรียงตามหมายเลข · ผลข้างเคียงที่ตามมาคือ (1) ปลายทางต้องมีบัฟเฟอร์และตัวจัดเรียง (2) เวลาหน่วงไม่สม่ำเสมอ ซึ่งคือ jitter ในบทที่ 6 · ทั้งสองข้อนี้คือราคาที่ Datagram จ่ายแลกกับการไม่ต้องสร้างเส้นทางล่วงหน้า และเป็นเหตุผลที่ตารางที่ 3.1 เขียนช่อง "ลำดับการรับแพ็กเก็ต" ของ Datagram ว่า "อาจไม่เรียง"

3.2.2การสื่อสารแบบเวอร์ชวล เซอร์กิท (Virtual Circuit)

การสื่อสารแบบเวอร์ชวล เซอร์กิท มีแนวคิดคล้ายกับเซอร์กิท สวิตซิ่ง โดยมีการสร้างเส้นทางล่วงหน้าก่อนส่งข้อมูล ทำให้แพ็กเก็ตทุกอันถูกส่งไปในเส้นทางเดียวกันตลอดการสื่อสาร จนกว่าจะสิ้นสุดการเชื่อมต่อ

เนื่องจากมีการสร้างเส้นทางไว้ล่วงหน้า เวอร์ชวล เซอร์กิท ไม่จำเป็นต้องใส่ข้อมูลแอดเดรสปลายทางแบบครบถ้วนในทุกแพ็กเก็ตเหมือนแบบดาต้าแกรม แต่ใช้หมายเลข (ID) ระบุเส้นทางจากโนดหนึ่งไปยังอีกโนดหนึ่งแทน ทำให้เฮดเดอร์มีขนาดเล็กลงและประมวลผลได้รวดเร็วขึ้น

การสื่อสารแบบเวอร์ชวลเซอร์กิท — โน้ตบุ๊กทางซ้าย พีซีทางขวา ระหว่างกลางเป็นกลุ่มเร้าเตอร์บนพื้นสีฟ้า มีเส้นทึบหนาลากทะลุจากซ้ายไปขวาเขียนกำกับว่า Permanent Virtual Current (PVC) และเหนือเร้าเตอร์แต่ละตัวมีตาราง In/Out ค่า 3/5, 1/2, 4/6 และ 7/2 พร้อมป้ายว่า Connection Tables Setup on Long Term (permanent) Basis
รูปที่ 3.3 จากตำรา — การสื่อสารแบบเวอร์ชวล เซอร์กิท (เส้นทึบหนา = เส้นทางที่ถูกสร้างไว้ล่วงหน้า ส่วนตาราง In / Out เหนือเร้าเตอร์แต่ละตัว คือ "หมายเลข (ID) ระบุเส้นทาง" ที่ตำราพูดถึง)
อ่านตาราง In/Out ในรูปที่ 3.3 — นี่คือหัวใจว่าทำไมเฮดเดอร์ถึงเล็กลง

ไล่ตามเส้นทึบจากซ้ายไปขวา แต่ละเร้าเตอร์ทำแค่ เปิดตาราง → เห็นเลขขาเข้า → เปลี่ยนเป็นเลขขาออก → ส่งต่อ เท่านั้น:

โนดที่เลขที่ติดมากับแพ็กเก็ต (In)เปลี่ยนเป็น (Out)
ที่ 135
ที่ 212
ที่ 346
ที่ 472

แพ็กเก็ตจึงแบกไปแค่ เลขตัวเดียว ไม่ใช่แอดเดรสปลายทางแบบเต็ม — ตรงกับที่ตำราเขียนว่า "ไม่จำเป็นต้องใส่ข้อมูลแอดเดรสปลายทางแบบครบถ้วนในทุกแพ็กเก็ต … ทำให้เฮดเดอร์มีขนาดเล็กลงและประมวลผลได้รวดเร็วขึ้น" · ป้ายในรูปที่เขียนว่า Connection Tables Setup on Long Term (permanent) Basis และเส้น PVC (Permanent Virtual Circuit) หมายถึงตารางชุดนี้ถูกตั้งค่าไว้ก่อนและอยู่ยาว ไม่ได้ตัดสินใจใหม่ทีละแพ็กเก็ตเหมือน Datagram

ตัวอย่างสำคัญ — ATM (Asynchronous Transfer Mode)

ออกแบบมาเพื่อรองรับคุณภาพการให้บริการ (Quality of Service: QoS) แต่เนื่องจากค่าใช้จ่ายสูง และไม่สามารถทำงานร่วมกับระบบอีเทอร์เน็ตได้ จึงไม่เป็นที่นิยมในปัจจุบัน

การทำงานของแพ็กเก็ต สวิตซิ่ง — ข้อมูลถูกหั่นเป็นแพ็กเก็ตย่อยแล้วส่งผ่านกลุ่มเร้าเตอร์ไปยังปลายทาง
รูปที่ 3.2 จากตำรา — การทำงานของแพ็กเก็ต สวิตซิ่ง (ข้อมูลถูกหั่นเป็นแพ็กเก็ตย่อยแล้วปล่อยเข้าเน็ตเวิร์กที่ทุกคนใช้ร่วมกัน ไม่มีการจองช่องสัญญาณไว้ล่วงหน้า)

3.3เปรียบเทียบเซอร์กิท สวิตซิ่ง และแพ็กเก็ต สวิตซิ่ง

จากรูปแบบการสื่อสารที่กล่าวไปแล้ว หนังสือสรุปเปรียบเทียบไว้ 3 ข้อ

เซอร์กิท สวิตซิ่ง

ก่อนส่งข้อมูล โนดต้นทางต้องสร้างการเชื่อมต่อและรอการตอบรับจากปลายทางก่อน จากนั้นจึงส่งข้อมูลทั้งหมดเป็นชุดเดียวตามเส้นทางที่สร้างไว้ โนดระหว่างทางจะประมวลผลเพื่อสร้างการเชื่อมต่อและจองทรัพยากรไว้ตลอดเวลา

เวอร์ชวล เซอร์กิท

ทำงานคล้ายเซอร์กิท สวิตซิ่ง โดยต้องสร้างเส้นทางก่อน แต่ส่งข้อมูลในรูปของแพ็กเก็ต ทำให้แต่ละแพ็กเก็ตมีเวลาหน่วงเพิ่มขึ้นจากการรอช่องสัญญาณว่าง ส่งผลให้ประสิทธิภาพโดยรวมต่ำกว่าเซอร์กิท สวิตซิ่ง

Datagram

ไม่จำเป็นต้องสร้างการเชื่อมต่อล่วงหน้า ทำให้ส่งข้อมูลได้เร็วกว่าเมื่อมีข้อมูลปริมาณน้อย และบางกรณีอาจเร็วกว่าเซอร์กิท สวิตซิ่งด้วย อย่างไรก็ตาม เนื่องจากแต่ละแพ็กเก็ตถูกส่งแบบอิสระ เมื่อมีข้อมูลปริมาณมาก เวอร์ชวล เซอร์กิท แพ็กเก็ต สวิตซิ่งอาจมีประสิทธิภาพดีกว่า

คุณสมบัติเซอร์กิท สวิตซิ่งเวอร์ชวล เซอร์กิทDatagram
การสร้างเส้นทางต้องสร้างก่อนต้องสร้างก่อนไม่จำเป็น
การจัดสรรทรัพยากรจองตลอดเวลาจองตลอดเวลาใช้ร่วมกัน
ลำดับการรับแพ็กเก็ตเรียงลำดับเรียงลำดับอาจไม่เรียง
ขนาดเฮดเดอร์ไม่มีแพ็กเก็ตเล็ก (ใช้ ID)ใหญ่ (ใช้ IP)
ความเหมาะสมเสียง/วิดีโอ Real-timeQoS สูงอินเทอร์เน็ตทั่วไป

ตารางที่ 3.1 — เปรียบเทียบรูปแบบการสื่อสารของ Core Network

เทียบ timing diagram ของ Circuit / Virtual Circuit / Packet Switching
รูปที่ 3.4 จากตำรา — การเปรียบเทียบการทำงานของเซอร์กิท สวิตซิ่งและแพ็กเก็ต สวิตซิ่ง (สังเกตว่าฝั่ง Circuit Switching ข้อมูลเป็น "แผ่นเดียว" ทะลุ B และ C ไปเลย ส่วนฝั่ง Packet Switching แต่ละ Pkt ถูกวาดซ้ำใหม่ทุก hop)
วิธีอ่านรูปที่ 3.4 ให้เร็วที่สุด

ดูที่ ความชันของแท่งข้อมูล — ฝั่งซ้าย (Circuit) แท่ง "ข้อมูล" ลากทะลุจาก A ถึง D ต่อเนื่องเป็นชิ้นเดียว เพราะวงจรถูกจองไว้แล้ว บิตไหลผ่านโนดกลางโดยไม่ต้องหยุด ส่วนสองรูปขวา (Virtual Circuit และ Packet) แต่ละ Pkt ถูกวาดใหม่ทีละช่วง B→C, C→D เพราะโนดกลางต้องรับให้ครบก่อนแล้วค่อยส่งต่อ — นั่นคือ store-and-forward

แล้วสรุปแบบไหนเร็วกว่า? — ลองเลื่อนดูเอง

ส่วนขยาย (ไม่ได้อยู่ในบทที่ 3 — ใช้สูตร delay จากบทที่ 6 และตัวเลขจากข้อสอบ Q6)

หนังสือบทที่ 3 บอกไว้เพียงว่า Datagram "เร็วกว่าเมื่อข้อมูลปริมาณน้อย" และ "เมื่อข้อมูลปริมาณมาก เวอร์ชวล เซอร์กิทอาจดีกว่า" ส่วนตัวเลขข้างล่างนี้มาจากการนำสูตร transmission delay (บทที่ 6) มากางให้เห็นว่า "ปริมาณน้อย/มาก" คือตรงไหน

เซอร์กิท สวิตซิ่ง : T = tsetup + LR + h·tprop
แพ็กเก็ต สวิตซิ่ง : T = (N + h − 1) · L / NR + h·tprop
ตัวแปรความหมาย
Lขนาดข้อมูลทั้งหมด (บิต)
Rอัตราเร็วของลิงก์ (bps)
Nจำนวนแพ็กเก็ตที่หั่นออกมา (เซอร์กิทไม่หั่น จึงเป็นก้อนเดียว)
hจำนวนลิงก์ (hop) จากต้นทางถึงปลายทาง
tsetupเวลาสร้าง+ตอบรับวงจร ซึ่งแพ็กเก็ตสวิตซิ่งแบบ datagram ไม่ต้องเสีย

ที่มาของ (N + h − 1) — แพ็กเก็ตแรกต้องเดินครบ h ลิงก์ (เสีย transmission delay h ครั้ง เพราะ store-and-forward) จากนั้นแพ็กเก็ตที่เหลืออีก N − 1 ก้อนจะไหลตามมาแบบ pipeline ก้อนละ 1 ช่วงเวลา รวมเป็น h + (N − 1) = N + h − 1

ลองแทนตัวเลขข้อสอบ Q6 ด้วยมือ

ข้อมูล 10 MByte = 10 × 106 × 8 = 80 × 106 บิต · ลิงก์ 2 Mb/s · จาก A ไป B ผ่านโนดกลาง 2 ตัว → h = 3 ลิงก์

transmission delay ต่อหนึ่งลิงก์ ถ้าส่งทั้งก้อนL / R = 80 × 1062 × 106 = 40 วินาที
วิธีส่งคิดยังไงเวลารวม (ไม่นับ prop / setup)
เซอร์กิท สวิตซิ่งยิงทั้ง 80 Mbit ทะลุวงจรที่จองไว้40 วินาที (+ เวลา setup)
แพ็กเก็ต — ไม่หั่น (N = 1)(1 + 3 − 1) × 40120 วินาที
แพ็กเก็ต — หั่น 10 ก้อน(10 + 3 − 1) × 448 วินาที
แพ็กเก็ต — หั่น 100 ก้อน(100 + 3 − 1) × 0.440.8 วินาที

อ่านตารางนี้ให้ออก: ยิ่งหั่นละเอียด แพ็กเก็ตสวิตซิ่งยิ่งเข้าใกล้ 40 วินาที แต่ไม่มีวันเร็วกว่า เพราะยังไงก็ต้องเสียเวลาเติม pipeline ให้เต็มก่อน — สิ่งเดียวที่ทำให้แพ็กเก็ตสวิตซิ่งชนะได้ คือเซอร์กิทต้องเสีย tsetup ก่อนเริ่มส่ง ซึ่งจะคุ้มก็ต่อเมื่อข้อมูลมีปริมาณน้อย ๆ เท่านั้น (ตรงกับที่หนังสือเขียนเป๊ะ)

จุดที่คนพลาดบ่อย
  • คูณ transmission delay ครั้งเดียวทั้งที่มีหลาย hop — packet switching เสีย L/R ทุกลิงก์ เพราะทุกโนดต้องรับให้ครบก่อน ส่วน circuit switching เสียครั้งเดียวเพราะวงจรถูกจองทะลุถึงปลายทางแล้ว
  • สับสน "ครองทรัพยากร" กับ "เร็วกว่า" — circuit switching ครองทรัพยากรตลอดเวลา แม้ไม่มีการรับส่งข้อมูล นั่นทำให้มัน "สิ้นเปลือง" ไม่ใช่ "ช้า" ในทางกลับกันตอนที่มีข้อมูลจริง ๆ มันเร็วและนิ่งที่สุด
  • ลืมว่า Virtual Circuit ก็ยังเป็น packet switching — มันหั่นเป็นแพ็กเก็ตเหมือนกัน จึงยังมี store-and-forward และ "เวลาหน่วงเพิ่มขึ้นจากการรอช่องสัญญาณว่าง" ตามที่หนังสือระบุ

3.4คำถามท้ายบท พร้อมเฉลย

ก่อนลงมือทำคำถามท้ายบท ตำราปิดท้ายบทที่ 3 (หน้า 21) ด้วยภาพวาดเปรียบเทียบแบบเล่าเรื่อง ซึ่งใช้ตอบข้อ 1 กับข้อ 3 ได้ตรง ๆ:

ภาพวาดลายเส้นแบ่งเป็นสองส่วน ส่วนบนหัวเรื่อง circuit switching เขียนว่าอาณาจักร A ต้องการส่งของบรรณาการไปหาอาณาจักร B แบบที่ 1 มีเจ้าหญิงฝั่งซ้าย เจ้าชายฝั่งขวา ระหว่างกลางเป็นป่า และมีคนแบกห่อของเดินข้ามป่าไปเอง ส่วนล่างหัวเรื่อง packet switching แบบที่ 2 มีเจ้าหญิงฝั่งซ้าย เจ้าชายฝั่งขวา ระหว่างกลางเป็นตู้ไปรษณีย์ที่มีจดหมายเสียบอยู่และมีลูกศรชี้ไปทางขวา
รูปที่ 3.5 จากตำรา — การเปรียบเทียบเซอร์กิท สวิตซิ่ง และแพ็กเก็ต สวิตซิ่ง (อุปมา "อาณาจักร A ส่งของบรรณาการไปอาณาจักร B" — แบบที่ 1 = เดินไปส่งเองข้ามป่าตามเส้นทางที่จองไว้ · แบบที่ 2 = หย่อนใส่ตู้ไปรษณีย์ให้ระบบส่วนกลางส่งต่อ)
แปลอุปมาของรูปที่ 3.5 ให้เป็นภาษาข้อสอบ
ในรูปแบบที่ 1 — เซอร์กิท สวิตซิ่งแบบที่ 2 — แพ็กเก็ต สวิตซิ่ง
ทำอะไรก่อนออกเดินทางต้องตกลง/เคลียร์เส้นทางข้ามป่าก่อน = สร้างการเชื่อมต่อและรอตอบรับหย่อนใส่ตู้แล้วจบ = ไม่ต้องสร้างการเชื่อมต่อ
ระหว่างทางเส้นทางเป็นของเราคนเดียวจนกว่าจะส่งเสร็จ = จองทรัพยากรตลอดเวลาใช้ระบบไปรษณีย์ร่วมกับคนอื่นทั้งเมือง = ใช้ทรัพยากรร่วมกัน
ของถึงปลายทางยังไงห่อเดียวถึงพร้อมกันทั้งหมด เรียงลำดับแน่นอนทยอยถึงทีละชิ้น อาจไม่เรียงลำดับ ต้องมีเลขกำกับ
ต้องเขียนอะไรบนของไม่ต้องจ่าหน้าซอง (เดินไปส่งถึงมือ) = ไม่มีเฮดเดอร์ต้องจ่าหน้าซองทุกฉบับ = เฮดเดอร์ใหญ่ (IP)

อุปมานี้เป็นของตำราเอง (ไม่ใช่ของเสริม) เขียนแนบไปกับคำตอบข้อ 1/ข้อ 3 ได้เลย — แต่อย่าลืมเติมข้อเสียกลับด้วยว่า แบบที่ 1 เสียเวลาเตรียมเส้นทางก่อนเสมอ และครองเส้นทางไว้แม้ตอนที่ไม่ได้ส่งอะไร

ข้อ 1. อะไรคือข้อดีของการสื่อสารแบบเซอร์กิท สวิตซิ่ง เทียบกับการสื่อสารแบบแพ็กเก็ต สวิตซิ่ง

ดูเฉลยข้อ 1
  • ได้ทรัพยากรแน่นอนตลอดการสื่อสาร — โนดสวิตชิ่งจัดสรรช่องสัญญาณ (เช่น ช่องความถี่แบบ FDM) ให้ตั้งแต่ขั้นตอนสร้างการเชื่อมต่อ และจองไว้ตลอดเวลา จึงไม่ต้องแย่งกับทราฟฟิกคนอื่นระหว่างทาง แบนด์วิดท์ที่ได้จึงคงที่
  • ส่งข้อมูลทั้งหมดเป็นชุดเดียว ไม่ต้อง store-and-forward — เมื่อได้รับการตอบรับแล้ว ข้อมูลไหลต่อเนื่องตามเส้นทางที่สร้างไว้ ไม่ต้องหยุดรอที่โนดระหว่างทาง ทำให้เวลาหน่วงต่ำและสม่ำเสมอ
  • ข้อมูลเรียงลำดับเสมอ (ตารางที่ 3.1) — ปลายทางไม่ต้องเสียเวลาจัดเรียงใหม่เหมือน Datagram
  • ไม่มีเฮดเดอร์ (ตารางที่ 3.1 ระบุว่า "ไม่มีแพ็กเก็ต") — จึงไม่มี overhead ของแอดเดรสปลายทางในทุกก้อนข้อมูล
  • เหมาะกับเสียง/วิดีโอ Real-time ตามช่องความเหมาะสมในตารางที่ 3.1

ข้อแลกเปลี่ยนที่ควรเขียนต่อท้ายเพื่อให้คำตอบสมบูรณ์ — ต้องเสียเวลาสร้างการเชื่อมต่อและรอตอบรับก่อนเสมอ และครองทรัพยากรตลอดเวลาแม้ไม่มีการรับส่งข้อมูล ทำให้การใช้ทรัพยากรร่วมกันต่ำกว่าแพ็กเก็ต สวิตซิ่ง

ข้อ 2. จงอธิบายความแตกต่างระหว่างการสื่อสารแบบ Datagram และเวอร์ชวล เซอร์กิท แพ็กเก็ต สวิตซิ่ง

ดูเฉลยข้อ 2

ทั้งสองแบบเป็นแพ็กเก็ต สวิตซิ่งเหมือนกัน (หั่นข้อมูลเป็นแพ็กเก็ตเหมือนกัน) แต่ต่างกันที่ "มีการสร้างเส้นทางล่วงหน้าหรือไม่" ซึ่งลากไปสู่ความต่างอีก 3 อย่าง

หัวข้อDatagramเวอร์ชวล เซอร์กิท
การสร้างเส้นทางไม่จำเป็น — ส่งได้ทันทีต้องสร้างก่อน เหมือนเซอร์กิท สวิตซิ่ง
เส้นทางของแต่ละแพ็กเก็ตอาจต่างกัน ขึ้นกับสภาพเน็ตเวิร์กขณะนั้น เช่น เส้นทางสั้นที่สุด หรือเวลาหน่วงต่ำสุดเส้นทางเดียวกันทั้งหมด ตลอดการสื่อสาร จนกว่าจะสิ้นสุดการเชื่อมต่อ
ลำดับที่ปลายทางได้รับอาจไม่เรียง → ภาครับต้องจัดเรียงตามหมายเลขที่กำกับไว้ ก่อนส่งขึ้นแอปพลิเคชันเรียงลำดับ เพราะไปทางเดียวกันหมด
เฮดเดอร์ใหญ่ — ต้องใส่แอดเดรสปลายทางแบบครบถ้วน (IP) ในทุกแพ็กเก็ตเล็ก — ใช้หมายเลข (ID) ระบุเส้นทางจากโนดหนึ่งไปอีกโนดหนึ่งแทน → ประมวลผลเร็วขึ้น
การจัดสรรทรัพยากรใช้ร่วมกันจองตลอดเวลา
ตัวอย่าง / ความเหมาะสมพื้นฐานของอินเทอร์เน็ตและ LAN ในปัจจุบันATM ออกแบบเพื่อรองรับ QoS แต่ค่าใช้จ่ายสูงและทำงานร่วมกับอีเทอร์เน็ตไม่ได้ จึงไม่นิยมในปัจจุบัน

ปิดท้ายด้วยเรื่องประสิทธิภาพ — Datagram ไม่ต้องสร้างการเชื่อมต่อ จึงส่งข้อมูลปริมาณน้อยได้เร็วกว่า แต่เพราะแต่ละแพ็กเก็ตถูกส่งแบบอิสระ เมื่อข้อมูลปริมาณมาก เวอร์ชวล เซอร์กิทอาจมีประสิทธิภาพดีกว่า

ข้อ 3. ยกตัวอย่างแอปพลิเคชันที่เหมาะสมกับการสื่อสารแบบเซอร์กิท สวิตซิ่ง และแบบ Datagram พร้อมอธิบายเหตุผล

ดูเฉลยข้อ 3

เซอร์กิท สวิตซิ่ง → งาน Real-time ที่ส่งต่อเนื่องยาว ๆ

  • โทรศัพท์ / ISDN — หนังสือยก ISDN เป็นตัวอย่างโดยตรงว่าเป็นระบบโทรศัพท์แบบดิจิทัล การสนทนาต้องการเสียงต่อเนื่อง ขาดช่วงไม่ได้
  • วิดีโอ Real-time — ตารางที่ 3.1 ระบุความเหมาะสมของเซอร์กิท สวิตซิ่งว่า "เสียง/วิดีโอ Real-time"
  • DSL / โมเด็ม / ไฟเบอร์ที่ใช้ PPP — เป็นเส้นทาง point-to-point เฉพาะระหว่างผู้ใช้กับผู้ให้บริการ

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

Datagram → ทราฟฟิกเป็นช่วง ๆ ปริมาณไม่แน่นอน

  • เว็บ (HTTP), อีเมล, การโอนไฟล์ — เป็นการสื่อสารบนอินเทอร์เน็ต ซึ่งหนังสือระบุว่าเป็นพื้นฐานของ Datagram
  • ทราฟฟิกภายใน LAN ทั่วไป — หนังสือระบุว่า Datagram เป็นพื้นฐานของ LAN ในปัจจุบัน

เหตุผล — ทราฟฟิกแบบนี้เกิดเป็นช่วง ๆ (คลิกทีนึงส่งทีนึง) ถ้าจองช่องสัญญาณไว้จะว่างเปล่าเสียเปล่าเกือบตลอดเวลา การใช้ทรัพยากรร่วมกันจึงคุ้มกว่ามาก อีกทั้งไม่ต้องสร้างการเชื่อมต่อก่อน จึงส่งข้อมูลปริมาณน้อยได้เร็วกว่า และเลือกเส้นทางที่ดีที่สุดในขณะนั้นได้ทีละแพ็กเก็ต

เช็คความเข้าใจ

ในเซอร์กิท สวิตซิ่ง ขั้นตอนใดที่โนดสวิตชิ่งเป็นผู้ "จัดสรรทรัพยากร" ให้ เช่น กำหนดช่องความถี่แบบ FDM?
หนังสือระบุในขั้นตอนที่ 1 (การสร้างการเชื่อมต่อ) ว่า "โนดสวิตชิ่งจะจัดสรรทรัพยากรให้ เช่น ในการทำงานแบบ FDM จะกำหนดช่องความถี่ที่จะใช้ให้กับโนดต้นทาง" — และทรัพยากรนั้นจะถูกยกเลิกในขั้นตอนที่ 3 เพื่อให้ผู้ใช้รายอื่นใช้งานได้
ทำไมเวอร์ชวล เซอร์กิท จึงมีเฮดเดอร์เล็กกว่า Datagram?
เมื่อเส้นทางถูกสร้างไว้แล้ว โนดระหว่างทางรู้อยู่แล้วว่า "แพ็กเก็ตที่มี ID นี้ ให้ส่งออกพอร์ตไหน" จึงไม่ต้องแบกแอดเดรสปลายทางแบบเต็ม (IP) ไปทุกก้อน ผลพลอยได้คือประมวลผลได้รวดเร็วขึ้นด้วย
ส่งข้อมูล 80 Mbit บนลิงก์ 2 Mb/s ผ่าน 3 ลิงก์ (A→R1→R2→B) แบบแพ็กเก็ตสวิตซิ่ง โดยไม่หั่นเป็นแพ็กเก็ตย่อยเลย ใช้เวลา transmission รวมเท่าไร (ไม่นับ propagation)?
store-and-forward: ทุกโนดต้องรับให้ครบทั้งก้อนก่อนถึงจะส่งต่อ ดังนั้นเสีย L/R = 80/2 = 40 วินาที ครบทั้ง 3 ลิงก์ → 3 × 40 = 120 วินาที ถ้าเป็นเซอร์กิท สวิตซิ่ง จะเสียแค่ 40 วินาที เพราะวงจรถูกจองทะลุถึงปลายทาง บิตไหลผ่านโนดกลางโดยไม่หยุด
ข้อใด ไม่ใช่ เหตุผลที่หนังสือระบุว่า ATM ไม่เป็นที่นิยมในปัจจุบัน?
กลับกันเลย — ATM ถูกออกแบบมาเพื่อรองรับ QoS โดยเฉพาะ นั่นคือจุดเด่นของมัน สิ่งที่ทำให้มันตายคือ ค่าใช้จ่ายสูง และ ทำงานร่วมกับอีเทอร์เน็ตไม่ได้
เก็บก่อนออกจากบทนี้
  • 3 ขั้นตอนของเซอร์กิท สวิตซิ่ง — สร้างการเชื่อมต่อ (จัดสรรทรัพยากร เช่น ช่องความถี่ FDM) → ส่งข้อมูล (หลังได้รับการตอบรับ) → ยกเลิกการเชื่อมต่อ (คืนทรัพยากร)
  • PPP (โมเด็ม / DSL / ไฟเบอร์) และ ISDN (โทรศัพท์ดิจิทัล) = ตัวอย่างเซอร์กิท สวิตซิ่ง
  • Datagram = ไม่สร้างเส้นทาง, คนละเส้นทางได้, อาจไม่เรียงลำดับ, เฮดเดอร์ใหญ่ (IP) → พื้นฐานอินเทอร์เน็ต+LAN
  • Virtual Circuit = สร้างเส้นทางก่อน, เส้นทางเดียวกันหมด, เรียงลำดับ, เฮดเดอร์เล็ก (ID) → ตัวอย่างคือ ATM (เกิดมาเพื่อ QoS แต่แพงและเข้ากับอีเทอร์เน็ตไม่ได้)
  • ท่องตารางที่ 3.1 ให้ได้ทั้ง 5 แถว — การสร้างเส้นทาง / การจัดสรรทรัพยากร / ลำดับการรับ / ขนาดเฮดเดอร์ / ความเหมาะสม
  • วาด Q6 ให้ถูก — Circuit: setup ไป-กลับก่อน แล้วข้อมูลเป็นแผ่นเดียวทะลุทุกโนด · Packet: ทุกโนดวาด transmission ใหม่ทุก hop
  • วาด Q7 ให้ถูก — โนดกลาง B ต้องรับครบทั้งเฟรมก่อนแล้วค่อยส่งต่อ (store-and-forward) ทั้งขาไปและขา ACK