Lab 1 · มิถุนายน 2569

Network Topology Simulation using GNS3

สร้าง topology ทั้ง 4 แบบในใบแลป ตั้ง IP ให้ VPCS และ router ทำ RIP ให้ ping ข้าม subnet ได้ แล้วดักจับด้วย Wireshark — ตาราง IP ในหน้านี้แทนค่า x = 3, y = 128 ให้เรียบร้อยแล้ว คัดลอกไปวางได้ทันที

อ่าน ~20 นาที ทำจริง ~2 ชม. ออกสอบข้อ 1–2 (25 คะแนน)
สรุปแลปนี้ใน 30 วินาที

ทำอะไร — ลากอุปกรณ์ใน GNS3 มาต่อกันเป็น 4 topology ที่ยากขึ้นเรื่อย ๆ: ① PC ล้วนบน subnet เดียว ② PC สองตัวคนละ subnet คั่นด้วย router 1 ตัว ③ แทรก switch เข้าไป ④ router สองตัวเชื่อมกันด้วย Serial แล้วใช้ RIP ให้คุยกันได้ ปิดท้ายด้วยการเปิด Wireshark ที่ลิงก์

ได้อะไร — ทักษะสามอย่างที่ข้อสอบใช้ทั้งหมด: ตั้ง IP ให้ทุกอุปกรณ์, ทำให้ router สองตัวคุยกันผ่าน Serial, และดักจับ packet

ออกสอบตรงไหน — ข้อ 1 (15 คะแนน) คือ topology ที่ 4 ขยายใหญ่ขึ้น และ ข้อ 2 (10 คะแนน) คือ Wireshark filter icmp / arp รวมกันคือ ครึ่งหนึ่งของข้อสอบแลป

1.1เป้าหมายและสิ่งที่ต้องส่ง

#สิ่งที่ใบแลปสั่งให้ทำทำที่ไหนในหน้านี้
1สร้าง topology ที่ 1 (VPCS 3 ตัว) ตั้ง IP แล้ว ping หากัน · เปิด Wireshark ด้วย Start Capture ที่ลิงก์ แล้วอธิบายสิ่งที่เห็น§1.9
2สร้าง topology ที่ 2 (router 1 ตัว + PC 2 ตัวคนละ subnet) config ทุก interface, ทำ RIP, ตั้ง gateway ให้ VPCS แล้ว ping · capture ซ้ำ§1.10
3สร้าง topology ที่ 3 — แทรก switch เข้าไปแล้วทำให้ PC1 ping PC2 ได้§1.11
4สร้าง topology ที่ 4 — router 2 ตัว (LAB-A / LAB-B) เชื่อมด้วย Serial อย่างน้อย 2 อินเทอร์เฟซ ทำ RIP ทั้งสองตัว แล้ว ping ข้ามฝั่ง · capture ซ้ำ§1.12
5ตรวจสอบ config ของ LAB-A ด้วย show interfaces แล้วหาความสัมพันธ์ระหว่างพอร์ตที่พบกับอุปกรณ์ที่ใช้§1.7
6คำถามท้ายการทดลอง 2 ข้อ — ออกแบบเครือข่ายจาก router 4 ตัว · อธิบายประเภทของ Port Adapters§1.14
ค่าของคุณคือ x = 3, y = 128

ใบแลปกำหนดว่า x = เลขหลังขีดของรหัสนักศึกษา และ y = เลขสามตัวก่อนขีด mod 254 · รหัส 673040128-3 → x = 3, y = 128 mod 254 = 128

ในใบแลปเขียนว่าของคุณคือใช้ทำอะไร
192.x.y.0/24192.3.128.0/24LAN ฝั่งซ้าย (PC1, PC2)
193.x.y.0/24193.3.128.0/24ลิงก์ Serial ระหว่าง router สองตัว
194.x.y.0/24194.3.128.0/24LAN ฝั่งขวา (PC3 / PC2 อีกฝั่ง)
Subnet mask ทุกวงคือ 255.255.255.0 (เท่ากับ /24) ตามที่ใบแลประบุ

1.2ส่วนต่าง ๆ ของโปรแกรม GNS3

GNS3 จำลองการทำงานของ ซอฟต์แวร์ IOS ในอุปกรณ์จริง ได้ใกล้เคียงถึง 90% จึงใช้คำสั่งของอุปกรณ์นั้นได้ทั้งหมด ต่างจากโปรแกรมจำลองบางตัวที่รองรับเฉพาะคำสั่งที่ผู้พัฒนาเตรียมไว้ — หน้าจอหลักแบ่งเป็น 6 ส่วนตามใบแลป

หน้าจอเต็มของโปรแกรม GNS3 ที่ยังไม่ได้เปิดโปรเจกต์ มีกรอบสีแดงล้อมพื้นที่หกส่วนพร้อมเลขกำกับสีม่วง หมายเลข 1 คือแถบเมนูบนสุด File, Edit, View, Control, Node, Annotate, Tools, Help หมายเลข 2 คือแถบไอคอนคำสั่งลัดใต้เมนู มีปุ่มเปิด บันทึก นาฬิกา คอนโซล ปุ่มเล่นสีเขียว หยุดชั่วคราวสีเหลือง หยุดสีแดง รีเฟรช และแว่นขยาย หมายเลข 3 คือแผงซ้ายชื่อ All devices ที่มีรายการอุปกรณ์ ATM switch, c7200 124-24.T5, c7200 152-4.M5, Cloud, Ethernet hub, Ethernet switch, Frame Relay switch, NAT, VPCS และปุ่ม New template หมายเลข 4 คือพื้นที่ว่างตรงกลางที่เขียนว่า Please create a project หมายเลข 5 คือแผง Console ด้านล่างที่แสดงข้อความ GNS3 management console บอกว่ารัน GNS3 version 3.0.3 on Windows พร้อม prompt เครื่องหมายเท่ากับมากกว่า หมายเลข 6 คือแผงขวาบนชื่อ Topology Summary ที่มีคอลัมน์ Node และ Console และแผง Servers Summary ที่แสดง webserver controller เป็นจุดสีเขียว
รูปที่ 8 จากใบแลป Lab 1 — ส่วนต่างๆ ของโปรแกรม GNS3 · เลข ①–⑥ ในรูปตรงกับตารางข้างล่างนี้ทีละแถว (รูปในใบแลปเป็นหน้าจอ Windows — บน macOS ตำแหน่งของทั้ง 6 ส่วนเหมือนกันเป๊ะ ต่างแค่แถบเมนู ① ย้ายไปอยู่บนสุดของหน้าจอแทนที่จะอยู่ในตัวหน้าต่าง)
#ส่วนทำอะไร
1Menu barเมนู File, Edit, View, Control, Device, Annotate, Tools, Help — คำสั่งพื้นฐาน เปิด/สร้างโปรเจกต์ใหม่/บันทึก และการตั้งค่าต่าง ๆ (บน Mac เมนู Preferences ย้ายไปอยู่ใต้ GNS3 ซ้ายบน)
2Shortcut Icon Barคำสั่งที่ใช้บ่อย เช่น เปิด-ปิด, บันทึก — เร็วกว่าเข้าจาก Menu bar · ปุ่ม ▶ Start / ⏸ Suspend / ⏹ Stop ทั้งหมด อยู่แถบนี้
3Node Typeแถบซ้ายมือ เลือกอุปกรณ์ที่จะลากลงมา — Router, Switch, End devices (VPCS) และปุ่ม Add a link
4Topology Graphic Viewพื้นที่ตรงกลาง = ที่สร้าง topology · เป็นส่วนทำงานหลักของโปรแกรม
5Consoleสร้าง/แก้ไข configuration ผ่าน Command Line — เร็วกว่า GUI แต่ต้องอาศัยความเข้าใจและความชำนาญสูง
6Topology Summaryรายการอุปกรณ์ทั้งหมดที่สร้างไว้ · topology เล็กอาจไม่จำเป็น แต่สำคัญมากเมื่ออุปกรณ์เยอะ (เช่น 4 router ในคำถามท้ายการทดลอง)

1.3การใช้งาน GNS3 เบื้องต้น — สร้าง topology

สี่ขั้นนี้คือขั้นตอนที่ต้องทำซ้ำทุก topology ในใบแลป

  1. ลากอุปกรณ์ลงมา — เลือก VPCS และ Routers จาก Node Type แล้วคลิกลากมาวางใน Topology Graphic View
    หน้าจอ GNS3 ที่เปิดโปรเจกต์แล้ว แผงซ้ายชื่อ All devices แสดงรายการอุปกรณ์ ATM switch, c7200 124-24.T5, c7200 152-4.M5 ที่ถูกเน้นเป็นแถบเทา, Cloud, Ethernet hub, Ethernet switch, Frame Relay switch, NAT และ VPCS พื้นที่ตรงกลางมีอุปกรณ์สองตัวที่ถูกลากมาวางแล้ว ตัวซ้ายเป็นไอคอนจอคอมพิวเตอร์ชื่อ PC1 ตัวขวาเป็นไอคอน router ลูกศรสี่ทิศชื่อ R1 แผงขวาบนชื่อ Topology Summary แสดงสองบรรทัดคือ PC1 กับ R1 พร้อมที่อยู่ console แบบ telnet 10.161.112.1 และแผง Servers Summary แสดง webserver controller
    รูปที่ 21 จากใบแลป Lab 1 — การเลือก Devices วางลงยัง Topology Graphic View · ลากจากแผง All devices ทางซ้ายมาวางตรงกลาง แล้วชื่ออุปกรณ์จะไปโผล่ในแผง Topology Summary ทางขวาทันที
  2. เชื่อมต่ออุปกรณ์ — กด Add a link ใน Node Type แล้วคลิกที่อุปกรณ์ → เลือกพอร์ต → ลากไปยังอุปกรณ์ที่ต้องการเชื่อม แล้วเลือกพอร์ตปลายทาง
    หน้าจอ GNS3 ระหว่างลากสาย แผงซ้ายชื่อ Routers มีรายการ c7200 124-24.T5 และ c7200 152-4.M5 ไอคอนล่างสุดของแถบ Node Type เป็นรูปสายเชื่อมที่มีเครื่องหมายกากบาทสีแดงแปลว่ากำลังอยู่ในโหมดลากสาย ตรงกลางมี PC1 ต่อเส้นตรงไปยัง R1 แล้ว และจาก R1 มีเมนูรายการพอร์ตกางลงมา แสดงรายชื่อพอร์ตเรียงกันคือ FastEthernet0/0, Ethernet1/0, Ethernet1/1, Ethernet1/2, Ethernet1/3, Serial2/0 และ Serial2/1 แต่ละบรรทัดมีไอคอนสี่เหลี่ยมสีแดงนำหน้า
    รูปที่ 22 จากใบแลป Lab 1 — การเชื่อมต่ออุปกรณ์เข้าหากัน · เมนูที่กางลงมาจาก R1 คือรายชื่อพอร์ตจริงของ router ตัวนั้น — FastEthernet0/0 (จากการ์ด slot 0), Ethernet1/0–Ethernet1/3 และ Serial2/0, Serial2/1 · ชื่อที่เห็นในเมนูนี้คือชื่อที่ต้องพิมพ์ต่อท้ายคำสั่ง interface อย่าเดาเอง
    จุดที่คนพลาดบ่อย — เลข slot ในใบแลปไม่ตรงกับชื่อพอร์ตในรูปนี้

    ใบแลปสั่งให้ตั้ง slot 1 = PA-4T+ (Serial) และ slot 2 = PA-4E (Ethernet) ตอนสร้าง template (ดูรูปที่ 19 ที่หน้าติดตั้ง §0.6) ซึ่งถ้าตั้งตามนั้นจะได้ชื่อ Serial1/x กับ Ethernet2/x — แต่รูปที่ 22 ข้างบนกลับแสดง Ethernet1/x กับ Serial2/x และคำสั่งตัวอย่างทุกบล็อกในใบแลปก็ใช้แบบหลัง · สรุป: ใบแลปเขียนสลับกันเอง ห้ามท่องเลข slot — ให้เปิดเมนูพอร์ตแบบในรูปนี้ (หรือ show ip interface brief) ดูชื่อจริงก่อนพิมพ์ทุกครั้ง หน้านี้ใช้ Ethernet1/0 และ Serial2/0 ตามคำสั่งที่ใบแลปเขียนไว้จริง

  3. กด Start ที่ Shortcut Icon Bar — ปุ่มมีสามแบบ: เปิดการทำงานของอุปกรณ์ทั้งหมด · ระงับการทำงานชั่วคราว · ปิดการทำงานทั้งหมด
    ภาพขยายของปุ่มสามปุ่มบนแถบไอคอนคำสั่งลัด ปุ่มซ้ายเป็นสามเหลี่ยมสีเขียวชี้ไปทางขวาแบบปุ่มเล่น ปุ่มกลางเป็นแท่งสี่เหลี่ยมสีเหลืองสองแท่งวางคู่กันแบบปุ่มหยุดชั่วคราว ปุ่มขวาเป็นสี่เหลี่ยมจัตุรัสสีแดงแบบปุ่มหยุด ทั้งสามปุ่มมีขีดสีดำเล็ก ๆ อยู่ด้านบน
    รูปที่ 23 จากใบแลป Lab 1 — ปุ่มกด Shortcut Icon Bar · ▶ เขียว = เปิดการทำงานของอุปกรณ์ทั้งหมด · ⏸ เหลือง = ระงับการทำงานชั่วคราว · ⏹ แดง = ปิดการทำงานทั้งหมด · สามปุ่มนี้สั่งทุกตัวใน topology พร้อมกัน ถ้าอยากสั่งทีละตัวให้คลิกขวาที่อุปกรณ์แล้วเลือก Start / Stop
  4. คลิกขวาที่อุปกรณ์ → Console เพื่อเข้าไป config
จุดที่คนพลาดบ่อย

ถ้ายังไม่กด Start แล้วเปิด Console จะได้หน้าจอดำว่างเปล่าหรือ Connection refused — สีของจุดหน้าชื่ออุปกรณ์บอกสถานะ: แดง = หยุด, เขียว = ทำงาน ต้องเป็นเขียวก่อนถึงจะ console เข้าได้ · และ router c7200 ใช้เวลาบูตราวครึ่งนาที ถ้ากด console ทันทีจะเห็นข้อความบูตวิ่ง ให้รอจนขึ้น Router> แล้วค่อยพิมพ์

1.4คำสั่ง config IP ในโปรแกรม VPCS

VPCS คือคอมพิวเตอร์จำลองแบบเบา ๆ ใน GNS3 มีคำสั่งไม่กี่คำสั่ง ที่ต้องใช้จริงคือคำสั่งเดียว

[VPCS] — รูปแบบตามใบแลป Listing 1
VPCS[1]> ip <ip_address> <subnet_mask> <gateway>
ส่วนความหมาย
<ip_address>IP Address ของคอมพิวเตอร์เครื่องนั้น
<subnet_mask>Subnet mask เช่น 255.255.255.0 หรือเขียนย่อว่า /24
<gateway>Default Gateway = interface ของ router ที่ PC ตัวนั้นต่ออยู่ · ใส่เฉพาะเมื่อต้องคุยข้าม subnet

ของจริงที่ต้องพิมพ์ (แทนค่า x = 3, y = 128 แล้ว):

[VPCS] — ไม่มี gateway (topology ที่ 1 · อยู่ subnet เดียวกันหมด)
VPCS[1]> ip 192.3.128.2 255.255.255.0
VPCS[2]> ip 192.3.128.3 255.255.255.0
VPCS[3]> ip 194.3.128.2 255.255.255.0
[VPCS] — มี gateway (topology ที่ 2, 3, 4 · ต้องข้าม router)
VPCS[1]> ip 192.3.128.2 255.255.255.0 192.3.128.1
VPCS[2]> ip 194.3.128.2 255.255.255.0 194.3.128.1

VPCS[1]> ping 194.3.128.2
จุดที่คนพลาดบ่อย — ลืม gateway

ใบแลปมีหมายเหตุตัวหนาไว้เลยว่า "อย่าลืมใส่ gateway ให้ PC โดย gateway คือ Interface ของสิ่งที่เราต้องการส่งไปหา" — ถ้าลืม อาการคือ ping ไปหา PC ใน subnet เดียวกันได้ปกติ แต่ ping ข้าม subnet จะขึ้น host unreachable ทันที โดยไม่มีแพ็กเก็ตออกจากเครื่องเลย เพราะ VPCS รู้ตัวเองว่าไม่มีทางไป จึงไม่ส่งอะไรออกมา — เปิด Wireshark ก็จะไม่เห็นอะไรเช่นกัน

1.5โหมดการทำงานของ Router และการตั้ง IP

โหมดการทำงาน (Listing 2)

[Router Console]
Router>enable          # จาก user mode ขึ้น privileged mode
Router#disable         # ถอยกลับลงมา
Router>

สังเกต สัญลักษณ์ท้าย prompt เป็นตัวบอกว่าอยู่โหมดไหน — > คือ user mode (ดูได้อย่างเดียว) และ # คือ privileged mode (ดูได้ทุกอย่างและเข้าโหมด config ได้) รายละเอียดของทุกโหมดอยู่ที่ Lab 2 §2.5

ตั้ง IP บนอินเทอร์เฟซ Ethernet (Listing 3)

[Router Console] — รูปแบบตามใบแลป
Router>enable
Router#configure terminal
Router(config)#interface <interface type slot/port>
Router(config-if)#ip address <ip_address> <subnet_mask>
Router(config-if)#no shutdown

ของจริงบน c7200 ที่ใส่ PA-4E ไว้ที่ slot 1 (ตาม topology ที่ 2 ในใบแลป):

[Router Console] — R1 · คัดลอกได้ทันที
Router#configure terminal
Router(config)#interface Ethernet1/0
Router(config-if)#ip address 192.3.128.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#interface Ethernet1/2
Router(config-if)#ip address 194.3.128.1 255.255.255.0
Router(config-if)#no shutdown
จุดที่คนพลาดบ่อย — ลืม no shutdown

อินเทอร์เฟซของ router ทุกใบปิดอยู่โดยค่าเริ่มต้น (administratively down) ตั้ง IP อย่างเดียวไม่พอ ต้องสั่ง no shutdown ทุกครั้ง — อาการเวลาลืมคือ show ip interface brief ขึ้น administratively down / down และ ping ไม่ผ่านทั้งที่ IP ถูก

ตั้ง IP บนอินเทอร์เฟซ Serial (Listing 4)

Serial ต่างจาก Ethernet ตรงที่ต้องบอกความเร็วเพิ่มอีกสองบรรทัด

[Router Console] — รูปแบบตามใบแลป
Router>enable
Router#configure terminal
Router(config)#interface <serial slot/port>
Router(config-if)#ip address <ip_address> <subnet_mask>
Router(config-if)#bandwidth 56
Router(config-if)#clock rate 56000
Router(config-if)#no shutdown
คำสั่งหมายความว่าอะไร
bandwidth 56บอก IOS ว่าลิงก์นี้ "ถือว่า" มีความเร็ว 56 kbps — เป็นแค่ตัวเลขไว้ให้ routing protocol ใช้คำนวณ metric และให้ show interfaces รายงาน ไม่ได้ทำให้สายเร็วหรือช้าลงจริง
clock rate 56000สั่งให้อินเทอร์เฟซนี้จ่ายสัญญาณนาฬิกา 56000 bps ให้อีกฝั่ง — ตั้งได้เฉพาะฝั่ง DCE · นี่คือความเร็วจริงของลิงก์
no shutdownเปิดใช้งานอินเทอร์เฟซ
ข้อสอบข้อ 1 บังคับใช้ Serial

โจทย์ปีที่แล้วเขียนว่า router ต้อง "ต่อเชื่อมผ่าน Serial Interface" และจุดที่คนตกมากที่สุดคือ ลืม clock rate ที่ฝั่ง DCE ทำให้ลิงก์ไม่ขึ้น เรื่อง DCE/DTE อธิบายละเอียดพร้อมภาพเคลื่อนไหวที่ Lab 2 §2.8 — Serial Interface

1.6RIP — Routing Information Protocol

RIP พัฒนาโดย Xerox Network System (XNS) เป็นหนึ่งใน Routing Protocol ที่ถูกใช้งานอย่างแพร่หลาย การทำงานของ RIP ถูกพัฒนาในลักษณะที่เป็น Background Process บน UDP ที่ Port 520 เรียกว่า routed ใน BSD แม้ว่า RIP จะเป็นโปรโตคอลที่ใช้สนับสนุนการส่งผ่าน package แต่ตัว RIP เองถูกห่อหุ้ม (encapsulated) ใน UDP datagram แล้วใส่เข้าไปใน IP package อีกที

ปัจจุบัน RIP ถือว่าเป็นโปรโตคอลที่ได้รับความนิยมสำหรับเน็ตเวิร์กขนาดเล็ก — จะเห็นได้จาก DSL หรือเคเบิลโมเด็มทั่วไปที่สนับสนุนการทำงานของ RIP ทำให้ถ้าเราต้องการสร้างเน็ตเวิร์กภายในบ้านหรือสำนักงาน สามารถใช้ router หลายตัวและใช้ RIP เป็น routing protocol ได้

[Router Console] — รูปแบบตามใบแลป Listing 5
Router>enable
Router#configure terminal
Router(config)#router rip
Router(config-router)#network <network_address>
Router(config-router)#network <network_address>
Router(config-router)#end

การยกเลิก — พิมพ์ no นำหน้าคำสั่ง เช่น no router rip หรือ no network <network_address>

ตัวอย่างจากใบแลป (รูปที่ 24)

ไดอะแกรมเครือข่ายสีเทาน้ำเงิน ด้านบนมี router สองตัวเชื่อมกันด้วยเส้นตรงแนวนอน บนเส้นเขียนว่า Network Address 192.168.1.0 มีลูกศรชี้เข้าปลายซ้ายของเส้นกำกับว่า Interface Address 192.168.1.1 และลูกศรชี้เข้าปลายขวากำกับว่า Interface Address 192.168.1.2 จาก router ซ้ายมีเส้นลงมาหา switch แล้วต่อลงมาหาคอมพิวเตอร์ตั้งโต๊ะ ข้างเส้นเขียนว่า Network Address 192.168.2.0 และมีลูกศรชี้เข้า router ซ้ายกำกับว่า Interface Address 192.168.2.1 ใต้คอมพิวเตอร์เขียนว่า IP Address 192.168.2.2 Subnet Mask 255.255.255.0 ฝั่งขวาเป็นภาพสะท้อนกัน จาก router ขวาลงมาหา switch แล้วลงมาหาคอมพิวเตอร์ ข้างเส้นเขียนว่า Network Address 192.168.3.0 ลูกศรกำกับ Interface Address 192.168.3.1 และใต้คอมพิวเตอร์เขียนว่า IP Address 192.168.3.2 Subnet Mask 255.255.255.0
รูปที่ 24 จากใบแลป Lab 1 — ตัวอย่างเน็ตเวิร์คอย่างง่าย · อ่านรูปนี้ให้ออกก่อนแล้วคำสั่ง network จะไม่งงอีกเลย — router แต่ละตัวต่ออยู่กับ 2 วง จึงต้องประกาศ network 2 บรรทัด และวง 192.168.1.0 ที่อยู่ตรงกลางเป็นวงที่ router ทั้งสองตัวใช้ร่วมกัน จึงถูกประกาศทั้งสองฝั่ง (เทียบกับ topology ที่ 4 ของเรา: วงกลางคือ 193.3.128.0/24 ซึ่งเป็นสาย Serial)
  • Router 1 ประกอบด้วย network 192.168.1.0 และ 192.168.2.0 — subnet mask 255.255.255.0 ทั้งคู่
  • Router 2 ประกอบด้วย network 192.168.1.0 และ 192.168.3.0 — subnet mask 255.255.255.0 ทั้งคู่
[Router 1]
Router(config)#router rip
Router(config-router)#network 192.168.1.0
Router(config-router)#network 192.168.2.0
Router(config-router)#end
[Router 2]
Router(config)#router rip
Router(config-router)#network 192.168.1.0
Router(config-router)#network 192.168.3.0
Router(config-router)#end
อ่านคำสั่ง network ให้ถูก

network 192.3.128.0 ไม่ได้แปลว่า "ส่งข้อมูลไปหา 192.3.128.0" แต่แปลว่า "อินเทอร์เฟซของฉันใบไหนที่มี IP อยู่ในวงนี้ ให้เปิด RIP บนใบนั้น และประกาศวงนี้ให้เพื่อนบ้านรู้" — จึงต้องประกาศทุกวงที่ต่ออยู่กับ router ตัวนั้น รวมทั้งวงของสาย Serial ด้วย ไม่ใช่แค่วงของ LAN

จุดที่คนพลาดบ่อย — ลืมประกาศวงของ Serial

คนมักประกาศแต่วง LAN ของตัวเอง (192.3.128.0 กับ 194.3.128.0) แล้วลืม 193.3.128.0 ซึ่งเป็นวงของสาย Serial — ผลคือ RIP ไม่ส่ง update ออกทางสาย Serial เลย router สองตัวจึงไม่รู้จักกัน และ ping ไม่ผ่านทั้งที่คำสั่งดูเหมือนถูกหมด ประกาศให้ครบทุกวงที่ต่ออยู่เสมอ

1.7ตรวจสอบค่าที่ติดตั้งไว้ (Listing 6)

[Router Console]
Router#show interfaces
Router#show running-config
  • show interfaces — แสดงค่าทางสถิติของทุกอินเทอร์เฟซ ทั้ง IP, สถานะ line/protocol, bandwidth, จำนวนแพ็กเก็ตเข้า-ออก และ error
  • show running-config — แสดงค่าการติดตั้งที่อยู่ใน RAM คือทุกอย่างที่เราพิมพ์ config ไว้ตอนนี้
จุดที่คนพลาดบ่อย — ใบแลปพิมพ์ชื่อคำสั่งเกิน

ใบแลปเขียนว่า show running-configuration แต่ คำสั่งจริงของ Cisco IOS คือ show running-config (ย่อได้เป็น sh run) — IOS ยอมให้พิมพ์คำสั่งแบบย่อได้ แต่ไม่ยอมให้พิมพ์ยาวเกิน ถ้าพิมพ์ตามใบแลปเป๊ะ ๆ จะได้ % Invalid input detected at '^' marker.

ตัวอย่าง output ที่ควรเห็นเมื่อทุกอย่างถูกต้อง (ตัดมาเฉพาะส่วนสำคัญ):

[Router#] show interfaces — ท่อนของ Serial ที่ตั้งค่าถูก
Serial2/0 is up, line protocol is up
  Internet address is 193.3.128.1/24
  MTU 1500 bytes, BW 56 Kbit/sec, DLY 20000 usec
  Encapsulation HDLC, loopback not set, keepalive set (10 sec)
[Router#] show ip interface brief — ภาพรวมทุกใบในบรรทัดเดียว
Interface        IP-Address      OK? Method Status                Protocol
Ethernet1/0      192.3.128.1     YES manual up                    up
Ethernet1/1      unassigned      YES unset  administratively down down
Serial2/0        193.3.128.1     YES manual up                    up
ส่วนขยาย — ไม่ได้อยู่ในใบแลป

show ip interface brief ไม่ได้อยู่ในใบแลป แต่มีประโยชน์มากตอนสอบ เพราะสรุปทุกอินเทอร์เฟซใน 1 หน้าจอ แทนที่จะต้องเลื่อนอ่าน show interfaces ยาว ๆ · เช่นเดียวกับ show ip route ที่ใช้ดูว่า RIP ทำงานหรือยัง

1.8เปิด Wireshark ด้วย Start Capture ที่ลิงก์

ใบแลปสั่งข้อนี้ซ้ำหลังทุก topology: "คลิกขวาที่ link ใดก็ได้และทำการเลือก Start Capture เพื่อเปิด Wireshark และทำการ ping อีกครั้งพร้อมอธิบายสิ่งที่ได้รับและเกิดขึ้น"

  1. คลิกขวาที่เส้นสายที่ต้องการดัก (ไม่ใช่ที่ตัวอุปกรณ์) → เลือก Start Capture
  2. GNS3 จะบันทึกทราฟฟิกบนลิงก์นั้นเป็นไฟล์ .pcap แล้วเปิด Wireshark ขึ้นมาให้อัตโนมัติ — บน Mac ต้องมี Wireshark รุ่น Arm ลงไว้แล้ว (ดูวิธีลง)
  3. กลับไปที่ VPCS แล้ว ping ใหม่อีกครั้ง — แพ็กเก็ตจะไหลเข้ามาในหน้าต่าง Wireshark ทันที
  4. ใส่ filter ตามที่ต้องการดู
Display filterเห็นอะไร
icmpเฉพาะ ping — Echo (ping) request / Echo (ping) reply · ข้อสอบข้อ 2 สั่งให้ใช้ตัวนี้
arpเฉพาะ ARP — "Who has 192.3.128.1? Tell 192.3.128.2" และ "192.3.128.1 is at aa:bb:…" · ข้อสอบข้อ 2 สั่งให้ใช้ตัวนี้
ip.src == 192.3.128.2เฉพาะแพ็กเก็ตที่ออกจาก PC1 · ข้อสอบข้อ 2 สั่งให้ filter จาก source address ของการ ping
ip.addr == 192.3.128.2ทั้งขาเข้าและขาออกของ PC1 (สะดวกกว่าเวลาต้องการเห็นทั้งคู่)
udp.port == 520เฉพาะ update ของ RIP — ใช้พิสูจน์ว่า RIP ทำงานจริงและส่งออกทางสาย Serial
ข้อสอบข้อ 2 (10 คะแนน) ถามแค่นี้

"เปิด Wireshark ดักจับ packet ระหว่าง PC — filter จาก source address ของการ ping และ filter icmp กับ arp" → เตรียมสามบรรทัดนี้ไปให้ขึ้นใจ: ip.src == 192.3.128.2 · icmp · arp แล้วแคปหน้าจอส่ง

1.9Topology ที่ 1 — VPCS สามตัว

อุปกรณ์: VPCS 3 ตัวต่อเข้าด้วยกัน (ยังไม่มี router) — จุดประสงค์คือให้เห็นว่า IP ที่อยู่คนละวง คุยกันไม่ได้ถ้าไม่มี router

Host NameE0GatewaySubnet Mask
PC1192.3.128.2—255.255.255.0
PC2192.3.128.3—255.255.255.0
PC3194.3.128.2—255.255.255.0
[VPCS] — คัดลอกไปวางได้ทันที
VPCS[1]> ip 192.3.128.2 255.255.255.0
VPCS[2]> ip 192.3.128.3 255.255.255.0
VPCS[3]> ip 194.3.128.2 255.255.255.0

# ทดสอบ
VPCS[1]> ping 192.3.128.3   # PC1 → PC2  ต้องผ่าน (subnet เดียวกัน)
VPCS[1]> ping 194.3.128.2   # PC1 → PC3  ไม่ผ่าน (คนละ subnet ยังไม่มี router)
ผลที่ต้องได้output ที่ควรเห็น
PC1 → PC2 ผ่าน84 bytes from 192.3.128.3 icmp_seq=1 ttl=64 time=0.412 ms
PC1 → PC3 ไม่ผ่านhost (194.3.128.2) not reachable หรือ *194.3.128.2 icmp_seq=1 timeout
อธิบายสิ่งที่เกิดขึ้น (ตอบใน lab report)

PC1 กับ PC2 อยู่วง 192.3.128.0/24 เหมือนกัน จึงคุยกันตรง ๆ ในเลเยอร์ 2 ได้ — Wireshark จะเห็น ARP request/reply ก่อน แล้วตามด้วย ICMP ส่วน PC3 อยู่วง 194.3.128.0/24 คนละวง PC1 จึงต้องส่งผ่าน gateway แต่ยังไม่ได้ตั้ง gateway และยังไม่มี router ในระบบ → ไม่มีแพ็กเก็ตออกจาก PC1 เลย นี่คือเหตุผลที่ topology ถัดไปต้องเพิ่ม router

1.10Topology ที่ 2 — Router 1 ตัว คั่นสอง subnet

อุปกรณ์: Router R1 หนึ่งตัว + VPCS สองตัวที่อยู่คนละวง ต่อเข้าที่ Ethernet1/0 และ Ethernet1/2 ของ router โดยตรง

Host NameE1/0E1/2GatewayEnable PWDSecret PWDConsole PWDVty PWD
R1192.3.128.1194.3.128.1—classdatacomLabLab
PC1192.3.128.2—192.3.128.1————
PC2194.3.128.2—194.3.128.1————
[Router Console] — R1 · config ทุก interface
Router#configure terminal
Router(config)#interface Ethernet1/0
Router(config-if)#ip address 192.3.128.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#interface Ethernet1/2
Router(config-if)#ip address 194.3.128.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit
[Router Console] — R1 · ทำ RIP
Router(config)#router rip
Router(config-router)#network 192.3.128.0
Router(config-router)#network 194.3.128.0
Router(config-router)#end
[VPCS] — ตั้ง IP และ Gateway
VPCS[1]> ip 192.3.128.2 255.255.255.0 192.3.128.1
VPCS[2]> ip 194.3.128.2 255.255.255.0 194.3.128.1

VPCS[1]> ping 194.3.128.2

ใบแลปแนะนำว่า "สามารถ ping ไปยังแต่ละ IP เพื่อตรวจสอบว่าสามารถติดต่อได้ถึงจุดไหนแล้ว" — ไล่ทีละขั้นแบบนี้จะหาจุดพังได้เร็วที่สุด

[VPCS] — ไล่ ping ทีละ hop เวลาหาจุดพัง
VPCS[1]> ping 192.3.128.1   # ① ถึง gateway ของตัวเองไหม  (ถ้าไม่ผ่าน = สายหลุด/ลืม no shutdown)
VPCS[1]> ping 194.3.128.1   # ② ถึงขาไกลของ router ไหม   (ถ้าไม่ผ่าน = ขานั้นยังไม่ได้ตั้ง IP)
VPCS[1]> ping 194.3.128.2   # ③ ถึง PC ปลายทางไหม        (ถ้าไม่ผ่าน = PC2 ลืมตั้ง gateway)
ทำไม topology นี้ยังต้องทำ RIP ทั้งที่มี router ตัวเดียว

ตามหลักแล้ว router ตัวเดียวที่ต่อทั้งสองวงอยู่แล้วไม่จำเป็นต้องใช้ RIP เพราะทั้งสองวงเป็น directly connected อยู่ในตารางอยู่แล้ว — แต่ใบแลปให้ทำเพื่อฝึกคำสั่งไว้ก่อนใช้จริงใน topology ที่ 4 ตอนนั้นมี router สองตัวและ RIP จะกลายเป็นสิ่งจำเป็น (ส่วนขยาย: เหตุผลนี้ไม่ได้เขียนอยู่ในใบแลป)

1.11Topology ที่ 3 — แทรก switch เข้าไป

ใบแลปข้อ 12 เขียนสั้น ๆ ว่า "ทดสอบใช้ switch ตั้งค่า config เพื่อให้สามารถ PC1 ping ไปยัง PC2 ได้" — คือเอา topology ที่ 2 มาแล้วแทรก switch คั่นระหว่าง PC กับ router แทนที่จะเสียบสายตรง

ประเด็นของ topology นี้

Switch ทำงานที่ เลเยอร์ 2 — มันไม่มี IP ไม่มี gateway และ ไม่ต้อง config อะไรเลยก็ใช้งานได้ ในการต่อพื้นฐานแบบนี้ ฉะนั้น ตาราง IP เหมือน topology ที่ 2 ทุกประการ ไม่ต้องเปลี่ยนค่าอะไรเลย สิ่งเดียวที่เปลี่ยนคือแพ็กเก็ตเดินผ่าน switch เพิ่มมาหนึ่งตัว

Host NameInterfaceIPGateway
R1Ethernet1/0192.3.128.1—
R1Ethernet1/2194.3.128.1—
PC1e0 → switch192.3.128.2192.3.128.1
PC2e0 → switch194.3.128.2194.3.128.1
  1. ลาก Ethernet switch จาก Node Type มาวางระหว่าง PC1 กับ R1
  2. ต่อสาย PC1 e0 → switch พอร์ตใดก็ได้ และ switch อีกพอร์ต → R1 Ethernet1/0
  3. ตั้ง IP เหมือนเดิมทั้งหมด (switch ไม่ต้องแตะ) แล้ว ping ผ่านได้ทันที
  4. คลิกขวาที่ลิงก์ ระหว่าง switch กับ router → Start Capture จะเห็นทั้ง ARP และ ICMP วิ่งผ่าน
จุดที่คนพลาดบ่อย — switch สองแบบใน GNS3

"Ethernet switch" ที่ติดมากับ GNS3 เป็นสวิตช์จำลองแบบไม่มี CLI — ต่อสายแล้วใช้ได้เลย แต่ console เข้าไม่ได้ และไม่มี show mac-address-table ถ้าข้อสอบสั่งให้ส่ง show mac-address-table (ซึ่งข้อ 1 ปีที่แล้วสั่ง) ต้องใช้ image L2-ADVENTERPRISE (IOU) แทน หรือทำกับสวิตช์เครื่องจริงใน Lab 2

1.12Topology ที่ 4 — Router 2 ตัวเชื่อมด้วย Serial

อันนี้แหละคือข้อสอบข้อ 1

โจทย์ปีที่แล้วคือ topology นี้ขยายเป็น router ≥ 2 ตัว แต่ละตัวมี switch และแต่ละ switch มี PC อย่างน้อย 1 ตัว — ทำ topology นี้ให้คล่องจนหลับตาทำได้ = ได้ 15 คะแนนแน่นอน

ใบแลปข้อ 13 สั่งว่า "เลือกเราเตอร์ใดก็ได้แล้วทำการเพิ่ม slot พอร์ต FastEthernet หรือ Ethernet ตามชนิดของเราเตอร์ที่เลือก และพอร์ต Serial อย่างน้อย 2 อินเทอร์เฟซ ระหว่างเราเตอร์" — ซึ่งเราเตรียมไว้แล้วตอนสร้าง template (slot1 = PA-4T+ ให้ Serial 4 พอร์ต, slot2 = PA-4E ให้ Ethernet 4 พอร์ต ดู การติดตั้ง §0.6)

โทโพโลยีที่ต้องสร้าง (รูปที่ 28 ในใบแลป)

หน้าจอ GNS3 บน macOS ธีมมืด แถบไอคอนคำสั่งลัดอยู่ด้านบน แผงซ้ายชื่อ End devices มีรายการ Cloud, NAT, VPCS และปุ่ม New template พื้นที่ตรงกลางเป็นโทโพโลยีสี่อุปกรณ์ แถวบนมี router สองตัวเป็นไอคอนลูกศรสี่ทิศ ตัวซ้ายชื่อ LAB-A ตัวขวาชื่อ LAB-B เชื่อมกันด้วยเส้นสีแดงที่มีสัญลักษณ์หยักสายฟ้าตรงกลางแบบสาย Serial ปลายฝั่ง LAB-A กำกับว่า S0 ปลายฝั่ง LAB-B กำกับว่า S1 จาก LAB-A มีเส้นสีดำลงมาหาไอคอนจอคอมพิวเตอร์ชื่อ PC1 โดยกำกับ E0 ทั้งสองปลาย จาก LAB-B มีเส้นสีดำลงมาหาไอคอนจอคอมพิวเตอร์ชื่อ PC2 โดยกำกับ E0 ทั้งสองปลายเช่นกัน แผงขวาบนชื่อ Topology Summary แสดงสี่บรรทัดพร้อมที่อยู่ console telnet 10.161.112.126 พอร์ต 5004, 5005, 5006 และ 5008 แผง Servers Summary แสดง webserver controller CPU 26.3 เปอร์เซ็นต์ แผง Console ด้านล่างระบุว่ารัน GNS3 version 3.0.3 on Darwin 64-bit พร้อมข้อความสีแดงว่าเปลี่ยนชื่อโหนดที่เปิดอยู่ไม่ได้
รูปที่ 28 จากใบแลป Lab 1 — Lab topology 4 · โทโพโลยีที่ต้องสร้างในข้อ 13 ของใบแลป และเป็นรูปเดียวกับข้อสอบข้อ 1 · สังเกตว่าเส้นระหว่าง LAB-A กับ LAB-B เป็นสีแดงและมีสัญลักษณ์หยัก = GNS3 วาดสาย Serial แบบนี้เสมอ (สาย Ethernet เป็นเส้นตรงสีดำ) — ถ้าเส้นกลางของคุณเป็นเส้นตรงสีดำแปลว่าต่อผิดพอร์ต (หน้าจอนี้เป็น GNS3 บน macOS จริง ๆ — บรรทัดล่างเขียนว่า on Darwin (64-bit))

ต่ออะไรเข้าพอร์ตไหน — ไล่ตามรูปที่ 28 ทีละเส้น

เส้นปลายที่ 1ปลายที่ 2ชนิดสายวง IP ของเส้นนี้
①PC1 · พอร์ต e0LAB-A · ป้ายในรูป E0 → พอร์ตจริง Ethernet1/0Ethernet (เส้นตรงสีดำ)192.3.128.0/24
②LAB-A · ป้ายในรูป S0 → พอร์ตจริง Serial2/0LAB-B · ป้ายในรูป S1 → พอร์ตจริง Serial2/1Serial (เส้นสีแดงมีหยัก)193.3.128.0/24
③LAB-B · ป้ายในรูป E0 → พอร์ตจริง Ethernet1/0PC2 · พอร์ต e0Ethernet (เส้นตรงสีดำ)194.3.128.0/24
ป้าย E0 / S0 / S1 ในรูปคืออะไร

ป้ายเหล่านี้คือชื่อย่อที่ใบแลปใช้ในตารางที่ 1 (คอลัมน์ E0, S0, S1) ไม่ใช่ชื่อที่พิมพ์ลงคำสั่งได้ตรง ๆ — เวลา config ต้องใช้ชื่อพอร์ตจริงของ router ที่เห็นตอนลากสาย (รูปที่ 22 ที่ §1.3) ซึ่งบน c7200 ของเราคือ Ethernet1/0, Serial2/0, Serial2/1 · ถ้าเครื่องคุณขึ้นชื่ออื่น ให้ยึดชื่อที่เครื่องขึ้นเสมอ

ตาราง IP — แทนค่า x = 3, y = 128 เรียบร้อยแล้ว

Host NameE0 (Ethernet1/0)S0 (Serial2/0)S1 (Serial2/1)Enable PWDSecret PWDConsole PWDVty PWD
LAB-A192.3.128.1193.3.128.1—classdatacomLabLab
LAB-B194.3.128.1—193.3.128.2classdatacomLabLab
PC1192.3.128.2
gw 192.3.128.1
——————
PC2194.3.128.2
gw 194.3.128.1
——————

ตารางที่ 1 ของใบแลป · Subnet Mask ทุกช่อง = 255.255.255.0

ขั้นตอนทั้งหมด (คัดลอกได้ทันที)

[LAB-A Console] — ① Ethernet + ② Serial (ฝั่ง DCE จ่าย clock)
Router#configure terminal
Router(config)#interface Ethernet1/0
Router(config-if)#ip address 192.3.128.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#interface Serial2/0
Router(config-if)#ip address 193.3.128.1 255.255.255.0
Router(config-if)#bandwidth 56
Router(config-if)#clock rate 56000
Router(config-if)#no shutdown
Router(config-if)#exit
[LAB-B Console] — ③ Ethernet + ④ Serial
Router#configure terminal
Router(config)#interface Ethernet1/0
Router(config-if)#ip address 194.3.128.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#interface Serial2/1
Router(config-if)#ip address 193.3.128.2 255.255.255.0
Router(config-if)#bandwidth 56
Router(config-if)#clock rate 56000
Router(config-if)#no shutdown
Router(config-if)#exit
จุดที่คนพลาดบ่อย — สองข้อผิดพลาดในใบแลปหน้านี้

① ใบแลปพิมพ์ว่า Router(config)#interface interface serial2/0 — มีคำว่า interface ซ้ำสองครั้ง ถ้าพิมพ์ตามจะได้ % Invalid input ที่ถูกคือ interface Serial2/0

② ใบแลปให้ใส่ clock rate 56000 ที่ ทั้งสองฝั่ง ซึ่งตามหลักแล้ว ฝั่ง DTE ตั้งไปก็ไม่มีผล (IOS บางรุ่นจะขึ้นเตือนว่า This command applies only to DCE interfaces) — ใส่ทั้งสองฝั่งไม่ทำให้พัง จึงพิมพ์ตามใบแลปได้ปลอดภัย แต่ต้องรู้ว่าฝั่งที่จำเป็นจริง ๆ คือ DCE เท่านั้น เช็กว่าใครเป็น DCE ด้วย show controllers → อธิบายเต็มที่ Lab 2 §2.8

[LAB-A Console] — ⑤ RIP
Router#configure terminal
Router(config)#router rip
Router(config-router)#network 192.3.128.0
Router(config-router)#network 193.3.128.0
Router(config-router)#end
[LAB-B Console] — ⑥ RIP
Router#configure terminal
Router(config)#router rip
Router(config-router)#network 194.3.128.0
Router(config-router)#network 193.3.128.0
Router(config-router)#end
[VPCS] — ⑦ ตั้ง IP + gateway แล้ว ping ข้ามฝั่ง
VPCS[1]> ip 192.3.128.2 255.255.255.0 192.3.128.1
VPCS[2]> ip 194.3.128.2 255.255.255.0 194.3.128.1

VPCS[1]> ping 194.3.128.2
# 84 bytes from 194.3.128.2 icmp_seq=1 ttl=62 time=31.204 ms
# 84 bytes from 194.3.128.2 icmp_seq=2 ttl=62 time=29.981 ms
อ่านค่า TTL เป็นตัวนับ router

VPCS ส่ง ping ออกด้วย TTL = 64 · ผ่าน router 1 ตัว TTL ลด 1 → ตอบกลับมาด้วย ttl=63 (topology 2 และ 3) · ผ่าน 2 ตัว → ttl=62 (topology 4) — ถ้า TTL ที่ได้ไม่ตรงกับจำนวน router ที่ควรผ่าน แปลว่าเส้นทางไม่ใช่ที่คิดไว้

[LAB-A Console] — ⑧ ตรวจสอบตามใบแลปข้อ 21
Router#show interfaces
# หาความสัมพันธ์ระหว่างพอร์ตที่พบกับอุปกรณ์ (การ์ด) ที่ใส่ไว้ในแต่ละ slot:
#   Ethernet1/0 … Ethernet1/3  →  มาจากการ์ด PA-4E  ที่ slot 1
#   Serial2/0   … Serial2/3    →  มาจากการ์ด PA-4T+ ที่ slot 2

1.13จุดที่ Mac ต่างจากที่ใบแลปเขียนไว้

เรื่องใบแลปเขียนไว้ (Windows)ของ Mac ต้องทำแบบนี้
ตัวติดตั้งGNS3-2.2.53-all-in-one.exeGNS3-2.2.53.dmg จาก release เดียวกัน
เมนู PreferencesEdit → PreferencesGNS3 ซ้ายบน → Preferences (⌘+,) — ใบแลปมีหมายเหตุข้อนี้ไว้เอง
Wiresharkติดมากับ all-in-one พร้อม WinPcapต้องโหลดแยก · เลือกรุ่น Arm · ต้องลง ChmodBPF.pkg ไม่งั้น Start Capture แล้วเปิดไม่ขึ้น
Console ของอุปกรณ์คลิกขวา → Console เปิด PuTTY ให้คลิกขวา → Console เปิด Terminal.app ให้แทน · ใน GNS3 ไม่ต้องใช้ screen (จะใช้ screen เฉพาะตอนต่อสายเข้าอุปกรณ์จริงใน Lab 2)
VPN KKUเขียนไว้เป็นหมายเหตุบรรทัดแรกเหมือนกัน — ต่อ VPN ก่อนเปิด GNS3 ถ้าใช้ server ของคณะ
ประสิทธิภาพ—อย่าลืมกด Idle-PC finder ตอนสร้าง template ไม่งั้น router 2 ตัวก็กิน CPU จน MacBook หน่วง

1.14คำถามท้ายการทดลอง

ข้อ 1 — สร้างเครือข่ายจากเราเตอร์อย่างน้อย 4 ตัว

"สมมติว่านักศึกษามีเราเตอร์ดังกล่าวอย่างน้อย 4 ตัว ให้สร้างเครือข่ายจากเราเตอร์ที่มี ให้สามารถสื่อสารร่วมกันได้ โดยตรวจสอบจากคำสั่ง ping · แสดง topology ที่สร้างขึ้นมา · แสดงตาราง IP Address ที่ตรงกับรหัสตนเอง · แสดงผลการ ping ที่เกิดขึ้น"

แนวคำตอบ — ออกแบบแบบ chain 4 ตัว พร้อมตาราง IP ของรหัส 673040128-3

topology ที่เสนอ — ต่อ router เป็นสายโซ่ R1 — R2 — R3 — R4 โดยลิงก์ระหว่าง router ทุกเส้นเป็น Serial และแต่ละ router มี LAN ของตัวเองที่มี PC 1 ตัว

ตาราง IP (ต่อยอดรูปแบบ <เลขวง>.3.128.x ของใบแลป — วงที่เกินจาก 192/193/194 เป็นส่วนขยายที่เพิ่มขึ้นเอง เพราะใบแลปให้แค่ 3 วง):

อุปกรณ์Ethernet1/0 (LAN)Serial2/0Serial2/1ประกาศใน RIP
R1192.3.128.1193.3.128.1 DCE—192.3.128.0 · 193.3.128.0
R2194.3.128.1197.3.128.1 DCE193.3.128.2193.3.128.0 · 194.3.128.0 · 197.3.128.0
R3195.3.128.1198.3.128.1 DCE197.3.128.2195.3.128.0 · 197.3.128.0 · 198.3.128.0
R4196.3.128.1—198.3.128.2196.3.128.0 · 198.3.128.0
PC1192.3.128.2 gw 192.3.128.1ต่อกับ LAN ของ R1
PC2194.3.128.2 gw 194.3.128.1ต่อกับ LAN ของ R2
PC3195.3.128.2 gw 195.3.128.1ต่อกับ LAN ของ R3
PC4196.3.128.2 gw 196.3.128.1ต่อกับ LAN ของ R4

สูตรที่ใช้กับทุก router — เปลี่ยนแค่เลข IP กับรายการ network

[Router Console] — ทำซ้ำทั้ง 4 ตัว
Router#configure terminal
Router(config)#interface Ethernet1/0
Router(config-if)#ip address <LAN ของตัวเอง> 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#interface Serial2/0
Router(config-if)#ip address <IP ฝั่ง Serial> 255.255.255.0
Router(config-if)#bandwidth 56
Router(config-if)#clock rate 56000   # เฉพาะฝั่ง DCE
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#router rip
Router(config-router)#network <ทุกวงที่ต่ออยู่กับ router ตัวนี้>
Router(config-router)#end

ผลการ ping ที่ต้องแสดง — ping จากปลายด้านหนึ่งไปอีกด้านหนึ่ง (ไกลสุด = ผ่าน 3 router)

[VPCS]
VPCS[1]> ping 196.3.128.2
# 84 bytes from 196.3.128.2 icmp_seq=1 ttl=61 time=52.8 ms   ← 64 − 3 hop = 61

VPCS[1]> ping 194.3.128.2   # ttl=63  (ผ่าน 1 router)
VPCS[1]> ping 195.3.128.2   # ttl=62  (ผ่าน 2 router)

ประเด็นที่ควรเขียนอธิบายในรายงาน — RIP ใช้ hop count เป็น metric และรับได้สูงสุด 15 hop (16 = ถือว่าไปไม่ถึง) เครือข่าย 4 router แบบนี้ห่างกันแค่ 3 hop จึงยังอยู่ในขอบเขตที่ RIP ทำงานได้สบาย · ค่า TTL ที่ลดลงทีละ 1 ต่อ router เป็นหลักฐานว่าแพ็กเก็ตเดินผ่านครบทุกตัวจริง

ข้อ 2 — จงอธิบายประเภทของ Port Adapters หรือ Interface Cards แต่ละชนิด

แนวคำตอบ — Port Adapter คืออะไร และอ่านชื่อพอร์ตยังไง

Port Adapter (PA) หรือ Interface Card คือการ์ดที่เสียบเพิ่มลงใน slot ของ router เพื่อเพิ่มพอร์ต — ตัว router เปล่า ๆ ไม่มีพอร์ตมาให้ครบ ต้องเลือกใส่การ์ดตามชนิดของสายที่จะใช้ ซึ่งเราทำไปแล้วตอนสร้าง template ของ c7200

การ์ดอยู่ slotให้พอร์ตอะไรชื่อที่ IOS เรียก
PA-4T+slot 1Serial 4 พอร์ต (T = synchronous serial) ใช้เชื่อม router ↔ router ระยะไกล ต้องตั้ง clock rate ที่ฝั่ง DCESerial1/0 – Serial1/3
PA-4Eslot 2Ethernet 4 พอร์ต (10 Mbps) ใช้ต่อ LAN ฝั่งผู้ใช้ ต่อกับ switch หรือ PCEthernet2/0 – Ethernet2/3
ตารางข้างบนคือ "ตามที่ใบแลปสั่งให้ตั้ง" — ของจริงอาจสลับกัน

ใบแลปสั่งไว้ตอนสร้าง template ว่า slot 1 = PA-4T+ และ slot 2 = PA-4E (รูปที่ 19 ที่หน้าติดตั้ง §0.6) ตารางข้างบนจึงเขียนตามนั้น — แต่คำสั่งตัวอย่างทุกบล็อกในใบแลปกลับใช้ Ethernet1/x และ Serial2/x ซึ่งแปลว่าการ์ดอยู่สลับกัน และรูปที่ 22 ที่ §1.3 ก็ยืนยันว่าเมนูพอร์ตจริงขึ้นเป็น Ethernet1/0…1/3 กับ Serial2/0…2/1 · เวลาตอบข้อสอบให้อธิบายที่ "การ์ดใบไหนให้พอร์ตชนิดใดกี่พอร์ต" ไม่ใช่ท่องเลข slot แล้วยกชื่อพอร์ตจากเครื่องจริงมาอ้างด้วย show interfaces

วิธีอ่านชื่อพอร์ต — รูปแบบคือ <interface type> <slot>/<port> ตามที่ใบแลปเขียนไว้ใน Listing 3

Serial 2 / 1 ชนิดของอินเทอร์เฟซ · หมายเลข slot ที่การ์ดเสียบอยู่ · หมายเลขพอร์ตบนการ์ดใบนั้น (นับจาก 0)

ตรวจสอบของจริงได้จาก show interfaces — พอร์ตที่ปรากฏจะสอดคล้องกับการ์ดที่เสียบ ถ้าใส่แต่ PA-4E ก็จะไม่เห็นชื่อ Serial… เลย

ส่วนขยาย — การ์ดตระกูลอื่นที่มักเจอ

นอกจากสองใบข้างบน ใน GNS3 ยังเลือกได้อีกหลายแบบ เช่น PA-2FE-TX / PA-FE-TX (Fast Ethernet 100 Mbps), PA-GE (Gigabit Ethernet), PA-8T (Serial 8 พอร์ต) — หลักการเดียวกันคือ ชื่อการ์ดบอกทั้งจำนวนพอร์ตและชนิดของพอร์ต เช่น 4T = 4 พอร์ต serial, 4E = 4 พอร์ต Ethernet · รายละเอียดนี้ไม่ได้อยู่ในใบแลป

1.15เช็คว่าทำถูกไหม

คำสั่งต้องได้ผลอะไร
show ip interface briefทุกใบที่ตั้ง IP ไว้ต้องเป็น up / up ทั้งสองคอลัมน์ · ถ้าเป็น administratively down = ลืม no shutdown · ถ้าเป็น up / down บน Serial = ลืม clock rate ที่ฝั่ง DCE
show interfacesท่อนของ Serial ต้องขึ้น BW 56 Kbit/sec (พิสูจน์ว่า bandwidth 56 เข้าแล้ว)
show running-configต้องเห็นทั้ง ip address ของทุกใบ และบล็อก router rip พร้อม network ครบทุกวง
show ip route ส่วนขยายต้องเห็นแถวขึ้นต้นด้วย R (เรียนรู้จาก RIP) ไม่ใช่มีแต่ C — ถ้ามีแต่ C แปลว่า RIP ยังไม่ได้แลกเปลี่ยนกัน
ping จาก VPCSต้องได้ reply พร้อม TTL ที่ตรงกับจำนวน router ที่ผ่าน (64 − จำนวน hop)
[LAB-A#] show ip route — หน้าตาเมื่อ RIP ทำงานถูกต้อง
Codes: C - connected, S - static, R - RIP, ...

     192.3.128.0/24 is directly connected, Ethernet1/0
C    193.3.128.0/24 is directly connected, Serial2/0
R    194.3.128.0/24 [120/1] via 193.3.128.2, 00:00:12, Serial2/0
#    ตัว R = เรียนรู้มาจาก RIP · [120/1] = AD 120 / metric 1 hop

1.16ถ้าไม่ผ่าน ให้ไล่ตามนี้

อาการสาเหตุคำสั่งแก้
ping ใน subnet เดียวกันยังไม่ผ่านเลยยังไม่ได้กด Start หรือสายต่อผิดพอร์ตดูจุดหน้าชื่ออุปกรณ์ให้เป็นสีเขียว · คลิกที่สายดูว่าปลายทั้งสองไปเข้าพอร์ตที่ตั้ง IP ไว้จริง
ping ข้าม subnet ขึ้น host not reachable ทันที ไม่มีแพ็กเก็ตออกVPCS ยังไม่ได้ตั้ง gatewayip 192.3.128.2 255.255.255.0 192.3.128.1 แล้ว show ip ใน VPCS ยืนยัน
ping ถึง gateway ตัวเองได้ แต่ไปต่อไม่ได้ขาไกลของ router ยังไม่ได้ตั้ง IP หรือลืม no shutdownshow ip interface brief → หาแถวที่เป็น administratively down แล้วเข้าไป no shutdown
Serial ขึ้น up / downไม่ได้ตั้ง clock rate ที่ฝั่ง DCEshow controllers Serial2/0 หาว่าใครเป็น DCE → เข้าไปใส่ clock rate 56000 ที่ฝั่งนั้น
ping ถึงขาไกลของ router ตัวแรกได้ แต่ไม่ถึงฝั่งตรงข้ามRIP ยังไม่แลกเปลี่ยนกัน — มักเพราะลืมประกาศวงของ Serialshow ip route ต้องมีแถว R · ถ้าไม่มี → router rip แล้ว network 193.3.128.0 ทั้งสองตัว
ping ออกไปแล้ว timeout ครั้งแรก แต่ครั้งต่อไปผ่านปกติ — ครั้งแรกเสียเวลาไปกับ ARPไม่ต้องแก้ · ping ซ้ำ 2–3 ครั้งแล้วดูผลตั้งแต่ครั้งที่สอง
Start Capture แล้ว Wireshark ไม่เปิดWireshark ยังไม่ได้ลง หรือลงผิดรุ่น/ขาด ChmodBPFดู การติดตั้ง §0.7 — ต้องเป็นรุ่น Arm และมี ChmodBPF.pkg
router บูตช้ามาก / เครื่องหน่วงไม่ได้ตั้ง Idle-PCPreferences → IOS routers → Edit → Idle-PC finder

1.17ถ้าออกสอบ ต้องทำอะไรได้บ้าง

เช็กลิสต์สำหรับห้องสอบ — ทำตามลำดับนี้จะไม่ตกหล่น

  1. วาด topology และเขียนตาราง IP ลงกระดาษก่อนแตะเครื่อง — เขียนให้ครบว่าแต่ละ interface ได้ IP อะไร วงไหนเป็น LAN วงไหนเป็น Serial
  2. สร้าง topology ใน GNS3 แล้วกด Start ให้ครบทุกตัว รอจนขึ้น Router>
  3. Config Ethernet ของทุก router — interface → ip address → no shutdown
  4. Config Serial — เพิ่ม bandwidth 56 และ clock rate 56000 ที่ฝั่ง DCE
  5. เปิด RIP ทุก router ประกาศ ทุกวงที่ต่ออยู่ รวมวงของ Serial
  6. ตั้ง IP + gateway ให้ VPCS ทุกตัว (อย่าลืม gateway)
  7. ping ให้ครบทุกคู่ แล้วแคปหน้าจอเก็บไว้
  8. เก็บผลที่ต้องส่ง — show running-config ของทุก router · (ข้อสอบยังขอ show mac-address-table และ show arp ด้วย → ดู Lab 2 §2.10)
  9. Start Capture ที่ลิงก์ แล้ว ping ใหม่ · ใส่ filter ip.src == 192.3.128.2, icmp, arp แล้วแคปหน้าจอทั้งสาม

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

ใน topology ที่ 4 ทำ config ครบทุกอย่างแล้ว — IP ถูกทั้งหมด, no shutdown ครบ, Serial ขึ้น up/up และเปิด RIP ทั้งสองตัวโดยประกาศ network 192.3.128.0 ที่ LAB-A และ network 194.3.128.0 ที่ LAB-B แต่ ping จาก PC1 ไป PC2 ยังไม่ผ่าน สาเหตุคืออะไร
ต้องรอ RIP ครบ 30 วินาทีก่อน ยังเร็วเกินไป
ลืมประกาศ network 193.3.128.0 ซึ่งเป็นวงของสาย Serial ทั้งสองตัว
VPCS ไม่รองรับการ ping ข้าม router สองตัว
bandwidth 56 ช้าเกินไป ทำให้แพ็กเก็ตหมดเวลาก่อนถึง
คำสั่ง network ของ RIP ทำสองอย่าง: เปิด RIP บนอินเทอร์เฟซที่มี IP อยู่ในวงนั้น และ ประกาศวงนั้นให้เพื่อนบ้าน ถ้าไม่ประกาศ 193.3.128.0 ตัว RIP จะไม่ทำงานบนอินเทอร์เฟซ Serial เลย → ไม่มี update วิ่งข้ามสาย router สองตัวจึงไม่รู้จักกัน · ตรวจได้ด้วย show ip route ว่ามีแถวขึ้นต้นด้วย R หรือไม่
ใน topology ที่ 1 (VPCS 3 ตัว ไม่มี router) สั่ง ping 194.3.128.2 จาก PC1 ที่เป็น 192.3.128.2 โดยไม่ได้ตั้ง gateway — เปิด Wireshark ที่ลิงก์ไว้แล้ว จะเห็นอะไร
เห็น ICMP Echo Request วิ่งออกไป แต่ไม่มี reply กลับ
เห็น ARP Request ถามหา 194.3.128.2 แบบ broadcast แต่ไม่มีใครตอบ
ไม่เห็นอะไรเลย เพราะไม่มีแพ็กเก็ตออกจาก PC1
เห็น RIP update วิ่งบน UDP port 520
PC1 เอา IP ปลายทางมาเทียบกับ subnet ของตัวเองก่อน (192.3.128.0/24) เห็นว่าอยู่คนละวง จึงต้องส่งให้ default gateway — แต่ยังไม่ได้ตั้ง gateway ไว้ PC1 จึงตัดสินใจได้ทันทีว่าไม่มีทางไป แล้วรายงาน host not reachable โดยไม่ส่งอะไรออกสายเลย ฉะนั้น Wireshark จะเงียบสนิท · เทียบกับกรณี ping ใน subnet เดียวกันที่จะเห็น ARP ก่อนแล้วตามด้วย ICMP
ping จาก PC1 ไป PC2 ผ่านแล้ว ได้ผลว่า 84 bytes from 194.3.128.2 icmp_seq=1 ttl=62 — เลข ttl=62 บอกอะไร
แพ็กเก็ตเดินผ่าน router มา 2 ตัว (VPCS ส่งออกด้วย TTL 64 และลด 1 ต่อ router)
ลิงก์นี้เหลือความจุอีก 62%
RIP รายงาน metric เท่ากับ 62 hop
ใช้เวลาเดินทาง 62 มิลลิวินาที
TTL (Time To Live) เป็นตัวนับกันแพ็กเก็ตวนไม่รู้จบ — ทุกครั้งที่ผ่าน router หนึ่งตัวจะถูกลด 1 VPCS ส่งออกด้วยค่าเริ่มต้น 64 ฉะนั้น ttl=63 = ผ่าน 1 router (topology 2, 3) และ ttl=62 = ผ่าน 2 router (topology 4) · ใช้ค่านี้ตรวจสอบได้ทันทีว่าเส้นทางที่แพ็กเก็ตเดินจริงตรงกับที่ออกแบบไว้หรือไม่
เก็บก่อนออกจากแลปนี้

① VPCS ตั้ง IP ด้วย ip <ip> <mask> <gw> — ข้าม subnet ต้องมี gateway เสมอ ② Router: enable → configure terminal → interface → ip address → no shutdown ③ Serial เพิ่ม bandwidth 56 + clock rate 56000 (ฝั่ง DCE) ④ RIP: router rip แล้ว network ทุกวงที่ต่ออยู่ รวมวงของ Serial ⑤ ตรวจด้วย show ip interface brief (ต้อง up/up) และ show ip route (ต้องมีแถว R) ⑥ Wireshark เปิดจาก คลิกขวาที่สาย → Start Capture filter ที่ต้องจำ: icmp · arp · ip.src == 192.3.128.2