บทนำร่วม 2/8

Connectivity และการสวิตช์ (Switching)

การมีสายเชื่อมอยู่ ไม่ได้แปลว่าทุกเครื่องจะติดต่อกันได้โดยตรง บทนี้จะเริ่มจาก node, link และ topology แล้วค่อยดูว่าสวิตช์ช่วยพาข้อมูลข้ามเครือข่ายอย่างไร ผ่านแนวคิดสำคัญสองแบบคือ circuit switching และ packet switching

1คำศัพท์พื้นฐาน: Node, Link, Topology

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

Node คือจุดที่ข้อมูลเริ่มต้น สิ้นสุด หรือถูกส่งต่อ

Node หมายถึงอุปกรณ์หรือจุดหนึ่งในเครือข่าย หากเป็นเครื่องปลายทางที่สร้างหรือรับข้อมูล เช่น คอมพิวเตอร์ โทรศัพท์ server หรือ sensor เรามักเรียกว่า host หรือ end system แต่ถ้า node นั้นมีหน้าที่รับข้อมูลจาก link หนึ่งแล้วส่งต่อไปอีก link หนึ่ง เราอาจเรียกว่า switch หรือ router ตามหน้าที่และระดับที่ทำงาน

การแยก host ออกจากอุปกรณ์ส่งต่อสำคัญ เพราะ host สนใจความหมายของข้อมูล ส่วน switch และ router โดยทั่วไปสนใจข้อมูลที่จำเป็นต่อการส่งต่อมากกว่า เปรียบเหมือนผู้รับจดหมายที่อ่านเนื้อหาข้างใน กับศูนย์คัดแยกที่อ่านเฉพาะหน้าซอง ศูนย์คัดแยกไม่จำเป็นต้องรู้ว่าในซองเป็นจดหมายรัก ใบแจ้งหนี้ หรือข้อสอบกลางภาค—และบางทีทุกฝ่ายก็น่าจะสบายใจกว่าถ้ามันไม่รู้ครับ

Link คือช่องทางระหว่าง node

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

ดังนั้นเส้นหนึ่งเส้นในแผนภาพไม่ได้บอกทุกอย่าง มันบอกเพียงว่า node สองฝั่งมีช่องทางติดต่อกัน แต่ยังไม่บอกว่าช่องทางนั้นเร็วแค่ไหน ส่งได้พร้อมกันทั้งสองทิศหรือไม่ มีใครแชร์อยู่บ้าง หรือข้อมูลต้องรอนานเท่าไร

ในระดับพื้นฐาน เราแบ่งลักษณะของ link ได้สองแบบ:

ลองนึกภาพ — สะพานส่วนตัวกับลานกลาง

Point-to-point คล้ายสะพานที่เชื่อมเกาะสองเกาะโดยตรง ผู้ใช้บนสะพานรู้ชัดว่าปลายอีกด้านคือใคร ส่วน multiple access คล้ายลานกลางของหมู่บ้านที่ทุกคนใช้ประกาศข่าว หากหลายคนพูดพร้อมกัน ผู้ฟังก็แยกไม่ออก จึงต้องมีกติกาผลัดกันพูดหรือจัดสรรช่วงเวลา

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

Direct connectivity กับ indirect connectivity

ถ้า A มี link ต่อถึง B โดยตรง เราเรียกว่าเชื่อมต่อแบบตรง แต่ในเครือข่ายขนาดใหญ่ A แทบไม่เคยมี link ตรงถึงทุกปลายทาง A อาจต่ออยู่กับ switch ตัวหนึ่ง แล้วอาศัย node ระหว่างทางส่งข้อมูลต่อไปหา B อีกหลายทอด นี่คือ indirect connectivity

จุดเปลี่ยนสำคัญอยู่ตรงนี้: เมื่อไม่ได้เชื่อมกันโดยตรง เราต้องมีคำตอบอย่างน้อยสองเรื่อง หนึ่ง จะส่งข้อมูลออกทาง link ใด และสอง node ถัดไปจะรู้ได้อย่างไรว่าควรส่งต่อไปทางไหน คำถามแรกพาเราไปสู่ switching ส่วนคำถามที่สองจะพาไปสู่ addressing และ routing

Host Aสร้างข้อมูล
Switch 1รับและตัดสินใจ
Link กลางพาข้อมูลไปอีกช่วง
Switch 2ส่งต่อให้ถูกทาง
Host Bรับข้อมูล

Topology คือรูปแบบความสัมพันธ์ ไม่ใช่เพียงรูปที่วาด

Topology อธิบายว่า node และ link เชื่อมโยงกันในรูปแบบใด เช่น bus, ring, star, tree หรือ mesh รูปร่างเหล่านี้มีผลต่อจำนวน link ที่ต้องใช้ จุดที่อาจกลายเป็นคอขวด และสิ่งที่จะเกิดขึ้นเมื่อบาง node หรือบาง link เสีย

Topologyภาพจำข้อดีจุดที่ต้องระวัง
Busทุก node เกาะอยู่บนทางร่วมเส้นเดียวโครงสร้างเรียบง่าย ใช้สื่อน้อยทุกคนแชร์สื่อเดียวกัน และทางหลักเป็นจุดสำคัญ
Ringnode ต่อกันเป็นวงกำหนดลำดับการส่งต่อได้ชัดความเสียหายหนึ่งจุดอาจกระทบทั้งวง หากไม่มีทางสำรอง
Starทุก node ต่อเข้าจุดกลางเพิ่มหรือตัดปลายทางได้ง่าย และแยก link ออกจากกันอุปกรณ์กลางสำคัญมากและอาจเป็นคอขวด
Meshมีหลายเส้นทางเชื่อมระหว่าง nodeมีทางเลือกเมื่อบางเส้นทางเสียใช้ link และการจัดการมากขึ้น

ควรแยก physical topology ออกจาก logical topology ด้วย รูปแบบการต่อสายจริงอาจเป็น star แต่พฤติกรรมการส่งข้อมูลอาจเหมือนใช้สื่อกลางร่วมกัน หรือเครือข่ายจริงอาจมีโครงสร้างซับซ้อน แต่ application มองเห็นเพียงช่องทางเชื่อมต่อเดียว รูปที่เห็นจึงขึ้นอยู่กับว่าเรากำลังมองระบบในระดับใด

หยุดคิดสักครู่
ถ้ามี node จำนวน n ตัว และต้องการต่อแบบ full mesh โดยทุกคู่มี link ตรงถึงกัน จะต้องใช้ link ทั้งหมด n(n−1)/2 เส้น เพียง 100 node ก็ต้องใช้ถึง 4,950 link แล้ว ความเชื่อมต่อโดยตรงดูง่ายในระดับเล็ก แต่โตได้ยากอย่างน่าตกใจ

2Circuit Switching vs Packet Switching

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

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

Circuit Switching: จัดโต๊ะไว้ก่อนแขกมา

Circuit switching มักประกอบด้วยสามช่วง ได้แก่ setup เพื่อสร้างเส้นทางและจองทรัพยากร, data transfer เพื่อส่งข้อมูลผ่านวงจรที่เตรียมไว้ และ teardown เพื่อคืนทรัพยากรเมื่อสื่อสารเสร็จ

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

ลองนึกภาพ — ห้องประชุมที่จองไว้ทั้งชั่วโมง

Circuit switching คล้ายการจองห้องประชุมหนึ่งห้องตั้งแต่ 10.00–11.00 น. เมื่อจองสำเร็จ ห้องนั้นเป็นของเราในช่วงเวลาดังกล่าว ไม่ต้องยืนแย่งที่นั่งทุกครั้งที่จะพูด การประชุมจึงคาดการณ์ได้ง่าย

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

Packet Switching: ส่งเมื่อมีข้อมูล และแชร์ทางกับคนอื่น

คอมพิวเตอร์มักส่งข้อมูลเป็นช่วง ๆ เราอาจอ่านหน้าเว็บอยู่นานแล้วคลิกเพียงครั้งเดียว หรือพิมพ์ข้อความอยู่หนึ่งนาทีก่อนกดส่ง หากจองช่องทางเต็มไว้ตลอดช่วงที่เงียบ ทรัพยากรส่วนใหญ่จะถูกปล่อยว่าง Packet switching จึงแบ่ง message ออกเป็น packet แล้วเปิดให้ผู้ใช้หลายรายสลับกันใช้ link ตามเวลาที่มีข้อมูลจริง แนวคิดนี้เรียกว่า statistical multiplexing ซึ่งจะอธิบายต่อในบทถัดไป

เมื่อ packet มาถึง switch มันอาจถูกเก็บไว้ใน buffer ระหว่างรอ link ขาออก หาก link ว่างก็ส่งต่อได้ทันที แต่หากมี packet อื่นรออยู่ก่อนก็ต้องเข้าคิว หาก buffer เต็ม packet ใหม่อาจถูกทิ้ง ดังนั้นความหน่วงของ packet switching ไม่ได้มาจากระยะทางเพียงอย่างเดียว แต่ขึ้นอยู่กับคนอื่นที่แชร์เครือข่ายในเวลานั้นด้วย

Store-and-forward: รับให้ครบก่อนแล้วค่อยส่งต่อ

ในการส่งแบบ store-and-forward switch รับ packet เข้ามาเก็บก่อน แล้วจึงส่งออกทาง link ถัดไป หาก packet มีขนาด L บิต และ link ส่งได้ R บิตต่อวินาที เวลาที่ใช้ผลัก packet ทั้งก้อนลง link หนึ่งเส้นคือ L/R วินาที ซึ่งเรียกว่า transmission delay

หากต้องผ่านหลาย link เวลาส่วนนี้จะเกิดซ้ำในแต่ละช่วง นอกจากนั้นยังมี propagation delay จากการที่สัญญาณต้องเดินทางจริง, processing delay ที่ node ใช้ตรวจและตัดสินใจ และ queueing delay ที่เกิดจากการรอคิว การพูดว่า “ข้อมูลผ่าน switch สามตัว” จึงยังไม่พอจะบอกว่าจะถึงเมื่อไร

แบ่งข้อมูลMessage กลายเป็น packet
ส่งลง linkใช้เวลา L/R
รับและเก็บSwitch รับ packet
รอคิวถ้า link ถัดไปไม่ว่าง
ส่งต่อทำซ้ำจนถึงปลายทาง
ลองนึกภาพ — พัสดุหลายกล่องบนถนนสาธารณะ

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

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

Packet ทุกก้อนต้องเดินเส้นทางเดียวกันหรือไม่

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

คำว่า packet switching จึงไม่ได้แปลว่า “ไม่มีการเตรียมเส้นทางใด ๆ เลย” และคำว่า circuit ก็ไม่ได้แปลว่าต้องมีสายทองแดงเส้นจริงพาดจากต้นทางถึงปลายทางเสมอไป เราต้องแยกทรัพยากรทางกายภาพ ออกจากสถานะการเชื่อมต่อเชิงตรรกะให้ชัด

ทำไม Internet ใช้ Packet Switching เป็นหลัก
Internet ต้องรองรับผู้ใช้จำนวนมากที่ส่งข้อมูลไม่ต่อเนื่อง Packet switching จึงเหมาะกับการแชร์ทรัพยากรตามความต้องการจริงและรองรับ application ได้หลากหลาย แต่สิ่งที่ต้องแลกคือความหน่วงที่แปรผัน การเข้าคิว และโอกาสที่ packet จะถูกทิ้ง ส่วนการหาเส้นทางอ้อมเมื่อ link เสียจะเกิดขึ้นได้ก็ต่อเมื่อ topology มีทางสำรองและระบบ routing ปรับเส้นทางให้ ไม่ใช่คุณสมบัติที่เกิดขึ้นจากการแบ่งข้อมูลเป็น packet เพียงอย่างเดียว
ลองตัดสินใจ
ถ้าต้องส่งเสียงสนทนาที่ต้องการความต่อเนื่อง กับสำรองข้อมูลขนาดใหญ่ที่ส่งเสร็จเมื่อไรก็ได้ งานสองแบบนี้ควรได้รับการจัดสรรทรัพยากรเหมือนกันหรือไม่? Packet switching ช่วยแชร์ link ได้ดี แต่ไม่ได้ทำให้ความต้องการของทุก application กลายเป็นแบบเดียวกัน

3Cloud, Internetwork, และการระบุที่อยู่

เมื่อเครือข่ายหนึ่งยังไม่ใหญ่พอ เราไม่ได้สร้างเครือข่ายยักษ์ก้อนเดียวขึ้นมาแทน แต่เชื่อมเครือข่ายหลายชุดเข้าหากัน ปัญหาจึงเปลี่ยนจาก “ส่งภายในเครือข่ายนี้อย่างไร” เป็น “จะข้ามจากเครือข่ายหนึ่งไปอีกเครือข่ายหนึ่งได้อย่างไร”

Internetwork คือเครือข่ายของหลายเครือข่าย

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

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

Cloud ในแผนภาพคือการบอกว่า “รายละเอียดข้างในยังไม่ใช่ประเด็น”

ในแผนภาพเครือข่าย เรามักวาดส่วนที่ซับซ้อนเป็นรูปก้อนเมฆ คำว่า cloud ในที่นี้ไม่ได้เป็นชื่ออีกคำหนึ่งของ internetwork เสมอไป แต่เป็นสัญลักษณ์ที่บอกว่า ภายในมีระบบบางอย่างทำงานอยู่ เพียงแต่ตอนนี้เราซ่อนรายละเอียดนั้นไว้ก่อน

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

ลองนึกภาพ — กล่องดำบนแผนที่ขนส่ง

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

Cloud ในแผนภาพทำหน้าที่คล้ายกัน ระดับหนึ่งมองเป็นบริการเดียว แต่อีกระดับมองเป็น node และ link จำนวนมาก ทั้งสองภาพถูกได้พร้อมกัน เพราะตอบคำถามคนละระดับ

Address บอกว่าใคร ส่วน routing ตัดสินว่าจะไปทางไหน

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

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

แนวคิดคำถามที่ตอบภาพเปรียบเทียบ
Addressingปลายทางคือใครหรืออยู่ที่ใด?ที่อยู่บนหน้าซอง
Routingควรเลือกเส้นทางใดไปยังปลายทาง?การวางแผนว่าจะส่งผ่านศูนย์ใด
Forwardingpacket ที่มาถึงตอนนี้ต้องออกทางใด?เจ้าหน้าที่หยิบซองใส่ถุงส่งต่อใบไหน
Switchingจะเชื่อมขาเข้ากับขาออกอย่างไร?การย้ายของจากสายพานหนึ่งไปอีกสายพาน

การส่งข้อมูลจึงต้องอาศัยแนวคิดต่อไปนี้:

หนึ่งผู้ส่ง ไม่ได้แปลว่าต้องมีผู้รับเพียงคนเดียว

Unicast คือการส่งจากต้นทางหนึ่งไปยังปลายทางหนึ่ง Broadcast คือการส่งไปยังทุก node ภายในขอบเขตที่กำหนด และ Multicast คือการส่งไปยังกลุ่มสมาชิกที่สนใจข้อมูลนั้น การเลือกแบบใดมีผลต่อทั้งประสิทธิภาพและขอบเขตของข้อมูล

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

ลองนึกภาพ — จดหมาย ประกาศหมู่บ้าน และกลุ่มสมาชิก
  • Unicast คล้ายจดหมายระบุผู้รับหนึ่งคน
  • Broadcast คล้ายประกาศผ่านเสียงตามสายให้ทุกบ้านในหมู่บ้านได้ยิน
  • Multicast คล้ายส่งวารสารให้เฉพาะสมาชิกที่สมัครไว้

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

หัวข้อเหล่านี้จะกลับมาอีกครั้งเมื่อใด
Address, forwarding และ routing จะเป็นแกนหลักของ Network Layer ใน OSI และ Internet Layer ใน TCP/IP ส่วน unicast, broadcast และ multicast จะกลับมาเมื่อเรียน Ethernet, ARP, IP และการส่งข้อมูลแบบกลุ่ม ตอนนี้ยังไม่ต้องจำรายละเอียดทั้งหมด แต่ควรแยกคำถามของแต่ละแนวคิดให้ออก
ลองวิเคราะห์
ถ้าเครื่อง A ส่งข้อมูลถึงเครื่อง B ได้ แต่ B ส่งกลับหา A ไม่ได้ เราจะเรียกสองเครื่องนี้ว่า connected หรือไม่? Connectivity อาจมีทิศทาง และการมีเส้นทางขาไปไม่ได้รับประกันว่าจะมีเส้นทางขากลับเหมือนกันเสมอ คำว่า “ต่อถึงกัน” จึงต้องระบุให้ชัดว่าต่อในทิศใด ผ่านบริการใด และทดสอบจากหลักฐานอะไร

4สรุปและขั้นตอนถัดไป

  • Node คือจุดที่สร้าง รับ หรือส่งต่อข้อมูล ส่วน link คือช่องทางระหว่าง node ซึ่งอาจเป็น point-to-point หรือใช้ร่วมกันหลาย node
  • Topology บอกความสัมพันธ์ของ node กับ link และมีผลต่อจำนวนเส้นทาง จุดเสีย ต้นทุน และความสามารถในการขยายระบบ
  • Circuit switching เตรียมเส้นทางและทรัพยากรไว้ก่อน จึงคาดการณ์บริการได้ง่ายขึ้น แต่ทรัพยากรอาจว่างระหว่างที่ไม่มีข้อมูล
  • Packet switching แบ่งข้อมูลเป็น packet และให้หลายการสื่อสารแชร์ link ตามการใช้งานจริง จึงคุ้มค่ากับข้อมูลที่มาเป็นช่วง แต่ต้องรับมือกับคิว ความหน่วงที่เปลี่ยนแปลง และ packet ที่อาจถูกทิ้ง
  • Internetwork คือการเชื่อมหลายเครือข่ายเข้าด้วยกัน ส่วนรูป cloud ในแผนภาพเป็นเพียงการซ่อนรายละเอียดที่ยังไม่ต้องพิจารณา ไม่ใช่ชื่อที่ใช้แทน internetwork ทุกกรณี
  • Address ระบุปลายทาง, routing วางเส้นทาง และ forwarding ส่ง packet จริงออกทางขาที่เลือกไว้
เปลี่ยนมุมมอง
ตอนแรก connectivity ดูเหมือนเรื่องของการลากเส้นให้กล่องถึงกัน แต่โจทย์จริงไม่ได้อยู่ที่มีเส้นหรือไม่มีเส้นเท่านั้น อยู่ที่ว่าเราจะใช้เส้นจำนวนจำกัดเชื่อมผู้ใช้จำนวนมากได้อย่างไร จะตัดสินใจส่งข้อมูลต่อที่แต่ละจุดอย่างไร และจะรักษาระบบให้ทำงานต่อได้อย่างไรเมื่อทุกคนไม่ได้ใช้เครือข่ายในเวลาและรูปแบบเดียวกัน

จากบทนี้ไปสู่บท Multiplexing

บทนี้อธิบายแล้วว่า packet ของผู้ใช้หลายรายสามารถใช้ link ร่วมกันได้ แต่ยังไม่ได้ตอบว่า “จะแชร์กันอย่างไร” บทถัดไปจึงจะพิจารณา Multiplexing ตั้งแต่การแบ่งตามเวลา แบ่งตามความถี่ ไปจนถึงการแชร์ตามความต้องการจริง

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