Data Link Layer
เปลี่ยนกระแสบิตจาก Physical Layer ให้เป็น frame ที่มีขอบเขต ส่งระหว่าง node ที่อยู่บนลิงก์เดียวกัน ตรวจความเสียหาย และจัดการการใช้สื่อกลางร่วมกัน รวมถึงการส่งต่อ frame ของ bridge และ LAN switch
1บทบาทของ Data Link Layer ใน OSI
Physical Layer ส่งเพียงกระแสบิตต่อเนื่องขึ้นมา แต่ชั้นบนต้องการรู้ว่าบิตชุดใดเป็นหน่วยเดียวกัน เริ่มตรงไหน จบตรงไหน มาจากใคร และเสียหายระหว่างทางหรือไม่ Data Link Layer จึงเพิ่มโครงสร้างให้กระแสบิตนั้น คล้ายเปลี่ยนเสียงต่อเนื่องให้เป็นประโยคที่มีต้น มีปลาย และมีข้อมูลกำกับพอให้ผู้รับจัดการต่อได้
คำว่า link ในที่นี้หมายถึงช่วงการสื่อสารหนึ่งช่วงระหว่าง node ที่อยู่ติดกันในเส้นทาง ไม่ได้หมายความว่าต้นทาง application กับปลายทาง application อยู่บนลิงก์เดียวกันเสมอ Packet ที่เดินทางผ่าน router หลายตัวจะถูกบรรจุใน frame ใหม่สำหรับแต่ละลิงก์ IP packet ภายในอาจยังเป็นก้อนเดิมเป็นส่วนใหญ่ แต่ Ethernet header ของลิงก์แรกไม่จำเป็นต้องตามไปถึงลิงก์สุดท้าย
บริการของ Data Link Layer ไม่ได้เหมือนกันทุกเทคโนโลยี
| ความสามารถ | คำถามที่ตอบ | ข้อสังเกต |
|---|---|---|
| Framing | บิตใดอยู่ในหน่วยเดียวกัน | ต้องมีวิธีระบุขอบเขตโดยไม่สับสนกับข้อมูลภายใน |
| Link addressing | frame นี้ส่งให้ interface ใดบนลิงก์ | บางลิงก์ point-to-point ไม่ต้องเลือกปลายทางหลายตัวเหมือน LAN |
| Error detection | frame เปลี่ยนไประหว่างทางหรือไม่ | ตรวจพบแล้วอาจทิ้ง ไม่ได้แปลว่าจะซ่อมหรือส่งใหม่เสมอ |
| Reliable delivery | ถ้า frame หายหรือเสีย จะลองใหม่หรือไม่ | ใช้ในบางลิงก์ โดยเฉพาะลิงก์ที่ error สูง แต่ Ethernet ปกติไม่ได้ retransmit ที่ MAC layer |
| Medium access | เมื่อหลาย node ใช้ medium เดียวกัน ใครส่งได้เมื่อใด | แนวทางของ shared Ethernet กับ wireless ต่างกันเพราะตรวจ collision ได้ไม่เหมือนกัน |
2Framing — แบ่งบิตเป็นเฟรม
ถ้าผู้รับเห็นบิต ...011010... ต่อเนื่อง เขาจะรู้ได้อย่างไรว่าบิตแรกของ frame อยู่ตรงไหน การนับจำนวนจากเวลาที่เริ่มเปิดเครื่องไม่พอ เพราะอุปกรณ์อาจเริ่มฟังกลางทาง บิตอาจเสีย และแต่ละ frame อาจยาวไม่เท่ากัน Framing จึงต้องสร้างจุดอ้างอิงที่ผู้รับค้นพบใหม่ได้ แม้จะเคยหลุดจากจังหวะไปก่อนหน้า
Byte-Oriented Protocol
| โปรโตคอล | วิธีการ |
|---|---|
| BISYNC (IBM, sentinel approach) | ใช้ตัวอักษรพิเศษ SYN บอกจุดเริ่ม frame, ข้อมูลจริงอยู่ระหว่าง STX กับ ETX, มี SOH (start of header), DLE (escape ตัวอักษรพิเศษ), และ CRC |
| PPP (sentinel approach, บน Internet link) | ใช้ Flag byte พิเศษ 01111110 บอกจุดเริ่ม/จบ, Protocol field ใช้ demux (IP/IPX), Payload เจรจาต่อรองขนาดได้ (มักไม่เกิน 1500 byte) |
| DDCMP (DECNet, byte-counting approach) | ใช้ field count บอกจำนวน byte ใน frame body — ถ้า count field เสียหาย จะเกิด framing error |
แนวทาง sentinel ใช้ค่าพิเศษเป็นเครื่องหมายเริ่มหรือจบ ปัญหาคือ payload อาจมีค่าเดียวกับเครื่องหมาย ถ้าห้ามใช้ค่านั้น ข้อมูลจะไม่โปร่งใสต่อทุก byte จึงต้องมี byte stuffing หรือ escaping เมื่อพบ byte พิเศษในข้อมูล ผู้ส่งใส่ escape นำหน้า ผู้รับเห็น escape แล้วรู้ว่า byte ถัดไปเป็นข้อมูล ไม่ใช่ตัวควบคุม
PPP ที่วิ่งบน asynchronous byte-oriented link ใช้ flag 0x7E และ escape byte 0x7D พร้อมแปลงค่าบางส่วนตามกติกา ส่วน PPP บน synchronous link อาจใช้กลไกแบบ bit stuffing ตาม framing ที่เกี่ยวข้อง จึงไม่ควรจำว่า protocol หนึ่งมี stuffing แบบเดียวในทุกการห่อหุ้ม ต้องดูชนิดของลิงก์และรูปแบบ frame ที่มาตรฐานกำหนด
แนวทาง byte count ดูประหยัด เพราะ header ระบุความยาวแล้วผู้รับนับตามจำนวน แต่ถ้าฟิลด์ความยาวเสีย receiver อาจกินข้อมูลของ frame ถัดไปเข้ามาด้วย ระบบจึงต้องมีวิธีกลับมาหาขอบเขตใหม่ การออกแบบ framing ที่ดีไม่ได้ป้องกันเพียง error ภายใน frame แต่ต้องคิดว่าเมื่อหลุดแล้วจะ resynchronize อย่างไร
Bit-Oriented Protocol: HDLC และ Bit Stuffing
01111110 บอกจุดเริ่ม/จบเช่นเดียวกับ PPP — เพื่อป้องกันไม่ให้ข้อมูลจริงบังเอิญมี pattern เดียวกันปน:ฝั่งส่ง: ทุกครั้งที่ข้อมูลจริงมี 1 ติดกัน 5 ตัว ให้ stuff 0 เข้าไปก่อน bit ถัดไป
ฝั่งรับ: พบ 1 ติดกัน 5 ตัว → ดู bit ถัดไป: ถ้าเป็น
0 → ทิ้ง (คือ bit ที่ stuff เข้ามา); ถ้าเป็น 1 → ดูต่ออีกตัว: 01111110 = จบ frame, 01111111 = error (ทิ้งทั้ง frame รอ flag ถัดไป)
หัวใจของ bit stuffing คือทำให้ pattern ของ flag ไม่ปรากฏในข้อมูลที่ถูกส่งจริง หลังเจอ 1 ต่อกันห้าตัว ผู้ส่งแทรก 0 โดยไม่สนใจว่าข้อมูลต้นฉบับตัวถัดไปเป็นอะไร ผู้รับทำกระบวนการย้อนกลับเฉพาะภายใน frame จึงได้ payload เดิม การแทรกบิตนี้เพิ่ม overhead ตามรูปแบบข้อมูล ถ้าข้อมูลมี 1 ต่อกันบ่อย overhead จะมากขึ้น แต่แลกกับ data transparency และการหาขอบเขตที่ชัดเจน
ข้อมูลเดิม: 01111110
หลังเห็น 1 ห้าตัวแรก ผู้ส่งแทรก 0: 011111010 ข้อมูลบนสายจึงไม่เกิด flag 01111110 ภายใน payload
ผู้รับพบ 1 ห้าตัวแล้วตามด้วย 0 จึงลบ 0 ที่แทรกออก และได้ข้อมูลเดิมกลับมา จุดสำคัญคืออย่านับบิตที่แทรกเป็นส่วนหนึ่งของชุด 1 ในข้อมูลต้นฉบับ
ความยาวคงที่ก็เป็น framing ได้
ถ้าทุก frame ยาวเท่ากันและ receiver รู้จังหวะอยู่แล้ว การแบ่งทุก N bit เป็นหนึ่ง frame ก็เป็นวิธี framing เช่นกัน ข้อดีคือ logic ง่ายและหา offset ได้ตรง แต่ใช้กับข้อมูลที่ยาวแปรผันไม่สะดวก อาจต้อง padding และถ้าหลุดจาก alignment ต้องมีเครื่องหมายหรือกลไกอื่นช่วยกลับเข้าจังหวะ ระบบจริงจึงเลือกวิธีตามธรรมชาติของ medium และบริการ ไม่ได้มีผู้ชนะหนึ่งเดียว
3Error Detection
ถ้าเราส่งข้อมูลทุก bit โดยไม่มีข้อมูลส่วนเกิน ผู้รับจะไม่มีหลักฐานจาก frame นั้นเองว่าค่าใดเปลี่ยนไป Redundancy จึงไม่ใช่ของเสียทั้งหมด แต่เป็นพื้นที่ที่ซื้อความสามารถในการตรวจ error อย่างไรก็ตาม การตรวจพบไม่ได้เท่ากับการรู้ว่าบิตใดผิด และไม่เท่ากับการแก้กลับได้ ความสามารถขึ้นกับ code ที่ใช้และชนิดของ error ที่ต้องรับมือ
Two-Dimensional Parity
ต่อยอดจาก simple parity (เพิ่ม 1 bit ต่อ 7-bit code ให้จำนวน 1 เป็นคู่/คี่) — 2D parity คำนวณ parity ทั้งแนวนอน (แต่ละ byte) และแนวตั้ง (ตำแหน่ง bit เดียวกันข้าม byte) ได้ parity byte เพิ่ม 1 ชุด จับ error ได้ 1-3 bit ครบ และ 4 bit ได้ส่วนใหญ่
Simple parity ตรวจ error จำนวนคี่ได้ เพราะการกลับบิตจำนวนคี่เปลี่ยน parity แต่ error จำนวนคู่บางรูปแบบทำให้ parity กลับมาเหมือนเดิม Two-dimensional parity วางข้อมูลเป็นตารางและคำนวณทั้งแถวกับคอลัมน์ ถ้าบิตเดียวผิด แถวและคอลัมน์ที่ผิดจะชี้จุดตัดให้เห็น จึงมีข้อมูลมากกว่า parity หนึ่งมิติ
แต่ถ้าบิตผิดสี่ตำแหน่งเป็นมุมของสี่เหลี่ยม แต่ละแถวและคอลัมน์มีการเปลี่ยนสองบิต parity อาจยังถูกทั้งหมด นี่เป็นตัวอย่างสำคัญว่า “จับได้หลายบิต” ต้องระบุ pattern ไม่ใช่ดูจำนวนอย่างเดียว Burst error ซึ่งบิตเสียติดกันเป็นช่วงพบได้ในลิงก์จริงและเป็นเหตุผลหนึ่งที่ CRC ได้รับความนิยม
CRC (Cyclic Redundancy Check)
110001 แทน x⁵+x⁴+1 โดยการบวกและลบสัมประสิทธิ์ทำแบบ modulo 2 จึงเทียบได้กับ XOR กำหนด message เป็น M(x) และ generator เป็น G(x) ผู้ส่งเติมศูนย์ตาม degree ของ G(x) แล้วหารเพื่อหา remainder จากนั้นแนบ remainder ให้ codeword หารด้วย G(x) ลงตัว ฝั่งรับหาร codeword ที่ได้รับอีกครั้ง ถ้าเศษไม่เป็นศูนย์ แปลว่าตรวจพบความผิดปกติสมมุติ generator มี degree r ผู้ส่งจะเพิ่ม FCS จำนวน r บิต ขั้นตอนเชิงบิตใช้ XOR แทนการลบ จึงสร้างวงจรด้วย shift register ได้มีประสิทธิภาพ นี่ทำให้ CRC เหมาะกับการตรวจข้อมูลความเร็วสูง ไม่จำเป็นต้องสร้าง polynomial เชิงสัญลักษณ์ทุก frame ตอนนำไปใช้จริง
ถ้า receiver ได้เศษไม่เป็นศูนย์ เรารู้ว่าข้อมูลหรือ FCS เปลี่ยนภายใต้กติกานี้ แต่ถ้าเศษเป็นศูนย์ หมายถึง ไม่ตรวจพบ error ไม่ใช่หลักฐานเชิงตรรกะว่าไม่มี error แน่นอน Error pattern บางแบบอาจหารด้วย G(x) ลงตัวและหลุดผ่านได้ การเลือก generator ที่ดีจึงออกแบบจากชนิดและความยาวของ error ที่ต้องการตรวจ ไม่ใช่สุ่ม polynomial ใดก็ได้
- ตรวจ single-bit error ได้ ถ้า G(x) มีอย่างน้อยสองพจน์
- ตรวจ burst error ที่สั้นกว่าหรือเท่ากับ degree ของ generator ได้ภายใต้คุณสมบัติมาตรฐาน
- คุณสมบัติเรื่องจำนวนบิตผิดและ burst ที่ยาวขึ้นขึ้นกับ polynomial เฉพาะ จึงไม่ควรเหมารวม CRC ทุกแบบว่าเก่งเท่ากัน
Detection, Correction และ Recovery เป็นคนละขั้น
| ขั้น | คำถาม | ตัวอย่าง |
|---|---|---|
| Error detection | ข้อมูลที่รับมาน่าสงสัยหรือไม่ | Parity, checksum, CRC |
| Error correction | ระบุและแก้ค่าที่ผิดจาก redundancy ได้หรือไม่ | Forward Error Correction เช่น Hamming code หรือ Reed–Solomon ตามบริบท |
| Recovery | เมื่อข้อมูลใช้ไม่ได้ จะทำให้การส่งเดินต่ออย่างไร | ทิ้ง frame, ขอ retransmission, ส่ง ACK/NAK หรือให้ชั้นบนรับผิดชอบ |
Forward Error Correction เหมาะเมื่อ retransmission แพงหรือทำไม่ได้ เช่นสัญญาณออกอากาศ ลิงก์อวกาศ หรือสื่อที่ delay สูง แต่ต้องเพิ่ม redundancy และการประมวลผล ส่วน ARQ ใช้การตรวจพบแล้วขอส่งใหม่ จึงเหมาะเมื่อมีช่องตอบกลับและต้นทุนการลองใหม่ยอมรับได้ ระบบจำนวนมากผสมทั้งสองแบบ ไม่จำเป็นต้องเลือกอย่างใดอย่างหนึ่งตลอดลิงก์
4Reliable Transmission (ระดับ Link)
ถ้า protocol ต้องการ reliable delivery ระดับลิงก์ มันอาจใช้ ACK, sequence number และ timeout เพื่อทำ Automatic Repeat reQuest หรือ ARQ แต่ไม่ใช่ทุกลิงก์จะทำเช่นนี้ Ethernet แบบทั่วไปตรวจ FCS แล้วทิ้ง frame ที่เสีย จากนั้นปล่อยให้ชั้นบนจัดการตามบริการของมัน ขณะที่ wireless บางระบบมี link-layer retransmission เพราะ error จาก medium เกิดได้บ่อยกว่า
ตัวอย่าง Stop-and-Wait ข้างต้นประมาณจากการส่งหนึ่ง frame แล้วรอหนึ่ง RTT หากใช้ 1 KB = 8,192 bit เวลาส่งบน 1.5 Mb/s ประมาณ 5.46 ms เมื่อรวม RTT 45 ms รอบหนึ่งใช้ราว 50.46 ms อัตราใช้งานจริงจึงประมาณ 162 kb/s หากละเลย transmission time แล้วใช้เพียง 1 frame ต่อ 45 ms จะได้ราว 182 kb/s ตัวเลขต่างกันตามสมมุติฐาน จึงควรเขียนให้ชัดว่าโจทย์รวมเวลาใดบ้าง แทนที่จะจำเพียงคำตอบ 1/8
ทำไม Pipeline จึงช่วยได้
ถ้าผู้ส่งต้องรอ ACK ทุก frame ลิงก์จะว่างระหว่างที่สัญญาณและ ACK เดินทาง Sliding Window อนุญาตให้ส่งหลาย frame ต่อเนื่องก่อน ACK แรกกลับมา จำนวน frame ที่ยังไม่ได้ยืนยันเรียกว่า outstanding frames ถ้าหน้าต่างใหญ่พอเติม bandwidth-delay product ได้ ผู้ส่งจึงใช้ลิงก์ได้ต่อเนื่องกว่าเดิม
LFS−LAR ≤ SWSReceiver: RWS (ขนาดหน้าต่างรับ), LAF (sequence number สูงสุดที่ยอมรับ), LFR (frame ล่าสุดที่รับครบตามลำดับ) — ในแบบจำลองพื้นฐานกำหนด
LAF−LFR = RWSACK เป็นแบบ cumulative — ระบุ sequence number สูงสุดที่ "ทุกอันก่อนหน้าครบแล้ว"
Cumulative ACK หมายความว่า ACK หมายเลข 5 ยืนยันว่า frame ถึง 5 มาครบตามลำดับแล้ว ไม่จำเป็นต้องส่ง ACK แยกย้อนหลังทุกหมายเลข ถ้า ACK บางฉบับหาย ACK ที่สูงกว่าสามารถครอบคลุมได้ แต่ถ้า frame 4 หายและ frame 5 มาถึง พฤติกรรมขึ้นกับขนาด receive window และ protocol ว่าจะเก็บ frame 5 รอหรือทิ้ง
Go-Back-N กับ Selective Repeat
| แนวทาง | เมื่อ frame หนึ่งหาย | ข้อแลกเปลี่ยน |
|---|---|---|
| Go-Back-N | ส่ง frame ที่หายและ frame หลังจากนั้นในหน้าต่างใหม่ | receiver และการจัดการง่ายกว่า แต่ส่งข้อมูลที่เคยถึงแล้วซ้ำมากเมื่อ bandwidth-delay product สูง |
| Selective Repeat | ส่งซ้ำเฉพาะ frame ที่หาย โดย receiver เก็บ frame ที่มาถึงนอกลำดับไว้ | ใช้ bandwidth คุ้มกว่า แต่ต้องมี buffer และตรรกะจัดลำดับซับซ้อนขึ้น |
Sequence number มีจำนวนจำกัดและวนกลับมาใช้ใหม่ ขนาดหน้าต่างจึงต้องสัมพันธ์กับ sequence-number space ไม่เช่นนั้น receiver อาจแยก frame เก่าที่มาช้ากับ frame ใหม่หลังเลขวนไม่ได้ โดยเฉพาะ Selective Repeat มักกำหนดหน้าต่างไม่เกินครึ่งหนึ่งของ sequence space เพื่อไม่ให้ช่วงหมายเลขเก่ากับใหม่ซ้อนกัน
ควรระวังว่าคำว่า window ในแต่ละ protocol ไม่ได้มีความหมายเหมือนกันทุกประการ Link-layer ARQ อาจใช้ window เพื่อควบคุม frame บนลิงก์เดียว ส่วน TCP ใช้ sequence number ของ byte และมีกลไก flow control กับ congestion control ระดับ end-to-end แนวคิดคล้ายกันตรงการมีข้อมูลหลายหน่วยค้างระหว่างทาง แต่ขอบเขตและสัญญาณควบคุมต่างกัน
5Bridges และ LAN Switches (+ Spanning Tree)
คำว่า bridge กับ Layer-2 switch อยู่ในตระกูลแนวคิดเดียวกัน Bridge รุ่นแรกมี port ไม่มากและประมวลผลด้วยซอฟต์แวร์มากกว่า ส่วน switch สมัยใหม่มีหลาย port และทำ forwarding ด้วย hardware ที่เร็วขึ้น แต่หลักสำคัญยังเหมือนกัน คือเรียนรู้ว่า source MAC address ปรากฏที่ port ใด แล้วใช้ตารางนั้นตัดสินใจว่าจะส่ง frame ออกทางไหน
Learning Bridge
Bridge เรียนรู้ตำแหน่งโฮสต์โดยตรวจดู source address ของทุก frame ที่รับเข้ามา แล้วบันทึกลงตาราง (host↔port) — entry มี timeout เพื่อลบทิ้งถ้าไม่ถูกอัปเดต ถ้าปลายทางไม่อยู่ในตาราง จะ forward ออกทุก port อื่น (flood)
| สถานการณ์ | การทำงานของ Switch |
|---|---|
| Destination อยู่ port เดียวกับ source | filter frame ไม่ต้องส่งย้อนออก port เดิม เพราะปลายทางอยู่ใน segment ที่รับมา |
| รู้ destination port | forward แบบ unicast ออกเฉพาะ port ที่ตารางระบุ |
| ยังไม่รู้ destination | flood ออกทุก forwarding port ยกเว้น ingress port |
| Broadcast หรือ multicast ที่ไม่มีการกรอง | กระจายภายใน broadcast domain ตามกติกา VLAN และ spanning tree |
ตาราง MAC ไม่ใช่ directory กลางที่กำหนดล่วงหน้าทั้งหมด มันเป็น cache ที่เรียนจาก traffic จึงมีทั้งช่วง cold start ที่ต้อง flood และช่วง aging เมื่อรายการหมดอายุ การโจมตีแบบ MAC flooding พยายามทำให้ตารางเต็มจน switch ต้อง flood มากขึ้น แต่พฤติกรรมจริงขึ้นกับ implementation และกลไกป้องกันของอุปกรณ์
Spanning Tree Algorithm (Radia Perlman, IEEE 802.1)
2) แต่ละ bridge คำนวณ shortest path ไป root แล้วจำ port ที่เป็น "preferred path"
3) แต่ละ LAN เลือก designated bridge เดียว (ใกล้ root ที่สุด, เสมอกันเลือก ID น้อยกว่า)
4) Bridge forward frame เฉพาะ port ที่ตนเป็น designated bridge เท่านั้น
เหตุผลที่เครือข่ายต้องการลิงก์ซ้ำซ้อนกับเหตุผลที่ต้องปิดลิงก์บางเส้นดูเหมือนขัดกัน เราเพิ่มลิงก์เพื่อให้มีทางสำรอง แต่ Ethernet frame แบบดั้งเดิมไม่มี hop limit เหมือน IP packet ถ้า topology มี loop frame broadcast หรือ unknown unicast อาจถูกทำสำเนาและวนต่อไป เกิด broadcast storm และทำให้ switch เรียน source MAC สลับ port ไปมาอย่างไม่เสถียร
ใน STP ที่ใช้งานจริง การเลือก root และเส้นทางพิจารณา Bridge ID, path cost, Port ID และ BPDU ตามลำดับการตัดสิน Port อาจอยู่ในบทบาท root port, designated port หรือ alternate/blocking ตามเวอร์ชันของมาตรฐาน คำอธิบายสี่ขั้นด้านบนเป็นภาพรวมสำหรับเข้าใจ ไม่ควรใช้แทนรายละเอียดของ state transition และ timer เมื่อต้องตั้งค่าอุปกรณ์จริง
ข้อจำกัดของ bridged LAN: broadcast และ unknown traffic ยังถูกกระจายใน broadcast domain ตารางต้องเรียนรู้ endpoint จำนวนมาก และ spanning tree อาจปิดลิงก์ที่มีอยู่จนใช้ capacity ไม่เต็มที่ Routing ช่วยแบ่งขอบเขตและใช้ metric ที่ซับซ้อนกว่า ส่วน VLAN แบ่ง LAN เชิงตรรกะออกเป็นหลาย broadcast domain บนโครงสร้างสวิตช์ร่วมกัน แต่แต่ละ VLAN ยังต้องมี routing เมื่อต้องสื่อสารข้ามกัน
MAC Address ไม่ใช่ตัวตนถาวรของเครื่อง
MAC address ของ Ethernet ยาว 48 บิต แบ่งแนวคิดเป็นส่วนที่องค์กรได้รับจัดสรรและส่วนที่ผู้ผลิตกำหนด แต่ address สามารถตั้งค่าแบบ locally administered หรือเปลี่ยนด้วยซอฟต์แวร์ได้ อุปกรณ์สมัยใหม่ยังใช้ MAC randomization เพื่อเพิ่มความเป็นส่วนตัวในบางบริบท ดังนั้นคำว่า “ไม่ซ้ำทั่วโลกและผูกกับ adaptor” เป็นเป้าหมายของ universal address บางประเภท ไม่ใช่คุณสมบัติที่รับประกันสำหรับทุก frame ที่เห็นบนเครือข่าย
Switch ใช้ MAC address เพื่อ forwarding ไม่ได้พิสูจน์ว่าเจ้าของ address เป็นใคร การปลอม source MAC ทำได้ และการรักษาความปลอดภัยต้องพึ่งกลไกอื่น เช่น authentication, port security หรือการป้องกันระดับสูงขึ้น การเอา addressing ไปเท่ากับ identity เป็นการยกความหมายให้ field มากกว่าหน้าที่ที่มันรับผิดชอบ
6Ethernet — CSMA/CD
CSMA/CD เป็นหัวใจของ Ethernet แบบ shared, half-duplex ในยุคสาย coax และ hub แต่ Ethernet สมัยใหม่ส่วนใหญ่ใช้ switched point-to-point link แบบ full-duplex แต่ละ port มีช่องส่งและรับของตน จึงไม่มี collision domain ร่วมและไม่ใช้ CSMA/CD ระหว่าง switch กับ endpoint บทนี้ยังควรเรียน CSMA/CD เพราะทำให้เห็นความสัมพันธ์ระหว่างระยะทาง propagation delay และ minimum frame size ได้ชัดเจน ไม่ใช่เพราะ LAN ทุกวันนี้ยังชนกันอยู่เป็นปกติ
| Field | ความหมาย |
|---|---|
| Preamble + SFD (64 bit) | Preamble 7 byte ช่วย receiver sync และ Start Frame Delimiter 1 byte บอกจุดเริ่มของ MAC frame |
| Src/Dest Address (48 bit) | ระบุ interface ต้นทางและปลายทางบน Ethernet LAN มีทั้ง universal, locally administered, unicast, multicast และ broadcast ตามบิตกำกับ |
| Data | 46–1500 byte — ขั้นต่ำ 46 byte เพื่อให้ตรวจจับ collision ได้ |
| CRC (32 bit) | ตรวจ error |
ตารางด้านบนยังย่อ field บางส่วน Ethernet MAC frame มี Type/Length field และ FCS ส่วน VLAN tag อาจถูกแทรกตาม IEEE 802.1Q ค่า 64 byte minimum frame มักนับตั้งแต่ Destination MAC ถึง FCS ไม่รวม preamble และ SFD ส่วน Interpacket Gap เป็นช่วงเงียบระหว่าง frame ไม่ใช่ field ใน frame การระบุขอบเขตที่นับสำคัญมากเวลาแก้โจทย์ overhead
Payload ขั้นต่ำ 46 byte ใช้กับ frame ที่ไม่มี VLAN tagในรูปแบบพื้นฐาน หากข้อมูลจากชั้นบนสั้นกว่านั้นต้อง padding แต่ผู้รับต้องอาศัย protocol ชั้นบนหรือ length information แยก payload จริงจาก padding Ethernet ไม่ใส่ field ว่า padding ยาวเท่าไรโดยตรงในทุกกรณี
หลัก 512 bit เรียกว่า slot time ของ Ethernet 10 Mb/s แบบ shared ถ้า frame สั้นจนผู้ส่งหยุดก่อนสัญญาณ collision จากปลายไกลสุดย้อนกลับมา ผู้ส่งอาจเข้าใจผิดว่าส่งสำเร็จ Minimum frame size จึงทำให้ขณะ collision ที่ช้าที่สุดกลับมาถึง ผู้ส่งยังคงกำลังส่งและตรวจพบได้
เมื่อ Ethernet เร็วขึ้น การรักษา network diameter เดิมกับ minimum frame เดิมจะยาก เพราะส่ง 512 bit หมดเร็วขึ้น มาตรฐานแต่ละรุ่นจึงปรับ topology, จำกัดระยะ, ใช้ switching หรือมีกลไกเฉพาะในบางยุค นี่เตือนว่าเลข 512 bit ไม่ได้ลอยมาจากความสวยงามของเลขฐานสอง แต่มาจากการจับคู่เวลาส่ง frame กับ round-trip propagation ของ collision domain
k × 51.2 μs (n = จำนวนครั้ง collision ที่ผ่านมา) — ยิ่งชนซ้ำยิ่งขยายช่วงสุ่มเป็น 2 เท่าใน binary exponential backoff ของ Ethernet ขอบเขตการสุ่มไม่ได้ขยายไม่สิ้นสุด จำนวนบิตที่ใช้เลือกช่วงถูกจำกัด และหลัง collision ถึงจำนวนที่มาตรฐานกำหนด การส่ง frame นั้นจะล้มเหลวแล้วรายงานขึ้นไป รายละเอียดนี้สำคัญเพราะคำว่า exponential ไม่ได้แปลว่าระบบจะรอไปตลอดกาล
7Wireless Links และ IEEE 802.11
Wireless medium ต่างจากสายตรงที่ node หนึ่งไม่ได้ยินสิ่งเดียวกับอีก node เสมอ กำลังสัญญาณลดตามระยะ มีสิ่งกีดขวาง การสะท้อน และ interference จากระบบอื่น ขณะที่อุปกรณ์ส่งสัญญาณของตัวเองด้วยกำลังสูงมากเมื่อเทียบกับสัญญาณอ่อนที่ต้องฟัง การตรวจ collision ระหว่างส่งแบบ Ethernet จึงทำได้ยาก Wi‑Fi ใช้แนวทาง CSMA/CA หรือ collision avoidance พร้อม ACK และการสุ่ม backoff แทนการพึ่ง collision detection
| เทคนิค Spread Spectrum | หลักการ |
|---|---|
| Frequency Hopping | ส่งข้ามความถี่ตามลำดับ pseudorandom ที่ sender/receiver รู้ร่วมกัน |
| Direct Sequence | แทน 1 bit ด้วย n-bit chipping code (XOR กับลำดับ random ที่รู้ร่วมกัน) กระจายสัญญาณกว้างขึ้น n เท่า |
Spread spectrum เดิมมีบทบาททั้งด้านการทน interference และการแบ่งใช้ spectrum แต่ Wi‑Fi หลายรุ่นสมัยใหม่ใช้ OFDM/OFDMA และ modulation ที่ซับซ้อนขึ้น ไม่ควรสรุปว่า IEEE 802.11 ทุกเวอร์ชันใช้ Frequency Hopping หรือ Direct Sequence แบบในตาราง ตารางนี้ควรมองเป็นพื้นฐานเชิงประวัติและแนวคิด ก่อนต่อไปยัง physical layer ของแต่ละ amendment
A, C อยู่ในระยะ B แต่ไม่เห็นกันเอง — ส่งพร้อมกันชนที่ B โดยทั้งคู่ไม่รู้ตัว
C ได้ยิน B ส่งหา A แต่ถ้า C จะส่งหา D (ไม่ทับซ้อน) ก็ไม่ควรถูกห้ามส่ง
MACA เป็นแนวคิดสำคัญที่มีอิทธิพลต่อ RTS/CTS แต่ IEEE 802.11 DCF ไม่ได้เท่ากับ MACA ตรง ๆ Wi‑Fi ใช้ physical carrier sensing ร่วมกับ virtual carrier sensing ผ่าน Network Allocation Vector (NAV) เมื่อ node ได้ยิน frame ที่มี Duration field มันอาจสำรอง medium ตามเวลาที่ระบุ รายละเอียดว่า node ใดต้องเงียบจึงต้องดู frame และกติกา 802.11 ไม่ควรนำคำอธิบาย MACA แบบย่อไปแทนมาตรฐานทั้งหมด
ลำดับพื้นฐานของ CSMA/CA
- สถานีตรวจ medium ถ้าว่างต่อเนื่องตามช่วงเวลาที่กำหนด จึงเริ่มหรือเดินหน้าตัวนับ backoff
- เลือกค่า backoff แบบสุ่มใน contention window และลดตัวนับเมื่อ medium ว่าง หากมีผู้อื่นส่ง ตัวนับหยุดไว้ก่อน
- เมื่อตัวนับถึงศูนย์จึงส่ง data frame อาจใช้ RTS/CTS ก่อนเมื่อเปิดใช้หรือเมื่อ frame ใหญ่ตาม threshold
- ผู้รับตรวจ FCS และส่ง ACK หลังช่วงเวลาสั้น ถ้าผู้ส่งไม่ได้ ACK จะถือว่าการส่งรอบนั้นไม่สำเร็จและลองใหม่ตามกติกา
ACK ของ Wi‑Fi เป็นการยืนยันระดับลิงก์ เพราะผู้ส่งตรวจ collision ระหว่างส่งไม่ได้ การไม่เห็น ACK อาจเกิดจาก data frame หาย ACK หาย หรือ interference ผู้ส่งไม่รู้สาเหตุแน่ชัดจึง retransmit Sequence control ช่วยให้ receiver ตรวจ frame ซ้ำได้ แต่จำนวน retry มีขอบเขต ไม่ใช่รับประกันว่าจะส่งจนสำเร็จเสมอ
Beacon ไม่ได้มีไว้โฆษณาชื่อเครือข่ายอย่างเดียว แต่บอกข้อมูล timing, capability และ parameter ที่สถานีใช้ประเมินเครือข่าย ส่วนการเห็น SSID ไม่ได้แปลว่า authenticate และส่งข้อมูลได้แล้ว กระบวนการ discovery, authentication, association และ security handshake เป็นคนละช่วง การรวมทั้งหมดไว้ใต้คำว่า “ต่อ Wi‑Fi” ทำให้วิเคราะห์อาการยาก เช่นเห็นชื่อเครือข่ายแต่ association ไม่ผ่าน หรือ association แล้วแต่ยังไม่มี IP address
Wi‑Fi เชื่อม Layer 2 เข้ากับ Distribution System อย่างไร
Access Point ทำหน้าที่ bridge ระหว่าง wireless station กับ distribution system ซึ่งมักเป็น Ethernet LAN Frame ของ 802.11 มี address field ได้มากกว่า Ethernet เพราะต้องแยก transmitter, receiver, source, destination และ BSSID ตามทิศทางที่ frame เดินผ่าน AP การคิดว่า Wi‑Fi frame มี source/destination เพียงคู่เดียวแบบ Ethernet จึงไม่พอสำหรับทุกกรณี
เมื่อ station เคลื่อนที่และเปลี่ยน AP ระบบต้องจัด association ใหม่และอัปเดตเส้นทางระดับ bridge การ roaming ที่ผู้ใช้รู้สึกว่าไร้รอยต่อขึ้นกับ scanning, authentication, key management, AP coordination และ application tolerance ไม่ใช่คุณสมบัติของคลื่นวิทยุเพียงอย่างเดียว
| Bluetooth | ZigBee (802.15.4) | |
|---|---|---|
| เป้าหมายหลัก | เชื่อมอุปกรณ์ระยะใกล้ เช่นเสียงและ peripheral โดยความสามารถขึ้นกับ Bluetooth Classic หรือ Bluetooth Low Energy และรุ่นที่ใช้ | IEEE 802.15.4 เป็นฐาน PHY/MAC สำหรับเครือข่ายกำลังต่ำ ส่วน Zigbee สร้าง protocol ชั้นบนและรูปแบบเครือข่ายบนฐานนั้น |
| โครงสร้าง | Bluetooth Classic ใช้แนวคิด piconet ส่วน BLE มีบทบาทและ topology ตามสถาปัตยกรรมของตน | ออกแบบเพื่ออัตราข้อมูลไม่สูงและใช้พลังงานต่ำ รองรับ topology ตาม stack ที่นำ 802.15.4 ไปใช้ |
ตัวเลขระยะและอัตราส่งของ wireless เปลี่ยนตามรุ่น กำลังส่ง antenna, channel, coding และสภาพแวดล้อม การใส่ตัวเลขเดียวว่า Bluetooth ได้ 10 เมตรหรือ 2.1 Mb/s จึงเหมาะกับการอ้างเทคโนโลยียุคหนึ่งเท่านั้น สำหรับบทพื้นฐานควรจำเป้าหมายและข้อแลกเปลี่ยนก่อน แล้วค่อยเปิด specification ของรุ่นที่ใช้งานจริง
8จาก Frame หนึ่งใบไปสู่ LAN ทั้งระบบ
เมื่อรวมแนวคิดทั้งหมดเข้าด้วยกัน เหตุการณ์หนึ่งเริ่มจาก Network Layer ส่ง packet ลงมา Data Link Layer สร้าง header และ trailer เลือก destination MAC ตามลิงก์ปัจจุบัน คำนวณ FCS แล้วขอใช้ medium เมื่อส่งถึงอีกฝั่ง receiver หา frame boundary ตรวจ FCS และพิจารณา address ถ้าเป็น end host จึงส่ง payload ขึ้น Network Layer ถ้าเป็น switch จะเรียน source MAC และตัดสินใจ forward ต่อภายใน LAN
ที่ router ขอบเขตของ frame สิ้นสุด Router นำ IP packet ออก ตรวจและตัดสินเส้นทาง แล้วสร้าง frame ใหม่ให้เหมาะกับ outgoing interface นี่คือจุดที่เห็น layering แบบมีชีวิต Frame ไม่ใช่ซองที่เดินทางจาก application ต้นทางถึงปลายทางทั้งหมด แต่มันเป็นซองประจำ hop ซึ่งถูกแกะและเปลี่ยนเมื่อเทคโนโลยีลิงก์เปลี่ยน
- Notebook สร้าง 802.11 data frame ส่งหา AP โดยใส่ address field ตามทิศทางผ่าน distribution system
- AP รับและตรวจ frame แล้ว bridge payload เข้าฝั่ง Ethernet สร้าง Ethernet frame ที่เหมาะกับ LAN
- Switch เรียน source MAC และ forward ตาม destination MAC หรือ flood หากยังไม่รู้
- ถ้าปลายทางอยู่นอก subnet Router รับ Ethernet frame แกะ IP packet แล้วสร้าง frame ใหม่บนลิงก์ถัดไป
ผู้ใช้เห็นเพียง request เดียว แต่ในแต่ละช่วง packet อาจใส่ frame คนละชนิด การพูดว่า “MAC address ของ server ปลายทาง” จึงต้องถามว่าปลายทางอยู่บนลิงก์เดียวกันหรือไม่ ถ้าอยู่นอก subnet frame แรกมักส่งหา MAC ของ default gateway ไม่ใช่ MAC ของ server ที่อยู่ไกลออกไป
หลักฐานที่ควรดูเมื่อสงสัย Layer 2
| อาการหรือข้อมูล | คำถามที่ช่วยแยกสาเหตุ |
|---|---|
| FCS/CRC error เพิ่ม | มีปัญหาสัญญาณ สาย transceiver interference หรือ duplex mismatch บางแบบหรือไม่ |
| MAC table เปลี่ยน port ไปมา | มี loop, endpoint ย้ายจริง, virtualization หรือ MAC เดียวปรากฏหลายจุดหรือไม่ |
| Broadcast สูงผิดปกติ | มี loop, broadcast storm, discovery traffic หรือ broadcast domain ใหญ่เกินไปหรือไม่ |
| Wi‑Fi retry สูง | สัญญาณอ่อน interference, hidden node, channel utilization สูง หรือ rate selection ไม่เหมาะหรือไม่ |
| อยู่ VLAN เดียวกันแต่คุยไม่ได้ | port mode, VLAN membership, trunk tag, STP state และ security policy ตรงกันหรือไม่ |
Packet capture ที่ host อาจไม่แสดง frame ที่ FCS ผิด เพราะ network adaptor ทิ้งก่อนส่งให้ระบบปฏิบัติการ และ adaptor บางตัวตัด FCS ออกก่อน capture การไม่เห็น error ใน Wireshark จึงไม่ได้แปลว่า medium ไม่มี error ต้องดู hardware counter และตำแหน่งที่จับข้อมูลประกอบด้วย เครื่องมือเห็นเฉพาะสิ่งที่จุดสังเกตยอมส่งให้มันเห็น
9VLAN, ARP และ MTU — รอยต่อที่มักทำให้สับสน
VLAN แบ่ง Broadcast Domain โดยไม่ต้องแยก Switch คนละตัว
ถ้าองค์กรมีผู้ใช้หลายฝ่ายต่ออยู่กับ switch ชุดเดียวกัน แต่ไม่ต้องการให้ broadcast ของทุกฝ่ายปะปนกัน เราสามารถสร้าง Virtual LAN เพื่อแบ่ง topology เชิงตรรกะ แต่ละ VLAN ทำตัวคล้าย LAN แยกกัน แม้อาจใช้สายและ switch ร่วมกัน Frame ของ VLAN หนึ่งไม่ถูก bridge ไปอีก VLAN โดยอัตโนมัติ ถ้าต้องการสื่อสารข้าม VLAN ต้องผ่าน Layer-3 forwarding เช่น router หรือ multilayer switch พร้อมนโยบายที่กำหนด
Access Port กับ Trunk Port
Access port โดยทั่วไปผูก traffic ของ endpoint เข้ากับ VLAN หนึ่ง สถานีปลายทางอาจส่ง Ethernet frame แบบไม่ติด tag แล้ว switch จัด VLAN จาก port configuration ส่วน trunk port ใช้ขนหลาย VLAN ระหว่าง switch, router, AP หรือ hypervisor จึงต้องมีข้อมูลกำกับว่า frame นี้เป็นของ VLAN ใด IEEE 802.1Q เพิ่ม tag ลงใน Ethernet frame พร้อม VLAN Identifier และข้อมูล priority บางส่วน
คำว่า tagged กับ untagged ต้องมองจาก port และทิศทาง Frame เดียวกันอาจเข้าจาก access port แบบไม่มี tag ถูก switch ผูกกับ VLAN ภายใน แล้วออก trunk พร้อม tag เมื่อไปถึง access port ปลายทาง tag ถูกนำออกก่อนส่งให้ endpoint การถามว่า “เครื่องนี้ใช้ VLAN tag หรือไม่” จึงตอบไม่ได้จาก VLAN membership เพียงอย่างเดียว ต้องดูว่า interface นั้นรับผิดชอบ tagging ตรงจุดใด
เครื่องสองเครื่องอาจเสียบสายอยู่ switch เดียวกันและไฟ link ติด แต่ถ้าอยู่คนละ VLAN พวกมันไม่ได้อยู่ broadcast domain เดียวกัน ARP request จะไม่ข้ามไปหาอีกเครื่องโดยตรง หากไม่มี routing ระหว่าง VLAN ทั้งคู่จึงคุยกันไม่ได้ ปัญหานี้ไม่ใช่ Physical Layer เพราะบิตเดินทางถึง switch แล้ว และไม่ใช่เพราะ IP address เพียงอย่างเดียว แต่เป็นขอบเขต forwarding ของ Layer 2 ที่ถูกแบ่งไว้
ARP เชื่อมคำถามของ Layer 3 เข้ากับการส่ง Frame
เมื่อ host ต้องส่ง IP packet มันรู้ destination IP แต่ Ethernet frame ต้องมี destination MAC ถ้าปลายทางอยู่ subnet เดียวกัน host ใช้ ARP หา MAC ของปลายทางโดยตรง ถ้าปลายทางอยู่นอก subnet host ไม่ได้ ARP หา server ที่อยู่ไกล แต่ ARP หา MAC ของ default gateway แล้วส่ง frame แรกให้ gateway โดย IP destination ภายใน packet ยังคงเป็น server เดิม
| กรณี | Destination IP ใน Packet | Destination MAC ใน Frame แรก |
|---|---|---|
| ปลายทางอยู่ LAN เดียวกัน | IP ของเครื่องปลายทาง | MAC ของเครื่องปลายทางที่ได้จาก ARP |
| ปลายทางอยู่อีกเครือข่าย | IP ของปลายทางสุดท้าย | MAC ของ default gateway บนลิงก์ปัจจุบัน |
ARP reply เป็นข้อมูลที่ cache ได้ แต่ cache มีอายุและอาจถูกหลอกด้วย ARP spoofing เพราะ ARP ดั้งเดิมไม่ได้มี authentication ในตัว Switch รู้เพียงว่า MAC อยู่ port ไหน ส่วน host พยายามจับคู่ IP กับ MAC ทั้งสองตารางตอบคนละคำถาม การเปิด MAC table แล้วคาดว่าจะเห็น IP ครบ หรือเปิด ARP table แล้วคาดว่าจะเห็นทุก MAC ใน VLAN จึงเป็นการใช้เครื่องมือผิดหน้าที่
MTU — Frame มีขนาดจำกัด และผลกระทบเดินขึ้นไปถึง Layer บน
Maximum Transmission Unit คือขนาดสูงสุดของ Network-layer payload ที่ Data Link technology รับบรรจุใน frame ตาม interface นั้น Ethernet ทั่วไปมักใช้ IP MTU 1,500 byte แต่ VLAN tag และ header รายละเอียดต่าง ๆ ทำให้คำว่า frame size ต้องระบุว่ากำลังนับส่วนใด อุปกรณ์บางระบบรองรับ jumbo frame แต่ทุกจุดในเส้นทางที่เกี่ยวข้องต้องรองรับและตั้งค่าให้สอดคล้องกัน
ถ้า IP packet ใหญ่กว่า MTU ผลลัพธ์ขึ้นกับ IPv4/IPv6, flag และกลไก Path MTU Discovery IPv4 อาจ fragment ที่จุดเหมาะสมเมื่ออนุญาต ส่วน IPv6 router ไม่ fragment packet ระหว่างทางและต้นทางต้องปรับขนาดตาม ICMPv6 Packet Too Big หาก firewall ปิดกั้นข้อความที่จำเป็น อาจเกิดอาการเชื่อมต่อได้แต่ข้อมูลก้อนใหญ่ค้าง ซึ่งเรียกว่า PMTU black hole ได้
Checklist สั้น ๆ สำหรับปัญหา VLAN และ MTU
- ตรวจว่า endpoint อยู่ VLAN ที่ตั้งใจ และ access port ผูก VLAN ถูกต้อง
- ตรวจว่า trunk อนุญาต VLAN นั้นตลอดทาง รวมถึง native/untagged behavior ของสองฝั่งตรงกัน
- ตรวจ STP ว่า port forwarding หรือถูก block ด้วยเหตุผลใด
- ดู ARP/neighbor table ว่า host หา next-hop address ได้หรือไม่ ไม่ใช่เพียง ping ปลายทางแล้วเดา
- ถ้าข้อมูลเล็กผ่านแต่ข้อมูลใหญ่ค้าง ให้ตรวจ interface MTU, tunnel overhead และข้อความ ICMP ที่เกี่ยวข้อง
10สรุปและขั้นตอนถัดไป
- Data Link Layer เปลี่ยน bit stream เป็น frame ที่มีขอบเขตและข้อมูลกำกับสำหรับลิงก์หนึ่งช่วง
- Framing มีทั้ง sentinel, byte count, fixed length, byte stuffing และ bit stuffing แต่ละแบบต้องคิดทั้ง data transparency และการกลับมา sync หลังเกิด error
- Parity และ CRC ใช้ redundancy เพื่อตรวจความผิดปกติ CRC ที่ได้เศษศูนย์หมายถึงไม่พบ error ไม่ใช่รับประกันว่าไม่มี error
- Reliable link เป็นบริการของบาง protocol ใช้ sequence number, ACK, timeout และ sliding window แต่ Data Link Layer ไม่ได้ retransmit เสมอไป
- Switch เรียนจาก source MAC และ forward, filter หรือ flood ตามตาราง ส่วน Spanning Tree สร้าง forwarding topology ที่ไม่มี loop
- CSMA/CD อธิบาย shared half-duplex Ethernet แบบดั้งเดิม ปัจจุบัน switched full-duplex Ethernet โดยทั่วไปไม่มี collision และไม่ใช้ CSMA/CD
- Wi‑Fi ใช้ CSMA/CA, backoff และ ACK ส่วน RTS/CTS เป็นกลไกเสริมที่ได้รับแนวคิดจาก MACA ไม่ใช่คำตอบที่คุ้มในทุกสถานการณ์
- Frame มีขอบเขตต่อ hop เมื่อผ่าน router จะถูกแกะและสร้างใหม่ตามลิงก์ถัดไป ขณะที่ Network-layer packet เป็นหน่วยที่ใช้ตัดสินเส้นทางข้ามเครือข่าย
- VLAN แบ่ง broadcast domain เชิงตรรกะ, 802.1Q tag ระบุ VLAN บน trunk และการสื่อสารข้าม VLAN ต้องผ่าน Layer 3
- ARP หา MAC ของ next hop บนลิงก์ ไม่ได้ตามหา MAC ของปลายทางไกลทุกครั้ง ส่วน MTU กำหนดขนาด packet ที่ลิงก์บรรจุได้
- เดินตัวอย่าง bit stuffing/destuffing ของ HDLC จาก bit pattern ที่กำหนด
- เดิน Spanning Tree Algorithm ด้วยมือจากตัวอย่างกราฟที่กำหนด
- อธิบายที่มาของกฎ "Ethernet frame ต้องยาวอย่างน้อย 512 bit" อย่างละเอียด
- อธิบาย hidden/exposed node problem และวิธีที่ MACA แก้ปัญหาทั้งสอง
- เปรียบเทียบ CSMA/CD ของ shared Ethernet กับ CSMA/CA ของ Wi‑Fi และอธิบายว่าทำไม wireless ตรวจ collision ระหว่างส่งได้ยาก
- ไล่เหตุการณ์เมื่อ IP packet ข้ามจาก Wi‑Fi ผ่าน AP และ switch ไปยัง router ว่า frame และ address เปลี่ยนที่จุดใด
ขั้นตอนถัดไปคือ Network Layer ซึ่งขยายคำถามจาก “ส่งให้ node ถัดไปบนลิงก์นี้อย่างไร” ไปเป็น “จะพา packet ผ่านหลายเครือข่ายไปยังปลายทางได้อย่างไร” MAC address และ switching ช่วยให้ LAN ทำงาน ส่วน IP address และ routing จะช่วยเชื่อม LAN จำนวนมากให้กลายเป็น internetwork
ถ้าจะตรวจว่าตนเองเข้าใจบทนี้แล้วหรือยัง ลองเล่า frame หนึ่งใบตั้งแต่ออกจาก network adaptor ผ่าน switch ไปถึง router โดยระบุให้ได้ว่าใครเพิ่ม header ใครตรวจ FCS ใครเรียน source MAC และเหตุใด router ต้องสร้าง frame ใหม่ ถ้าอธิบายได้โดยไม่ใช้คำว่า “ส่งต่อไปเรื่อย ๆ” กลบรายละเอียด และรู้ว่าคุณสมบัติใดเป็นของ Ethernet คุณสมบัติใดเป็นของ Wi‑Fi และคุณสมบัติใดเป็นแนวคิดทั่วไปของ Data Link Layer แปลว่าโครงสร้างหลักเริ่มเข้าที่แล้ว