NetKubeLab EN

สวิตชิง — เหตุผลที่อินเทอร์เน็ตชนะ

เครือข่ายมีทางเลือกสองแบบ จองทางไว้ก่อนหรือส่งทีละก้อนแล้วหาทางเอา ของที่แพ้ไม่ได้แพ้เพราะแย่กว่า และ ATM ก็จ่ายค่าเซลล์ 53 ไบต์ไปตลอดกาล

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

X.25, Frame Relay, ATM — ชื่อเหล่านี้อยู่ในตำราทุกเล่ม และแทบไม่มีใครใช้แล้ว

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

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

ถ้ายังไม่เคยคิดเรื่องนี้ เริ่มตรงนี้

คำถามพื้นฐานของเครือข่ายทุกชนิดมีข้อเดียว — ก่อนจะส่งข้อมูล ต้องจองทางไว้ ก่อนไหม

จองก่อน สร้างเส้นทางให้เสร็จ แล้วค่อยส่ง ทางนั้นเป็นของเราจนกว่าจะเลิกใช้

ไม่จอง ส่งออกไปเลย แต่ละก้อนหาทางเอาเอง และอาจไปคนละทางกัน

โทรศัพท์แบบเก่าเลือกข้อแรก อินเทอร์เน็ตเลือกข้อสอง และเกือบทุกอย่างที่ตามมา เป็นผลของการเลือกนั้น

จองทางไว้ก่อน — และสิ่งที่ต้องจ่าย

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

การจองวงจรให้สิ่งที่มีค่ามาก — ความแน่นอน เมื่อจองได้แล้ว ความเร็วกับความ หน่วงคงที่ ไม่มีใครมาแย่ง ไม่มีคิว ไม่มีของหาย

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

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

ส่งทีละก้อน แล้วหาทางเอาเอง

อีกทางคือไม่จองอะไรเลย ใส่ที่อยู่ปลายทางไว้ในทุกก้อน แล้วให้อุปกรณ์กลางทาง ตัดสินใจทีละก้อนว่าจะส่งไปทางไหน ซึ่งเป็นสิ่งที่บทความ IP อธิบายไว้

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

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

วงจรเสมือน — ทางสายกลางที่เคยดูเหมือนคำตอบ

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

X.25, Frame Relay และ ATM เลือกทางตรงกลาง — สร้างเส้นทางไว้ล่วงหน้าเหมือน การจอง แต่ไม่กันแบนด์วิดท์ไว้ตายตัว เรียกว่าวงจรเสมือน

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

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

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

ATM กับเซลล์ 53 ไบต์

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

ขนาดที่เลือกคือ 53 ไบต์ แบ่งเป็นหัว 5 ไบต์ กับข้อมูล 48 ไบต์

  cell     53 bytes
  header    5 bytes
  payload  48 bytes

ค่าโสหุ้ยจากหัวอย่างเดียวคือ 5 หาร 53 เท่ากับ 9.43% ที่ต้องจ่ายเสมอ ไม่ว่า จะส่งอะไร ไม่ว่าสายจะว่างหรือเต็ม

แต่นั่นยังไม่ใช่ส่วนที่แพงที่สุด

ราคาที่แท้จริงของการหั่นเป็นชิ้นเท่ากัน

การส่ง IP ผ่าน ATM ทำตามที่ RFC 2684 กำหนด — ต่อท้ายด้วยส่วนปิดท้าย 8 ไบต์ แล้วเติมช่องว่างให้ครบทวีคูณของ 48 ก่อนหั่นเป็นเซลล์ เอกสารระบุช่องเติมไว้ว่า PAD (0 - 47 octets)

ผมคำนวณให้ดูว่าเกิดอะไรขึ้น

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

  IP bytes   cells   on wire   overhead
        40       1        53     32.5%
        41       2       106    158.5%
        64       2       106     65.6%
       576      13       689     19.6%
      1500      32      1696     13.1%

แถวแรกคือ TCP ACK เปล่า ๆ ขนาด 40 ไบต์ ซึ่งเป็นแพ็กเก็ตที่พบบ่อยที่สุดชนิดหนึ่ง บนอินเทอร์เน็ต มันเสียค่าโสหุ้ย 32.5%

แถวที่สองคือสิ่งที่ทำให้คนตกใจ

หน้าผาที่ห่างกันหนึ่งไบต์

แพ็กเก็ตขนาด 40 ไบต์ใช้หนึ่งเซลล์เท่ากับ 53 ไบต์บนสาย แต่เพิ่มข้อมูลอีกไบต์เดียวเป็น 41 ไบต์ ต้องใช้สองเซลล์เท่ากับ 106 ไบต์

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

    40 bytes  ->   53 on wire   1 cell
    41 bytes  ->  106 on wire   2 cells   +53

ตัวเลข +53 คือไบต์ที่เพิ่มบนสายจากการเพิ่มข้อมูลเพียงไบต์เดียว

หน้าผาแบบนี้อยู่ทุก 48 ไบต์ตลอดช่วงขนาด และไม่หายไปที่ขนาดใหญ่ด้วย

  1528 bytes  -> 1696 on wire   32 cells
  1529 bytes  -> 1749 on wire   33 cells   +53

ค่าโสหุ้ย 13% ที่ขนาดเต็มเฟรม บวกกับ 32% ที่แพ็กเก็ตเล็ก บวกกับหน้าผาทุก 48 ไบต์ คือราคาที่ต้องจ่ายตลอดอายุของเทคโนโลยี เพื่อแลกกับสวิตช์ที่เร็ว และความหน่วงที่คำนวณได้

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

ทำไม 53

ตัวเลข 53 ไม่ได้มาจากการคำนวณทางวิศวกรรม มันมาจากการประนีประนอม

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

ข้อเสนอคือ 32 กับ 64 และสิ่งที่ได้คือ 48 ซึ่งอยู่ตรงกลางพอดี บวกหัว 5 ไบต์ เป็น 53

เลขที่ไม่มีใครอยากได้ กลายเป็นเลขที่ทุกคนต้องจ่ายไปสามสิบปี

หมายเหตุ — ที่มาของการประนีประนอมนี้เป็นเรื่องที่เล่าต่อกันในวงการมาก เอกสารกำหนดของ ITU-T ที่นิยามตัวเซลล์ไม่ได้อธิบายว่าทำไมถึงเลือกเลขนี้ และ ตอนเขียนบทความนี้เซิร์ฟเวอร์ของ ITU ตอบข้อผิดพลาด ผมจึงยืนยันจากต้นทางไม่ได้ สิ่งที่ยืนยันได้คือขนาด 53 กับ 48 ซึ่งอ้างจาก RFC 2684 และค่าโสหุ้ยที่คำนวณ จากตัวเลขนั้น

สิ่งที่รอดมา

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

นั่นคือสิ่งที่ MPLS ทำ และมันอยู่ในเครือข่ายผู้ให้บริการแทบทุกรายจนถึงวันนี้ ต่างจากรุ่นก่อนตรงที่มันวางทับบน IP แทนที่จะพยายามแทนที่ IP

บทเรียนคือของที่ชนะไม่ใช่ของที่ดีที่สุดในทุกด้าน แต่คือของที่ต้องการการ ตกลงกันล่วงหน้าน้อยที่สุด เครือข่ายที่ต่อเพิ่มได้โดยไม่ต้องขออนุญาตใคร ขยายได้เร็วกว่าเครือข่ายที่ต้องตั้งค่าทุกจุดตลอดทาง แม้เครือข่ายหลังจะให้ คุณภาพดีกว่า

เมื่อมันโกหก

"แพ็กเก็ตสวิตชิงมีประสิทธิภาพกว่าเสมอ" ไม่เสมอ ถ้าทราฟฟิกสม่ำเสมอและ ต้องการความหน่วงคงที่ การจองทางชนะชัดเจน นั่นคือเหตุผลที่วงจรเช่ายังขายได้ อยู่จนทุกวันนี้

"ATM ตายเพราะเทคโนโลยีแย่" มันตายเพราะต้นทุนการตกลงกันสูงกว่า และเพราะ ฮาร์ดแวร์ตามทันจนข้อได้เปรียบหลักหายไป ไม่ใช่เพราะออกแบบมาไม่ดี

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

"WAN คือ LAN ที่ยาวกว่า" ต่างกันที่ราคาต่อบิตและที่ใครเป็นเจ้าของสายกลาง ซึ่งเปลี่ยนการออกแบบทั้งหมด บทความ Wi-Fi แสดงกรณีคล้ายกัน ว่าเมื่อสื่อกลางถูกแบ่งกับคนอื่น ทุกข้อสมมติเปลี่ยน

ตัวอย่างจริงจากงานจริง

กรณีที่ 1 — คิดค่าโสหุ้ยก่อนซื้อวงจร

สถานการณ์ ผู้ให้บริการเสนอวงจรที่ระบุความเร็วเป็นบิตต่อวินาที ต้องรู้ว่า จะได้ข้อมูลจริงเท่าไหร่

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

สิ่งที่ยังไม่ได้พิสูจน์ ตัวเลขในตารางคำนวณจาก AAL5 ตาม RFC 2684 เท่านั้น วงจรจริงอาจมีชั้นห่ออื่นซ้อนอยู่อีก ซึ่งเพิ่มค่าโสหุ้ยอีก ต้องถามผู้ให้บริการ ว่าตัวเลขที่ขายวัดที่จุดไหน

กรณีที่ 2 — เลือกระหว่างวงจรเช่ากับอินเทอร์เน็ต

สถานการณ์ ต้องเชื่อมสองสาขา และมีสองทางเลือกที่ราคาต่างกันมาก

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

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

กรณีที่ 3 — อ่านคำว่า "วงจรเสมือน" ในสเปกให้ออก

สถานการณ์ เอกสารของผู้ให้บริการใช้คำนี้ ต้องรู้ว่าหมายถึงอะไร

อ่านอย่างไร ถามสามข้อ

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

ข้อที่สามคือข้อที่แยกวงจรเสมือนออกจาก IP ได้ชัดที่สุด ถ้าคำตอบคือต้องตั้งค่า หลายจุด นั่นคือรูปแบบเดิมที่บทความนี้อธิบาย

สิ่งที่ยังไม่ได้พิสูจน์ คำเดียวกันถูกใช้ต่างความหมายในสินค้าต่างยี่ห้อ คำตอบสามข้อนี้บอกพฤติกรรมที่ต้องการรู้ได้ตรงกว่าการเถียงเรื่องนิยาม

อ้างอิง

มาตรฐานที่โหลดได้ฟรี

  • RFC 2684 การห่อ IP ลงบน AAL5 ของ ATM — ที่มาของขนาดเซลล์ 48 ไบต์และช่องเติม PAD (0 - 47 octets) ที่ใช้คำนวณในบทความนี้
  • RFC 2427 การส่งหลายโพรโทคอล ผ่าน Frame Relay
  • RFC 1356 การส่งหลายโพรโทคอล ผ่าน X.25

คำนวณเอง

  • ตารางค่าโสหุ้ยและหน้าผาทุก 48 ไบต์ คำนวณจากขนาดเซลล์ 53 ไบต์ ข้อมูล 48 ไบต์ และส่วนปิดท้าย AAL5 อีก 8 ไบต์ ตามที่ RFC 2684 ระบุ

สิ่งที่ยืนยันจากต้นทางไม่ได้

  • ที่มาของการเลือกเลข 48 จากข้อเสนอ 32 กับ 64 เป็นเรื่องที่เล่าต่อกันมา เอกสารของ ITU-T ที่นิยามเซลล์ไม่ได้อธิบายเหตุผล และตอนเขียนบทความนี้ เซิร์ฟเวอร์ของ ITU ตอบข้อผิดพลาด จึงระบุไว้ตรงนี้แทนที่จะอ้างว่าตรวจแล้ว

อ่านหน้านี้เป็นภาษาอังกฤษ

← กลับไปหน้าความรู้พื้นฐาน