ข้อสอบเก่า · Q3

Wireshark: แอดเดรสแต่ละเลเยอร์

ข้อที่เร็วที่สุดในฉบับ — ไม่มีอะไรต้องคำนวณเลย ท่องเทมเพลต 3 บรรทัดไปเขียน แล้วเอาเวลาที่เหลือไปทุ่มกับข้อ Spanning Tree

ง่ายที่สุดในฉบับ ควรใช้ ~5 นาที (ให้มา 10) 6 คะแนน บทที่ 5 · แอดเดรส 4 ประเภท บทที่ 4 · Encapsulation บทที่ 17 · ARP
อ่านบรรทัดนี้ก่อน ถ้ามีเวลาแค่ 30 วินาที

ตอบ 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)

ส่วนขยาย — ถ้าในห้องสอบไม่มีภาพ Wireshark ให้มา

บางปีโจทย์ให้ภาพมา บางปีสั่งให้ "ยกตัวอย่าง" เอง — กรณีหลังคือกำไร เพราะเราแต่งค่าเองได้ ให้ท่องชุดตัวเลขที่สมจริงไปหนึ่งชุด (เช่นชุดในหน้านี้) แล้วเขียนกำกับว่า "จากการ capture ด้วย Wireshark ขณะเปิดเว็บ" พร้อมวาดตารางสามบรรทัด — ได้คะแนนเต็มเหมือนกัน ขอแค่ค่าที่ยกมาสมเหตุสมผล (MAC เป็นเลขฐาน 16 หกชุด · IP เป็นสี่ชุดไม่เกิน 255 · พอร์ตปลายทางเป็นเลขบริการจริงเช่น 80/443/53)

แอดเดรส 4 ประเภท — ตารางเดียวที่ต้องท่อง

Physical (L2) → Logical (L3) → Port (L4) → Specific (L7) ท่องเรียงจากล่างขึ้นบน — ตรงกับลำดับที่ Wireshark แสดงพอดี
ประเภทแอดเดรสเลเยอร์ตัวอย่างชื่อที่ใช้เรียกขนาดอยู่ในเฮดเดอร์ไหนเปลี่ยนได้ไหม
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)
ได้
เชื่อมกับบทที่ 4 — แอดเดรสถูกใส่ตอนไหน

ตอน encapsulation ข้อมูลไหลลงทีละชั้น และแต่ละชั้นแปะแอดเดรสของตัวเองเพิ่ม: Transport เติม Port address → Network เติม Logical address → Data Link เติม Physical address (และเป็นชั้นเดียวที่เติม Trailer ด้วย) · นี่คือเหตุผลว่าทำไมในแพ็กเก็ตเดียวถึงมีแอดเดรสหลายประเภทซ้อนกันอยู่

การใช้งานแอดเดรสในแต่ละเลเยอร์บนโมเดล TCP/IP
รูปที่ 5.3 จากหนังสือ — การใช้งานแอดเดรสในแต่ละเลเยอร์บนโมเดลมาตรฐาน TCP/IP · สังเกตขนาด: อีเทอร์เน็ตเฮดเดอร์ 14 ไบต์ · IP เฮดเดอร์ 20 ไบต์ · TCP เฮดเดอร์ 20 ไบต์ · ข้อมูล 46–1,500 ไบต์ · Trailer 4 ไบต์

เฉลยละเอียดทีละขั้น

สมมติเรา capture ตอนเปิดเว็บ แล้วเลือกแพ็กเก็ต HTTP มาหนึ่งใบ (ค่าชุดนี้ตรงกับที่ใช้ใน บทที่ 5 หัวข้อซ้อมข้อสอบ Q3):

  1. เลือกแพ็กเก็ต 1 แถวในบานบน แล้วดูบานล่าง (Packet Details)

    บานล่างจะเรียงเป็นชั้น ๆ: Frame → Ethernet II → Internet Protocol Version 4 → Transmission Control Protocol → HTTP · ชั้น Frame ไม่มีแอดเดรส (เป็นข้อมูลของการ capture เช่น ขนาดเฟรม/เวลา) — อย่าหยิบมาตอบ

  2. กาง 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 กำหนดให้ผู้ผลิต
  3. กาง 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
  4. กาง Transmission Control Protocol → ได้ Port address (Layer 4)

    Source Port     = 51244 (พอร์ตชั่วคราวที่ OS สุ่มให้เบราว์เซอร์)
    Destination Port = 80 (HTTP — ตัวนี้ต่างหากที่บอกว่าเป็นบริการอะไร)
    2 ไบต์ (16 บิต) ต่อฝั่ง
  5. (ถ้ามีที่ว่าง) กาง HTTP → ได้ Specific address (Layer 7)

    Host = www.facebook.com
    ชื่อที่คนจำได้ ใช้แทน IP ที่เป็นตัวเลข — เป็นแอดเดรสประเภทที่ 4 ตามหัวข้อ 5.2
  6. เขียนคำตอบเป็นตาราง 3–4 บรรทัด (ดูเทมเพลตหัวข้อถัดไป) — จบข้อภายใน 5 นาที

ลองคลิกทีละชั้นบนหน้าจอจำลองข้างล่าง — แต่ละชั้นจะบอกว่าเจอแอดเดรสอะไร ชื่อทางการว่าอะไร และต้องเขียนลงกระดาษยังไง:

เทมเพลตคำตอบ — ลอกไปเขียนได้เลย

รูปแบบคำตอบตามเฉลย — 3 เลเยอร์ 3 ประเภทแอดเดรส (จำชุดนี้ไปเลย)

เฉลยเขียนเป็น 3 บล็อก แต่ละบล็อกมี 4 อย่าง: ชื่อเลเยอร์ (L2/L3/L4) → ชื่อประเภทแอดเดรส → คำอธิบายภาษาไทยหนึ่งประโยค → ค่าต้นทาง/ปลายทางจริง · เขียนครบ 4 อย่างนี้ทั้งสามบล็อก = ได้ 6 คะแนนเต็ม

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 ที่ 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) ซึ่งถูกเหมือนกันทุกประการ — โจทย์ให้ "ยกตัวอย่าง" เอง ค่าที่ยกมาจึงเป็นอะไรก็ได้ที่สมเหตุสมผล · สิ่งที่ตรวจคือชื่อประเภทแอดเดรส + เลเยอร์ + คำอธิบาย ไม่ใช่ตัวเลข — เลือกจำชุดใดชุดหนึ่งให้ขึ้นใจก็พอ

แบบเต็ม (แนะนำ — เขียนจริงใช้เวลาไม่ถึง 4 นาที)

คัดลอกโครงนี้ลงกระดาษ แล้วเปลี่ยนเฉพาะค่าที่ขีดเส้นใต้ให้ตรงกับภาพในข้อสอบ

// ข้อ 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 LinkPhysical address (MAC)18:5e:0f:ba:c7:0f → 18:0f:76:cb:88:bc
3 — NetworkLogical address (IP)192.168.0.55 → 157.240.7.35
4 — TransportPort address51244 → 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 บรรทัดที่เราต้องเขียนพอดี:

ส่วนขยาย — ทำไม Wireshark ถึงไม่แสดง Trailer / FCS

เฟรมอีเทอร์เน็ตจริงมี Trailer (FCS) 4 ไบต์ ต่อท้ายตามรูปที่ 5.3 แต่ใน Wireshark ส่วนใหญ่จะไม่เห็น เพราะการ์ดเน็ตเวิร์กตรวจ FCS แล้วตัดทิ้งก่อนส่งเฟรมขึ้นมาให้ระบบปฏิบัติการ (ส่วนนี้ไม่ได้อยู่ในตำรา ใส่ไว้กันงงตอนเทียบรูปกับหน้าจอจริง) · ในการสอบให้ตอบตามรูปที่ 5.3 ว่ามี Trailer 4 ไบต์

กับดักที่ทำให้เสียคะแนน

กับดัก 1 — เขียนแต่ค่า ไม่เขียน "ชื่อประเภท"

คำตอบผิดที่พบจริง: "18:5e:0f:ba:c7:0f, 192.168.0.55, 51244" — ก๊อปเลขมาครบแต่ไม่บอกว่ามันคือแอดเดรสประเภทอะไรและอยู่เลเยอร์ไหน · โจทย์ใช้คำว่า "ระบุประเภท" ตรง ๆ ดังนั้นคำว่า Physical / Logical / Port address ต้องปรากฏบนกระดาษ ไม่งั้นได้ไม่ถึงครึ่ง

กับดัก 2 — จับคู่เลเยอร์สลับกัน

คำตอบผิดที่พบจริง: "MAC address = Layer 1" (เพราะคำว่า "Physical" ไปพ้องกับ Physical Layer) · ระวังให้ดี: Physical address อยู่ Layer 2 ไม่ใช่ Layer 1 — Layer 1 ไม่มีแอดเดรสเลย มีแต่สัญญาณกับบิต · อีกคู่ที่สลับบ่อยคือ IP กับ Port (IP = L3, Port = L4)

กับดัก 3 — หยิบค่ามาจากคนละแพ็กเก็ต

โจทย์บอก "ยกตัวอย่าง 1 packet" แต่หลายคนหยิบ MAC จากแถว ARP, IP จากแถว DNS, พอร์ตจากแถว TCP มาปนกัน → อ่านแล้วขัดกันเอง เช่นแพ็กเก็ต ARP ไม่มีทางมีพอร์ต · เลือกแถวเดียวแล้วอ้างอิงเลขที่ปรากฏในแถวนั้นตลอด แล้วเขียนกำกับว่าเป็นแพ็กเก็ตหมายเลขอะไร

กับดัก 4 — ยกตัวอย่างแพ็กเก็ตที่ไม่มีครบ 3 เลเยอร์

ถ้าเผลอเลือก ARP มาเป็นตัวอย่าง จะมีแค่ MAC (L2) กับ IP ที่อยู่ในตัวข้อความ ARP และไม่มีพอร์ตเลย (ARP ไม่ได้ห่ออยู่ใน IP ด้วยซ้ำ — มันขี่บนอีเทอร์เน็ตตรง ๆ ด้วย Type = 0x0806) → ตอบได้ไม่ครบ 3 ประเภท · เลือกแพ็กเก็ต TCP/UDP เสมอ เช่น HTTP, HTTPS, DNS แล้วจะมีครบทั้ง L2/L3/L4

กับดัก 5 — สับสน "พอร์ตต้นทาง" กับ "พอร์ตปลายทาง"

เลขแปลก ๆ อย่าง 51244 คือพอร์ตชั่วคราวของฝั่งไคลเอนต์ ส่วนเลขที่บอกว่าเป็นบริการอะไรคือพอร์ตปลายทาง (80 = HTTP, 53 = DNS/UDP, 21 = FTP control) · เขียนสลับกันแล้วอธิบายว่า "51244 คือ HTTP" = ผิดทันที

เขียนยังไงให้ได้คะแนนเต็ม

ต้องมีในกระดาษตัวอย่างถ้าไม่มี
ระบุว่ายก packet ไหนมาตัวอย่าง: packet No.24 — HTTP GETกรรมการไม่รู้ว่าค่ามาจากไหน
ชื่อประเภทแอดเดรส ครบ 3Physical / 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:aa6 ไบต์ (48 บิต)
3 (Network)Logical address (IP address)192.168.1.20 → 8.8.8.84 ไบต์ (32 บิต)
4 (Transport)Port address54321 → 532 ไบต์ (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 IP 192.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.55157.240.7.35
Port (L4)5124480

(ข) ที่ฝั่งขาออกของเร้าเตอร์: เร้าเตอร์ถอดเฟรมเดิมทิ้งแล้วสร้างเฟรมใหม่ ดังนั้น

  • 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ประเภทค่าขนาดอยู่ในเฮดเดอร์
2Physical address (MAC)18:5e:0f:ba:c7:0f → 18:0f:76:cb:88:bc48 บิตEthernet (14 ไบต์)
3Logical address (IP)192.168.0.55 → 142.250.66.10032 บิตIP (20 ไบต์)
4Port address49876 → 443 (HTTPS)16 บิตTCP (20 ไบต์)
7Specific addresswww.google.comไม่คงที่ข้อมูลของแอปฯ

(ข) ชื่อ PDU แต่ละชั้น (บทที่ 4 หัวข้อ 4.4): Application = เมสเสจ → Transport (TCP) = เซกเมนต์ → Network = แพ็กเก็ต → Data Link = เฟรม → Physical = บิต/สัญญาณ · ถ้าเป็น UDP ชั้น 4 ต้องเรียก ดาต้าแกรม

(ค) ลำดับการใส่แอดเดรส (ไหลลงจากบนลงล่าง)

  1. Application สร้างเมสเสจพร้อม Specific address (ชื่อโฮสต์ที่ผู้ใช้พิมพ์)
  2. Transport เติม Port address → กลายเป็นเซกเมนต์
  3. Network เติม Logical address (IP) → กลายเป็นแพ็กเก็ต
  4. Data Link เติม Physical address (MAC) + Trailer → กลายเป็นเฟรม
  5. Physical แปลงเป็นสัญญาณส่งออกสื่อกลาง (ไม่มีแอดเดรส)

ข้อควรระวัง: พอร์ต 443 คือ HTTPS · ถ้าโจทย์ให้พอร์ตในตารางที่ 5.2 ให้ตอบตามตาราง (20/21 FTP · 23 TELNET · 53 DNS/UDP · 69 TFTP · 80 HTTP · 111 RPC · 123 NTP)

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

MAC address เป็นแอดเดรสประเภทใด และอยู่เลเยอร์ไหน?
MAC = Physical address (หรือ hardware / DLC address) อยู่ที่ Layer 2 (Data Link) ในเฮดเดอร์อีเทอร์เน็ต ขนาด 6 ไบต์ · Layer 1 ไม่มีแอดเดรสใด ๆ มีแต่สัญญาณ — คำว่า "Physical" ในชื่อแอดเดรสหมายถึง "ติดมากับฮาร์ดแวร์" ไม่ได้แปลว่าอยู่ Physical Layer
เปิดเว็บไปยังเซิร์ฟเวอร์นอกเน็ตเวิร์ก · capture ที่สาย LAN ในบ้าน · Destination MAC ในเฟรมคือของใคร?
MAC ใช้ได้เฉพาะภายในลิงก์เดียวกัน เมื่อปลายทางอยู่คนละเน็ตเวิร์ก เฟรมจึงถูกส่งให้ default gateway ก่อน (MAC ของเร้าเตอร์ ซึ่งได้มาจาก ARP) ส่วน IP ปลายทางยังเป็นของเซิร์ฟเวอร์จริง ไม่เปลี่ยน — นี่คือคู่ที่ข้อสอบชอบถามพ่วงมากที่สุด
แพ็กเก็ตแบบใดที่ ไม่ เหมาะจะยกเป็นตัวอย่างในข้อนี้ เพราะตอบไม่ครบ 3 ประเภท?
ARP ถูกส่งในเฟรมอีเทอร์เน็ตโดยตรง (Type = 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