ความรู้คู่ความก้าวหน้า
 
เปรียบเทียบ Outgoing Interface กับ Next-Hop ใน command "static route"

 
เปรียบเทียบ Outgoing Interface กับ Next-Hop ใน command "static route"  
 
ก่อนจะอ่านบทความนี้ขอให้ไปดู VDO เรื่อง "หลักการทำงานของ Switch ที่เกี่ยวข้องกับ MAC address และเรื่อง ARP และ Gateway" ใน Pre CCNA KoChaiwat Vol. 2-2 ก่อนนะครับ 
 
 
สำหรับเรื่อง "Default Route" หรือ "Gateway of last resort" แล้ว ขอให้ไปดูตาม link นี้ครับ:
 
=================================================
 
1. ก่อนจะกล่าวถึง Outgoing Interface เทียบกับ Next Hop แล้ว เราควรจะมีความเข้าใจการทำงานพื้นฐานของการ forwarding IP packet กันสักหน่อยดังนี้ครับ
 
1.1. เมื่อ router ได้รับ Ethernet frame ที่มี destination MAC address ที่ตรงกับ incoming interface ของมันแล้ว มันจะทำการ De-Encapsulation Ethernet frame header (Layer 2 header) และ trailer (Layer 2 ในส่วนที่เป็น FCS หรือ Frame Check Sequence) ออก จากนั้นมันจะเข้าไปอ่าน destination IP address ที่อยู่ใน IP header เทียบกับรายการของ routes (routing entries) ใน routing table ของมัน (ใช้หลักการ longest match ซึ่งผมจะขออนุญาติไม่กล่าวในรายละเอียด)
 
1.2. หลังจากที่ router ตรวจพบรายการของ route ใน routing table ที่ match กับ destination IP address แล้ว มันจะทำการตรวจสอบต่อไปว่า route นั้นๆ ถูกชี้เป็น outgoing interface หรือ next hop IP address
1.2.1 ถ้าชี้เป็น outgoing interface
router จะพิจารณาต่อไปว่า IP packet ที่จะถูก forward ออกไปยัง interface นี้ จะต้อง encapsulation เป็น Layer 2 header protocol อะไร
 - ถ้า Layer 2 protocol เป็นพวก Point-to-Point protocol อย่างเช่น HDLC หรือ PPP ก็ forward ออกไปอย่างง่ายดาย โดยไม่ต้องสนใจในเรื่องของ Layer 2 address
เพราะอะไรน่ะหรือ??? ---> เพราะว่า point-to-point protocol อย่าง HDLC และ PPP จะเป็น protocol ที่บังคับว่า จะต้องมีต้นทาง 1 host และมีปลายทางได้เพียงแค่ 1 host เท่านั้น ตามชื่อของมัน คือ point-to-point protocol ดังนั้น เมื่อผู้ส่งต้องการส่ง Layer 2 frame ออกไป มันจะไม่ต้องสนใจ หรือกังวลเลยว่า ปลายทางจะเป็นใคร เพราะว่าปลายทางมีแค่เพียง 1 เดียวเท่านั้น ดังนั้นใน Layer 2 protocol ที่เป็น point-to-point protocol อย่างเช่น HDLC และ PPP จึงไม่ต้องมี Layer 2 address เข้ามาให้กังวล และไม่ต้องมาสนใจในเรื่องของการทำ ARP เพื่อ mapping Layer 2 address กับ Layer 3 address (IP address) แต่อย่างใด ดังนั้นการใช้ option outgoing interface ใน static route จึงเหมาะกับ Physical Interface แบบ Serial ที่มีการ encapsulation แบบ HDLC และ PPP
 - ถ้า Layer 2 protocol เป็น Ethernet Protocol แล้วล่ะก็ router จะต้องเข้าไปเกี่ยวข้องกับ ARP protocol
เพราะอะไรน่ะหรือ??? ---> เพราะว่า Physical interface ประเภท Ethernet ที่ซึ่งต้องใช้คู่กับ Layer 2 protocol แบบ Ethernet จะเป็น interface และ protocol แบบ Multi-Access ซึ่งหมายถึง ต้นทาง 1 host สามารถติดต่อกับปลายทางได้หลายๆ host ดังนั้นเมื่อต้นทางต้องการติดต่อกับปลายทาง ซึ่งมีได้หลายๆ host แล้ว เมื่อต้นทางทำการส่ง Layer 2 Frame แบบ Ethernet ออกไปยัง Switch ต้นทางจะต้องระบุ destination MAC address เอาไว้ใน Ethernet Header เพื่อให้ Switch ที่อยู่ตรงกลางสามารถอ่าน และ forward Ethernet frame นั้นๆ ต่อไปยังปลายทางได้ 
แต่สิ่งที่ตามมาคือ ต้นทางจะต้องรู้ให้ได้ว่า Layer 2 header (Ethernet Header) ควรใส่ destination MAC address เป็นเบอร์อะไร ดังนั้นจึงหนีไม่พ้นที่ต้นทางจะต้องทำกระบวนการ ARP เพื่อทำการ learn destination MAC มาให้จงได้
ซึ่งรายละเอียดจะอยู่ในหัวข้อที่ 3 "การ configure static route โดยการชี้ไปยัง outgoing interface" ข้างล่างครับ
1.2.2 ถ้าชี้ไปยัง next hop IP address
router จะต้องทำ "recursive lookup" หรือ "การค้นหาแบบเรียกซ้ำ" เนื่องจาก parameter เพียงแค่ next hop นั้น มันยังไม่เพียงพอต่อการตัดสินใจในการ forward IP packet ไปบน Layer 2 Frame Header เพราะมันไม่รู้ว่าจะต้องจับเจ้า IP packet นี้มา encapsulation ด้วย Layer 2 protocol อะไร ดังนั้นมันจะทำ recursive lookup ดังนี้
Step 1: ตรวจสอบ next hop IP address ว่าเป็นเบอร์อะไร
Step 2: นำ next hop IP address เบอร์นั้นๆ มาเทียบกับ directly connected subnet ว่าตรงกับ subnet ไหน แล้วจึงรู้ว่า outgoing interface คือ interface อะไร และ interface นั้นๆ ใช้ Layer 2 protocol อะไร จากนั้นจึงตัดสินใจในการ forward IP packet นี้ไปบน Layer 2 protocol ได้อย่างถูกต้อง (encapsulation)
 
Note: ถ้าชี้เป็น next hop IP address และ next hop IP address นั้นๆ อยู่บน interface ประเภท Ethernet แล้ว, router จะพิจารณาว่า next hop IP address นั้นๆ ถูก mapping กับ MAC address อะไร เพื่อที่จะนำมาใช้เป็น destination MAC address ใน Ethernet Frame Header ซึ่งก็หนีไม่พ้นที่จะต้องใช้ ARP protocol
 
2. การ configure static route โดยการชี้ไปยัง next hop IP address (ให้สังเกตที่ router R1)
 
การระบุเป็น next hop บน directly connected interface จะสามารถป้องกัน router จากการดำเนินการ ARP สำหรับ destination ทุกๆ destination ได้
 
จากภาพตัวอย่างข้างบน ให้สังเกตที่ router R1
Note: จากตัวอย่างในภาพ เป็นการเปรียบเทียบปัญหาของ outgoing interface กับ next-hop ดังนั้น IP address ในภาพ จะไม่ได้เน้นในเรื่องของ public / private IP address นะครับ
 

Step 1: R2 ทำตัวเป็นเสมือน router ของ ISP และ learn routes 10.1.1.0/24, 20.1.1.0, และ 30.1.1.0/24 มาจากที่อื่นๆ และทำการบันทึก routes เหล่านี้ลงใน routing table ของ R2 เอง (routes 10.1.1.0/24, 20.1.1.0/24 และ 30.1.1.0/24 ไม่ใช่ routes ของ R2 เอง) 
 
Step 2: R1 มีการ configure static route ไปยัง destination ต่างๆ โดยชี้ผ่านไปยัง R2 ด้วยการใช้ option ที่เป็น next hop IP address (11.1.1.2) ซึ่งเป็น IP address ของ interface Fa0/0 บน R2
 
Note: R1 ทำการ configure static route สำหรับ 10.1.1.0/24, 20.1.1.0, และ 30.1.1.0/24 เป็นแบบ next hop IP address ซึ่งทุกๆ routes ดังกล่าว ถูก configure ไว้ให้ใช้ next hop IP address เดียวกัน คือ 11.1.1.2 
[R1 มอง IP address 11.1.1.2 เป็น Gateway address]
Note: next hop address = gateway address
 
Step 3: R1 ping ไปยัง 10.1.1.1 ซึ่งอยู่ใน subnet 10.1.1.0/24 
 
Step 4: ในการส่ง ICMP request packet ไปยัง 10.1.1.1  นั้น R1 จะต้องตรวจสอบว่า ICMP request packet ที่มี destination 10.1.1.1 จะต้องผ่าน next hop address หรือ gateway เบอร์อะไร? ซึ่งจาก static route (ip route 10.1.1.0 255.255.255.0 11.1.1.2) บน R1 แล้ว R1 พบว่ามันจะต้อง forward ICMP request packet นี้ออกไปยัง next hop (gateway) เบอร์ 11.1.1.2

Step 5: แต่เพราะว่า R1 ไม่เคยมีข้อมูล mapping ระหว่าง Layer 3 address (IP address [11.1.1.2] ของ F0/0 บน R2) กับ Layer 2 address (MAC address [cc04.0c40.0000] ของ Fa0/0 บน R2) ใน ARP Table ของ R1 เลย
ดังนั้น R1 จึงต้องหยุดพักการส่ง ICMP request ไว้ชั่วคราว และทำการส่ง ARP request เพื่อค้นหาว่า next-hop (gateway) 11.1.1.2 จะต้องจับคู่กับ MAC address เบอร์อะไร
 
Step 6: R1 ส่ง ARP request สำหรับ next hop (gateway) 11.1.1.2 แบบ Broadcast

Step 7: R2 ได้รับ ARP request จาก R1 ที่มีการระบุเป้าหมาย ใน ARP request message เป็น 11.1.1.2 และเพราะว่า R2 เป็นเจ้าของ IP address เบอร์ 11.1.1.2 เอง ดังนั้นมันจึงทำการตอบกลับไปยัง R1 ด้วย ARP reply ประมาณว่า "11.1.1.2 map กับ cc04.0c40.0000 นะจ๊ะ"
 
Step 8: เมื่อ R1 ได้รับ ARP reply จาก R2 แล้ว R1 จะทำการ บันทึก/จัดเก็บ การ mapping ระหว่าง  11.1.1.2 กับ cc04.0c40.0000 ไว้ใน ARP table ของมัน เพื่อไว้ใช้ในครั้งถัดไป
 
Step 9: จากนั้น R1 จึงนำ ICMP request packet ที่มี destination 10.1.1.1 ที่ได้หยุดไว้ชั่วคราว ใน step 5 มาทำการ forward ออกไปยัง next hop/gateway 11.1.1.2 โดยมี destination MAC address เป็น cc04.0c40.0000

Note สำหรับ Step 9 นี้ ถ้าใครไม่เข้าใจ ขอให้ท่านไปดู VDO  ตาม link ข้างล่าง Vol 1, Vol 2-1 และ Vol 2-2 มาก่อนนะครับ แล้วกลับมาอ่านบทความนี้ต่อ
https://www.bloggang.com/viewblog.php?id=likecisco&date=04-06-2016&group=11&gblog=1
 
Step 10: (เริ่มเข้าสู่จุดสำคัญ) R1 ping ไปยัง 20.1.1.1 ซึ่งอยู่ใน subnet 20.1.1.0/24 
 
Step 11: ในการส่ง ICMP request packet ไปยัง 20.1.1.1  นั้น R1 จะต้องตรวจสอบว่า ICMP request packet ที่มี destination 20.1.1.1 จะต้องผ่าน next hop address หรือ gateway เบอร์อะไร? ซึ่งจาก static route (ip route 20.1.1.0 255.255.255.0 11.1.1.2) บน R1 แล้ว R1 พบว่ามันจะต้อง forward ICMP request packet นี้ออกไปยัง next hop (gateway) เบอร์ 11.1.1.2
 
Step 12: เพราะว่า R1 เคยมีข้อมูล mapping ระหว่าง Layer 3 address (IP address [11.1.1.2] ของ F0/0 บน R2) กับ Layer 2 address (MAC address [cc04.0c40.0000] ของ Fa0/0 บน R2) ใน ARP Table ของ R1 ไว้แล้ว (จาก step 5 ถึง step 8
ดังนั้น R1 จึงไม่ต้องส่ง ARP request อีกสำหรับ next hop/gateway 11.1.1.2 แต่สามารถนำข้อมูลใน ARP table ที่มีอยู่แล้วมาใช้ในการ forwarding ICMP request packet ที่มี destination 20.1.1.1 ได้อย่างทันทีทันใดเลย
 
Step 13: R1 ping ไปยัง 30.1.1.1 ซึ่งอยู่ใน subnet 30.1.1.0/24 ก็จะดำเนินการในลักษณะเดียวกันกับ step 10 ถึง step 12
 
 
ณ. จุดๆ นี้ เราอาจจะยังไม่เห็นความสำคัญของการใช้ option next hop แต่เมื่อท่านได้อ่านในหัวข้อถัดไป ที่เป็นการใช้ option outgoing interface ท่านจะรู้ว่า option next hop มีความปลอดภัยกว่า outgoing interface อย่างแน่นอน
 
 
 
3. การ configure static route โดยการชี้ไปยัง outgoing interface (ให้สังเกตที่ router R5)
 
ถ้าเราชี้ (point)  "static route" ไปยัง broadcast interface หรือระบุ outgoing interface เป็น broadcast interface แล้ว route จะถูกใส่เข้าไปใน routing table ก็ต่อเมื่อ broadcast interface นั้นๆ อยู่ในสถานะ "up" เท่านั้น ซึ่งผมไม่แนะนำอย่างเด็ดขาด เพราะอะไรนะหรือ เรามาดูกันครับ
 
Default Route ที่ระบุด้วย Outgoing Interface เช่น:
 
ip route 0.0.0.0 0.0.0.0 FastEthernet0/0 
 
จากการ configure แบบนี้แล้ว router จะดำเนินการ ARP (Address Resolution Protocol) บน FastEthernet 0/0 สำหรับ destination ทุกๆ destination ของ IP packet ที่ router ค้นพบผ่านทาง default route เนื่องจาก router จะพิจารณา destination เหล่านี้ทั้งหมดเป็น directly connected บน FastEthernet 0/0
 
การ configure default route แบบนี้ โดยเฉพาะอย่างยิ่ง ในกรณีที่มี IP packet จำนวนมากๆ ที่มี destination subnet ที่แตกต่างกันแล้ว จะสามารถเป็นเหตุให้เกิดอาเพศได้ดังนี้:
- CPU utilization ขึ้นสูง
- เกิด ARP cache ที่มีขนาดใหญ่ เพราะต้องเก็บ destination IP address ทั้งหมด
- และก็จะตามมาด้วยปัญหา ความล้มเหลวในการจัดสรร memory
 
 
จากภาพตัวอย่างข้างล่าง ให้สังเกตที่ router R5
Note: จากตัวอย่างในภาพ เป็นการเปรียบเทียบปัญหาของ outgoing interface กับ next-hop ดังนั้น IP address ในภาพ จะไม่ได้เน้นในเรื่องของ public / private IP address นะครับ
 
Step 1: R2 ทำตัวเป็นเสมือน router ของ ISP และ learn routes 10.1.1.0/24, 20.1.1.0, และ 30.1.1.0/24 มาจากที่อื่นๆ และทำการบันทึก routes เหล่านี้ลงใน routing table ของ R2 เอง (routes 10.1.1.0/24, 20.1.1.0/24 และ 30.1.1.0/24 ไม่ใช่ routes ของ R2 เอง) 
 
Step 2: R5 มีการ configure static route ไปยัง destination ต่างๆ โดยชี้ผ่านไปยัง R2 ด้วยการใช้ option ที่เป็น outgoing interface (FastEthernet0/0) ซึ่งเป็น Interface Fa0/0 ของ R5 เอง
 
Note: R5 ทำการ configure static route สำหรับ 10.1.1.0/24, 20.1.1.0, และ 30.1.1.0/24 เป็นแบบ outgoing interface ซึ่งทุกๆ routes ดังกล่าว ถูก configure ไว้ให้ R5 ทำการ forward IP packet ที่มี destination 10.1.1.0/24, 20.1.1.0/24 และ 30.1.1.0/24 ให้ออกทาง Interface Fa0/0 ของ R5 เอง
 
[R5 ไม่ได้มีการ configure Gateway เหมือนอย่างหัวข้อ next hop address]
 
 
Step 3: R5 ping ไปยัง 10.1.1.1 ซึ่งอยู่ใน subnet 10.1.1.0/24 
 
Step 4: ในการส่ง ICMP request packet ไปยัง 10.1.1.1  นั้น R5 จะต้องตรวจสอบว่า ICMP request packet ที่มี destination 10.1.1.1 จะต้องผ่าน next hop address หรือ gateway เบอร์อะไร? และเพราะว่า R5 ไม่ได้ทำการ configure next hop/gateway สำหรับ destination 10.1.1.1 (subnet 10.1.1.0/24) ไว้ 
 
Note เพราะ R5 configure static route สำหรับ 10.1.1.0/24 ไว้เป็นแบบ outgoing interface คือ ip route 10.1.1.0 255.255.255.0 FastEthernet0/0
 
อย่างไรก็ตาม R5 ก็จะต้องรู้ให้ได้ว่าในการ forward ICMP request ที่มี destination 10.1.1.1 (subnet 10.1.1.0/24) นี้ใช้ destination MAC address ใน Ethernet Header เป็นเบอร์อะไร 
 
Key ของปัญหาเริ่มจาก ณ. จุดนี้
ดังนั้นแทนที่ R5 จะส่ง ARP request สำหรับ next hop/gateway (ซี่งไม่ได้ configure เอาไว้) แต่ R5 จะส่ง ARP request สำหรับ destination IP address 10.1.1.1 แทน
 
Step 5: R5 หยุดการส่ง ICMP request packet เป็นการชั่วคราว และส่ง ARP request สำหรับ 10.1.1.1 แบบ ฺBroadcast เพื่อขอ MAC address ของ router ที่จะเป็น Gateway สำหรับการ forward ICMP request packet ที่มี destination 10.1.1.1
 
Step ุ6: R2 ได้รับ ARP request จาก R5 ที่มีการระบุเป้าหมาย ใน ARP request message เป็น 10.1.1.1 แต่ทว่า R2 ไม่ได้เป็นเจ้าของ IP address เบอร์ 10.1.1.1 เอง ดังนั้นมันจึงต้องไปดูต่อว่า ตัวมันเองได้มีการ enable feature Proxy ARP หรือไม่ (feature ที่ทำให้ router ทำหน้าที่เป็นตัวแทนในการตอบกลับ ARP reply)

ซึ่งถ้าหาก R2 ได้มีการ enable feature Proxy ARP เอาไว้แล้ว R2 ก็จะทำการพิจารณาต่อไปว่า มันควรจะตอบกลับ ARP reply สำหรับ 10.1.1.1 หรือไม่ โดย R2 จะนำ 10.1.1.1 ใน ARP request message ไปตรวจสอบใน routing table ของมันเอง ว่า ตัวมันเองรู้จัก หรือสามารถ forward IP packet ที่มี destination 10.1.1.1 ได้หรือไม่
 - ถ้ารู้จัก หรือสามารถ forward ต่อไปได้ มันจะตอบกลับ ARP reply ด้วย MAC address ของมัน
 - ถ้าไม่รู้จัก หรือไม่สามารถ forward ต่อไปได้ มันก็จะ drop ARP request นั้นทิ้งไป และไม่ตอบกลับ ARP reply
 
ซึ่งจากตัวอย่างดังภาพข้างล่างแล้ว R2 รู้จัก network 10.1.1.0/24 ใน routing table ของมัน ดังนั้นมันจึงตอบกลับ ARP reply ประมาณว่า "10.1.1.1 map กับ cc04.0c40.0000 นะจ๊ะ"
 
Step 7: เมื่อ R5 ได้รับ ARP reply จาก R2 แล้ว R5 จะทำการ บันทึก/จัดเก็บ การ mapping ระหว่าง  10.1.1.1 กับ cc04.0c40.0000 ไว้ใน ARP table ของมัน เพื่อไว้ใช้ในครั้งถัดไป
 
Step 8: จากนั้น R5 จึงนำ ICMP request packet ที่มี destination 10.1.1.1 ที่ได้หยุดไว้ชั่วคราวใน step 5 มาทำการ forward ออกไปยัง R2 ที่มี destination MAC address เป็น cc04.0c40.0000
 
Step 9: (เริ่มเข้าสู่จุดสำคัญที่สร้างปัญหา) R5 ping ไปยัง 20.1.1.1 ซึ่งอยู่ใน subnet 20.1.1.0/24 
 
Step 10: ในการส่ง ICMP request packet ไปยัง 20.1.1.1  นั้น R5 จะต้องตรวจสอบว่า ICMP request packet ที่มี destination 20.1.1.1 จะต้องผ่าน next hop address หรือ gateway เบอร์อะไร? และเพราะว่า R5 ไม่ได้ทำการ configure next hop/gateway สำหรับ destination 20.1.1.1 (subnet 20.1.1.0/24) ไว้ 
 
Note เพราะ R5 configure static route สำหรับ 20.1.1.0/24 ไว้เป็นแบบ outgoing interface คือ ip route 20.1.1.0 255.255.255.0 FastEthernet0/0
 
อย่างไรก็ตาม R5 ก็จะต้องรู้ให้ได้ว่าในการ forward ICMP request ที่มี destination 20.1.1.1 (subnet 20.1.1.0/24) นี้ใช้ destination MAC address ใน Ethernet Header เป็นเบอร์อะไร 
 
ดังนั้นแทนที่ R5 จะส่ง ARP request สำหรับ next hop/gateway (ซี่งไม่ได้ configure เอาไว้) แต่ R5 จะส่ง ARP request สำหรับ destination IP address 20.1.1.1 แทน
 
Step 11: R5 หยุดการส่ง ICMP request packet เป็นการชั่วคราว และส่ง ARP request สำหรับ 20.1.1.1 แบบ ฺBroadcast เพื่อขอ MAC address ของ router ที่จะเป็น Gateway สำหรับการ forward ICMP request packet ที่มี destination 20.1.1.1
 
Step ุ12: R2 ได้รับ ARP request จาก R5 ที่มีการระบุเป้าหมาย ใน ARP request message เป็น 20.1.1.1 แต่ทว่า R2 ไม่ได้เป็นเจ้าของ IP address เบอร์ 20.1.1.1 เอง ดังนั้นมันจึงต้องไปดูต่อว่า ตัวมันเองได้มีการ enable feature Proxy ARP หรือไม่ (feature ที่ทำให้ router ทำหน้าที่เป็นตัวแทนในการตอบกลับ ARP reply)
 
ซึ่งจากตัวอย่างดังภาพข้างล่างแล้ว R2 ได้มีการ enable feature Proxy ARP เอาไว้ และมันรู้จัก network 20.1.1.0/24 ใน routing table ของมัน ดังนั้นมันจึงตอบกลับ ARP reply ประมาณว่า "20.1.1.1 map กับ cc04.0c40.0000 นะจ๊ะ"
 
==================================
NOTE: จุดสำคัญตรงนี้คือ
 
R5 จะต้องมีการส่ง ARP request สำหรับ ICMP request packet ที่มี destination 10.1.1.1 และ 20.1.1.1 ถึงสองครั้ง และก็ได้ ARP reply ประมาณว่า
 
"10.1.1.1 map กับ cc04.0c40.0000 นะจ๊ะ"  --> สำหรับ ARP request 10.1.1.1
 
"20.1.1.1 map กับ cc04.0c40.0000 นะจ๊ะ" --> สำหรับ ARP request 20.1.1.1
 
ซึ่งจะเห็นได้ว่า MAC address ของ ARP reply ทั้งสองครั้งจะเป็น MAC address เบอร์เดียวกัน ซึ่งเป็น MAC address ของ Fa0/0 บน R2
 
ซึ่งถ้าเทียบกับการ configure static route ที่ใช้ option next hop แล้ว จะเป็นการส่ง ARP request เพียงแค่ครั้งเดียวสำหรับ next hop หรือ Gateway ที่เป็นเบอร์ 11.1.1.2 (เบอร์เดียวกันสำหรับทุกๆ routes)
 
==================================
 
Step 13: เมื่อ R5 ได้รับ ARP reply จาก R2 แล้ว R5 จะทำการ บันทึก/จัดเก็บ การ mapping ระหว่าง  20.1.1.1 กับ cc04.0c40.0000 ไว้ใน ARP table ของมัน เพื่อไว้ใช้ในครั้งถัดไป
 
Step 14: จากนั้น R5 จึงนำ ICMP request packet ที่มี destination 20.1.1.1 ที่ได้หยุดไว้ชั่วคราว มาทำการ forward ออกไปยัง R2 ที่มี destination MAC address เป็น cc04.0c40.0000
 
Step 15: R5 ping ไปยัง 30.1.1.1 ซึ่งอยู่ใน subnet 30.1.1.0/24 และเหตุการณ์ก็จะดำเนินเหมือนๆ กันตอน ping ไปยัง 10.1.1.1 และ 20.1.1.1
 
 
=========================================

ซึ่งจากตรงนี้ก็จะเห็นแล้วว่า Router R5 จะต้องใช้ CPU ในการ process destination IP address ทั้งหมด เพื่อทำการ mapping Layer 2 address (MAC address) กับ Layer 3 address (IP address) ผ่าน ARP protocol และจะต้องมีรายการ (entries) มากมายใน ARP table ท้ายสุด การจัดสรร memory ก็จะ failure ลงไป เพราะ memory เต็ม โดยเฉพาะ การ configure default routes แบบ outgoing interface (เช่น ip route 0.0.0.0 0.0.0.0 FastEthernet0/0)

ระวังให้ดี ในกรณีของ Default Route แล้ว ห้าม configure default route ด้วย option outgoing interface เพียง option เดียวโดยเด็ดขาด หากจะใช้ option outgoing interface แล้ว ควรจะใส่ option next hop เข้าไปด้วย (configure คู่กันระหว่าง outgoing interface กับ next hop)
 
 
 
 
 
คำถามต่อมา แล้วเมื่อไหร่จึงควรใช้ outgoing interface ล่ะ 
คำตอบคือ ควรใช้ outgoing interface กับ interface ที่เป็น Layer 2 protocol ประเภท Point-to-Point อย่างเช่น Serial Interface ที่ encapsulation เป็น HDLC หรือ PPP นั่นเอง
 

Best Practice หรือแนวทางปฏิบัติที่ดีที่สุด

ในการ configure static route ผมขอเสนอให้ทำการระบุทั้ง outgoing interface และ next hop IP address คู่กันดังตัวอย่าง configuration ข้างล่างนะครับเพราะมันจะทำให้ประสิทธิภาพโดยรวมของการ forwarding ดีขึ้นคือ Router มันจะลดกระบวนการการทำ recursive lookup เพราะมันสามารถที่จะรู้ได้อย่างทันทีจากconfiguration ว่า next hop IP address ต้องส่งออกทาง interface ไหน

ip route 0.0.0.00.0.0.0  11.1.1.2  FastEthernet0/0

หวังว่าจะมีประโยชน์กับพี่ๆ น้องๆ นะครับ

18/06/2017 - 23.50: ขอขอบคุณน้อง Mine (Makara Sakolvaree) ที่พบจุดบกพร่องบางจุดในบทความ และแนะนำมานะครับ 

ปล. สิ่งที่ผมกลัวมากๆ คือ การถ่ายทอดความรู้ที่ผิดให้กับพี่ๆ น้องๆ ดังนั้น หากท่านพบจุดผิด หรือจุดบกพร่องในบทความแล้ว ท่านสามารถเสนอความคิดเห็น หรือ Inbox มาได้นะครับ ผมยินดีรับฟัง และพร้อมจะปรับปรุงจุดที่ผิดครับ 

Facebook: Chaiwat Amornhirunwong 

 

ขอบคุณครับ
โก้-ชัยวัฒน์ (KoChiawat)
 



Create Date : 31 มีนาคม 2558
Last Update : 16 มิถุนายน 2565 9:44:50 น. 8 comments
Counter : 18928 Pageviews.  
 
 
 
 
เยี่ยมมากๆครับ
 
 

โดย: tackyjumbo IP: 119.46.176.222 วันที่: 1 เมษายน 2558 เวลา:13:45:47 น.  

 
 
 
ขอบคุณครับ
 
 

โดย: SAPPY-TAS IP: 180.183.128.12 วันที่: 1 เมษายน 2558 เวลา:17:01:26 น.  

 
 
 
ขอบคุณครับอาจารย์ วันนี้ไล่เก็บหมดแล้ว
 
 

โดย: Ironman IP: 119.76.14.176 วันที่: 4 เมษายน 2558 เวลา:15:21:41 น.  

 
 
 
คำถามต่อมา แล้วเมื่อไหร่จึง"ควรใจ" outgoing interface ล่ะ

"ควรใช้" หรือปล่าวครับ
 
 

โดย: oop IP: 122.155.72.62 วันที่: 16 เมษายน 2558 เวลา:9:39:57 น.  

 
 
 
@คุณ Oop,
5555 แหม่ ขอบคุณครับ เขียนผิดไปหน่อย แต่แก้ให้แล้วนะครับ

 
 

โดย: kochaiwat วันที่: 20 เมษายน 2558 เวลา:22:00:50 น.  

 
 
 
ขอบคุณครับ
 
 

โดย: supas IP: 61.90.229.97 วันที่: 20 กรกฎาคม 2558 เวลา:11:06:36 น.  

 
 
 
อาหารสมอง ในวันหยุด ขอบคุณครับอาจารย์
 
 

โดย: Ironmini IP: 27.145.56.147 วันที่: 5 กันยายน 2558 เวลา:11:37:57 น.  

 
 
 
ขอบคุณครับ
 
 

โดย: อนุรุทธ IP: 110.170.117.56 วันที่: 17 มิถุนายน 2560 เวลา:12:38:36 น.  

Name
Opinion
*ใช้ code html ตกแต่งข้อความได้เฉพาะสมาชิก

kochaiwat
 
Location :
กรุงเทพฯ Thailand

[Profile ทั้งหมด]

ฝากข้อความหลังไมค์
Rss Feed
Smember
ผู้ติดตามบล็อก : 693 คน [?]




เริ่มงานครั้งแรกที่บริษัท UIH (United Information Highway) ซึ่งเป็นบริษัทผู้ให้บริการทางด้านการสื่อสารข้อมูล อาทิเช่น Lease Line, Frame Relay และ MPLS และได้ย้ายไปร่วมงานกับบริษัท dtac โดยได้ทำงานเกี่ยวกับ IP Network (Switch/Router/Firewall/F5-Loadbalancer) รวมถึง MPLS Network และ IPRAN (IP Radio Access Network) ซึ่งเป็น IP Network ที่รองรับ Access ของ Mobile System นอกจากนั้นยังสนใจศึกษาเรื่อง IPv6 Address ที่จะมาใช้แทน IPv4 ที่เราใช้งานอยู่ในปัจจุบัน
แต่ด้วยความชอบในการแบ่งปันความรู้ จึงได้มีโอกาสสอน CCNA อยู่ที่สถาบันแห่งหนึ่งในอาคารฟอร์จูนทาวน์ในวันเสาร์-อาทิตย์ ตั้งแต่ปี พ.ศ. 2549 จนถึง พ.ศ. 2553 รวมเป็นเวลา 4 ปี, หลังจากนั้นในระหว่างที่ทำงานที่ dtac ก็ได้สอนเสาร์-อาทิตย์เรื่อยมา

เคยเป็น Trainer หรือ Instructor อย่างเต็มตัว สอนวิชาต่างๆ ของ Cisco อย่างเป็นทางการ (Authorize Training) ที่บริษัท Training Partner Thailand จนถึง มีนาคม 2014 และได้ตัดสินใจออกมาสอนเอง เพราะด้วยความรักในอาชีพการสอน และต้องการที่จะแบ่งปันความรู้ให้กับบุคคลในระดับกลางและล่างเพื่อส่งเสริมให้ได้มีโอกาสได้เรียน และได้มีโอกาสสมัครงาน แต่ด้วยใจรักในบริษัท Cisco ดังนั้น เมื่อมีโอกาสเข้ามา จึงได้ตัดสินใจหยุดการสอน และได้เข้าไปเป็นพนักงาน หรือทำงานที่บริษัท Cisco Thailand ตั้งแต่วันที่ 15 กุมภาพันธ์ 2559 (2016) จนถึงปัจจุบัน

ลูกค้าที่เคยมารับการอบรม เช่น
- Lao Telecom Company Ltd
- CAT Telecom
- TOT
- True
- dtac
- CDG Group
- SITA air transport communications and information technology (www.sita.aero/)
- Infonet Thailand
- MultiLink Co., Ltd
- โรงพยาบาลไทยนครินทร์
- และเคยไปเป็นวิทยากรพิเศษที่ มหาวิทยลัยกรุงเทพสุวรรณภูมิ

ปัจจุบัน โก้-ชัยวัฒน์ ได้ผ่านการสอบ:
- Cisco Certified Internetwork Expert (CCIE) No. 51353 และ
- Cisco Certified Systems Instructor (CCSI) ซึ่งเป็น Certificate ที่ออกให้โดย Cisco สำหรับผู้ที่จะเป็นผู้สอน Cisco Certificate อย่างเป็นทางการ และได้รับ CCSI ID: 34784

วิชาที่สามารถได้สอนได้สำหรับ Cisco Certificate ในขณะนี้คือ
- CCNA Routing & Switching
- CCNA Security (IINS)
- CCNP Route & Switch: ROUTE
- CCNP Route & Switch: SWITCH
- CCNP Route & Switch: TSHOOT
- MPLS (IOS)
- MPLS Traffic Engineering (IOS)
- CCNP Service Provider: SPROUTE (OSPF, IS-IS, BGP, Prefix-List, Route-Map and RPL (Routing Policy Language))
- CCNP Service Provider: SPADVROUTE (Advance BGP, Multicast, and IPv6)
- CCNP Service Provider: SPCORE (MPLS, MPLS-TE, QoS)
- CCNP Service Provider: SPEDGE (MPLS-L3VPN, MPLS-L2VPN (AToM and VPLS)
- IPv6

Certification ที่มีอยู่ในปัจจุบัน CCIE# 51353, CCSI# 34784, CCNA Routing & Switching, CCNA Security (IINS), CCNA Design, CCNP Routing & Switching, CCIP, CCNP Service Provider ซึ่งเป็น Certification ของ Cisco product รวมถึง Certification ของสถาบัน EC-Council (www.eccouncil.org) นั่นคือ Certified Ethical Hacker (CEH)

"เป้าหมายมีไว้ให้ไล่ล่า บ้างเหนื่อยล้าบ้างหยุดพัก
ชีวิตแม้ยากนัก แต่เรารักเราไม่ถอย
ชีวิตแม้ต้องคอย จะไม่ปล่อยไปวันๆ
ชิวิตไม่วายพลัน แม้นสักวันต้องได้ชัย"

"แม้ระยะทางจะไกลแค่ไหน แม้ต้องใช้เวลามากเพียงใด
ขอเพียงแค่มีความตั้งใจ เราต้องได้ไปให้ถึงมัน"

ผมจะไม่ยอมทิ้งฝัน แต่จะไล่ล่ามันให้ถึงที่สุด สักวันฝันอาจจะเป็นจริง ถึงจะไปไม่ถึง แต่ผมก็ภูมิใจที่ได้ทำ
==============================
ความรู้ = เมล็ดพืช
ความพยายามในการเรียนรู้ = ปุ๋ย, น้ำ และความใส่ใจที่จะปลูก
สรุปคือ
ยิ่งพยายามเรียนรู้ ยิ่งพยายามศึกษาในเรื่องใดๆ ผลที่ได้คือ จะได้ความรู้ในเรื่องนั้นๆ อย่างลึกซึ้ง เปรียบเสมือนปลูกต้นไม้ด้วยความใส่ใจ ให้น้ำ ให้ปุ๋ย ผลที่ได้ก็คือ ต้นไม้ที่เติบโตอย่างแข็งแรง และผลิดอกและผลที่งดงามให้เราได้ชื่นชม
ความพยายามอยู่ที่ไหน ความสำเร็จจะอยู่ที่นั่น หรือที่ไหนก็ช่าง แต่เชื่อเถอะ เราจะได้ผลลัพธ์ที่ดีจากความพยายามนั้นๆ ไม่มากก็น้อย
อยากได้อะไรให้พยายาม แล้วความสำเร็จมันจะเข้ามาหาเอง
ผมเชื่อ และมั่นใจอย่างนั้น
===============================
ตอนนี้ผมได้ไปถึงฝัน (CCIE) แล้ว และสิ่งที่ไม่คาดฝัน คือได้ทำงานที่บริษัท Cisco ซึ่งถือได้ว่าไกลเกินฝัน

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

ผมขอเป็นกำลังใจให้กับทุกคน และขอให้ประสบความสำเร็จดังที่มุ่งหวัง ไม่ว่าท่านจะหวังสิ่งใดก็ตามครับ

ท้ายที่สุด ผมขอฝากข้อคิดในเรื่อง Certificate ไว้สักนิดนะครับ:
*** "CCIE และ Certificate อื่นๆ มีไว้เพื่อทำมาหากิน และมีไว้เพื่อข่มตนไม่ให้เกรียน เพราะความเกรียนจะนำมาซึ่งการเป็นเป้าให้คนที่เค้าหมั่นไส้ยิงเอานะครับ" ***

Facebook: Chaiwat Amornhirunwong
New Comments
[Add kochaiwat's blog to your web]

MY VIP Friends


 
 
pantip.com pantipmarket.com pantown.com