วันจันทร์ที่ 2 มีนาคม พ.ศ. 2558

Office network

สวัสดีครับ เพื่อนๆชาว Office network ทุกๆท่าน ช่วงใกล้สอบแบบนี้ผมว่าเพื่อนๆทุกๆคนคงเตรียมตัวอ่านหนังสือกันบ้างแล้วแน่เลย ฮาา 
สำหรับผมนั้นช่วงเวลาเตรียมตัวไม่ค่อยมีหรอกครับ วันนึงๆ ทำงาน กลับมาก็เหนื่อยแระ ผมจึงมีไอเดียที่อยากช่วยคนที่ไม่ค่อยมีเวลา ได้มีความรู้เพิ่มขึ้น หรือเป็นการทบทวนความรู้ให้กันและกันบ้างก็พอ วันนี้ผมจึงอยากจะทำบทสรุปออนไลน์ขึ้น เพื่อเอาไว้ทบทวนเนื้อหาที่เรียนมา แล้ว ก็อยากจะขอโอกาสให้คนหัวขี้เลื่อยอย่างผมได้เขียนบทความกะเขาบ้าง เผื่อใครอ่านแล้วช่วยแก้ไข ผมจะได้เรียนรู้ตามไปด้วย และได้เก่งเหมือนเขาสักวัน :-)
มาเริ่มกันเลยนะครับ

ช่วงเวลาในการเรียนตั้งแต่เปิดเทอมจนถึงก่อนสอบกลางภาค นั้นอาจารย์ได้สอนเนื้อหาไปแล้วประมาณ 10 เรื่องดังนี้
  1. Switch basic configuration
  2. Address learning
  3. STP
  4. RSTP
  5. VLAN
  6. Aggregate link 
  7. MSTP
  8. Routing with VLAN
  9. Dynamic Route on Router
  10. RIP
ผมขอเริ่มสรุปที่ข้อแรกเลยนะครับ
Switch Basic Configuration ในหัวข้อนี้เป็นการอธิบายอุปกรณ์เครือข่ายคือ Switch หลายคนคงเคยใช้งานสวิตช์กันมาบ้างแล้วนะครับ สวิตช์มีตั้งแต่ Layer2 และ Layer3 ราคาก็ขึ้นอยู่กับประสิทธิภาพของมันครับ
รายละเอี่ยดเบื้องต้น สวิตช์มีทั้งแบบ Manage และ Unmanage คือ แบบที่จัดการได้ และเข้าไปบริหารจัดการไม่ได้ ใน Lab จะพูดถึง สวิตช์แบบ Manage นะครับ
การ Manage สวิตช์นั้นต้องมีการเข้าถึงตัวสวิตช์ก่อนจึงจะสามารถบริหารจัดการสวิตช์ตัวนั้นๆได้ ซึ่งจะมีการเข้าไปบริหารจัดการได้ 3 แบบ คือ
  1. เข้าผ่าน Console port
  2. เข้าผ่าน Protocol telnet
  3. เข้าผ่าน Webbase
เมื่อเข้าไปในสวิตช์ได้แล้วจะต้องใช้คำสั่งในการบริหารจัดการ คำสั่งนั้นเรารู้จัก และเรียกกันว่า CLI หรือ Command Line Interface ในการจัดการ ซึ่งจากทั้ง 3 ข้อที่กล่าวมาแล้วนั้นการเข้าผ่าน Console port ต้องใช้เป็นครั้งแรกในการจัดการสวิตช์ เนื่องจากข้ออื่นๆนั้น เราจำเป็นต้องเซทค่าต่างเหล่านั้นให้พร้อมรอรับการเข้าถึงของเราเองก่อน
การเข้าไป Config ค่าต่างๆของอุปกรณ์นั้น เรามีโปรแกรมช่วยในที่นี้คือ โปรแกรม putty สามารถโหลดมาใช้งานได้ฟรีครับ
ค่าต่างๆที่ต้องใช้ในโปรแกรมสำหรับการ config อุปกรณ์คือ
  1. หมายเลขของ com port นั้นเราจะเห็นได้ใน Device Manager ของคอมพิวเตอร์ครับ เราก็เอาค่านั้นใส่ในช่องของ com port 
  2. และ communication parameters ค่านี้เราจะใช้ 9600 bps นะครับ
  3. อย่าลืมติ๊กตรง Serial ด้วยนะครับ ไม่งั้นโปรแกรมจะ connect กับ อุปกรณ์ไม่ได้ครับ
ซึ่งสวิตช์จะมีการทำงานหลักๆอยู่ 2 mode คือ
  1. user view 
  2. system view
สัญลักษณ์จะเป็นแบบนี้ครับ
<hp> user view
[hp] system view

ส่วน user view นี้เป็นการใช้งานพื้นฐานทั่วไป เช่นการอัพเฟริมแวร์อุปกรณ์ การจัดการไฟล์ต่างๆ เพิ่ม ลบ แก้ไข รีบูทฯ
เรื่องของไฟล์บนสวิตช์นั้นก็มีที่มาดังนี้
- เมื่อขณะเปิดสวิตช์ตัวมันจะเรียกใช้งานไฟล์ชื่อว่า next startup configuration file และพอสวิตช์ load มาหน้า start up แล้วไฟล์นั้นจะถูกเรียกว่าเป็น Current startup configuration file แทนครับ
- ไฟล์ในสวิตช์ตัวที่ติดมาจากโรงงานผู้ผลิต จะเป็นไฟล์นามสกุล .bin
- ส่วนไฟล์ที่เราเซฟจะเป็นนามสกุล .cfg หรือเรียกอีกอย่างว่าเป็น next startup configuration file ครับ

ส่วน system view เป็นการใช้งานการ config ต่างๆ
ในส่วนของสวิตช์ hp นั้นยังมีการแบ่งสิทธิของ user เป็นแต่ละ level ด้วย มีตั้งแต่ level 0 - level 3 ตัว level 3 นี่สิทธิสูงสุด
มาดูการเซทค่าเพื่อใช้งาน telnet กันบ้าง ซึ่งก่อนการใช้งานในส่วนนี้เราจะต้องเตรียมค่าต่างๆเหล่านี้ก่อน
  1. IP สำหรับ interface
  2. user สำหรับเข้าไปใช้งาน (ใครบ้าง)
  3. สิทธิ์ที่จะให้แต่ละคน level 0-3
  4. จำนวนของ user(Session) ที่จะให้เข้าพร้อมๆกัน
1.
[hp]interface vlan 1
[hp.......]ip address 192.168.10.253 255.255.255.0 หรือ ใช้เป็นแบบ Subnet 24 ได้เลยไม่ต้องพิมพ์ 255........0
[hp........]quit
เสร็จการสร้าง ip interface ให้กับ vlan

2.
สร้าง local user สำหรับใช้เป็นตัวแทน AAA server ในการทำ Authentication เพราะคำสั่งสุดท้ายของขั้นตอนนี้จะมีการอ้างถึงการไปเช็คค่าที่ AAA server แต่เราไม่มีการทำ AAA server ดังนั้นเราจึงให้ไป Authentication ที่ local user แทนคือ
[hp]local - user test
[hp-luser-test]password simple test
[hp-luser-test]authoriza........ level 3 (สิทธิ์สูงสุด)
[hp-luser-test]service - type telnet (เปิด Service ให้กับ user นี้ test)

3.สร้าง Authentication
[hp]user-interface vty 0 3 (vty คือ telnet ,Virtual terminal ... 0 3 หมายความว่าเข้าได้ 4 session พร้อมกัน)
[hp ..........]authentication - mode scheme (คำสั่งนี้เป็นการบอกให้ไปเช็คการ Authen ที่ ข้อ 2 แทน เนื่องจากมันไม่มี AAA server)
หลังจากเซทค่าทั้งสามเรียบร้อยแล้ว อย่าลืมไปเปิด Service telnet ด้วยนะครับ

[hp]telnet server enable

จบส่วน telnet ครับ
ถ้าจะใช้ Web interface เข้าไป คอนฟิค ก็ให้ทำ Step 1-3 ให้เรียบร้อยแล้วใช้คำสั่ง

[hp]ip http enable

เพื่อเปิดใช้งาน service web interface ครับ

จบส่วน Web interface ครับ

แนะนำให้อ่านในชีทประกอบด้วยนะครับเพื่อความสมบูรณ์ของเนื้อหา

*********************************************************************

Address Learning

มาถึงบทเรียนเรื่องนี้กันบ้างนะครับ ถึงเรื่องนี้อาจารย์สอนเกี่ยวกับ hub และ switch ว่ามันต่างกันอย่างไรนะครับ จริงๆแล้วสองตัวนี้มีการทำงานคล้ายกันครับ แต่มีความแตกต่างกันที่ Topology แบบ logical ที่ภายในครับ คือ
Hub จะมี topology ภายในทำงานแบบ Bus แล้ว Bus มันไม่ดีอย่างไร คือ ระบบนี้เมื่อมีการส่งข้อมูลในครั้งแรกมันก็จะ board cast ไปทุกพอร์ทบนตัวมัน แต่มันจะส่งไปทุกพอร์ท และทุกครั้ง แม้ว่าจะมีเครื่อง 2 เครื่องกำลังส่งข้อมูลหากันก็ตาม นั่นหมายความว่าถ้า hub มีจำนวนพอร์ทมากก็ยิ่งทำให้ระบบช้าตามไปด้วย
Switch ก็จะมีการทำงานคล้ายๆกับ Hub กล่าวคือในครั้งแรกถ้ามีการส่งข้อมูลหากันตัวมันก็จะ Board cast ไปทุกพอร์ทเพื่อหาปลายทาง แต่พอครั้งต่อไป Switch จะส่งข้อมูลออกทางพอร์ทนั้นเลยไม่ boardcast อีก กล่าวคือจะมีการทำงานอยู่ 2 กระบวนการนั่นคือ
  1. เช็คหาปลายทาง (learn)
  2. บันทึกบนตาราง Mag add table (record)
ดังนั้นถ้ามี package อะไรวิ่งบนตัวมัน ตัวมันจะทำ 2 กระบวนการ คือ learn and record นั่นคือ เรียนรู้ และบันทึกค่าบนฐานข้อมูลบนตัวมัน หากมีค่าบนฐานข้อมูลแล้วมันจะไม่ทำอะไร หากตัวสวิตช์ไม่มีค่าใหม่ๆนี้บนฐานข้อมูล มันจะทำการ Update ค่าใหม่ๆนี้บนฐานข้อมูล ครั้งต่อไปหากมีการส่งข้อมูลแบบนี้อีกมันจะไม่ Board cast มันรู้จากฐานข้อมูลบนตัวมันและส่งค่าไปที่พอร์ทนั้นเลย ทำให้เครือข่ายมีความไวมากขึ้น

โดยค่าที่มันเก็บบนฐานข้อมูลก็มี
Interface port ไหนที่วิ่งผ่านตัวมัน (gi 1/0/12)
Source Mag address อะไรวิ่งผ่านตัวมัน (b8af-670a-f10d)
พอร์ทเป็นสมาชิก VLAN ID อะไร

สรุป การทำงานทั้ง 2 mode ของสวิตช์
  1. ถ้าไม่มีฐานข้อมูลของปลายทางบนตัวมัน มันก็จะ boardcast หาปลายทาง
  2. ถ้ามีข้อมูลปลายทางอยู่แล้วมันก็จะ Unicast หาปลายทางเลย ไม่ boardcast อีก
เมื่อใช้คำสั่ง display mac add database มันจะแสดงค่าให้เห็นประมาณ 300 s หรือ 5 นาทีโดยประมาณ และจะหายไป

จบเรื่อง Address learning ครับ
*******************************************************************
STP (Spanning Tree Protocol)
มา ดูเรื่องนี้กันบ้างนะครับ Spanning Tree Protocol นี้เป็นมาตรฐาน IEEE 802.1D ตัว Protocol นี้ออกแบบมาเพื่อแก้ปัญหาการเกิด Address Learning Loop ในตัวสวิตช์ จะแสดงดังภาพนะครับ



 จาก รูปถ้า ในโรงงานของเรามีสวิตช์ 3 ตัวต่อเชื่อมถึงกัน ถ้าวันหนึ่งมีอุบัติเหตุอะไรก็ตามเกิดขึ้น แล้วมีผลทำให้ Link ระหว่าง อาคารขาดไป
ปัญหาคือ Client ที่ต่ออยู่ที่สวิตช์ขวาสุดจะถูกตัดออกจากระบบ คือจะไม่สามารถติดต่อใครได้
วิธีแก้คืออะไรล่ะ
  1. เดินสายหลายๆเส้นเป็นลิงค์สำรอง
  2. หรือเดินไว้อีกทางเป็นลิงค์สำรอง
จาก ทางเลือกทั้งสองนั้น ข้อ 1 ไม่ควรทำเพราะเวลาลิงค์ขาด ไม่ได้ขาดเส้นเดียว กรณีเกิดเหตุการณ์รถบรรทุกเกี่ยวขาด คือมันจะขาดทุกเส้นในท่อนั้น
ส่วน ข้อ 2 ในทางปฏิบัติทำได้ แต่ในทางทฤษฏีไม่ควรทำเพราะสิ่งนี้จะเป็นปัญหาของการเกิด Address Learning Loop บนตัวสวิตช์ คราวนี้จะล่มทั้งหมดเช่นกัน มาดูจากรูปนะครับ ว่าแบบนี้ไม่ควรเดิน
 

จากรูปจะเห็นว่ามันทำงานได้ ทำไมไม่ควรทำล่ะ คำตอบคือ ไม่ควรอย่างยิ่งนะครับ เดี๋ยวผมจะอธิบายให้ฟังครับ 

จากรูป PC A จะติดต่อไป PC B กระบวนการนี้เกิดอะไรขึ้นบ้าง
  1. ที่สวิตช์ของ PC A จะมีข้อมูลใน Mac add table ว่า PC A ต่ออยู่พอร์ท 10 
  2. หน้าที่ของสวิตช์ A ก็จะมีการส่ง Package boardcast ไปทุกพอร์ทเพื่อหา PC B 
  3. PC B ไม่อยู่บนสวิตช์ A 
  4. ต้องไปหายังพอร์ทที่ตัวมันต่ออยู่ในที่นี้สมมุติให้เป็นพอร์ท 5 และ 6 
  5. เมื่อส่งไปทางพอร์ท 6 บน มันก็ไปเจอสวิตช์ตัวบน และต่อกับพอร์ท 1 ของสวิตช์บน
  6. มันก็จะทำการ Update ข้อมูลของตัวมัน กับ สวิตช์ตัวใหม่
  7. ผลคือ มันบอกสวิตช์ตัวบนว่า PC A มาจากพอร์ท 1 นะ 
  8. สวิตช์บนเรียนรู้ และบันทึกตามคำบอกเล่าของ สวิตช์ A
  9. มันทำกระบวนการเหมือนกับสวิตช์ A คือ หาปลายทางก่อน และ บันทึก 
  10. ตอนนี้มันหา PC B โดย Boardcast ไปทุกพอร์ท แต่ไม่พบ ดังนั้นมันจึงต้องหาต่อกับพอร์ทที่มันต่ออยู่
  11. สมมุติเป็น พอร์ท 2 บนตัวสวิตช์บน จะเห็นว่ามันต่อกับ สวิตช์ B แล้วที่พอร์ท 3 (สมมุติ)
  12. และก็ทำเหมือนสวิตช์ 2 ตัวแรก คือ เรียนรู้ และ บันทึก 
  13. มันก็ส่งค่าบนตัวมันที่มีคือ Mac ของ PC A และบอกสวิตช์ B ว่า PC A ต่ออยู่ที่พอร์ท 3 นะ
  14. สวิตช์ B ได้ฟังก็เรียนรู้ และบันทึกค่าลงบน Mac add table แต่
  15. สังเกตุสวิตช์ A ก็มีการต่อมาที่ สวิตช์ B อีกเส้นทางเหมือนกัน คราวนี้เป็นพอร์ทที่ 4 บนสวิตช์ B
  16. มันก็ทำเช่นกันครับ คือ บอกสวิตช์ B ว่า PC A อยู่ที่พอร์ท 4 นะ
  17. สวิตช์ B ได้ฟังก็ทำเหมือนเดิมครับ คือ เรียนรู้ และบันทึก
ปัญหา อยู่ตรงนี้ครับ จากรูปสวิตช์ B จะมีการอัพเดทข้อมูลบน Mac add table อยู่ตลอดเวลาว่า PC A มาจากไหนกันแน่ เมื่อมันทำแบบนี้จนถึงจุดนึง ตัวมันก็จะมีอาการที่เรียกว่า แฮงค์ ครับ คราวนี้ล่มทั้งหมดเลย
จาก ปัญหานี้นะครับ จึงมีโปรโตคอล STP เข้ามาช่วยในการบริหารจัดการ Link เพื่อไว้สำหรับการทำ Backup โดยเฉพาะเลยครับ โดย STP จะมีอัลกอริทึม ที่สามารถอธิบายการทำงานของมันได้ดังต่อไปนี้นะครับ
คือ ถ้าเราต่อดังภาพ


โปรโตคอล STP จัดการดังนี้ครับ
  1. หา Root bridge
  2. คำนวณหา RP(Root path)
  3. block port ที่ไม่ได้ใช้งาน ณ ตอนนั้น แต่เปิด service ไว้รอลิงค์หลัก down มันจึงเริ่มทำงาน
สมมุติ ตัวสีเทาเป็น Root bridge
เราก็คำนวณค่า RP กันเถอะ
สมมุติค่า RP ให้มาตามภาพนะครับ สวิตช์ A Port 6,5 /สวิตช์ B Port 1,2 /สวิตช์ C Port 3,4

จากสวิตช์ A มาหารูท ค่า RP คิดจาก ระยะทางที่รูทวิ่งไปหามันมีค่า RP เท่ากับ
เส้นทางที่ 1 RP= 30
เส้นทางที่ 2 RP= 80+40=120
ฉะนั้นเลือกเส้นทางที่ 1 คือเส้นจากรูทวิ่งไปด้านบน

จากสวิตช์ B มาหารูท(ตัวสี เทา)
เส้นทางที่ 1 RP= 80
เส้นทางที่ 2 RP= 30+60=90
ฉะนั้นเลือกเส้นทางที่ 1 คือเส้นจากรูทวิ่งมาทางขวา

เราได้ RPC ของทั้งสองตัวแล้วนะครับ
จากผลการคำนวณทั้งสองเส้นทางเห็นว่าเส้นที่ไม่ได้ใช้งาน ณ ตอนนี้คือ เส้นด้านบนที่สวิตช์ A และ B เชื่อมกันดังรูปนะครับ

เหลือขั้นตอนสุดท้ายที่สำคัญนะครับ คือ โปรโตคอล STP จะเลือก ปิดพอร์ทไหน คำถามนี้มีวิธ๊คิด เดี๋ยวจะแสดงให้ดูนะครับ
ก็ให้เราเทียบค่า RP ของฝั่งไหนมากก็ปิดฝั่งนั้นเลยครับ เช่น
ถ้าจากเส้นที่ไม่ได้ใช้งาน เราเอาคอมฯไปต่อไว้ตรงกลาง จะทำให้เราปิดทั้งเส้นไม่ได้ เราต้องปิดข้างใดข้างหนึ่งครับ มาดูทีละข้างนะครับ เอาข้างขวาก่อน
RP จะคิดจากรูทบริดจ์วิ่งมาที่ตัวสวิตช์ที่ต่ออยู่นะครับ ค่า RPC ที่ตัวมันถืออยู่ไม่มีผลในการคำนวณเลยครับ ดังนั้น ฝั่งขวาได้ RP=80

ฝั่งซ้ายคิดเหมือนกันนะครับ
RP จะคิดจากรูทบริดจ์วิ่งมาที่ตัวสวิตช์ที่ต่ออยู่นะครับ ค่า RPC ที่ตัวมันถืออยู่ไม่มีผลในการคำนวณเลยครับ ดังนั้น ฝั่งซ้ายได้ RP=30

ดังนั้นปิดฝั่ง 80 ครับ สถานะของพอร์ทตอนนี้จะเป็น Discarding คือ รอลิงค์หลักล่ม พอร์ทนี้จะทำงาน เพราะถ้าพอร์ทนี้ไม่มีสถานะเป็น Discarding ผลก็คือ จะเกิด Loop ไงล่ะครับ

ผลของการทำ STP นี้คือ มันจะมี Backup เส้นทางรอเอาไว้ตลอดเวลาเผื่อวันไหนลิงค์หลักขาดลิงค์สำรองก็จะทำงานโดยอัตโนมัติดังภาพนะครับ


จากภาพจะเห็นว่าเส้นทางหลักขาดไปเส้นทางสำรองที่ตอนแรกถูกปิด หรือ Discarding ไว้จะทำงานแทน ครับ

จบการคำนวณ STP และเรื่อง STP ครับ

***************************************************************************
RSTP (Rapic Spanning Tree Protocol)
มาดู RSTP กันบ้างนะครับ ตัวนี้มาจากโปรโตคอล IEEE 802.1W การทำงานเหมือน STP ทุกอย่างครับ แต่จะมีเพิ่มเติมที่เด่นชัดก็คือ เรื่องความเร็วในการทำงานครับ โดยตัวมันจะเชื่อว่า Topology ที่ต่อไว้ไม่มีการเปลี่ยนแปลงเวลาเกิดลิงค์หลักขาดมันจะไม่คำนวณอัลกอริทึม STP ตั้งแต่แรก มันจะมองที่พอร์ทที่มีสถานะเป็น Discarding และทำงานเลย Alternate port เลย บางครั้งเร็วจนแทบไม่รู้สึกว่าระบบกำลังล่มเลยครับ
ความเร็วจากที่ทดลองในแล็ป มันจะเร็วกว่า STP ธรรมดาประมาณ 10 เท่าครับ เช่น STP ทำงานที่ 30 วินาที  RSTP ทำงานประมาณ 2-3 วินาที ครับ

จบเรื่อง RSTP ครับ

****************************************************************************
 Virtual LAN (VLAN)
มาถึงเรื่อง virtual lan กันบ้างนะครับ ตัวนี้เป็นมาตรฐาน IEEE 802.1Q ครับ คอนเซปท์ของมันคือ ต้องการช่วยจัดการในด้านทรัพยากร IT ให้เป็นระบบมากยิ่งขึ้นนั่นเองครับ 
ก่อนอื่นถ้ากล่าวถึงเรือง vlan นั้น ผมต้องขอพูดเรื่องของคำว่า LAN ก่อนครับ 
คำว่า LAN นั้นหมายถึง กลุ่มของ PC ที่ต่อสื่อสารกันได้หมด โดยทำงานแบบทั้งหมดอยู่ภายใต้ Boardcast domain เดียวกัน คือ 1 Vlan คือ 1 Boardcast domain พูดอย่างนี้อาจยังไม่เห็นภาพ ขออธิบายเพิ่มนะครับ เช่น
VLAN 10 มีสมาชิกคือ พอร์ทที่ 1-12 นั่นหมายความว่า พอร์ทที่ 1 - 12 สามารถติดต่อสื่อสารกัน แลกเปลี่ยนข้อมูลกัน แชร์ไฟล์ ฯ ถึงกันและกันได้ ก็คือพอร์ท 1-12 เป็น Boardcast domain เดียวกันนั่นเองครับ นี่แหละครับคือคำจำกัดความของมัน 
แล้วตัว VLAN มาช่วยทำอะไรให้ระบบดีขึ้นล่ะ 
คือ ในการส่งข้อมูลกันภายใน Boardcast domain ก็จะมีทั้งคนที่ใช้ bandwidth มาก และน้อยปนกันอยู่ในองค์กรเสมอ ถ้าวันนึงมีการส่งข้อมูลเป็นจำนวนมากใน Boardcast domain เกิดวันนั้นมีผู้บริหารใหญ่อยากจะใช้งาน Conference เพื่อติดต่อธุรกิจใหญ่ แต่ผลก็คือมีการใช้งาน Bandwitch มากมายบน Boardcast domain ทำให้การ Conference ของผู้บริหารท่านนี้ไม่ราบรื่นเท่าที่ควร
จากปัญหานี้เราก็ใช้ Protocol ตัวนี้เข้ามาช่วยจัดการ bandwitch ใน Boardcast domain เราครับ อธิบายดังภาพนะครับ


สมมุติว่าทั้งหมดนี่ไม่ได้จัด VLAN ให้กับ User แต่ละคนก็จะใช้ Bandwidth กันแบบไม่มีระเบียบ คนไหนใช้มากก็มากไป คนใช้น้อยก็ไม่ได้ใช้งานเท่าที่ควร เราจึงต้องใช้ VLAN มาครอบการทำงานอีกทีสมมุติดังรูปนะครับ
สมมุติว่าทุก Client ได้ถูกตีกรอบการทำงานไว้แล้วนะครับ คือ แต่ละแผนกก็จะใช้ทรัพยากรของตัวเอง ต่างแผนกจะมาใช้ร่วมไม่ได้

การคอนฟิก VLAN มี 2 แบบนะครับ
  1. Implicit tagging.
  2. Explicit tagging.
2 ตัวนี้แตกต่างกันคือ Implicit มีอะไรก็ใช้โครงสร้างแบบนั้นครับ และเป็นแบบที่พวกเรานิยมใช้กันมากด้วย คือ 
  1. Port base VLAN
  2. Mac base VLAN
  3. Subnet base VLAN
  4. Protocol base VLAN
  5. Inter VLAN communication
อธิบายตามตัวนะครับ 
  1. Port base มีการทำงานคือ เซท VLAN ไว้ที่พอร์ทบนตัวสวิตช์เลย แต่มีข้อจำกัดว่า 1 port มี 1 VLAN เท่านั้น ทั้งหมด Admin เป็นคนดูแล
  2. Mac base ใช้ Mac addrress ของ PC เป็นตัวกลางให้ VLAN ทำงานกับ PC ได้ โดยการใช้ Mac base นี้ไม่ได้เข้าไปเซทค่าในพอร์ทบนสวิตช์ กล่าวคือ ย้ายพอร์ทก็ไม่มีผลกระทบกับ VLAN นี้
  3. Subnet base ก็แบ่ง VLAN ตามกลุ่มของ IP แต่ไม่ค่อยมีอุปกรณ์ที่สนับสนุนการทำ VLAN แบบนี้สักเท่าไร และ เครื่อง Client ต้องเซทค่า IP ให้ถูกต้องไม่งั้นก็จะทำงานตาม VLAN นั้นๆไม่ได้
  4. Protocol base ก็ใช้ Layer 3 มาช่วยจัดการ VLAN
  5. Inter VLAN communication ใช้ router เป็นตัวจัดการการทำ VLAN แต่ปัญหาคือมีค่าใช้จ่ายสูงในการทำ จึงไม่ค่อยนิยมใช้
****************************************************************************
L-3 Routing with VLAN
มาถึงเรื่องพื้นฐานการทำ Routing กันบ้างนะครับ ในบทเรียนนี้ อาจารย์พูดเกี่ยวกับเรื่อง ตาราง Routing table ครับ เพื่อนๆรู้จักตาราง routing table หรือเปล่าครับ ถ้าไม่รู้ผมจะเฉลยให้ฟังนะครับ มันก็คือตารางที่เก็บค่าพื้นฐานที่เกี่ยวกับการทำงานบนตัวมันครับ เช่น ตาราง routing table ของ router ก็จะมีค่าพื้นฐานที่อยู่บนตัวมัน คือ 
  1. Interface IP ที่ตัวมันถืออยู่ทั้ง 2 ข้าง 
  2. IP ปลายทาง และ Subnet
  3. Protocol ที่ทำงาน
  4. ค่า Preference 
  5. Next hop 
  6. Cost/Matrix
หลักๆก็จะมีอยู่ 6 ค่าตามนี้นะครับ และอาจารย์ยังได้สรุปให้พวกเราอีกว่า สิ่งที่จะ add ไปในตาราง routing table ได้นั้นถ้าเป็นเรื่อง IP จะมีการ add เข้าไป 2 แบบนั่นคือ
  1. Network route
    ผลลัพธ์คือ IP จะไปทั้ง network เช่น add โดยใช้รูปแบบนี้ 192.168.32.0 /24 ความหมายคือ IP ตั้งแต่ 192.168.32.1 - .255 จะมีผลทั้งหมดเป็นต้น
  2. Host route
    ผลลัพธ์คือ IP จะไปแค่ IP เดียว เช่น add โดยใช้รูปแบบนี้ 192.168.32.1/32 ความหมายคือ IP ที่มีผลจะมีแค่ 192.168.32.1(แค่เครื่องเดียว)

และค่าของ Route ในตาราง Routing table ยังแบ่งได้อีก 3 แบบ คือ
  1. Direct route
    หมายถึง Interface ตัวที่มันถืออยู่ เช่น router มี Interface s0 คือ 10.10.10.1/32 และ Interface s1 222.222.222.222/32 เป็นต้น (คืออยู่บนตัวมัน)
  2. Static route
    หมายถึง ในทุกๆเส้นทางที่ Router เดิน Admin เป็นคนจัดการ วิธีนี้เหมาะสำหรับบริหารจัดการ Network ขนาดเล็ก
  3. Dynamic route
    หมายถึง ในทุกๆเส้นทางที่ Router เดิน จะใช้โปรโตคอลเป็นตัวจัดการ วิธีนี้เหมาะสำหรับบริหารจัดการ Network ขนาดใหญ่
จากรูปแสดงส่วนประกอบของการทำ Static route ว่าต้องมีอะไรบ้าง


จากรูปจะเห็นว่าสิ่งที่ต้องมีในการทำ Static route คือ
  1. Network ปลายทาง
  2. Next hop (หรือตัวที่จะพาเราไปหา Network ปลายทาง)
  3. Subnet mark
ขออธิบายเพิ่มเติมจากรูปนะครับ ถ้า คอมฯจากฝั่ง 172.16.2.0 ต้องการติดต่อไปฝั่ง 172.16.1.0 จะมีการทำงานอย่างไร อธิบายได้ดังนี้ครับ
  1. คอมฯต้นทางจะต้องทำการเช็คก่อนว่าเครื่องปลายทางอยู่ใน Network เดียวกับเราหรือเปล่า
  2. ถ้าเช็คแล้วรู้ว่าปลายทางไม่อยู่ใน Network เดียวกับมัน มันก็ให้ Gateway หรือ ในที่นี้ก็คือ Next hop หรือ 172.16.2.1 หาต่อ
คำสั่งการคอนฟิคจะแสดงได้ตามภาพนี้ครับ



Default route
การทำงานก็คล้ายกับ Static route แต่การคอนฟิค Admin ไม่จำเป็นต้องรู้ปลายทาง รู้แค่ค่า  Next hop ก็พอ
อธิบายครับ ไม่ว่าจะไป Destination ไหน Network อะไร ไม่สนใจ ขอส่งให้ตัว Next hop 172.16.2.2 เป็นตัวจัดการ
ในเรื่องนี้จะมีคำศัพท์อยู่ 1 คำ คือ ค่า TTL (Time to live) เป็นอายุของ Package ค่านี้มีไว้ทำอะไร คำตอบคือ มีไว้ส่งข้อมูลไปหาอุปกรณ์ต่างๆบนระบบ Network ครับ แต่ตัวมันก็มีอายุของมันนะครับ อยู่ที่ 255 ครับค่านี้จะลดลงครั้งละ 1 เมื่อ Package เดินทางผ่านอุปกรณ์ L3 1 ตัว และ OS บน PC ก็มีผลกับค่า TTL ด้วยเช่นกัน คือ ถ้าเป็น Windows จะมี TTL = 128
ถ้าเป็น OS linux จะมี TTL = 64
ค่านี้จะลดลงเรื่อยๆเมื่อ Package วิ่งผ่านอุปกรณ์ L3 และเมื่อมันเหลือ 0 หมายความว่า Package ตัวนั้นจะ Lost ไปเลย

ทีนี้มาพูดถึงเรื่อง Routing between vlan กันบ้างนะครับ การทำ Routing บนตัว VLAN ก็สามารถทำได้เช่นกัน โดยจะต้องเข้าไปคอนฟิค Interface IP ให้กับ Vlan นั้นๆและให้ชี้ Gateway มาที่ตัว Interface vlan ที่อยู่บนอุปกรณ์ L3 อธิบายตามทฤษฎีดังรูปครับ

อ้างถึงผลการทดลองในแล็ปมันสามารถติดต่อกันได้โดยผมใช้การปิง ทดสอบครับ หากใครอยากลองต่อก็ตามรูปนี้นะครับ
ใส่ Gateway เป็น IP interface ของแต่ละ Network แล้วมันจะปิงกันได้ครับ
ขอจบเรื่อง Static route นะครับ

************************************************************************

Dynamic Route on Router,RIP
มาถึงเรื่องสุดท้ายกันครับ (สุดท้ายเท่าที่มีเวลา) เรื่องนี้พูดเกี่ยวกับการบริหารจัดการตาราง Routing table โดยใช้โปรโตคอล Routing Information Protocol หรือ (RIP) เป็นตัวช่วยจัดการ ซึ่งโปรโตคอลตัวนี้มีการทำงานที่ไม่สลับซับซ้อนมากนัก โดยในปัจจุบันนี้โปรโตคอลตัวนี้ได้พัฒนามาถึงตัวที่ 3 แล้วครับ
แต่ตัวล่าสุดมันใข้อยู่บน IPv6 ซึ่งยังไม่พูดถึงนะครับ
วิวัฒนาการของ RIP มีดังนี้ครับ
IPv4 ใช้ RIP version 1 ,2
IPV6 ใช้ RIP ng
RIP ใช้อัลกอริทึม แบบ D-V Protocol คือ Distance Vector เป็นตัวจัดการ มีทำงาน คือใช้การนับจำนวน hop count ที่มันวิ่งผ่าน และมันจะลดค่า TTL ทีละ 1 เมื่อ Package วิ่งผ่านอุปกรณ์ L3
RIP จะใช้งานบน UDP และใช้ Port 520 ในการแลกเปลี่ยนข้อมูล
ค่า Cost ของ RIP จะนับเมื่อมันผ่านอุปกรณ์ L3 (ลดทีละ 1)
RIP จะมีการอัพเดทค่าไปหาเพื่อนบ้านทุกๆ 30 วินาที
อธิบายการทำงานของ RIP ครับ ดังภาพ

จากภาพนะครับ Router แต่ละตัวจะใช้เวลา 30 วินาที ส่งค่าในตัวมันไปบอกกับ Routrer เพื่อนบ้านทำให้ถ้าใน Network ของเราเป็นเน็ทเวิร์คขนาดใหญ่ การใช้ RIP ในการจัดการ ตาราง Routing table จึงไม่เหมาะสมครับ และปัญหาที่ตามมาอีกข้อก็คือ การไม่มีประสิทธิภาพของการทำงานแบบ ปากต่อปากของ RIP ครับ คือถ้าหาก Network ตัวใดตัวนึงเสีย ถ้าการทำงานของมันยังจะใช้การบอกไปยัง Router เพื่อนบ้านเช่นนี้อีก ทำให้ค่าที่ Routing table ที่บอกต่อออกไปนี้มีความผิดพลาดดังแสดงในรูปนะครับ


เนทเวิร์คฝั่งขวาสุดกำลัง down ซึ่งถ้าเนทเวิร์คล่มนั้นมันจะไม่แสดงค่าใน Routing table ครับ แต่ถ้ากรณีนี้การทำงานยังคงใช้การบอกปากต่อปากระหว่าง Router เพื่อนบ้านอยู่ผลที่ได้ตาราง Routing table จะคลาดเคลื่อนแบบนี้ครับ


ค่าควรเป็น 0 แต่มันก็นับเพื่มเรื่อยๆ




ซึ่งวิธีนี้มีการป้องกันนะครับ โดยมีวิธีให้เลือกใช้อยู่ 5 วิธีดังนี้ครับ

  1. Counting to Infinity
  2. Split Horizon
  3. Poison Reverse
  4. Trigger Update
  5. Hold down timer
อธิบายการทำงานทีละข้อนะครับ
สำหรับ Counting to Infinity จะมีการ Set Maximum hop count เมื่อมันวิ่ง่ผ่านอุปกรณ์ L3 ค่า TTL ในตัวมันจนลดลงเหลือ 0 เมื่อไร Router จะ drop package นั้นทิ้ง โดย Default แล้วค่านี้ตั้งไว้ 16 hop count ครับ
Split Horizon จะไม่ใส่ข้อมูลของ Router ฝั่งที่ down ลงในตาราง Routing table ไป
Poison Reverse จะส่งค่า Poison reverse บอกต้นทางว่า Network ตัวที่ตนกำลังถืออยู่ down
Trigger update จะส่ง error ท้นทีโดยไม่ต้องรออัพเดททุกๆ 30 วินาที
Hold down timer จะตั้งเวลาไว้ หากเกินเวลาที่กำหนด ไม่มีค่าเหล่านี้ส่งมาจาก Router เพื่อนบ้าน แสดงว่า Network ของเพื่อนบ้านตัวนั้นกำลัง down

การเลือกใช้ต้องดูด้วยนะครับว่า Default ของแต่ละยี่ห้อเป็นเช่นใร และเราต้องปรับแต่งให้เหมาะสมกับระบบที่เราดูแลอย่างไรบ้าง ด้วยนะครับ คือ บางยี่ห้อ Default RIP เป็นแบบ Split horizon บางยี่ห้อเป็นแบบ Poison reverse สองตัวนี้จะใช้รวมกันลำบากนะครับ เพราะมันจะหักล้างกันเองตามทฤษฎีที่ให้ไว้ครับ
คือ Split horizon ไม่ส่งค่าบอกว่ามี error ขึ้น แต่ Poison reverse ส่งค่าบอกว่ามี error
ดังนั้นย้ำอีกครั้งว่าควรตรวจสอบด้วยครับ

มาดูการทำงานกันบ้างครับ
การทำงานของ RIP มันจะทำงานทุกๆ 30 วินาทีครับ คือจะประกาศ Network ที่ตัวมันถืออยู่ ประกาศออกไปให้ Router เพื่อนบ้าน และตัวเพื่อนบ้านเองก็จะทำแบบเดียวกันคือ เมื่อ 30 วินาทีมันก็จะส่งค่า รวมทั้ง Update ค่าที่ตัวมันไม่มีลงในตาราง Routing ของมันด้วย
การประกาศ Network แบบ RIP นี้จะใช้การประกาศ Network แบบ Class full คือ จะดู IP ว่าอยู่ใน คลาสใดมันก็จะประกาศเป็น Default ของคลาสนั้น เช่น
IP 10.1.1.4/24  ตัว RIP จะประกาศเป็น 10.0.0.0
IP 172.17.43.7/16 ตัว RIP จะประกาศเป็น 172.16.0.0
IP 192.168.32.9/24 ตัว RIP จะประกาศเป็น 192.168.32.0
โดย คลาสของ ไอพีแต่ละช่วงนั้นจะสรุปได้ดังนี้นะครับ
IP 0-127 = Class A
IP 128-191 = Class B
IP 192-223 = Class C

ถ้าเราคอนฟิคบนอุปกรณ์มีสิ่งที่ต้องทำดังนี้ครับ
  1. Enable RIP
  2. ประกาศ network ที่มันถืออยู่ทั้งหมด (ต้องประกาศเป็น Class full)
  3. บอกเวอร์ชั่นของ RIP ซึ่งมี 2 version ให้ใช้เป็นเวอร์ชั่น 2
  4. Undo summary (ให้เห็นทุก Subnet ที่เราทำ)
ถ้าประกาศแบบ Dynamic สิ่งที่ต้องทำคือ
  1. ทำ Route แบบ Dynamic ip route static 0.0.0.0 0.0.0.0 [next hop]
  2. Enable RIP
  3. ส่งค่าไปบอกเพื่อนบ้าน default - route originate
ประมาณนี้นะครับ ขอจบเรื่อง RIP แค่นี้ก่อนครับ
****************************************************************************

วันนี้มาทบทวนความรู้เรื่อง Static route กันนะครับ (วันนี้ขอพูดเนื้อหาภาคปฏิบัติ)
จากรูป เพื่อนๆคอนฟิคกันได้หรือเปล่าครับ

จากข้อกำหนดที่ให้มา ในรูปนี้จะมีการแบ่ง IP เป็น 4 วงนะครับ คือ
VLAN 10 :10.x.x.x
VLAN 20 :20.x.x.x
VLAN 1 :33.x.x.x และ 222.x.x.x
ถ้าต้องการให้เครื่องวง 10 และ 20 ติดต่อเครื่องฝั่ง ไอพี 222.222.222.223 ได้ทำอย่างไร ?
อืมมม ช่วยกันคิดหน่อยครับ :-)
เฉลยนะครับ
จากรูปจะเห็นว่าใช้วิธีการทำแบบธรรมดาจะทำไม่ได้ เพราะสังเกตุค่าไอพีมันไม่ได้อยู่ใน Class เดียวกัน ไม่ได้อยู่ใน Range เดียวกัน เพราะฉะนั้นเซทไอพีให้อุปกรณ์จะไม่สามารถทำให้พวกมันติดต่อกันได้ครับ วิธีนี้ให้เราใช้การทำ Static route เส้นทางให้มันครับ
ขอพูดเรื่อง Static route หน่อยนะครับ ,เรื่องการทำ Static route นั้นตัวที่มีความสำคัญสำหรับเรื่องนี้คือ ค่าในตาราง Routing table ครับ มันสำคัญอย่างไรหรือ
ตอบ ถ้าเส้นทางที่จะไปไม่มีในตาราง Routing table มันก็ไปไม่ได้นั่นเองครับ
แล้วค่าในตาราง Routing table มาจากไหนล่ะ
ตอล มาจาก IP interface ที่มันถืออยู่นั่นเองครับ เช่น Router ถือ IP ข้างซ้ายเป็น 10.10.10.10 ข้างขวาเป็น 20.20.20.20 ค่าในตาราง Routing table ก็จะมีตัวเลขของ IP ที่ตัวมันถืออยู่ทั้งสองข้างแสดงอยู่ครับ นั่นหมายความว่า มันสามารถติดต่อไปยังไอพีทั้งสองได้นั่นเอง
ในตาราง Routing table ยังบอกถึงลักษณะของเส้นทางด้วยคือ
Direct Roters (ปลายทางต่ออยู่กับ Router)
Indirect Routes (เราเป็นคนเพิ่มเส้นทางให้มัน)
งั้นเรามาดูคำสั่งกันเลยครับ
  1. เร่ิ่มเซทค่าให้ L3 switch ก่อนนะครับ 
  2. เซท VLAN 10 และ 20 ให้มัน
  3. Switch(config)#vlan 10
  4. Switch(config)#vlan 20
  5. เซท IP Interface ให้แต่ละ Vlan โดยใช้คำสั่งดังนี้ 
  6. Switch(config)#interface vlan 10
  7. Switch(config-if)#ip address x.x.x.x x.x.x.x
  8. อย่าลืมเปิด Interface ให้มันด้วย No shutdown
  9. เสร็จแล้วให้มา Add port เป็นสมาชิกของ Vlan นั้นๆโดยดูว่าเครื่องต่ออยู่ port ไหนและต้องการให้มันอยู่ vlan  วงไหน โดยใช้คำสั่งดังนี้
  10. Switch(config)#interface fastEthernet 0/1
  11. Switch(config-if)#sw mode access  
  12. Switch(config-if)#sw access vlan 10
  13. Switch(config-if)#no shutdown (คำสั่งนี้ห้ามลืมครับ)
  14. exit ออกมา
  15. ทำแบบนี้ทุกพอร์ทที่มันต่ออยู่
  16. แล้วใช้คำสั่งนี้เพื่อให้มัน Route เส้นทางด้วยครับคือ
  17. Switch(config)#ip routing (ตอนนี้ไอพีวง 10 กับ 20 ที่ต่อบนตัวมันจะสามารถติดต่อกันได้แล้วครับ)
  18. ใส่ Gateway ให้กับคอมฯที่ต่อกับ L3 (ไอพีวงใครก็ใช้ IP Interface ของวงตัวเอง)
  19. เสร็จ L3 ครับ
  20. มาเริ่มที่ Router กันครับ
  21. ขอตัวพักก่อนนะครับ พรุ่งนี้มาต่อใหม่ นอนก่อนครับ