Wireshark: แอดเดรสแต่ละเลเยอร์
ข้อที่เร็วที่สุดในฉบับ — ไม่มีอะไรต้องคำนวณเลย ท่องเทมเพลต 3 บรรทัดไปเขียน แล้วเอาเวลาที่เหลือไปทุ่มกับข้อ Spanning Tree
ตอบ 3 บรรทัด = 3 ประเภทแอดเดรส: L2 → Physical address (MAC) · L3 → Logical address (IP) · L4 → Port address · แต่ละบรรทัดต้องมี ชื่อประเภทแอดเดรส + เลเยอร์ + ค่าต้นทาง/ปลายทางจากภาพ ครบสามอย่าง · เติม L7 → Specific address (เช่น www.facebook.com) เป็นบรรทัดที่ 4 ถ้ามีที่ว่าง
โจทย์จริงจากข้อสอบปีที่แล้ว
ข้อ 3 (6 คะแนน)
ให้ใช้โปรแกรม Wireshark ตรวจจับ packet ที่เกิดขึ้น ยกตัวอย่าง 1 packet และพร้อมระบุประเภทของแอดเดรสที่ปรากฏใน packet ดังกล่าว อย่างน้อย 3 ประเภท ที่แต่ละ layer ให้ถูกต้อง
| คำในโจทย์ | แปลว่าต้องทำอะไร |
|---|---|
| "ยกตัวอย่าง 1 packet" | เลือกมาแพ็กเก็ตเดียว แล้วอ้างอิงมันตลอด — ห้ามหยิบค่าจากคนละแถวมาปนกัน |
| "ระบุประเภทของแอดเดรส" | ต้องเขียนชื่อประเภททางการ: Physical / Logical / Port address ไม่ใช่แค่ก๊อปตัวเลขมาแปะ |
| "อย่างน้อย 3 ประเภท" | 3 บรรทัดคือขั้นต่ำ → เขียน 4 ได้ยิ่งดี (เพิ่ม Specific address ที่ L7) |
| "ที่แต่ละ layer ให้ถูกต้อง" | ต้องจับคู่เลเยอร์ให้ตรง: MAC = L2, IP = L3, Port = L4 — สลับกันคือผิดทันที |
6 คะแนน ÷ 3 ประเภท = ประเภทละ 2 คะแนน · แต่ละประเภทมี "ชื่อ + เลเยอร์ + ค่า" ให้เขียน — ขาดอย่างใดอย่างหนึ่งมักโดนหักครึ่ง
คิดยังไง (แนวคิดใน 30 วินาที)
ข้อนี้ไม่ใช่ข้อคำนวณ และไม่ได้วัดว่าเราใช้ Wireshark เป็นด้วยซ้ำ — มันวัดอย่างเดียวว่า "รู้ไหมว่าแอดเดรสประเภทไหนอยู่เลเยอร์ไหน" ซึ่งเป็นเนื้อหาหัวข้อ 5.2 ตรง ๆ
หน้าจอ Wireshark ในบานล่าง (packet detail) เรียงจากเลเยอร์ล่างขึ้นบนอยู่แล้ว ดังนั้นวิธีที่เร็วที่สุดคือไล่จากบนลงล่างตามที่มันแสดง แล้วแปลงเป็นบรรทัดคำตอบทีละบรรทัด:
เห็นคำว่า Ethernet II
→ Layer 2 · ชื่อทางการ: Physical address (MAC / hardware / DLC address) · ขนาด 6 ไบต์ = 48 บิต
เห็นคำว่า Internet Protocol
→ Layer 3 · ชื่อทางการ: Logical address (IP address) · IPv4 = 4 ไบต์ = 32 บิต
เห็นคำว่า TCP / UDP
→ Layer 4 · ชื่อทางการ: Port address · 2 ไบต์ = 16 บิต (0–65,535)
บางปีโจทย์ให้ภาพมา บางปีสั่งให้ "ยกตัวอย่าง" เอง — กรณีหลังคือกำไร เพราะเราแต่งค่าเองได้ ให้ท่องชุดตัวเลขที่สมจริงไปหนึ่งชุด (เช่นชุดในหน้านี้) แล้วเขียนกำกับว่า "จากการ capture ด้วย Wireshark ขณะเปิดเว็บ" พร้อมวาดตารางสามบรรทัด — ได้คะแนนเต็มเหมือนกัน ขอแค่ค่าที่ยกมาสมเหตุสมผล (MAC เป็นเลขฐาน 16 หกชุด · IP เป็นสี่ชุดไม่เกิน 255 · พอร์ตปลายทางเป็นเลขบริการจริงเช่น 80/443/53)
แอดเดรส 4 ประเภท — ตารางเดียวที่ต้องท่อง
| ประเภทแอดเดรส | เลเยอร์ | ตัวอย่างชื่อที่ใช้เรียก | ขนาด | อยู่ในเฮดเดอร์ไหน | เปลี่ยนได้ไหม |
|---|---|---|---|---|---|
| Physical address | Layer 2 Data Link |
MAC address · Hardware address · DLC address | 6 ไบต์ (48 บิต) |
Ethernet header (14 ไบต์) |
ไม่ได้ — ติดมากับการ์ดจากโรงงาน |
| Logical address | Layer 3 Network |
IP address | IPv4 = 4 ไบต์ (32 บิต) IPv6 = 128 บิต |
IP header (20 ไบต์) |
ได้ — ขึ้นกับเน็ตเวิร์กที่เสียบอยู่ |
| Port address | Layer 4 Transport |
หมายเลขพอร์ต (TCP/UDP port) | 2 ไบต์ (16 บิต) |
TCP / UDP header (TCP 20 ไบต์) |
ได้ — OS สุ่มพอร์ตต้นทางให้ทุกครั้ง |
| Specific address | Layer 7 Application |
URL / ชื่อโฮสต์ / อีเมล | ความยาวไม่คงที่ | ข้อมูลของแอปฯ (เช่น Host: ของ HTTP) |
ได้ |
ตอน encapsulation ข้อมูลไหลลงทีละชั้น และแต่ละชั้นแปะแอดเดรสของตัวเองเพิ่ม: Transport เติม Port address → Network เติม Logical address → Data Link เติม Physical address (และเป็นชั้นเดียวที่เติม Trailer ด้วย) · นี่คือเหตุผลว่าทำไมในแพ็กเก็ตเดียวถึงมีแอดเดรสหลายประเภทซ้อนกันอยู่
เฉลยละเอียดทีละขั้น
สมมติเรา capture ตอนเปิดเว็บ แล้วเลือกแพ็กเก็ต HTTP มาหนึ่งใบ (ค่าชุดนี้ตรงกับที่ใช้ใน บทที่ 5 หัวข้อซ้อมข้อสอบ Q3):
-
เลือกแพ็กเก็ต 1 แถวในบานบน แล้วดูบานล่าง (Packet Details)
บานล่างจะเรียงเป็นชั้น ๆ:
Frame→Ethernet II→Internet Protocol Version 4→Transmission Control Protocol→HTTP· ชั้น Frame ไม่มีแอดเดรส (เป็นข้อมูลของการ capture เช่น ขนาดเฟรม/เวลา) — อย่าหยิบมาตอบ -
กาง
Ethernet II→ ได้ Physical address (Layer 2)Source MAC = 18:5e:0f:ba:c7:0f
Destination MAC = 18:0f:76:cb:88:bc
6 ไบต์ต่อฝั่ง · 3 ไบต์แรกคือ OUI ที่ IEEE กำหนดให้ผู้ผลิต -
กาง
Internet Protocol Version 4→ ได้ Logical address (Layer 3)Source IP = 192.168.0.55
Destination IP = 157.240.7.35
4 ไบต์ (32 บิต) ต่อฝั่ง · ฟิลด์ Protocol = 6 บอกว่าข้างในเป็น TCP -
กาง
Transmission Control Protocol→ ได้ Port address (Layer 4)Source Port = 51244 (พอร์ตชั่วคราวที่ OS สุ่มให้เบราว์เซอร์)
Destination Port = 80 (HTTP — ตัวนี้ต่างหากที่บอกว่าเป็นบริการอะไร)
2 ไบต์ (16 บิต) ต่อฝั่ง -
(ถ้ามีที่ว่าง) กาง
HTTP→ ได้ Specific address (Layer 7)Host = www.facebook.com
ชื่อที่คนจำได้ ใช้แทน IP ที่เป็นตัวเลข — เป็นแอดเดรสประเภทที่ 4 ตามหัวข้อ 5.2 -
เขียนคำตอบเป็นตาราง 3–4 บรรทัด (ดูเทมเพลตหัวข้อถัดไป) — จบข้อภายใน 5 นาที
ลองคลิกทีละชั้นบนหน้าจอจำลองข้างล่าง — แต่ละชั้นจะบอกว่าเจอแอดเดรสอะไร ชื่อทางการว่าอะไร และต้องเขียนลงกระดาษยังไง:
เทมเพลตคำตอบ — ลอกไปเขียนได้เลย
เฉลยเขียนเป็น 3 บล็อก แต่ละบล็อกมี 4 อย่าง: ชื่อเลเยอร์ (L2/L3/L4) → ชื่อประเภทแอดเดรส → คำอธิบายภาษาไทยหนึ่งประโยค → ค่าต้นทาง/ปลายทางจริง · เขียนครบ 4 อย่างนี้ทั้งสามบล็อก = ได้ 6 คะแนนเต็ม
1. Data Link Layer (L2)
MAC Address (Physical Address)
ที่อยู่ทางกายภาพของการ์ดเครือข่าย ใช้ระบุการส่งข้อมูลระดับวง LAN
00:1A:2B:3C:4D:5E
MAC ของเครื่องเรา
Destination MAC
00:11:22:33:44:55
MAC ของ Router / Default Gateway
2. Network Layer (L3)
IP Address (Logical Address)
ที่อยู่เชิงตรรกะที่กำหนดโดยโปรโตคอล IP ใช้ส่งข้อมูลข้ามเครือข่ายต่าง subnet หรือบนอินเทอร์เน็ต
192.168.1.15
IPv4 ของเครื่องเรา
Destination IP
142.250.198.46
IPv4 ของ Web Server ปลายทาง
3. Transport Layer (L4)
Port Number (Transport / Process Address)
หมายเลขพอร์ตที่ใช้ระบุ process และ application บนเครื่อง เพื่อคัดแยกว่าข้อมูลเป็นของโปรแกรมไหนและปลายทางที่กำลังสื่อสารกัน
51234
Ephemeral Port ที่ OS สุ่มให้ Client
Destination Port
443
Well-known Port ของบริการ HTTPS บน Server
เขียนลงกระดาษแบบนี้ (ชุดตัวเลขตามเฉลย)
// ข้อ 3 — packet ที่ capture ได้: HTTPS ขณะเปิดเว็บ (Ethernet II / IPv4 / TCP / TLS)
1. Data Link Layer (L2) — MAC Address (Physical Address)
คำอธิบาย: ที่อยู่ทางกายภาพของการ์ดเครือข่าย ใช้ระบุการส่งข้อมูลระดับวง LAN
Source MAC = 00:1A:2B:3C:4D:5E (MAC ของเครื่องเรา)
Destination MAC = 00:11:22:33:44:55 (MAC ของ Router / Default Gateway)
2. Network Layer (L3) — IP Address (Logical Address)
คำอธิบาย: ที่อยู่เชิงตรรกะที่กำหนดโดยโปรโตคอล IP ใช้ส่งข้อมูลข้าม subnet หรือบนอินเทอร์เน็ต
Source IP = 192.168.1.15 (IPv4 ของเครื่องเรา)
Destination IP = 142.250.198.46 (IPv4 ของ Web Server ปลายทาง)
3. Transport Layer (L4) — Port Number (Transport / Process Address)
คำอธิบาย: ระบุ process/application บนเครื่อง เพื่อคัดแยกว่าข้อมูลเป็นของโปรแกรมไหน
Source Port = 51234 (Ephemeral Port ที่ระบบปฏิบัติการสุ่มให้ Client)
Destination Port = 443 (Well-known Port สำหรับบริการ HTTPS บน Server)
เทมเพลตที่เหลือในหน้านี้ใช้ชุดตัวอย่างอีกชุด (18:5e:0f:ba:c7:0f / 192.168.0.55 → 157.240.7.35 / พอร์ต 51244 → 80) ซึ่งถูกเหมือนกันทุกประการ — โจทย์ให้ "ยกตัวอย่าง" เอง ค่าที่ยกมาจึงเป็นอะไรก็ได้ที่สมเหตุสมผล · สิ่งที่ตรวจคือชื่อประเภทแอดเดรส + เลเยอร์ + คำอธิบาย ไม่ใช่ตัวเลข — เลือกจำชุดใดชุดหนึ่งให้ขึ้นใจก็พอ
คัดลอกโครงนี้ลงกระดาษ แล้วเปลี่ยนเฉพาะค่าที่ขีดเส้นใต้ให้ตรงกับภาพในข้อสอบ
// ข้อ 3 — ตัวอย่าง packet ที่จับได้จาก Wireshark
Packet ที่ยกมา : HTTP GET (No.24) จากเครื่องตนเองไปยังเว็บเซิร์ฟเวอร์
ชั้นที่ปรากฏ : Ethernet II / IPv4 / TCP / HTTP
1) Layer 2 (Data Link) ประเภท : Physical Address (MAC address)
Source MAC = 18:5e:0f:ba:c7:0f
Destination MAC = 18:0f:76:cb:88:bc
ขนาด 6 byte (48 bit) อยู่ใน Ethernet header
2) Layer 3 (Network) ประเภท : Logical Address (IP address)
Source IP = 192.168.0.55
Destination IP = 157.240.7.35
ขนาด 4 byte (32 bit) อยู่ใน IP header
3) Layer 4 (Transport) ประเภท : Port Address
Source Port = 51244 (ephemeral port ของ client)
Destination Port = 80 (HTTP)
ขนาด 2 byte (16 bit) อยู่ใน TCP header
4) Layer 7 (Application) ประเภท : Specific Address // ใส่เพิ่มถ้ามีเวลา
Host = www.facebook.com
| Layer | ประเภทแอดเดรส | ค่าที่อ่านได้จาก packet |
|---|---|---|
| 2 — Data Link | Physical address (MAC) | 18:5e:0f:ba:c7:0f → 18:0f:76:cb:88:bc |
| 3 — Network | Logical address (IP) | 192.168.0.55 → 157.240.7.35 |
| 4 — Transport | Port address | 51244 → 80 (HTTP) |
ตารางแบบนี้ใช้เวลาเขียนไม่ถึง 2 นาที และมีครบทั้ง "ชื่อประเภท + เลเยอร์ + ค่า" ตามที่โจทย์ขอ
Layer 2 : Physical address (MAC) ต้นทาง ____:____:____:____:____:____
ปลายทาง ____:____:____:____:____:____
Layer 3 : Logical address (IP) ต้นทาง ___.___.___.___
ปลายทาง ___.___.___.___
Layer 4 : Port address ต้นทาง _____ ปลายทาง _____ (บริการ ______)
คำถามพ่วงที่ถูกถามบ่อยที่สุด — ทำไม MAC ปลายทางไม่ใช่ของเซิร์ฟเวอร์
ถ้าอาจารย์ถามต่อว่า "ทำไม Destination MAC ไม่ใช่ของ facebook" คำตอบคือ:
"MAC address มีความหมายเฉพาะภายในลิงก์เดียว (local) จึงเปลี่ยนทุก hop ส่วน IP address มีความหมายจากต้นทางถึงปลายทาง (end-to-end) จึงไม่เปลี่ยน" — เมื่อปลายทางอยู่คนละเน็ตเวิร์ก เฟรมต้องถูกส่งให้ default gateway ก่อน MAC ปลายทางในเฟรมแรกจึงเป็นของเร้าเตอร์ และ MAC นั้นได้มาจาก ARP (บทที่ 17)
แอดเดรสแต่ละประเภทอยู่ตรงไหนในเฟรม
ถ้าโจทย์ถามว่า "แอดเดรสนี้อยู่ในเฮดเดอร์ไหน ขนาดเท่าไร" ให้ตอบจากภาพนี้ — และภาพนี้ยังเรียงลำดับตรงกับคำตอบ 3 บรรทัดที่เราต้องเขียนพอดี:
เฟรมอีเทอร์เน็ตจริงมี Trailer (FCS) 4 ไบต์ ต่อท้ายตามรูปที่ 5.3 แต่ใน Wireshark ส่วนใหญ่จะไม่เห็น เพราะการ์ดเน็ตเวิร์กตรวจ FCS แล้วตัดทิ้งก่อนส่งเฟรมขึ้นมาให้ระบบปฏิบัติการ (ส่วนนี้ไม่ได้อยู่ในตำรา ใส่ไว้กันงงตอนเทียบรูปกับหน้าจอจริง) · ในการสอบให้ตอบตามรูปที่ 5.3 ว่ามี Trailer 4 ไบต์
กับดักที่ทำให้เสียคะแนน
คำตอบผิดที่พบจริง: "18:5e:0f:ba:c7:0f, 192.168.0.55, 51244" — ก๊อปเลขมาครบแต่ไม่บอกว่ามันคือแอดเดรสประเภทอะไรและอยู่เลเยอร์ไหน · โจทย์ใช้คำว่า "ระบุประเภท" ตรง ๆ ดังนั้นคำว่า Physical / Logical / Port address ต้องปรากฏบนกระดาษ ไม่งั้นได้ไม่ถึงครึ่ง
คำตอบผิดที่พบจริง: "MAC address = Layer 1" (เพราะคำว่า "Physical" ไปพ้องกับ Physical Layer) · ระวังให้ดี: Physical address อยู่ Layer 2 ไม่ใช่ Layer 1 — Layer 1 ไม่มีแอดเดรสเลย มีแต่สัญญาณกับบิต · อีกคู่ที่สลับบ่อยคือ IP กับ Port (IP = L3, Port = L4)
โจทย์บอก "ยกตัวอย่าง 1 packet" แต่หลายคนหยิบ MAC จากแถว ARP, IP จากแถว DNS, พอร์ตจากแถว TCP มาปนกัน → อ่านแล้วขัดกันเอง เช่นแพ็กเก็ต ARP ไม่มีทางมีพอร์ต · เลือกแถวเดียวแล้วอ้างอิงเลขที่ปรากฏในแถวนั้นตลอด แล้วเขียนกำกับว่าเป็นแพ็กเก็ตหมายเลขอะไร
ถ้าเผลอเลือก ARP มาเป็นตัวอย่าง จะมีแค่ MAC (L2) กับ IP ที่อยู่ในตัวข้อความ ARP และไม่มีพอร์ตเลย (ARP ไม่ได้ห่ออยู่ใน IP ด้วยซ้ำ — มันขี่บนอีเทอร์เน็ตตรง ๆ ด้วย Type = 0x0806) → ตอบได้ไม่ครบ 3 ประเภท · เลือกแพ็กเก็ต TCP/UDP เสมอ เช่น HTTP, HTTPS, DNS แล้วจะมีครบทั้ง L2/L3/L4
เลขแปลก ๆ อย่าง 51244 คือพอร์ตชั่วคราวของฝั่งไคลเอนต์ ส่วนเลขที่บอกว่าเป็นบริการอะไรคือพอร์ตปลายทาง (80 = HTTP, 53 = DNS/UDP, 21 = FTP control) · เขียนสลับกันแล้วอธิบายว่า "51244 คือ HTTP" = ผิดทันที
เขียนยังไงให้ได้คะแนนเต็ม
| ต้องมีในกระดาษ | ตัวอย่าง | ถ้าไม่มี |
|---|---|---|
| ระบุว่ายก packet ไหนมา | ตัวอย่าง: packet No.24 — HTTP GET | กรรมการไม่รู้ว่าค่ามาจากไหน |
| ชื่อประเภทแอดเดรส ครบ 3 | Physical / Logical / Port address | เสียคะแนนหลักของข้อ |
| เลเยอร์ กำกับทุกบรรทัด | L2 / L3 / L4 (พร้อมชื่อเลเยอร์) | โดนหักบรรทัดละครึ่ง |
| ค่าต้นทาง + ปลายทาง | src → dst ทั้งคู่ ไม่ใช่ค่าเดียว | ตอบไม่ครบ |
| ขนาดของแอดเดรส (ได้เปรียบ) | 48 บิต / 32 บิต / 16 บิต | ไม่หัก แต่ได้ความน่าเชื่อถือ |
| เฮดเดอร์ที่มันอยู่ (ได้เปรียบ) | Ethernet / IP / TCP header | ไม่หัก แต่โชว์ว่าเข้าใจ encapsulation |
ข้อนี้ให้ 10 นาที แต่ควรจบใน 5 นาที · แนะนำให้ทำข้อนี้เป็นข้อแรกของฉบับ เพราะไม่ต้องคิดเลย ได้ 6 คะแนนติดมือไว้ก่อน แล้วเอาเวลาที่เหลือไปทุ่มกับ Q10 (Spanning Tree) หรือ Q5 (Utilization) ที่กินเวลาจริง
โจทย์ฝึก 5 ข้อ
ข้อนี้เป็นข้อเขียนบรรยาย — ให้ "เขียนคำตอบจริง" ในกระดาษก่อนกดดูเฉลย แล้วเทียบว่าตกหล่นคำไหน
ข้อ 1 อุ่นเครื่อง
จับแพ็กเก็ตได้ 1 ใบ มีชั้น Ethernet II / IPv4 / UDP / DNS โดยอ่านค่าได้ดังนี้:
MAC 3c:22:fb:1a:0d:77 → e8:9f:80:44:12:aa · IP 192.168.1.20 → 8.8.8.8 · Port 54321 → 53
จงระบุประเภทของแอดเดรสอย่างน้อย 3 ประเภทพร้อมเลเยอร์
เฉลยข้อ 1
| Layer | ประเภทแอดเดรส | ค่า | ขนาด |
|---|---|---|---|
| 2 (Data Link) | Physical address (MAC address) | 3c:22:fb:1a:0d:77 → e8:9f:80:44:12:aa | 6 ไบต์ (48 บิต) |
| 3 (Network) | Logical address (IP address) | 192.168.1.20 → 8.8.8.8 | 4 ไบต์ (32 บิต) |
| 4 (Transport) | Port address | 54321 → 53 | 2 ไบต์ (16 บิต) |
ประเด็นที่ต้องเขียนเพิ่มให้ครบ: พอร์ตปลายทาง 53 = DNS ซึ่งตามตารางที่ 5.2 ใช้ UDP ดังนั้น PDU ชั้น 4 ของแพ็กเก็ตนี้เรียกว่า ดาต้าแกรม (datagram) ไม่ใช่เซกเมนต์ · และ 8.8.8.8 เป็น DNS เซิร์ฟเวอร์นอกเน็ตเวิร์ก ดังนั้น MAC ปลายทาง e8:9f:80:44:12:aa คือของ เร้าเตอร์ (default gateway) ไม่ใช่ของ 8.8.8.8
ข้อ 2 อ่านให้ขาดว่าแพ็กเก็ตนี้มีอะไรบ้าง
นักศึกษาคนหนึ่งเลือกแพ็กเก็ต ARP มาตอบข้อสอบ โดยหน้าจอแสดง:
Ethernet II, Src: 18:5e:0f:ba:c7:0f, Dst: ff:ff:ff:ff:ff:ff · Type: ARP (0x0806)
Address Resolution Protocol (request) — Sender IP: 192.168.0.55, Target IP: 192.168.0.77, Target MAC: 00:00:00:00:00:00
(ก) แพ็กเก็ตนี้มีแอดเดรสประเภทใดบ้าง (ข) ทำไมถึงตอบ "อย่างน้อย 3 ประเภท" ไม่ได้ (ค) ควรแก้ไขอย่างไร
เฉลยข้อ 2
(ก) ที่มีจริง:
- Physical address (MAC) — Layer 2 · ที่เฮดเดอร์อีเทอร์เน็ต: ต้นทาง
18:5e:0f:ba:c7:0f(เครื่องที่ถาม) ปลายทางff:ff:ff:ff:ff:ff= บรอดคาสท์ (เพราะ ARP request ต้องถามทั้งวง LAN) - Logical address (IP) — Layer 3 โดยตำแหน่ง แต่ปรากฏอยู่ในตัวข้อความ ARP ไม่ใช่ใน IP header: Sender IP
192.168.0.55, Target IP192.168.0.77 - ยังมี Target MAC =
00:00:00:00:00:00ซึ่งเป็นช่องว่างที่รอคำตอบ — นี่คือจุดสังเกตว่าเป็น request ไม่ใช่ reply
(ข) ทำไมไม่ครบ 3 ประเภท: ARP ไม่มีเลเยอร์ 4 จึงไม่มี Port address เลย — หนังสือบทที่ 17 ระบุว่า ARP ถูกส่งในแพ็กเก็ตของอีเทอร์เน็ตโดยตรง Type = 0x0806 ไม่ได้ห่ออยู่ใน IP ด้วยซ้ำ ดังนั้นตอบได้แค่ 2 ประเภท
(ค) วิธีแก้: เปลี่ยนไปยกแพ็กเก็ตที่มีชั้น TCP หรือ UDP เช่น HTTP / HTTPS / DNS ซึ่งจะมีครบ L2 + L3 + L4 · หรือถ้าอยากใช้ ARP จริง ๆ ต้องเขียนกำกับว่า "แพ็กเก็ตนี้มี 2 ประเภท เพราะ ARP ไม่มีชั้นทรานสปอร์ต" แล้วยกแพ็กเก็ตที่สองเสริม — แต่ในห้องสอบเลือก TCP/UDP ง่ายกว่ามาก
ข้อ 3 คำถามพ่วงเรื่อง hop
เครื่อง 192.168.0.55 (MAC 18:5e:0f:ba:c7:0f) เปิดเว็บไปยังเซิร์ฟเวอร์ 157.240.7.35 โดยมีเร้าเตอร์ 192.168.0.1 (MAC ฝั่ง LAN 18:0f:76:cb:88:bc) เป็น gateway
(ก) ถ้า capture ที่สาย LAN ในบ้าน จะเห็น MAC/IP ต้นทางปลายทางเป็นอะไร (ข) ถ้า capture ที่ฝั่งขาออกของเร้าเตอร์ ค่าใดเปลี่ยน ค่าใดไม่เปลี่ยน (ค) สรุปเป็นหลักการหนึ่งประโยค
เฉลยข้อ 3
(ก) ที่สาย LAN ในบ้าน (hop แรก):
| ต้นทาง | ปลายทาง | |
|---|---|---|
| MAC (L2) | 18:5e:0f:ba:c7:0f (เครื่องเรา) | 18:0f:76:cb:88:bc (เร้าเตอร์ ไม่ใช่เซิร์ฟเวอร์) |
| IP (L3) | 192.168.0.55 | 157.240.7.35 |
| Port (L4) | 51244 | 80 |
(ข) ที่ฝั่งขาออกของเร้าเตอร์: เร้าเตอร์ถอดเฟรมเดิมทิ้งแล้วสร้างเฟรมใหม่ ดังนั้น
- MAC เปลี่ยนทั้งคู่ → ต้นทางเป็น MAC ของพอร์ตขาออกของเร้าเตอร์ ปลายทางเป็น MAC ของอุปกรณ์ hop ถัดไป
- IP ไม่เปลี่ยน → ยัง
192.168.0.55→157.240.7.35เหมือนเดิม - Port ไม่เปลี่ยน → ยัง
51244→80
(ค) หลักการ: "L2 address เป็นเรื่องของลิงก์ จึงเปลี่ยนทุก hop · L3/L4 address เป็นเรื่องของต้นทาง-ปลายทาง จึงคงเดิมตลอดเส้นทาง"
หมายเหตุ: ในเน็ตเวิร์กบ้านจริงมักมี NAT ที่เร้าเตอร์ซึ่งจะเปลี่ยน IP ต้นทางกับพอร์ตต้นทางด้วย — แต่ NAT ไม่ได้อยู่ในขอบเขตบทที่ 4/5 ในการสอบให้ตอบตามหลักการข้างบน
ข้อ 4 อ่านโครงสร้าง MAC
จากแพ็กเก็ตหนึ่ง Wireshark แสดง Source: 00:01:42:9c:5e:31 และ Destination: ff:ff:ff:ff:ff:ff
(ก) 3 ไบต์แรกของ MAC ต้นทางเรียกว่าอะไร ใครกำหนด (ข) MAC ปลายทางนี้เป็นประเภทใด (ค) แอดเดรสนี้เป็นของโหนดหรือของอินเทอร์เฟซ (ง) ถ้าโจทย์ถามขนาดของ MAC และ IPv6 ต้องตอบเท่าไร
เฉลยข้อ 4
(ก) 3 ไบต์แรก = OUI (Organizationally Unique Identifier) กำหนดโดย IEEE เพื่อระบุบริษัทผู้ผลิต ส่วน 3 ไบต์หลังผู้ผลิตกำหนดเอง · ในตารางที่ 5.1 ของหนังสือ 0x000142 คือของ Cisco
(ข) ff:ff:ff:ff:ff:ff คือ Broadcast address — ส่งถึงทุกเครื่องในวง LAN · MAC แบ่งเป็น 3 ประเภทคือ Unicast / Multicast / Broadcast ดูจาก Group bit ในไบต์แรก (0 = unicast, 1 = multicast/broadcast)
(ค) เป็นแอดเดรสของ อินเทอร์เฟซ ไม่ใช่ของโหนด — เพราะโหนดหนึ่งอาจมีการ์ด LAN หลายแผ่น เช่นเร้าเตอร์ที่มีหลายอินเทอร์เฟซ หรือเซิร์ฟเวอร์ที่มีหลายการ์ด
(ง) MAC = 6 ไบต์ = 48 บิต · IPv4 = 32 บิต · IPv6 = 128 บิต (และใน IPv6 มีการนำ Physical address มาช่วยกำหนดแอดเดรสด้วย)
ข้อ 5 ยากกว่าของจริง — ตอบให้ครบ 4 ประเภท + เชื่อมกับ encapsulation
จับแพ็กเก็ต HTTPS ได้หนึ่งใบ: MAC 18:5e:0f:ba:c7:0f → 18:0f:76:cb:88:bc · IP 192.168.0.55 → 142.250.66.100 · TCP port 49876 → 443 · ชั้นบนสุดคือ TLS ของเว็บ www.google.com
(ก) ระบุแอดเดรสให้ครบ 4 ประเภท พร้อมเลเยอร์และขนาด (ข) บอกชื่อ PDU ของแต่ละชั้น (ค) แอดเดรสแต่ละประเภทถูกใส่เข้าไปตอนไหนของ encapsulation
เฉลยข้อ 5
(ก) แอดเดรส 4 ประเภท
| Layer | ประเภท | ค่า | ขนาด | อยู่ในเฮดเดอร์ |
|---|---|---|---|---|
| 2 | Physical address (MAC) | 18:5e:0f:ba:c7:0f → 18:0f:76:cb:88:bc | 48 บิต | Ethernet (14 ไบต์) |
| 3 | Logical address (IP) | 192.168.0.55 → 142.250.66.100 | 32 บิต | IP (20 ไบต์) |
| 4 | Port address | 49876 → 443 (HTTPS) | 16 บิต | TCP (20 ไบต์) |
| 7 | Specific address | www.google.com | ไม่คงที่ | ข้อมูลของแอปฯ |
(ข) ชื่อ PDU แต่ละชั้น (บทที่ 4 หัวข้อ 4.4): Application = เมสเสจ → Transport (TCP) = เซกเมนต์ → Network = แพ็กเก็ต → Data Link = เฟรม → Physical = บิต/สัญญาณ · ถ้าเป็น UDP ชั้น 4 ต้องเรียก ดาต้าแกรม
(ค) ลำดับการใส่แอดเดรส (ไหลลงจากบนลงล่าง)
- Application สร้างเมสเสจพร้อม Specific address (ชื่อโฮสต์ที่ผู้ใช้พิมพ์)
- Transport เติม Port address → กลายเป็นเซกเมนต์
- Network เติม Logical address (IP) → กลายเป็นแพ็กเก็ต
- Data Link เติม Physical address (MAC) + Trailer → กลายเป็นเฟรม
- Physical แปลงเป็นสัญญาณส่งออกสื่อกลาง (ไม่มีแอดเดรส)
ข้อควรระวัง: พอร์ต 443 คือ HTTPS · ถ้าโจทย์ให้พอร์ตในตารางที่ 5.2 ให้ตอบตามตาราง (20/21 FTP · 23 TELNET · 53 DNS/UDP · 69 TFTP · 80 HTTP · 111 RPC · 123 NTP)
เช็คความเข้าใจ
0x0806) ไม่มีชั้น IP และไม่มีชั้นทรานสปอร์ต จึงไม่มี Port address ให้ตอบ ได้แค่ MAC (L2) กับ IP ที่อยู่ในตัวข้อความ ARP · ส่วน HTTP / DNS / HTTPS มีครบ L2 + L3 + L4 เสมอ- ท่องสามคู่: MAC = Physical address = L2 (48 บิต) · IP = Logical address = L3 (32 บิต) · Port = Port address = L4 (16 บิต)
- เขียนให้ครบ ชื่อประเภท + เลเยอร์ + ค่า src/dst ทุกบรรทัด — ขาดชื่อประเภทคือเสียคะแนนหลัก
- ยกตัวอย่างเป็น แพ็กเก็ต TCP/UDP (HTTP/DNS) เท่านั้น อย่ายก ARP เพราะไม่มีพอร์ต
- เตรียมคำตอบพ่วง: MAC ปลายทาง = เร้าเตอร์ เพราะ MAC เป็น local ต่อหนึ่งลิงก์ ส่วน IP เป็น end-to-end
- ต่อยอด: บทที่ 5.2 แอดเดรส 4 ประเภท · บทที่ 4.4 Encapsulation · บทที่ 17 ARP · ข้อถัดไป Q4 — Propagation / Transmission Delay