การทดสอบและติดตงั้ระบบ mobile mpls mobile mpls testbed...

73
การทดสอบและติดตั้งระบบ Mobile MPLS Mobile MPLS Testbed กานต์ หงษ์มีเสียงศรี Karn Hongmeesiengsri สารนิพนธ์ฉบับนี ้เป็นส่วนหนึ ่งของการศึกษา ตามหลักสูตรวิทยาศาสตร์มหาบัณฑิต สาขาวิชาวิศวกรรมเครือข่าย บัณฑิตวิทยาลัย มหาวิทยาลัยเทคโนโลยีมหานคร ปีการศึกษา 2555

Upload: others

Post on 19-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

การทดสอบและตดตงระบบ Mobile MPLS Mobile MPLS Testbed

กานต หงษมเสยงศร

Karn Hongmeesiengsri

สารนพนธฉบบนเปนสวนหนงของการศกษา

ตามหลกสตรวทยาศาสตรมหาบณฑต

สาขาวชาวศวกรรมเครอขาย บณฑตวทยาลย

มหาวทยาลยเทคโนโลยมหานคร

ปการศกษา 2555

Page 2: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

i

หวขอ การทดสอบและตดตงระบบ Mobile MPLS ชอนกศกษา กานต หงษมเสยงศร รหสนกศกษา 5417660021 หลกสตร วทยาศาสตรมหาบณฑต สาขาวศวกรรมเครอขาย ปการศกษา 2555 อาจารยทปรกษา ผศ.ดร.ประวทย ชมช

บทคดยอ

เนองจากปจจบนการสอสารในระบบเครอขายมอปกรณทสามารถเคลอนทไดเปนจ านวนมาก แตการสอสารดวยโปรโตคอลไอพในรปแบบปกตเมออปกรณตางๆมการยายขามเครอขายไปอยตางเครอขายไปจ าเปนตองเปลยนหมายเลขไอพแอดเดรสใหมตามเครอขายนนๆทเคลอนยายไป เพอใหแพกเกตจากตนทางสามารถสงมาถงได ทงนตนทางจ าเปนตองรหมายเลขไอพแอดเดรสใหมของอปกรณเคลอนทนนดวยเชนกน การน าแนวคดเรอง Mobile IP ซงเปนโปรโตคอลทพฒนาขนมาเพอสนบสนนความสามารถในการท างานกบอปกรณเคลอนทในเครอขายไอพ ซงการท างานของโปรโตคอลน เมออปกรณเคลอนทใดๆเปลยนทอยจากเครอขายหนงมาตอกบอกเครอขายหนง สามารถยายขามมาไดโดยไมจ าเปนตองเปลยนหมายเลขไอพแอดเดรสทใชอย มาใชงานจงเปนแนวคดทมประโยชน นอกจากนการน าแนวคดของ Mobile IP มาประยกตใชงานในระบบเครอขายทเปนเครอขาย MPLS เดมอยแลวโดยไมจ าเปนตองเปลยนอปกรณเพอใหสนบสนน Mobile IP จงเหมาะสมกบการปรบปรงเครอขายเพอใหรองรบการท างานในรปแบบทรองรบการเคลอนทของอปกรณโดยเรยกระบบนวา Mobile MPLS

Page 3: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

ii

กตตกรรมประกาศ

สารนพนธนไดพฒนาจนส าเรจดวยด เพราะความกรณา ความชวยเหลอ และก าลงใจจากหลายคน ขาพเจาขอขอบพระคณมา ณ ทน

ขอขอบพระคณอาจารยประวทย ชมช ทชวยแนะน าทงแนวคด ทงกระบวนการท างานตางๆ ตลอดจนเทคนคตางๆ จนท าใหโครงงานนเสรจสมบรณ

ขอขอบพระคณปาและนองโอบ ทชวยเปนก าลงใจตลอดเวลา คอยกระตนใหท างานตอยามทอหรอหมดก าลงใจเวลาตดปญหาตางๆ

ขอขอบพระคณเพอนๆ The Gangs ทกคนทรวมทกขรวมสขกนตลอดเวลา 2 ปทเรยนและฟนฝาอปสรรคมาดวยกน ทงกนเทยวเลนทกสถานการณ กระตนกนใหมแรงฮดสทกครง ทงการท าโปรเจคและการเรยน

และสดทาย ขอขอบพระคณตวเองทสามารถพยายามท าใหสารนพนธนเสรจสนลงได

กานต หงษมเสยงศร เมษายน 2556

Page 4: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

iii

สารบญ หนา

บทคดยอ I กตตกรรมประกาศ II สารบญ III สารบญรปภาพ V บทท 1 บทน า 1

1.1 กลาวน า 1 1.2 ปญหาและแรงจงใจ 1 1.3 จดประสงค 2 1.4 โครงสรางของสารนพนธ 2 1.5 ขอบเขตการด าเนนงาน 3 1.6 ประโยชนทไดรบ 3 1.7 ขนตอนการด าเนนงาน 3 บทท 2 ความรพนฐานและทฤษฎทเกยวของ 4 2.1 Multiprotocol Label Switching (MPLS) 4

2.2 Mobile IP 9

2.3 การน า MPLS และ Mobile IP มาใชงานรวมกน 13

บทท 3 การออกแบบระบบ 14 3.1 กลาวน า 14

3.2 ภาพรวมของการออกแบบระบบ Mobile MPLS 14 3.3 ภาพรวมของขนตอนการท างานของสวนตางๆในระบบ Mobile MPLS 15 3.4 การออกแบบโปรแกรม 17 3.5 การสรางค าสงเพอก าหนดอโมงค MPLS ระหวาง LER ของเครอขายโฮมกบเครอขายฟอเรนจ 21 3.6 การออกแบบโปรโตคอล 21 3.7 สรปทายบท 24

Page 5: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

iv

สารบญ(ตอ) หนา

บทท 4 ผลการทดลองโครงงาน 25 4.1 กลาวน า 25

4.2 การทดสอบการสงขอมลผานสรางอโมงค MPLS เชอมระหวางเครอขายโฮมและฟอรเรนจ 25 4.3 การทดสอบเมอตดตงโปรแกรมลงบนโหนดโมบาย โฮมเอเจนต และ ฟอรเรนจเอเจนต 26

บทท 5 สรปผลการด าเนนงาน 39 5.1 ผลการด าเนนโครงการ 39

5.2 ปญหาและอปสรรค 39 5.3 แนวทางการพฒนาในอนาคต 39

เอกสารอางอง 40 ภาคผนวก ก วธการสงค าสงส าหรบการสรางอโมงคในอปกรณยหอ Acatel Lucent 41 ภาคผนวก ข โคดโปรแกรม 43 โปรแกรมในสวนของโหนดโมบาย 43

โปรแกรมในสวนของเอเจนต 47

Page 6: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

v

สารบญรปภาพ หนา

รปท 2.1 โครงสรางของเครอขาย 5 รปท 2.2 ตวอยางตาราง LFIB 5 รปท 2.3 รปแบบของ MPLS Header 6 รปท 2.4 รปแบบของ Label Stacking 6 รปท 2.5 รปแสดงการด าเนนการเกยวกบ label 7 รปท 2.6 รปแสดงองคประกอบตางๆของระบบ Mobile IP 12 รปท 2.7 รปแสดงขนตอนการท างานในระบบ Mobile 14 รปท 3.1 รปแสดงองคประกอบตางๆของระบบ Mobile IP 15 รปท 3.2 รปแสดงองคประกอบตางๆของระบบ Mobile MPLS 16 รปท 3.3 รปแสดงขนตอนการท างานในระบบ Mobile MPLS 17 รปท 3.4 รปแสดงล าดบการท างานของโปรแกรมในสวนของโหนดโมบาย 18 รปท 3.5 รปแสดงล าดบการท างานของโปรแกรมในสวนของเอเจนต 19 รปท 3.6 รปแสดงตวอยางการจดเกบขอมลในตาราง Visitor List 21 รปท 3.7 รปแสดงตวอยางการจดเกบขอมลในตาราง Binding Update List 21 รปท 3.8 รปแสดงตวอยางค าสงทใชในการสรางอโมงค MPLS 22 รปท 3.9 รปแสดงตวอยางการจดเกบขอมลในตาราง Binding Update List 23 รปท 3.10 รปแสดงกลไกการรบสงขอมลในโปรโตคอล 25 รปท 4.1 รปแสดงค าสงส าหรบการเปลยนเสนทางอโมงคทLERของเครอขายโฮม 26 รปท 4.2 รปแสดงค าสงส าหรบสรางอโมงคทLERของเครอขายฟอเรนจ 26 รปท 4.3 รปแสดงการเชอมของอปกรณตางๆส าหรบการทดสอบสงขอมล 27 รปท 4.4 รปแสดงแพคเกตทสรางดวยเครองจ าลองทราฟฟกและดกจบไดทโหนดโมบาย 27 รปท 4.5 รปแสดง topology ส าหรบการทดสอบ 28 รปท 4.6 รปแสดง ขนตอนการเรมท างานของโหนดโมบายขณะอยในเครอขายโฮม 29 รปท 4.7 รปแสดงแพคเกตทดกจบการสอสารไดบนโหนดโมบายเมออยในเครอขายโฮม 29 รปท 4.8 รปแสดง ขนตอนการเรมท างานของโฮมเอเจนตขณะทโหนดโมบายอย ในเครอขายโฮม 30 รปท 4.9 รปแสดงแพคเกตทดกจบการสอสารไดบนโฮมเอเจนตเมอโหนดโมบายอย ในเครอขายโฮม 30 รปท 4.10 รปแสดง ขนตอนการท างานของโหนดโมบายเมอยายขามมาอย ในเครอขายฟอเรนจ 31

Page 7: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

vi

สารบญรปภาพ(ตอ) หนา

รปท 4.11 รปแสดง ขนตอนการท างานของฟอเรนจเอเจนตเมอมโหนดโมบาย เขามาตดตอ 31 รปท 4.12 รปแสดงแพคเกตทดกจบการสอสารไดบนฟอเรนจเอเจนตเมอยายขามมาอย ในเครอขายฟอเรนจ 31 รปท 4.13 รปแสดง ขนตอนการท างานโฮมเอเจนตเมอโหนดโมบายยายไปตอกบ เครอขายฟอเรนจ 33 รปท 4.14 รปแสดง ขนตอนการท างานฟอเรนจเอเจนตเมอท าการตดตอกบโฮมเอเจนต เพอลงทะเบยน 36 รปท 4.15 รปแสดง ภาพจ าลองอโมงคMPLSทโฮมและฟอรเรนจเอเจนตไดสรางขน 39 รปท 4.16 รปแสดงการทดสอบการตดตอจาก CN ไปยง PC3 ดวยการ PING 39

Page 8: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

1

บทท 1 บทน า

การทดสอบและตดตงระบบ Mobile MPLS Mobile MPLS Testbed

1.1 กลาวน า (Introduction)

Mobile IP เปนโปรโตคอลทพฒนาขนมาเพอสนบสนนความสามารถในการท างานกบอปกรณเคลอนท (Mobile Node MN)ในเครอขายไอพ ซงการท างานของโปรโตคอลน เมออปกรณเคลอนทใดๆเปลยนทอยจากเครอขายหนงมาตอกบอกเครอขายหนง สามารถยายขามมาไดโดยไมจ าเปนตองเปลยนหมายเลข IP Address ทใชอย นนคอเมออปกรณใดๆทตองการจะตดตออปกรณเคลอนทน (Correspondent Node : CN)กสามารถจะตดตอไดโดยสงไปยงหมายเลข IP Address เดมของอปกรณเคลอนทนน โดยไมจ าเปนตองรหมายเลข IP Address ใหมของเครอขายใหมทอปกรณเคลอนทนเคลอนทไปอย

Multiprotocol Label Switching (MPLS) เปนเทคโนโลยเครอขายทใชหลกการการท างานของอปกรณใน layer2 (Switching) ของ OSI Model มาท างานรวมกบการท างานใน layer3 (Routing) เพอใหการสงขอมลเปนไปไดอยางรวดเรวมากขน ซงการท างานนจะใชก ารตดปาย (Label) ลงไปใน Packet ทถกสงเขาเครอขาย MPLS โดยมความสมพนธกบหมายเลข IP Address และ Routing Table เพอใชในการตดสนใจสงตอ Packetขาม Router แทนทจะใชหมายเลขไอพ (IP Address) และท าการแกะปายออกเมอถง Router ปลายทางของเครอขาย MPLS

MPLS มความสามารถในการสนบสนนการท างานของ Routing Protocol ไดหลายชนด และ ดวยการท างานทมการตดปายตงแตขาเขาเครอขาย จงท าใหสามารถจ าแนกชนดของขอมลได จงท าใหสามารถจดการ Quality of Service (QoS) และท า Traffic Engineering ไดอกดวย

ดวยขอดของ MPLS ตางๆ ตอมากมแนวคดในการใช MPLS ในเครอขายไรสายดวย ซงไดมงานวจยทเสนอการน าเอา Mobile IP มาใชรวมกบเครอขาย MPLS เรยกวา Mobile MPLS ทม คณสมบตทสนบสนนการเคลอนทยายเครอขายของอปกรณ และ คณสมบตตางๆจาก MPLS อกดวย 1.2 ปญหาและแรงจงใจ (Problems/Motivations)

จากการท างานของ Mobile IP ทมหลกการคอ เมออปกรณเคลอนทยายขามเครอขายไปสเครอขายใหม (Foreign Network : FN) อปกรณจะท าการลงทะเบยนและ Foreign Agent (FA) จะท าการสสง ไอพบรการ (Care-of Address : CoA) ใหกบทาง Home Agent (HA) ของเครอขายเดม (Home Network : HN) ทราบแลวท าการสรางตาราง binding คาตางๆเกบไว เมอผทตองการตดตอ

Page 9: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

2

กบอปกรณนตองการตดตอ ผนนกสามารถใชหมายเลขไอพเดมของอปกรณนไดเลยโดยไมจ าเปนตองทราบหมายเลขเครอขายใหมทอปกรณยายเขาไปอย เมอสงมาถงเครอขายโฮม โฮมเอเจนตจะท าการตรวจสอบคาของโหนดโมบายวายงคงอยในเครอขายหรอไม เมอพบวายายขามไปอยตางเครอขาย (FN) แลว โฮมเอเจนตจะท าการสรางอโมงค (Tunnel) เพอเชอมไปหาฟอเรนจเอเจนตซงการสรางอโมงคนท าไดโดยใชหลกการ IP in IP ซงเปนการเพมสวนหวในสวนของไอพ (IP Header) เพมเขาไปอกชนหนง เมอถงปลายทางฟอเรนจเอเจนตจะถอด สวนหวทเพมเขามานออกและสงแพตเกต ใหกบอปกรณตอไป นอกจากนยงมอกวธหนงคอการท า Route Optimization ซงการท าวธนโหนดตดตอสอสารจะเปนทจะตองรองรบการท างานของ Mobile IP ดวยเชนกน ซงในทางปฏบตแลวโหนดตดตอสอสาร ไมจ าเปนตองรองรบ เพราะโหนดตดตอสอสารไมไดตองการการเคลอนทแตอยางใด

ดวยกระบวนการทท า Tunnel เหนไดวาจะตองมการเพมสวนหวเขาไปในแพกเกต ขนาด 20 Byte สงผลตอขนาดแพกเกต และอาจยงเพมจ านวนแพกเกต เนองจากวาการเพมสวนหวนเปนไปไดวาจะท าให แพกเกต มขนาดใหญเกนกวาขนาดใหญทสดทสามารถสงผานเครอขายได (MTU) อกทง ยงตองท าการ route ไปหาเครอขายใหมหลงจากเพมสวนหวเขาไปแลว สงผลใหการสงขอมลชา ซงการน า MPLS มาใชในการสราง Tunnel สงแทนการใช IP Header นอกจากจะลดขนาดแพกเกต ทตองสงไปยงเครอขายฟอเรนจแลว ยงสามารถควบคมบรการตางๆไดเปนอยางด 1.3 จดประสงค (Objectives)

เพอพฒนาระบบการสงขอมลไปยงอปกรณทสามารถเคลอนทยายเครอขายไดผาน Mobile IP รวมกบการท างานของ MPLS

เพอทดลองการท า Tunnel ดวย MPLS ทดแทนการท า IP in IP ในการสงขอมลตอระหวางเครอขายเดมไปยงเครอขายใหม

เพอพฒนาโปรแกรมส าหรบการท า Home Agent , Foreign Agent และ Mobile Node

โดยไมตองเปลยนแปลงโครงสรางของเครอขายทมอยเดม

1.4 โครงสรางของโครงงาน (Project Infrastructure) แยกออกเปน 5 บท ดงน บทท 1 ภาพรวมของโครงงาน บทท 2 แนวคด และ ทฤษฎ บทท 3 การออกแบบและพฒนาระบบ บทท 4 ผลการทดลอง บทท 5 สรปผลการทดลอง

Page 10: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

3

1.5 ขอบเขตการด าเนนงาน (Scope of the Project)

ศกษาการท างานของ MPLS, Mobile IP และ การท างานรวมกน สรางระบบการสงขอมลจากอปกรณหนงไปยงอกอปกรณหนงทเคลอนทขามเครอขาย

ดวย Mobile IP โดยใช MPLS ในการสราง Tunnel ระหวางเครอขายเดมและเครอขายใหมของอปกรณทเคลอนท

พฒนาโปรแกรมส าหรบการท า Home Agent , Foreign Agent และ Mobile Node โดยไมตองเปลยนแปลงโครงสรางของเครอขายทมอยเดม

1.6 ประโยชนทไดรบ (Contribution)

สามารถน าไปประยกตเพอตอบรบการท างานของเครองคอมพวเตอรทมความตองการในการใชงานในสถานททเปลยนแปลงไปไดโดยไมตองเปลยนแปลงหมายเลข IP Address และเครองตนทางทสงขอมลไมจ าเปนตองทราบวาเครองปลายทางไปอยในเครอขายใด

การสงขอมลสามารถสงผานเครอขาย MPLS ไดโดยการประยกตหลกการของ Mobile IP เขากบเครอขาย MPLS

ระบบทสรางขนไมจ าเปนตองเปลยนแปลงระบบ MPLS ทมอยเดมทงโครงสรางระบบ

และอปกรณ

1.7 ขนตอนการด าเนนงาน (Schedule)

กจกรรม สค. กย. ตค. พย. ธค. มค. กพ.

ศกษาความเปนไปไดของโครงงาน

ศกษาแนวคดและทฤษฎทเกยวของ

วเคราะหและออกแบบระบบงาน

พฒนาและทดสอบการท างานของระบบ

สรปผลและด าเนนโครงงาน

Page 11: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

4

บทท 2

ความรพนฐานและทฤษฎทเกยวของ 2.1 Multiprotocol Label Switching (MPLS)

Multiprotocol Label Switching (MPLS) เปนเทคโนโลยเครอขายทถกพฒนาขนมาเพอใหการสงตอขอมลโดยการใชหลกการการท างานของแบบ switching ของสวทช ในระดบ layer 2 รวมกบการท างานแบบ routing ของเราเตอรใน layer 3 กลาวคอ แตเดมการสงขอมลขามเครอขายจ าเปนจะตองใชหมายเลขไอพแอดเดรส (ip address) ในการค านวณหาเสนทางผานเราเตอรไปยงเครอขายอนดวย routing table ท าใหทกครงทมแพคเกตสงเขามายงเราเตอร เราเตอรตองท าการประมวลผลเพอหาเสนทาง จงไดมการน าหลกการของการสงแพคเกตแบบสวตชงเขามาใชรวมเพอใหการสงขอมลท าไดอยางรวดเรวมากยงขนและยงชวยใหหนวยประมวลผลหรอ ซพยของอปกรณท างานลดลงตามไปดวย วธการนคอการเพมลาเบล (label) เขาไปทสวนหว(header) ระหวางสวนหวในระดบท 2 และ 3 เราเตอรทไดรบแพคเกตจงไมจ าเปนจะตองรบรถงหมายเลขไอพของปลายทางทจะตองสงไป แตมหนาทเพยงดหมายเลขลาเบลทเพมเขามาและท าการเปรยบเทยบกบคาในตารางขอมลลาเบล (Label Information Base : LIB) ทไดสรางขนกอนหนานแลวเทานน ดวยการท างานทมการตดลาเบลตงแตขาเขาเครอขาย จงท าใหสามารถจ าแนกชนดของขอมลได จงท าใหสามารถจดการ Quality of Service (QoS) และท า Traffic Engineering ไดอกดวย

2.1.1หลกการท างานของ MPLS การท างานของเครอขาย MPLS นน ในเครอขายจะประกอบไปดวย Label Edge Router (LER) เปนอปกรณทขอบของเครอขาย MPLS มหนาทหลกคอ LER ตนทางท าการเพมลาเบล เขาไปใหกบแพคเกตเพอก าหนดเสนทางชไปยง LER ปลายทาง เมอแพคเกตสงมาถง LER ปลายทาง จะถกแกะลาเบลออกและถกสงตอดวยโปรโตคอลไอพตามปกต อกสวนหนงของอปกรณคอ Label Switching Router (LSR) เปนอปกรณภายในเครอขาย MPLS มหนาทหลกคอ การสงผานแพคเกตทมการเพมลาเบล จาก LER ตนทางไปยง LER ปลายทาง การสงแพคเกตนจะถกก าหนดในลกษณะการท าเปนอโมงค (Tunnel) ซงเสนทางภายในเครอขายนเรยกวา Label Switched Path (LSP) โครงสรางของระบบเครอขาย MPLS แสดงในรปท 2.1

Page 12: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

5

LSP

LSP

LSR

LERLSR

LSR

LER

MPLS Network

2.1.2 การท างานของการสงขอมลบนเครอขาย MPLS

กระบวนการสงตอแพคเกตผาน LSP ตางๆตามเสนทางทไดจดสรางไวกอนแลวจ าเปนจะตองอาศยขอมล 2 ชนด ไดแก ขอมลของลาเบลจากสวนหวของแพคเกต MPLS และ ขอมลในตารางการสงตอขอมล (Forwarding Table) หรอทเรยกวา Label Forwarding Information Base (LFIB) ทเกบไวท Label Switching Router (LSR) แตละตว ซงในตารางนจะประกอบไปดวย ลาเบลขาเขา (incoming label) , ลาเบลขาออก (outgoing label) และ interface ทจะสงออก ดงแสดงในรป 2.2 เมอ LSR ไดรบแพคเกตมา จะพจารณาหมายเลขของลาเบลและท าการเปรยบเทยบกบขอมล Incoming Label ใน LFIB เพอหา Outgoing Label เพอจะใชในการสงตอแพคเกตไปยง LSR ตวถดไป เชนนเรอยๆ จนกระทงแพคเกตเดนทางไปถง LER ขาออกจากเครอขาย

รปท 2.1 โครงสรางของเครอขาย

MPLS

รปท 2.2 ตวอยางตาราง LFIB

Page 13: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

6

2.1.3 สวนหวของ MPLS (MPLS Header) MPLS Header หรอ MPLS Label มขนาด 32 บต แสดงในรปท 2.3 ประกอบดวยฟลดตางๆดงตอไปน

- Label (20 บต) เปนคาของหมายเลขลาเบลทใชในการพจารณาสงตอแพคเกต MPLS

- EXP (3 บต) เปนบตทเกบไวใชในการทดลอง (Experimental Bits) ซงในทางปฏบตใชส าหรบขอมลประเภทชนของบรการ (Class of Service) ของแพคเกต

- Bottom of Stack หรอ S-Bit (1 บต) ใชส าหรบบอกวาเปน ลาเบลสดทายของstackหรอไม

- Time-to-Live (TTL) (8 บต) ใชเพอไมใหเกด การสงตอแบบวนลป (Forwarding Loop) และสามารถใชส าหรบ การตดตามเสนทาง (Path Tracing) ไดดวย โดยคาของ TTL จะลดลงทละ 1 ในแตละHop และแพคเกตจะถกทงไปเมอ TTL = 0

2.1.4 การเรยงซอนลาเบล (Label Stacking) ในบางกรณจ าเปนจะตองใชลาเบลในการสงขอมลซอนกนหลายลาเบลเพอใหสามารถจดการกบแพคเกตไดอยางเหมาะสม จงตองมการเรยงซอนลาเบลกนเปนชนเรยกวา Label Stacking โดยทลาเบลสดทาย คาของ S-Bit จะถกตงคาเปน 1 เพอบอกวาเปนลาเบลสดทาย รปแบบของ Label Stacking แสดงในรปท 2.4

รปท 2.3 รปแบบของ MPLS Header

รปท 2.4 รปแบบของ Label Stacking

Page 14: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

7

2.1.5 การด าเนนการของลาเบล (Label Operations) เมอแพคเกตทไดรบการเพมลาเบลจาก LER เขาส LSR แตละตว LSR จะท าการพจารณา คาในฟลด Top Label เทยบกบคาลาเบลในตาราง Label Forwarding Information Base (LFIB) จากนน ท าการสงตอแพคเกตใหสอดคลองกบขอมลใน LFIB การด าเนนการของ LSR และ LER เกยวกบลาเบลม 3 ลกษณะ ไดแก

(1) ใสลาเบล (Push) เปนการด าเนนการท LER ขาเขา โดยแพคเกตทเขามาเปนแพคเกตปกตทวไป แตฝ งขาออกจะท าการเพมลาเบลขาไปเพอใชในการสงแพคเกตไปตาม LSP

(2) สลบลาเบล (Swap) เปนการด าเนนการท LSP แตละตวทแพคเกตสงผาน ซงฝ งขาเขาแพคเกตmเขามาจะมการเพมลาเบลมากอนแลว LSP จะมองลาเบลนนเปน incoming label จากนนจะท าการเปลยนลาเบลใหมตามขอมลในตาราง LFIB และสงแพคเกตออกไปพรอมกบ outgoing label

(3) ถอดลาเบลออก (Pop) เปนการด าเนนการท LER ขาออก โดยแพคเกตทเขามาเปนแพคเกตทมลาเบลแตฝ งขาออกจะท าการเอาลาเบลออกไปเพอใชในการสงแพคเกตไปตามปกตตอไป

การด าเนนการเกยวกบลาเบลแสดงในรปท 2.5

LER

LSR

LER

DATAIP Header DATAIP HeaderLabel

DATAIP HeaderOuting Label

DATAIP HeaderIncoming

Label

DATAIP HeaderLabel DATAIP Header

PUSH

SWAP

POP

รปท 2.5 รปแสดงการด าเนนการเกยวกบ label

Page 15: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

8

2.1.6 การสรางความสมพนธระหวางลาเบลกบเสนทาง การสรางความสมพนธของลาเบลหรอทเรยกวา Label Binding แบงออกเปน 2

ประเภท ไดแก Local Binding และ Remote Binding (1) Local Binding จะเกดขนเมอ LSR เลอกลาเบลเพอก าหนดวาขอมลทจะ

สงไปในเสนทางใด ใหใชลาเบลหมายเลขใดโดยการใชขอมลจาก Routing Table ของตวเองในการเลอกเสนทาง

(2) Remote Binding จะเกดขนเมอ LSR ไดรบขอมล Label Binding จาก LSR อนในเครอขาย

การท างานของการสรางความสมพนธนท าโดย เมอ LSR แตละตวท า Local Binding แลวกจะสงขอมล Local Label Binding ของตนไปใหแก LSR ตวอน จากนนเมอ LSR ตวอนไดรบขอมล Label Binding มาเปน Remote Binding จากนน LSR แตละตวจะเกบขอมลทง Local และ Remote Binding เหลานนไวในตารางขอมลลาเบล ทเรยกวา Label Information Base (LIB) ซงขอมลใน LIB นจะถกน าไปประมวลผลรวมกบขอมลเสนทางใน Routing Table และจะถกน ามาใชในการสราง ตารางการสงตอขอมลดวยลาเบล หรอ Label Forwarding Information Base (LFIB) ซงเปนตารางการสงตอขอมลทใชในการสงขอมลในเครอขาย MPLS ตอไป

2.1.7 การกระจายขอมลลาเบล (Label Distribution) การกระจายขอมลลาเบล (Label Distribution) คอการสงขอมล Label Binding

ระหวาง LSR ตางๆในเครอขาย MPLS ซงแนวทางในการท าการกระจายขอมลลาเบลม 2 วธ ไดแก

(1) สงขอมลลาเบลไปกบโปรโตคอลการจดเสนทาง (Routing Protocol) ทมอยแลว ส าหรบแนวทางน วธทใชกนอยกคอการใช Border Gateway Protocol (BGP) เพอสงขอมลลาเบลไปพรอมๆกบขอมลการจดเสนทาง (Routing) ซงมกใชกบกรณทตองการสรางเสนทาง LSP ขามขอบเขตของ Autonomous System (AS)

(2) สงผาน Label Distribution Protocol (LDP) โปรโตคอล LDP จะท าแคเพยงสงขอมลลาเบลเทานน โดยอาศยโปรโตคอลการจดเสนทาง Interior Gateway Protocol (IGP) ในการจดเสนทางดวย แนวทางการใช LDP ในการสงขอมล ลาเบลนนมกจะใชในกรณทว ไปทไมไดมการขามขอบเขตของ Autonomous System

Page 16: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

9

2.1.8 การสรางตาราง Label Forwarding Information Base (LFIB) และ เสนทาง Label Switched Path (LSP) LSR แตละตวจะเกบขอมล Label Binding ทงหมด ซงรวมทง Local และ Remote Binding ไวในตาราง Label Information Base (LIB) จากนน LSR แตละตวจะสรางตาราง Label Forwarding Information Base (LFIB) ขน ซงจะประกอบดวยขอมล ลาเบลขาเขา และลาเบลขาออกส าหรบเสนทางตางๆ โดยขอมล ลาเบลขาเขาจะเปนขอมล Local Binding ของ LSR ตวนนๆ ในขณะทลาเบลขาออกจะเปนขอมลทเลอกมาจาก Remote Binding ทงหมดทเปนไปไดจากตาราง LIB โดยจะเลอกทเหมาะสมเพยงอนเดยวเพอมาเปน ลาเบลขาออกในตาราง LFIB ทงน หลกเกณฑทใชการเลอก ลาเบลจากRemote Binding ทเหมาะสมนนจะพจารณาจากขอมลระยะทางทส นทสด (Shortest Path) ในตาราง Routing Table เมอ LSR ทกตวสรางตาราง LFIB เสรจเรยบรอยแลว ขอมลลาเบลขาเขาและลาเบลขาออก ใน LFIB ของแตละ LSR ทอางองตอเนองกนจะเปนการก าหนดเสนทาง Label Switched Path (LSP) ขนนนเอง 2,2 Mobile IP Mobile IP เปนโปรโตคอลมาตรฐานทสนบสนนความสามารถในการเคลอนท (Mobility) ของอปกรณเคลอนท (Mobile Device) ในเครอขายไอพ ซงอปกรณเคลอนทจะสามารถรกษาการตดตอสอสารทก าลงด าเนนอยไดอยางตอเนอง ถงแมวาอปกรณเคลอนทนนท าการยายจากเครอขายหนงไปยงอกเครอขายหนง โดยไมจ าเปนตองเปลยนหมายเลขไอพทใชอย ดงนนอปกรณทตองการจะตดตอกบอปกรณเคลอนทนกจะสามารถตดตอไดโดยสงไปยงอปกรณเคลอนท โดยไมจ าเปน ตองรหมายเลขเครอขายใหมทอปกรณเคลอนทไปอยในขณะนน

2.2.1ความสามารถในการเคลอนทในเลเยอรตางๆ ความสามารถในการเคลอนท (Mobility) หมายถง ความสามารถในการ

รกษาการตดตอสอสารทก าลงด าเนนอยไดอยางตอเน อง โดยทว ไปความสามารถในการเคลอนทจะถกท าในเลเยอร 2 (Data Link Layer) และเลเยอร 3 (Network Layer)

- ความสามารถในการเคลอนทในเลเยอร 2 เปนความสามารถในการเคลอนทเปลยนต าแหนงภายในเครอขายเดยวกน แตยงอยภายในเครอขายเดมเทคนคในการสราง ความสามารถในการเคลอนทแบบน คอการใชกลไกใน link layer โดยการเปลยนความสมพนธของหมายเลขเครอง (mac address) กบชองทางทจะสง ขอดคอ การยายขามเซล (Handover) ทรวดเรว แตมขอเสยคอไมมความสามารถในการขยายขามไปยงเครอขายอน

Page 17: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

10

- ความสามารถในการเคลอนทในเลเยอร 3 เปนความสามารถในการเคลอนทเปลยนต าแหนงขามเครอขาย Mobile IP เปนโปรโตคอลทใชในการสราง ความสามารถในการเคลอนทแบบน ขอดคอ ความสามารถในการขยายการใหบรการไปตางเครอขายได ขอเสยคอการยายขามเซลทชากวา เมอเทยบกบเลเยอร 2

ในการใชงานจรง ไดมการใชความสามารถในการเคลอนททงสองเลเยอรรวมกน เพอน าขอดของทงสองแบบมารวมกน นนคอ การยายขามเซลทรวดเรวเมอมการเคลอนทภายในเครอขายเดยวกน และ เลเยอร 3 โดยจะชวยใหมความสามารถในการขยายการใหบรการ

2.2.2 องคประกอบส าคญของ Mobile IP

การท างานของ Mobile IP ประกอบดวยมสวนประกอบตางๆดงตอไปน ดงรปท 2.6

- Correspondent Node (CN) หรอ โหนดตดตอสอสารเปนอปกรณ ใดๆทตดตอสอสารกบอปกรณเคลอนท โหนดตดตอสอสารไมจ าเปนตองรบรโปรโตคอลการท างานของ Mobile IP จงไมไดเปนสวนประกอบของ Mobile IP โดยตรง แตในการอธบายเกยวกบการท างานของ Mobile IP จะมการอางองถง Correspondent Node ดวย

- Mobile Node (MN) คออปกรณเคลอนทในเครอขาย ซงท าหนาทเปนลกขาย (Client) ของ Mobile IP ตวอยางของอปกรณทเปนโหนดโมบาย เชน โนตบค

- Home Network (HN) คอเครอขายเดมทโหนดโมบายอยกอนท าการยายเครอขาย

- หมายเลขไอพถาวร (Permanent IP Address) คอหมายเลขไอพ ทโหนดโมบายไดรบมาจากเครอขายโฮมซงหมายเลขไอพนจะอยถาวรกบโหนดโมบายแมวาโหนดโมบายจะยายไปอยเครอขายใหมแลวกตาม หมายเลขนจะเปนหมายเลขท โหนดตดตอสอสารรบรและใชในการสงขอมลมายงโหนดโมบาย

- Home Agent (HA) เปน Router หรอเครอง Server ทเชอมตออยกบเครอขายโฮม ของโหนดโมบายนนๆ โฮมเอเจนตจะเปนผเกบรกษาขอมลเกยวกบต าแหนงปจจบนของโหนดโมบายไว และเมอโหนดตดตอสอสารสงขอมลมาให โหนดโมบายในขณะทโหนดโมบายอยนอกเครอขายโฮม โฮมเอเจนตจะท าหนาทในการสงตอขอมลนนใหโหนดโมบาย โดยผานทางฟอเรนจเอเจนต

Page 18: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

11

- Foreign Network (FN) เปนเครอขายใหมทโหนดโมบายเคลอนทเขาไปอย - Foreign Agent (FA) เปนเราเตอรหรอเครองเซฟเวอรทเชอมตออยกบ

เครอขายฟอเรนจ ของโหนดโมบายนนๆ ฟอเรนจเอเจนตจะท าหนาทในการรบขอมลมาจาก โฮมเอเจนต สงตอขอมลนนใหโหนดโมบาย

- หมายเลขไอพบรการ (Care-of Address : CoA) เปนหมายเลขไอพชวคราวทโหนดโมบายใชในการอางองถงต าแหนงทอยในเครอขายใหม เพอใหโฮมเอเจนตรบทราบถงต าแหนงทสามารถสงตอขอมลมายงโหนดโมบายไดในขณะทโหนดโมบายอยในเครอขายฟอเรนจ CoA สามารถมได 2 แบบ ไดแก

Colocated Care-of Address (CoCoA) เปนทอยช วคราวในกรณทโหนดโมบายไดรบหมายเลขไอพ เฉพาะส าหรบตนเองบนเครอขายฟอเรนจนนๆ โดยไมผานฟอเรนจเอเจนตการใช Care-of Address แบบนเปนการใชหมายเลขไอพอยางสนเปลองเนองจากโหนดโมบาย แตละตวจะตองมหมายเลขไอพเฉพาะของตนในแตละเครอขายฟอเรนจ แตขอดคอชวยใหการน าไปใชงานจรงงายขน

Foreign Agent Care-Of Address (FA-CoA) เปนทอยชวคราวในกรณทโหนดโมบายใชหมายเลขไอพของฟอเรนจเอเจนตเปน Care-of Address ของตนดงนนในกรณนจงเปนการประหยดจ านวนหมายเลขไอพ เพราะ โหนดโมบายหลายตวทอยในเครอขายฟอเรนจเดยวกนสามารถใชหมายเลขไอพของฟอเรนจเอเจนตเปน Care-of Address รวมกนได และฟอเรนจเอเจนตจะเปนตวชวยในการจดการสงตอ

Page 19: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

12

Correspondent Node

Home Agent Foreign AgentCoA (FA-CoA)

Home Network (HN) Foreign Network (FN)

Mobile NodePermanence ip address

Mobile NodePermanence ip address

2.2.3 การท างานของโปรโตคอล Mobile IP

การท างานของโปรโตคอล Mobile IP จะเปนตามล าดบได 3 เฟส ดงแสดงในรปท2.7

(1) เฟส 1: การคนพบเอเจนต (Agent Discovery) โฮมเอเจนต และ ฟอเรนจเอเจนต จะประกาศขอมลเกยวกบตนเอง

โดยใชการสงขอความประกาศเกยวกบเอเจนต (ICMP Advertisement Message) ใหกบโหนดโมบายหรอโหนดโมบายสามารถเลอกเปนฝายทเรมสงขอความใหเอเจนตสงขอมล (ICMP Solicitation Message) เพอรองขอใหโฮมเอเจนตหรอฟอเรนจเอเจนตสง ICMP Advertisement Message ตอบกลบมากได

MN ไดรบ ICMP Advertisement Message แลวพจารณาจากขอมลดงกลาววาตนก าลงอยบน ในเครอขายใด หากโหนดโมบายตรวจพบวาตนเองก าลงอยในเครอขายโฮมกจะท างานดวย

รปท 2.6 รปแสดงองคประกอบตางๆของระบบ Mobile IP

Page 20: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

13

โปรโตคอลตามปกต แตหากโหนดโมบายตรวจพบวาตนเองไดเคลอนทไปอยในเครอขายฟอเรนจ กจะรบเอาขอมล CoA บนเครอขายฟอเรนจนนมาใชซงอาจเปน CoCoA หรอ FA-CoA กได

(2) เฟส 2: การลงทะเบยน (Registration) ในการลงทะเบยนนจะตองใช การสงขอความ (Message) สองแบบ ไดแก

Registration Request Message และ Registration Reply Message

โหนดโมบายทอยในเครอขายฟอเรนจจะท าการลงทะเบยน CoA ทใชอย กบโฮมเอเจนต ดวยการแลกเปลยน Registration Request และRegistration Reply Message โดยผานทาง Foreign Agent

โฮมเอเจนต และ ฟอเรนจเอเจนต ท าการเกบขอมลเกยวกบโหนดโมบายและหมายเลขไอพตางๆลงในตารางเพอใชเปนขอมลอางองในการสงตอแพคเกต

โหนดโมบาย ตออายการลงทะเบยน ในกรณทการลงทะเบยนเดมหมดอาย

โหนดโมบายยกเลกการลงทะเบยน (Deregistration) เมอกลบไปยงเครอขายโฮม หรอ ยายขามไปเครอขายอน

(3) เฟส 3: การสงขอมล (Data Transfer)

ขอมลทถกสงโดยโหนดตดตอสอสารไปยงโหนดโมบายจะถกรบไวโดยโฮมเอเจนต แลวสงผานอโมงคไอพ (IP Tunnel) จากโฮมเอเจนต ไปยงเครอขายใหมของโหนดโมบายซงกคอ Care-of Address ของโหนดโมบาย นนเอง แลวจากนนขอมลดงกลาวกจะถกสงตอไปยงโหนดโมบายตอไป

ขอมลทสงโดยโหนดโมบายไปยงโหนดตดตอสอสารโดยทวไปแลวจะถกสงไปยงปลาย ทางโดยกลไกของโปรโตคอลตามปกตโดยไมจ าเปนตองผานทางโฮมเอเจนต

การสงขอมลแบบอโมงคไอพนนมข นตอนหลกในการท างานคอเมอโฮมเอเจนตไดรบแพคเกตมาจากโหนดตดตอสอสารและพบวาเลขหมายไอพปลายทางเปนของโหนดโมบายซงปจจบนไดเคลอนทออกไปอย ในเครอขายฟอเรนจแลว โฮมเอเจนตจะท าการ encapsulation แบบ IP-in-IP ซงเปนการเพมสวนหว เขาไปอก 1 ชน โดยระบหมายเลขไอพปลายทางเปนหมายเลข CoA ของโหนดโมบายทโฮมเอเจนตไดท าการเกบเอาไวและหมายเลขไอพตนทาง

Page 21: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

14

เปนหมายเลขไอพของโฮมเอเจนตเมอถงปลายอโมงคฟอเรนจเอเจนตจะแกะขอมลนนออกมาอานและท าการสงตอไปยงโหนดโมบายจากขอมลไอพปลายทางใน ip header ทอยดานในนนเอง

Home Agent Foreign AgentCorrespondent Node Mobile Node

ICMP Solicittion

ICMP Advertise

Registration Request

Registration Request

Registration Reply

Registration Reply

Data

Data

Data

Data

Phase 1 : Agent Discovery

Phase 2 : Registration

Phase 3 : Data Transfer

Time Time Time Time

2.3 การน า MPLS และ Mobile IP มาใชงานรวมกน

มงานวจยทไดเสนอการน า MPLS และ Mobile IP มาใชงานรวมกนชอวา Integration of Mobile IP and Multi-Protocol Label Switching โดยการใช MPLS สรางอโมงคในกระบวนการสงตอขอมลของ Mobile IP แทนการสรางอโมงคไอพ (IP-in-IP Tunneling) แบบเดม ระหวางโฮมเอเจนตและฟอเรนจเอเจนตท าใหโฮมเอเจนตสามารถสงตอขอมลไดดวย MPLS โดยทไมจ าเปนตองเขาไปดใน ip header ซงชวยใหการท างานของ Mobile IP ม Scalability ดขนและสงไดรวดเรวมากยงขนนอกจากนน การทสวนหวของ MPLS มขนาดเลกกวาสวนหวของไอพท าใหชวยลดปรมาณ Traffic Overhead จากโฮมเอเจนตไปยงฟอเรนจเอเจนตอกดวย

รปท 2.7 รปแสดงขนตอนการท างานในระบบ Mobile

IP

Page 22: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

15

บทท 3 การออกแบบระบบ

3.1 กลาวน า โครงงานนไดจดท าขนเพอทดสอบและน าแนวคดเรองการน า Mobile IP และ MPLS มาท างานรวมกนเพอใหการสอสารระหวางโฮมเอเจนต และ ฟอเรนจเอเจนต มประสทธภาพสงขนมาใชงานกบระบบเครอขายทมการท างานดวยระบบ MPLS อยแลว 3.2 ภาพรวมของการออกแบบระบบ Mobile MPLS โครงสรางของระบบ Mobile IP แตเดมจะใชการเอนแคปซเลชนแบบไอพอนไอพเพอท าการสรางอโมงคเชอมตอระหวางโฮมเอเจนตและฟอเรนจเอเจนต ประกอบไปดวยองคประกอบตางๆดงรปท3.1 ซงเปาหมายหลกของโครงงานนตองการจะเปลยนอโมงคแบบไอพอนไอพไปใชอโมงคเชอมตอทสรางขนดวย MPLS ทดแทนเพอเพมประสทธภาพการเชอมตอระหวางโฮมเอเจนตและฟอเจนจเอเจนต ดงรปท3.2 ซงในโครงงานนไดจดท าโดยการน าเทคโนโลยเรอง Mobile IP มาสรางลงไปในเครอขายทมการสงขอมลดวยเทคโนโลย MPLS อยกอนแลว โดยการอาศยทรพยากรทมอยในการออกแบบสวนประกอบอนเพมเตมท าใหไมจ าเปนตองมการเปลยนแปลงในสวนของระบบหรอซอฟแวรทมอยเดม ดงนนโครงงานชนนจงจดท าในสวนของระบบ Mobile MPLS ตางๆ ไดแก โปรแกรมในสวนของโมบายโหนด โปรแกรมในสวนของฟอเรนจเอเจนต และ โปรแกรมในสวนของโฮมเอเจนต เพอใหสามารถรองรบการออกแบบได

Correspondent Node

Home Agent Foreign AgentCoA (FA-CoA)

Home Network (HN) Foreign Network (FN)

Mobile NodePermanence ip address

Mobile NodePermanence ip address

IP-in-IP Tunnel from HN router to FN router

รปท 3.1 รปแสดงองคประกอบตางๆของระบบ Mobile IP

Page 23: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

16

Correspondent Node

MPLS Network

Home AgentForeign AgentCoA (FA-CoA)

Home Network (HN) Foreign Network (FN)

Mobile NodePermanence IP address

Mobile NodePermanence IP address

MPLS Tunnel from CN LER to HN LER

MPLS Tunnel from HN LER to FN LER

3.3 ภาพรวมของขนตอนการท างานของสวนตางๆในระบบ Mobile MPLS

ภาพรวมของการท างานในสวนตางๆภายในระบบ Mobile MPLS คอ เรมตนจากขนตอนการคนพบเอเจนตของโหนดโมบายและโหนดโมบายไดท าการลงทะเบยนกบฟอเรนจเอเจนตเรยบรอยแลวตามขนตอนของระบบ Mobile IP ดงเดม โปรแกรมในสวนฟอเรนจเอเจนตจะท าการสรางตารางความสมพนธของหมายเลขไอพโหนดโมบาย(Binding Update List) เพอเกบขอมลไอพถาวรของโหนดโมบายพรอมกบทอยใหม(CoA) และ ระยะเวลาทจะเกบคาไว(lifetime) จากนนโฮมเอเจนตจะท าการสรางค าสงส าหรบก าหนดคาเสนทาง LSP ใหมใหกบ LER ของเครอขายโฮมเพอสรางอโมงคส าหรบสงตอแพคเกตไปยงเครอขายฟอเรนจในขณะเดยวกนเครอขายฟอเรนจกจะสรางตารางผขอใชบรการ(Visitor List) เพอเกบขอมลหมายเลขไอพถาวรของโหนดโมบาย ไอพของโฮมเอเจนต และระยะเวลาทจะเกบรกษาคาไว จากนนฟอเรนจเอเจนตจะท าการสรางค าสงส าหรบก าหนดคาเสนทาง LSP ใหมใหกบ LER ของเครอขายฟอเรนจเพอสรางอโมงคส าหรบรบแพคเกตจากเครอขายโฮมเชนเดยวกน

เมอการสรางอโมงคเกดขน เมอการสงขอมลจากโหนดตดตอสอสารมายงโหนดโมบายเกดขน ขอมลทถกสงมาจะสงมาทไอพแอดเดรสของโหนดโมบายซงอยในเครอขายของเครอขายโฮมดงนนท LER ตนทางของเครอขาย MPLS เลอกเสนทาง LSP สรางอโมงคมายง LER ของ

รปท 3.2 รปแสดงองคประกอบตางๆของระบบ Mobile MPLS

Page 24: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

17

เครอขายโฮมจากนน แพคเกตจะถกถอดลาเบลออก เมอฟอเรนจเอเจนตตรวจสอบพบวาแพคเกตนตองการสงไปยงโหนดโมบายซงเคลอนทไปอยทเครอขายฟอเรนจแลวฟอเรนจเอเจนตกจะท าการใสลาเบลเพอสงตอแพคเกตเขาสอโมงคท LER ของเครอขายโฮมทเชอมตอไปยงเครอขายฟอเรนจทสรางขนกอนหนานแลว เมอแพคเกตถกสงมาถง LER ของเครอขายฟอเรนจจะท าการถอดลาเบลออกอกครงและฟอเรนจเอเจนตท าหนาทในการสงแพคเกตตอใหกบโหนดโมบายตอไป

ในการสงขอมลจากโหนดโมบายกลบไปยงโหนดตดตอสอสารนน เนองจากวาไดมการสรางอโมงคไวอยแลว จงสามารถสงกลบไปทางอโมงคไดเลยโดยไมจ าเปนเปนตองสงดวยไอพโพรโตคอลตามปกต ซงจะสามารถท าใหการสงขอมลมความรวดเรวเชนกน

การท างานขางตนแสดงไดในรปท3.3 แสดงขนตอนการสงขอมลระหวางสวนตางๆของระบบ

Solicitation Message

Advertise Message

Registration Request

Registration Request

Registration Reply

Registration Reply

Data

Data

Data

Data

Time Time Time Time

Home Network LER Foreign Network LERCorrespondent Node Mobile NodeHome Agent Foreign Agent

MPLS Tunnel Configuration

MPLS Tunnel Configuration

Data

Data

Time Time

รปท 3.3 รปแสดงขนตอนการท างานในระบบ Mobile MPLS

Page 25: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

18

3.4 การออกแบบโปรแกรม ในระบบ Mobile MPLS มสวนของโปรแกรม 3 สวนคอ สวนของโหนดโมบาย สวนของโฮมเอเจนต และ สวนของฟอเรนจเอเจนต ซงการท างานของโปรกรมในแตละสวนมความสมพนธซงกนและกนดงทกลาวไวในหวขอท3.3 ซงโปรแกรมในสวนของโหนดโมบายมล าดบการท างานดงแสดงในรปท 3.4 โปรแกรมในสวนของโฮมเอเจนตและฟอเรนจเอเจนตจะถกน ามารวมไวในโปรแกรมเดยวกนเพอใหทง 2 ฝ งสามารถท างานไดทงทเปนโฮมเอเจนตและฟอเรนจเอเจนต โดยเรยกรวมเปนโปรแกรมส าหรบเอเจนต ซงมล าดบการท างานในรปท 3.5 ทงนโปรแกรมของโหนดโมบาย โฮมเอเจนต และ ฟอเรนจเอเจนตมรายละเอยดดงน

Registration Request

Registration Reply

Solicitation Message

Broadcast 255.255.255.255

Advertise Message Agent

รปท 3.4 รปแสดงล าดบการท างานของโปรแกรมในสวนของโหนดโมบาย

Page 26: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

19

Registration Request MN

Registration Request HA

Registration Reply HA

Registration Reply MN

Configuration MPLS Tunnel FA LER

Visitor List

message Port 434

Solicitation Message MN

Advertise Message MN

Registration Request FA

Registration Reply FA

Binding Update List

Configuration MPLS Tunnel HA LER

MN

Reset lifetime

Lifetime Visitor List

MN

Lifetime MN Binding List

die

FA

Configuration MPLS Tunnel

>0

<=0

Lifetime MN Binding List die

Configuration MPLS Tunnel FA LER

3.4.1 โปรแกรมในสวนของโหนดโมบาย ส าหรบโปรแกรมในสวนของโหนดโมบายเรมตนจากการสง Solicitation Message(Type 0) ออกไปแบบบรอดแคสดวยไอพแอดเดรส 255.255.255.255 เพอคนหาวามเอเจนตใดอยในเครอขายเดยวกบตวเองบาง หลงจากนนเมอมเอเจนตใดเอเจนตหนงตอบกลบมา โหนดโมบายจะตรวจสอบหมายเลขไอพแอดเดรสของเอเจนตนนเพอพจารณาวาปจจบนโหนดโมบายนนอยในพนทใหบรการของเครอขายเดมหรอไดยายเครอขายแลว เมอท าการตรวจสอบแลวพบวายงคงอยในเครอขายเดมของตนเองโหนดโมบายจะไมท าอะไรตอนอกจากการสง Solicitation Message เปนรอบเวลาเพอตรวจสอบเครอขาย แตหากพบวาโหนดโมบายไดยายเครอขายจากเครอขายเดม โปรแกรมจะท าการสงขอความขอลงทะเบยน (Registration Request Message (Type 2)) เพอแจงขอลงทะเบยนกลบไปยงเอเจนตทตนเองตดตอไดซงถอวาเปนฟอรเรนจเอเจนตวาตนเองไดยายเครอขายมาแลวขอลงทะเบยนอยในเครอขายน เพอใหฟอรเรนจเอเจนตท าการ

รปท 3.5 รปแสดงล าดบการท างานของโปรแกรมในสวนของเอเจนต

Page 27: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

20

สรางอโมงคMPLSส าหรบการสงขอมลมาหาโหนดโมบายน เมอท าการสงขอความขอลงทะเบยนไปแลวกจะรอรบขอความตอบรบการลงทะเบยน (Registration Reply Message (Type 5)) จากโฮมเอเจนตเปนระยะเวลาหนง เมอไดรบขอความตอบรบมาแลว นนหมายความวาทโฮมเอเจนตไดรบขอความและท าการสรางตาราง Binding Update List เรยบรอยแลว เปนอนวาเสรจสนกระบวนการและสามารถรอรบขอมลได 3.4.2 โปรแกรมในสวนของฟอเรนจเอเจนต ส าหรบโปรแกรมในสวนของฟอเรนจเอเจนตเรมตนจากการรอการสงขอความ Solicitation Message(Type 0) จากโหนดโมบาย จากนนจะท าการตอบกลบดวย Advertise Message (Type 1) เพอแจงใหกบโหนดโมบายทราบวาตวเอเจนตในเครอขายนคอตวใด

จากนนฟอรเรนจเอเจนตจะกลบไปรอรบขอความใหมเพอรอรบขอความขอลงทะเบยน Registration Message (Type 2) จากโหนดโมบาย หลงจากทไดรบขอความขอลงทะเบยนแลว ฟอเรนจเอเจนตจะน าหมายเลขไอพแอดเดรสของโหนดโมบายมาตรวจสอบวาไอพนไดรบการลงทะเบยนไปแลวหรอยง หากเคยลงทะเบยนไปแลวจะน าคา lifetime ส าหรบระยะเวลาการจดเกบขอมลมารเซตคาเปนคาเรมตนใหมอกครง เพอเปนการยนยนวาโหนดโมบายนยงคงอย แตหากเปนโหนดโมบายใหมทยงไมเคยลงทะเบยนทฟอรเรนจเอเจนตน ฟอรเรนจเอเจนตจะสงตอขอความไปหาโฮมเอเจนตของโหนดโมบายนพรอมระบไอพบรการของซงใชเปนไอพของฟอเรนจเอเจนต (FA-CoA) เพอใหโฮมเอเจนตร บทราบขอมลของโหนดโมบายทยายมาอยในเครอขายเดยวกบฟอเรนจเอเจนตเพอจะไดท าการปรบปรงขอมลในตาราง Binding Update List ตอไป นอกจากนยงสงหมายเลขไอพแอดเดรสของ LER ของเครอขายฟอรเรนจนไปดวย เพอใหโฮมเอเจนตใชสรางอโมงคMPLSมายงLERของเครอขายฟอรเรนจน ซงขอความทสงไปนคอขอความ Registration Message (Type 3)

จากนนกจะรอขอความตอบรบการลงทะเบยนจากโฮมเอเจนต Registration Reply Message (Type 4) เพอยนยนวาไดลงทะเบยนเรยบรอยแลว เมอไดรบจะตอบตอใหโหนดโมบายไดรบรวาการด าเนนการลงทะเบยนเสรจสนลงแลวดวย Registration Reply Message (Type 5) หนาทของฟอรเรนจเอเจนตทตองท าตอคอปรบปรงตารางผตดตอ Visitor List เพอเกบขอมลหมายเลขไอพถาวรของโหนดโมบาย ไอพของโฮมเอเจนต หมายเลขเซอรวสทใชสรางอโมงคMPLS และระยะเวลาทจะเกบรกษาคาไว ดงตวอยางในรปท3.6 จากนนฟอเรนจเอเจนตจะท าการสรางค าสงส าหรบก าหนดคาเสนทาง LSP ใหมใหกบ LER ของเครอขายฟอเรนจเพอสรางอโมงคส าหรบรบแพคเกตจากเครอขายโฮมและท าการ Telnet เขาไปใสค าสงนนใหกบ LER ของเครอขายฟอเรนจเพอสรางอโมงค MPLS ขนมาส าหรบการสงขอมล เมอสรางเสรจกพรอมทจะรบสงขอมลตอไป

Page 28: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

21

3.4.3 โปรแกรมในสวนของโฮมเอเจนต

ส าหรบโปรแกรมในสวนของโฮมเอเจนตเรมตนจากการรอรบขอความ โดยพจารณาวาหากเปนขอความขอลงทะเบยน Registration Message (Type 3) เมอขอความขอลงทะเบยนมาถง โฮมเอเจนตกจะสงขอความตอบรบการลงทะเบยนกลบไปเพอใหทราบวาโฮมเอเจนตไดรบค าขอลงทะเบยนเปนทเรยบรอยแลว พรอมทงสงหมายเลขไอพแอดเดรสของ LER ฝ งโฮมไปในขอความ Registration Reply Message (Type 4) และโฮมเอเจนตกจะท าการปรบปรงตาราง Binding Update List ของตวเองเพอใชในการอางองส าหรบการสงผานขอมลตอไป ซงในตารางนเพอเกบขอมลไอพถาวรของโหนดโมบายพรอมกบทอยใหมซงเปนไอพของฟอเรนจเอเจนต (FA-CoA) หมายเลขเซอรวสทใชสรางอโมงคMPLS และ ระยะเวลาทจะเกบคาไว ดงตวอยางในรปท3.7 จากนนโฮมเอเจนตจะท าการสรางค าสงส าหรบก าหนดคาเสนทาง LSP ใหมใหกบ LER ของเครอขายโฮมเพอสรางอโมงคส าหรบสงแพคเกตไปใหเครอขายฟอเรนจและท าการ Telnet เขาไปใสค าสงนนใหกบ LER ของเครอขายโฮมเพอสรางอโมงค MPLS ขนมาส าหรบการสงขอมล เมอสรางเสรจกพรอมทจะสงขอมลตอไป

แตหากขอความทไดรบเปน Solicitation Message (Type 0) โฮมเอเจนตจะท าการตรวจสอบวาเครองโหนดโมบายไอพแอดเดรสนเปนเครองทอยในเครอขายนอยแลวหรอวาเปนเครองทกลบมาจากเครอขายฟอรเรนจหากเปนเครองทอยในเครอขายนอยแลว โฮมเอเจนตไมจ าเปนตองท าอะไรนอกจากเพยงสงขอความ Advertise Message กลบไปใหกบโหนดโมบายรบทราบถงเอเจนตตวน แตถาเปนโหนดโมบายทเคยไปอยในเครอขายอน นนคอเคยมการเปลยนเสนทาง LSP ของ MPLS ไปแลว ดงนนจงจ าเปนตองเปลยนเสนทางนนกลบมาทางเดมเพอใหโหนดโมบายสามารถตดตอสอสารได เพราะฉะนนเมอเกดเหตการณดงกลาวขน โฮมเอเจนตจะท าการสรางค าสงส าหรบเปลยนคาเสนทาง LSP กลบมายงเสนทางเดม

รปท 3.6 รปแสดงตวอยางการจดเกบขอมลในตาราง Visitor List

รปท 3.7 รปแสดงตวอยางการจดเกบขอมลในตาราง Binding Update List

Page 29: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

22

3.4.4 โปรแกรมส าหรบเอเจนต เนองจากทงสองเครอขายควรจะสามารถเปนไดทงเครอขายโฮมและเครอขายฟอรเรนจในเวลาเดยวกน ดงนนการท างานของโปรแกรมทงสวนของโฮมเอเจนตและฟอรเรนจจงถกน ามารวมเขาดวยกนเปนโปรแกรมเอเจนตโปรแกรมเดยวทสามารถรนไดทงสวนเครอขายโฮมและเครอขายฟอรเรนจโดยอาศยการออกแบบของทงสองโปรแกรมในขอท 3.4.3 และ 3.4.4 ซงจะไดการท างานรวมของโปรแกรมเอเจนตดงในรปท 3.5 ซงโฟลดานซายสดจะเปนการท างานเมอโปรแกรมเอเจนตไดรบ Solicitation Message(Type 0) โฟลท 2 จากซาย จะเปนการท างานเมอโปรแกรมเอเจนตไดรบ Registration Message (Type 2) โฟลท 2 จากซาย จะเปนการท างานเมอโปรแกรมเอเจนตไดรบ Registration Reply Message (Type 4) และ โฟลขวาสด จะเปนการท างานเมอโปรแกรมเอเจนตไดรบ Registration Message (Type 3) 3.5 การสรางค าสงเพอก าหนดอโมงค MPLS ระหวาง LER ของเครอขายโฮมกบเครอขายฟอเรนจ ในการสรางค าสงเพอก าหนดเสนทางของอโมงค MPLS นน ทงฝ งโฮมเอเจนตและฟอเรนจเอเจนตจ าเปนทจะตองรหมายเลขไอพซสเทม (IP System) ของ LER ปลายทางอกดานหนงทจะเชอมตอดวยเพอน ามาก าหนดค าสงทใชส าหรบชไปยงปลายทางของเครอขาย MPLS นนเอง ในการสรางค าสงนนจะพจารณาจากเสนทางทเคยมอยและคา Configuration เดมรวมดวยเพอไมใหเกดการซ าซอนของเสนทาง ค าสงทถกสรางขนมาน นจะถกสงไปทอปกรณ LER แตละฝ งดวยวธการ Telnet เขาไปผานพอรต 23 และวางค าสงเหลานนลงบน LER ตวอยางของค าสงทใชในการสรางอโมงคดงรปท 3.7

รปท 3.8 รปแสดงตวอยางค าสงทใชในการสรางอโมงค MPLS

Page 30: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

23

3.6 การออกแบบโปรโตคอล รปแบบโปรโตคอลทใชในการสอสารระหวางโฮมเอเจนต ฟอรเรนจเอเจนต และโหนดโมบาย เปนโปรโตคอลทท าการออกแบบขนเองโดยอาศยการสงขอมลแบบ UDP โดยฝ งรบขอมลจะเปดรอรบขอมลทพอรตหมายเลข 434 ซงเปนพอรตส าหรบโมบายไอพ ในระดบเลเยอร2 และเลเยอร3 อาศยหลกการปกตของการสงขอมลใน OSI Layer ขอมลภายในสวนของเพโหลดของ UDP แสดงดงในรปท 3.9

UDP Header Type 1Byte

Moble Node IP 4 Byte

Agent IP 4 Byte

LER IP 4Byte

3.6.1 ความหมายของคาในฟลดตางๆของขอมลภายใตสวนหวUDP 3.6.1.1 Type ส าหรบประเภทของขอความทใชในการสงแบงออกเปน 6 ประเภท คอ

ประเภทท 0 เพอระบวาเปนขอความ Solicitation Message ทสงออกจากโหนดโมบายส าหรบการคนหาเอเจนตทอยในเครอขายนนๆ

ประเภทท 1 เพอระบวาเปนขอความ Advertise Message ทสงจาก เอเจนตกลบไปหาโมบายโหนดทสง Solicitation Message มา

ประเภทท 2 เพอระบวาเปนขอความ Registration Request Message ทสงออกจากโหนดโมบายใหกบฟอรเรนจเอเจนตเพอขอลงทะเบยน

ประเภทท 3 เพอระบวาเปนขอความ Registration Request Message ทฟอรเรนจเอเจนตสงใหกบโฮมเอเจนตเพอขอลงทะเบยน พรอมกบสงหมายเลข LER ของเครอขายฟอรเรนจ

ประเภทท 4 เพอระบวาเปนขอความ Registration Reply Message ทโฮมเอเจนตตอบกลบไปยงฟอรเรนเอเจนตเพอตอบรบการลงทะเบยน พรอมกบสงหมายเลข LER ของเครอขายโฮม

รปท 3.9 รปแสดงตวอยางการจดเกบขอมลในตาราง Binding Update List

Page 31: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

24

ประเภทท 5 เพอระบวาเปนขอความ Registration Reply Message ทฟอรเรนจเอเจนตสงใหกบโมบายโหนดเพอตอบรบการลงทะเบยน

3.6.1.2 Mobile Node IP เปนสวนทใชเพอระบวาขอความนเปนขอความทเกยวของกบเครองโหนดโมบายทมหมายเลขไอพถาวรหมายเลขใด 3.6.1.3 Agent IP เปนขอมลส าหรบระบวาหมายเลขไอพแอดเดรสของเครองเอเจนตอกฝ งหนง 3.6.1.4 LER IP ส าหรบระบหมายเลข LER ของผสงใหเอเจนตอกฝ งหนงรบทราบซงคาในฟลดนจะมกตอเมอเปนการสงขอความทมหมายเลขประเภทเปน 3 และ 4 เทานน 3.6.2 การรบสงขอมลของโปรโตคอล กลไกการเลอกประเภทของขอความทท าการสงออกจากแตละโหนดดงแสดงในรปท 3.10

ประเภทท 0 สงออกอตโนมตจากโหนดโมบายเปนรอบเวลา ประเภทท 1 สงออกจากเอเจนตไปหาโมบายโหนดเมอไดรบขอความ

ประเภทท 0 เขามา ประเภทท 2 สงออกจากโหนดโมบายไปหาฟอรเรนจเอเจนตเมอไดรบ

ขอความประเภทท 1เขามา ประเภทท 3 สงออกจากฟอรเรนจเอเจนตไปหาโฮมเอเจนตเมอไดรบ

ขอความประเภทท 2เขามา ประเภทท 4 สงออกจากโฮมเอเจนตไปหาฟอรเรนจเอเจนตเมอไดรบ

ขอความประเภทท 3เขามา ประเภทท 5 สงออกจากฟอรเรนจเอเจนตไปหาโหนดโมบายเมอไดรบ

ขอความประเภทท 4เขามา เมอไดรบขอความประเภทท 5 จะไมมการตอบกลบใดๆ เปนการจบรอบ

การท างาน

Page 32: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

25

Solicitation MessageType 0

Advertise MessageType 1

Registration RequestType 2

Registration RequestType 3

Registration ReplyType 4

Registration ReplyType 5

Time

Mobile NodeForeign Network

Home Agent Foreign Agent

Time Time

Mobile NodeHome Network

Solicitation MessageType 0

Advertise MessageType 1

Time 3.7 สรปทายบท ในบทนไดอธบายถงแนวการออกแบบระบบ Mobile IP รวมกนการสรางอโมงคการเชอมตอระหวางเครอขายโฮมและเครอขายฟอเรนจดวย MPLS แทนการสรางอโมงคดวยวธการเอนแคปซเลชนแบบไอพอนไอพ โดยทเปนการท าบนเครอขายทมการสงขอมลดวย MPLS อยแลว โดยไมมการเปลยนแปลงระบบเดม แตเปนการสรางโปรแกรมเพมเตมเพอใหการท างานเปนดงทกลาวมา

รปท 3.10 รปแสดงกลไกการรบสงขอมลในโปรโตคอล

Page 33: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

26

บทท 4

ผลการทดลองโครงงาน 4.1 กลาวน า

ในบทนเปนการน าแนวการออกแบบในบทท 3 มาทดสอบตามวตถประสงคและขอบเขต

ทไดกลาวไวในบทท 1 ซงในขนตอนการทดสอบระบบแบงการทดสอบออกเปนชวงๆเพอ

ทดสอบการท างานทละสวน

4.2 การทดสอบการสงขอมลผานสรางอโมงค MPLS เชอมระหวางเครอขายโฮมและฟอร

เรนจ

ในขนแรกเปนการทดสอบดวยการสรางอโมงคดวยค าสงจากวธ Telnet และเขาไปใส

ค าสงตามปกตดวยวธพมพค าสงตามคอมมานไลน โดยใชค าสงทใชในการสรางอโมงค MPLS ท

LER ฝ งเครอขายโฮมและฟอรเรนจแสดงดงรปท4.1 และ รปท 4.2 ตามล าดบ โดยทฝ งโฮมจะ

ท าการเปลยนเสนทางเดมของการสงทมอยแลวกอนหนานไปยงเสนทางอโมงคใหมเพอสงตอ

แพคเกตไปยงเครอขายฟอรเรนจ สวนทางฝ งเครอขายฟอรเรนจท าการสรางอโมงใหมขนมาเพอ

รบแพคเกตทมาจากเครอขายโฮม หลงจากทไดอโมงคแลวทดสอบดวยการสงขอมลจากเครอง

จ าลองทราฟฟก (Traffic Generator) โดยทก าหนดใหปลายทางสงไปยงหมายเลขไอพแอดเดรส

ของโหนดโมบายทเปนหมายเลขไอพในเครอขายโฮม โดยการเชอมตออปกรณส าหรบการ

ทดสอบนเปนดงรปท4.3 ซงก าหนดดงน ซงผลการทดสอบคอเครองโหนดโมบายสามารถรบ

ขอมลทสงมาจากเครองจ าลองทราฟฟกผานอโมงค MPLS ได และโหนดโมบายไดรบแพคเกต

ดงรปท4.4

รปท 4.1 รปแสดงค าสงส าหรบการเปลยนเสนทางอโมงคทLERของเครอขายโฮม

รปท 4.2 รปแสดงค าสงส าหรบสรางอโมงคทLERของเครอขายฟอเรนจ

Page 34: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

27

MPLS Network

Home Network (HN)

192.168.100.0/24

Foreign Network (FN)

192.168.1.0/24

192.168.100.50/24

MPLS Tunnel from HN LER to FN LER

Traffic Generator172.100.100.1

4.3 การทดสอบเมอตดตงโปรแกรมลงบนโหนดโมบาย โฮมเอเจนต และ ฟอรเรนจเอ

เจนต

หลงจากการพฒนาโปรแกรมดวยภาษาเพรลส าหรบโหนดโมบายและเอเจนตทงฝ งโฮม

และฟอรเรนจ (ซงโปรแกรมของโฮมและเอเจนต ไดท าการรวมฟงกชนการท างานของทงคไวใน

โปรแกรมเดยวกนเพอใหเอเจนตแตละฝ งสามารถเปนไดทงโฮมและฟอรเรนจ) แลวไดสราง

topology ส าหรบทดสอบดงรปท 4.5

รปท 4.3 รปแสดงการเชอมของอปกรณตางๆส าหรบการทดสอบสงขอมล

รปท 4.4 รปแสดงแพคเกตทสรางดวยเครองจ าลองทราฟฟกและดกจบไดทโหนดโมบาย

Page 35: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

28

MPLS Network

Home Network (HN)

(Network A) Foreign Network (FN)

(Network B)

Mobile Node

(PC3)

1.1.1.20/24

Home Agent

(PC1)

1.1.1.100/24

Foreign Agent

(PC2)

1.1.2.100/24

CN

1.1.3.20/24

โดยท าการตดตงโปรแกรมเอเจนตลงใหกบคอมพวเตอร PC1 และ PC2 เพอท าเปน

โฮมเอเจนตและฟอรเรนจเอเจนตตามล าดบ ตดตงโปรแกรมโหนดโมบายใหกบ PC3 เพอให

เปนเครองทดสอบในการยายเครอขาย ซงทง PC1 PC2 และ PC3 ทดสอบดวยการท างานบน

ระบบปฏบตการวนโดวส PC1 ท าการตอเขาทสวชตทอยในเครอขาย A และก าหนดไอพ

แอดเดรสเปน 1.1.1.100/24 ส าหรบโฮมเอเจนต PC2 ท าการตอเขาทสวชตทอยในเครอขาย B

และก าหนดไอพแอดเดรสเปน 1.1.2.100/24 ส าหรบฟอรเรนจเอเจนต PC3 ตอเขากบเครอขาย

A และก าหนดไอพแอดเดรสเปน 1.1.1.20/24 ในวงเครอขายเดยวกบ PC1 และโหนด CN

ก าหนดไอพแอดเดรสเปน 1.1.3.20/24 ทดสอบการสงขอมลมายงหมายเลขไอพแอดเดรสของ

PC3 ดวยวธการ PING เทส โดยโหนด CN ตออยในเครอขาย C

4.3.1 เรมตนการท างานและโหนดโมบายอยในเครอขายโฮม

การเรมตนการท างานตองท าการรนโปรแกรมในเครอง PC1 PC2 และ PC3

ในขณะท PC3 ตออยในเครอขาย A PC3จะมการสง solicitation message (Type 0) แบบบ

รอดแคส เพอหาเอเจนตในเครอขายนน เมอพบวาPC1เปนเอเจนต PC3จะท าการสอสารกบ

PC1 เพอตรวจสอบและวเคราะหวาขณะนนยงท างานอยในเครอขาย A (1.1.1.0/24) ซงเปน

รปท 4.5 รปแสดง topology ส าหรบการทดสอบ

Page 36: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

29

เครอขายโฮม และ วนลปตรวจสอบไปเรอยๆซงมผลดงรปท 4.6 และแพคเกตทส อสารกนบน

เครองโหนดโมบายดกจบไดดงรปท 4.7

ขณะเดยวกน เมอ PC1 ไดรบ solicitation message จาก PC3 PC1จะท าการ

สราง advertise message (Type 1) เพอตอบกลบไปยง PC3 โดยใหขอมลเกยวกบเอเจนตของ

ตวเองดงรปท 4.8 ให PC3 น าไปวเคราะหตอไป และแพคเกตทส อสารกนบนเครองโฮมเอเจนต

ดกจบไดดงรปท 4.9

รปท 4.6 รปแสดง ขนตอนการเรมท างานของโหนดโมบายขณะอยในเครอขายโฮม

รปท 4.7 รปแสดงแพคเกตทดกจบการสอสารไดบนโหนดโมบายเมออยในเครอขายโฮม

Page 37: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

30

4.3.2 โหนดโมบายเคลอนยายขามไปอยในเครอขายฟอรเรนจ

หลงจากนน เมอเคลอนยายโหนดโมบายไปยงเครอขายฟอรเรนจ PC3 ยงคง

สง solicitation message แบบบรอดแคสเพอคนหาเอเจนต PC2ซงเปนเครองเอเจนตทอยใน

เครอขายBจะเปนเครองทสง advertise message (Type 1) กลบไปหาPC3แทนเครองPC1ท

เปนเอเจนตเดม เมอPC3ไดรบ advertise message กลบมาแลวตรวจสอบพบวาตนเองไดยาย

เครอขายมาอยในเครอขายB (1.1.2.0/24) ซงเปนเครอขายฟอรเรนจแลว PC3จะสราง

registration message (Type 2) เพอขอลงทะเบยนกบPC2ซงเปนฟอรเรนจเอเจนตวาตนเองได

ขอยายเครอขายมาอยในเครอขายB ดงรปท 4.10

รปท 4.8 รปแสดง ขนตอนการเรมท างานของโฮมเอเจนตขณะทโหนดโมบายอยในเครอขายโฮม

รปท 4.9 รปแสดงแพคเกตทดกจบการสอสารไดบนโฮมเอเจนตเมอโหนดโมบายอยในเครอขายโฮม

Page 38: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

31

เมอPC2ไดรบ registration message จากPC3ทไดขอลงทะเบยน PC2มหนาท

จะตองตดตอกลบไปยงPC1ดวย registration message (Type 3) เพอบอกในPC1ทราบวาPC3

ไดยายมาอยในเครอขายBของPC2แลวพรอมบอกหมายเขไอพแอดเดรสของ LER ของ

เครอขายB ใหกบPC1เพอใชในการสรางอโมงคMPLSส าหรบการสงขอมลมายงPC3 ดงรปท

4.11 และแพคเกตทส อสารกนบนเครองโฮมเอเจนตดกจบไดดงรปท 4.12

รปท 4.10 รปแสดง ขนตอนการท างานของโหนดโมบายเมอยายขามมาอยในเครอขายฟอเรนจ

รปท 4.11 รปแสดง ขนตอนการท างานของฟอเรนจเอเจนตเมอมโหนดโมบายเขามาตดตอ

รปท 4.12 รปแสดงแพคเกตทดกจบการสอสารไดบนฟอเรนจเอเจนต

เมอยายขามมาอยในเครอขายฟอเรนจ

Page 39: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

32

เมอPC1ไดรบ registration message จากPC2แลว PC1จะตอบกลบPC2ดวย

registration reply message (Type 4)เพอตอบรบPC2วาไดรบขอความการขอลงทะเบยนแลว

พรอมส าหรบการสรางอโมงคMPLSกลบเพอชไปยงLERของเครอขายB หลงจากทไดตอบกลบ

เรยบรอย PC1 จะท าการปรบปรงตารางความสมพนธของหมายเลขไอพโหนดโมบายส าหรบ

เกบขอมลของPC3 ประกอบไปดวยหมายเลขไอพแอดเดรส หมายเลขไอพแอดเดรสของเอเจนต

ปลายทางทPC3ยายไปอย หมายเลขเซอรวสไอดส าหรบการสรางอโมงคMPLSไปหาLERของ

เครอขายB และ ระยะเวลาในการเกบคานไวซงตงคามาตรฐานไวท 300 วนาท เมอท าการเกบ

คาตางๆไวเรยบรอยแลว PC1 จะท าการสรางค าสงเพอใชในการ Telnet เขาไปยง LER ของ

เครอขายA เพอสรางท าการชอโมงคMPLSไปยง LER ของเครอขาย B ดงรปท 4.13

Page 40: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

33

รปท 4.13 รปแสดง ขนตอนการท างานโฮมเอเจนตเมอโหนดโมบายยายไปตอกบเครอขายฟอเรนจ

Page 41: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

34

รปท 4.13 รปแสดง ขนตอนการท างานโฮมเอเจนตเมอโหนดโมบายยายไปตอกบเครอขายฟอเรนจ (ตอ)

Page 42: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

35

เมอPC2ไดรบ registration reply message จากPC1แลว PC2จะตอบตอไปยง

PC3 ดวย registration reply message (Type 5) เพอตอบรบวาการลงทะเบยนเสรจสมบรณ

จากนนPC2จะท าการปรบปรงตารางผตดตอส าหรบเกบขอมลPC3 ซงประกอบไปดวย

หมายเลขไอพแอดเดรสของPC3 หมายเลขไอพแอดเดรสของPC1ซงเปนโฮมเอเจนต เลข

เซอรวสไอดส าหรบสรางอโมงคMPLSกลบไปหาLERของเครอขายA และระยะเวลาในการเกบ

ขอมลนซงตงคามาตรฐานไวท 300 วนาทเชนเดยวกบตารางความสมพนธในPC1 เมอท าการ

เกบคาตางๆไวเรยบรอยแลว PC2 จะท าการสรางค าสงเพอใชในการ Telnet เขาไปยง LER

ของเครอขายB เพอสรางท าการชอโมงคMPLSไปยง LER ของเครอขาย A ดงรปท 4.14

Page 43: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

36

รปท 4.14 รปแสดง ขนตอนการท างานฟอเรนจเอเจนตเมอท าการตดตอกบโฮมเอเจนตเพอลงทะเบยน

Page 44: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

37

รปท 4.14 รปแสดง ขนตอนการท างานฟอเรนจเอเจนตเมอท าการตดตอกบโฮมเอเจนตเพอลงทะเบยน (ตอ)

Page 45: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

38

เมอทงฟอรเรนจเอเจนตและโฮมเอเจนตท าการสงค าสงผานเทลเนตเขาไปเพอ

สรางอโมงคMPLSเรยบรอยแลวจะได แบบอโมงคดงแสดงในรปท 4.15 สงผลใหแพคเกตทสง

มายงไอพแอดเดรสของโหนดโมบายถกสงตอผานอโมงคทสรางขนนมายง LER ของเครอขาย

ฟอรเรนจและถกสงตอใหโหนดโมบายดวยการดหมายเลขแมคแอดเดรสในสวชตระดบเลเยอร2

และสวชตแพคเกตไปได

รปท 4.14 รปแสดง ขนตอนการท างานฟอเรนจเอเจนตเมอท าการตดตอกบโฮมเอเจนตเพอลงทะเบยน (ตอ)

Page 46: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

39

MPLS Network

Home Network (HN)

(Network A) Foreign Network (FN)

(Network B)

Mobile Node

(PC3)

1.1.1.20/24

Home Agent

(PC1)

1.1.1.100/24

Foreign Agent

(PC2)

1.1.2.100/24

Created MPLS Tunnel

CN

1.1.3.20/24

เมอตรวจสอบการสงขอมลจาก CN ททดสอบดวยวธการ PING เทสพบวา

สามารถ PING ไดอยางตอเนองจาก CN ไปยง PC3 โดยทชวงทท าการยายขามเครอขายจาก

เครอขาย A ไปยงเครอขาย B จะมชวงทหลดการตดตอไปชวขณะหนง โดยทหลงจากท าการ

เทลเนตจากเอเจนตทง 2 ฝ งแลว เครอง CN จะสามารถ PING ไปยง PC3 ไดอกครงหนงดงรป

ท 4.16

รปท 4.15 รปแสดง ภาพจ าลองอโมงคMPLSทโฮมและฟอรเรนจเอเจนตไดสรางขน

รปท 4.16 รปแสดงการทดสอบการตดตอจาก CN ไปยง PC3 ดวยการ PING

Page 47: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

40

บทท 5

สรปผลการด าเนนงาน 5.1 ผลการด าเนนโครงการ

จากผลการทดลองการท างานของระบบ ประโยชนทไดรบคอ สามารถทดสอบการสราง

ระบบการสงขอมลโดยทผใชงานสามารถก าหนดคาหมายเลขไอพแอดเดรสคงทไดโดยไม

จ าเปนตองเปลยนหมายเลขไอพเมอมการยายขามเครอขายท าใหอกฝายทเครองของผใชงานน

ตดตอดวยไมจ าเปนตองเปลยนหมายเลขปลายทางทตดตอดวย และระบบน พฒนาบนระบบ

เครอขายทเปน MPLS อยแลวดงนนจงสามารถสรางอโมงคMPLSไดทนทและไมจ าเปนตอง

เปลยนอปกรณทรองรบโมบายไอพ

5.2 ปญหาและอปสรรค

อปสรรคของการทดลองในครงนคอไมสามารถทดลองบนระบบจรงได เนองจากมความ

เสยงตอการท าใหระบบเครอขายลม จงสามารถทดสอบไดภายในหองแลปเทานน

ในชวงการยายขามเครอขายตองใชระยะเวลานานระยะหนงจงจะสามารถสงขอมลไดอก

ครง ซงเปนผลจากการสงขอมลขามกนของเอเจนตทง 2 ดาน ทมความลาชา และ ขนตอนการ

telnet ทตองใชเวลาในการท างาน

การทดลองยงขาดการทดสอบการเชอมตอเครองโหนดโมบายหลายเครองพรอมๆกน

ซงอาจกอใหเกดปญหาในเรองการจดการเกยวกบล าดบของการท างาน

5.3 แนวทางการพฒนาในอนาคต

เนองจากการสรางค าสงเพอสรางอโมงคMPLSในครงน ใชเครองโหนดโมบายละ 1

เซอรวส ซงในกรณทมเครองโหนดโมบายเปนจ านวนมาก จะเปนการสนเปลองเซอรวสในการ

ใหบรการ ดงนนในการพฒนาตอไปควรพฒนาใหสามารถใชหลายเครองโหนดโมบายไดดวย

เซอรวสเดยวกน

ในการท างานของการสอสารระหวางโหนดโมบายและเอเจนตยงมความลาชา อกทงการ

สงดวยการ telnet เขาไปเพอสงค าสงทอปกรณยงมความลาชาอย ดงนนในการพฒนาสามารถ

พฒนาโดยการน าโปรมแกรมตดตงลงไปบน MPLS Router เพอใหการท างานเรวขนและไมตอง

ใชค าสงTelnetในการเขาไปสงค าสงเพอสรางอโมงค

ควรพฒนาตอเนองในกรณทมการเชอมตอเครองโหนดโมบายหลายเครองโดยสามารถ

ตรวจสอบขนตอนการท างานใหสอดคลองกบกลไกทควรจะเปน

Page 48: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

42

ภาคผนวก ก วธการสงค าสงส าหรบการสรางอโมงคในอปกรณยหอ Acatel Lucent

โครงสรางการท างานของอปกรณยหอ Acatel Lucent ท างานในลกษณะ Service Base

กลาวคอในการคอนฟกจะท าการสรางเซอรวสขนมาส าหรบการท างานตางๆ แลวน าเซอรวสนน

ไปผกเขากบพอรตของอปกรณเพอใชงานโดยเซอรวสหลกทน ามาใชงานส าหรบโครงงานนคอ

sdp epipe และ vpls โดยการสรางเซอรวสเหลานตองมการประกาศเลขเซอรวสขนมาและระบ

วาเปนเซอรวสประเภทใด

เซอรวส sdp เปนการระบหมายเลขไอพแอดเดรสปลายทางทตองการสงขอมล

ไปโดยไมตองระบวาสงไปทางพอรตใด โดยอปกรณจะท าการค านวณจาก

routing protocol อนเอง

เชอรวส epipe เปนการเชอมตอระหวาง 2 พอรตแบบ 1 ตอ 1 โดยทไมมการ

learn mac-address ของทง 2 ฝ ง

เซอรวส vpls เปนการเชอมตอแบบ 1 to many ซงมาสามารถเชอมตอหลาย

พอรตเขาดวยกนภายในเซอรวสเดยว โดยทเซอรวสนจะท าการเกบคา mac-

address ของแตละอปกรณทเชอมตอเขามาในเซอรวสเพอหาพอรตทถกตอง

ส าหรบสงขอมล

ภายในเซอรวสประกอบดวยสวนประกอบหลกคอการระบชองทางตางๆเขามาใน

เซอรวสซงรปแบบหลกทใชในโครงงานนมอย 2 ประเภทคอ sap และ spoke-sdp

Sap เปนการผกพอรตเขากบเซอรวสแบบระบหมายเลขพอรตพรอมvlanทใช

เชน sap 1/1/3:900 คอการผกพอรตหมายเลข 1/1/3 เขามาในเซอรวสพรอม

กบระบวาใหใช vlan 900 ทพอรตนนส าหรบเซอรวสน

Spoke-sdp เปนการผกชองทางเขามาโดยกระระบหมายเลขชองทางส าหรบ

ปลายทาง ซง spoke-sdp นมสวนประกอบอย 2 สวนคอ หมายเลข sdp และ

หมายเลข circuit โดยหมายเลข sdp นจะตองสรางเซอรวส sdp ขนมากอนโดย

Page 49: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

43

ทมขอมลคอ หมายเลขไอพแอดเดรสปลายทาง สวนหมายเลข circuit

เปรยบเสมอนหมายเลขยอยในชองทางของ sdp ทประกาศไปเพอระบวาเปน

แพกเกตของขอมลชดใดและใชในการเพมลาเบลส าหรบ MPLS ซง 1 sdp

สามารถสรางไดหลาย circuit และใสลาเบลตางกนออกไปตามหมายเลข circuit

เชน spoke-sdp 12500:10000 คอผกหมายเลข sdp 12500 โดยมหมายเลข

circuit 10000 เขามาในเซอรวส

Page 50: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

44

ภาคผนวก ข

โคดโปรแกรม

โปรแกรมส าหรบเอเจนตและโหนดโมบายนพฒนาขนจากภาษา Perl ซงมซอรสโคด

ของทง 2 โปรแกรมดงน

โปรแกรมในสวนของโหนดโมบาย use Switch;

use Net::Address::IP::Local;

use Net::IPAddress;

use IO::Socket;

my $localAddr = Net::Address::IP::Local->public;

while (1)

{

######### Send Agent Solicitaion & wait for Agent Advertise ############

my $sendMsg = genSolicitationPkt();

my $ip = '255.255.255.255';

sendUdpPkt($sendMsg , $ip);

my ($rcvMsg,$hostname) = rcvUdpPkt();

#print $rcvMsg."\n";

my $type = substr($rcvMsg, 0, 1);

my $Msg = substr $rcvMsg,1;

#print $type."\n";

#print $Msg."\n";

switch ($type)

{

case ('1') {

my $faIp = $hostname;

print "get advertise message from Agent >> ".$faIp."\n";

if (chkDiffNetwork($faIp)) {

#print "DIFFERRENCE\n";

###### send registration packet to FA ##########

my $regisPkt = genRegistrationPkt();

#print $regisPkt."\n";

sleep (1);

sendUdpPkt($regisPkt , $faIp);

Page 51: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

45

my ($rcvMsg,$hostname) = rcvUdpPkt();

my $type = substr($rcvMsg, 0, 1);

my $Msg = substr $rcvMsg,1;

switch ($type)

{

case ('5') {

my $faIp = $hostname;

my $faIpMsg = (substr $rcvMsg,1,4);

my $haIpMsg = (substr $rcvMsg,5,4);

my $haIp = inet_ntoa ($haIpMsg);

print "get registration reply message from FA >> ".$faIp." HA >> ".$haIp."\n";

}

}

} else {

print "do nothing\n";

}

}

}

sleep (5);

# $i+=1;

}

sub genSolicitationPkt

{

###### generate Solicitation packet #######

print "generate Solicitation packet\n";

my $pktType = "0";

my $adr = inet_aton($localAddr);

my $msg = $pktType.$adr;

return $msg;

}

sub genRegistrationPkt

{

###### generate registeration packet #######

print "generate registeration packet\n";

my $pktType = "2";

my $mnAdr = inet_aton($localAddr);

Page 52: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

46

my @octip = split (/\./,$localAddr);

$octip[3] = '100'; #change HA ip

my $haIp = $octip[0].".".$octip[1].".".$octip[2].".".$octip[3];

#print "\n>>>".$localAddr."---".$haIp."<<<\n";

my $haAdr = inet_aton($haIp);

my $msg = $pktType.$mnAdr.$haAdr;

return $msg;

}

sub chkDiffNetwork

{

print "check if discoveried agent is in the same network\n";

my ($ipFa) = @_;

# get local IP Address

#print "local ip ".$localAddr;

use Net::IPAddress;

my $subnetLocal = mask($localAddr,"255.255.255.0");

print "local ip ".$localAddr."\tlocal net ".$subnetLocal."\n";

my $subnetFa = mask($ipFa,"255.255.255.0");

print "agent ip ".$ipFa."\tagent net ".$subnetFa."\n";

if($subnetFa ne $subnetLocal)

{

print "this host and agent are in different network\n";

return 1;

}

else

{

print "this host and agent are in same network\n";

return 0;

}

}

sub sendUdpPkt

{

($msg , $destIp) = @_;

my $SOCKET = IO::Socket::INET->new(PeerPort => 434,

Page 53: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

47

Proto => 'udp',

Broadcast => 1 ,

PeerAddr => $destIp,

LocalAddr => $localAddr) or die "socket: $@";

my $tmp = "";

my $wait = 0;

$SOCKET->send($msg);

}

sub rcvUdpPkt

{

my $SERVERSOCK = IO::Socket::INET->new(LocalPort => 434,

Proto => 'udp',

Blocking => 0 ,

LocalAddr => $localAddr ) or die "socket: $@";

my $tmp = "";

my $wait = 0;

do{

$SERVERSOCK->recv($tmp,2000);

sleep(1);

print $wait.".\n";

$wait++;

}until ($tmp ne "" || $wait>10);

if ($tmp eq "")

{

return ($tmp);

}

else

{

my $peerhost = $SERVERSOCK->peerhost();

return ($tmp , $peerhost);

}

}

Page 54: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

48

โปรแกรมในสวนของเอเจนต ####### wait for registration packet from MN ##########

use Switch;

use Net::Address::IP::Local;

use IO::Socket;

use Timer::Simple;

use Net::Telnet;

my @bindingUpdateList = ();

printBindingUpdateList();

my @visitorList = ();

printVisitorList();

my $localAddr = Net::Address::IP::Local->public;

my $serviceId = "10000";

my $LerIp = "10.9.27.250";

my $lifeTime = 300;

$i=0;

while (1)

{

($rcvMsg , $hostname) = rcvUdpPkt();

#print "xxxxxx".$hispaddr;

$type = substr($rcvMsg, 0, 1);

$Msg = substr $rcvMsg,1;

#print $type."\n";

#print $Msg."\n";

switch ($type)

{

case ('0') {

my $mnIp = $hostname;

print "get solicitation message from MN >> ".$mnIp."\n";

my $sendMsg = genAdvertisePkt();

sleep(1);

if (isComeBack($mnIp))

{

genCommandToChangeTunnelBack();

}

sendUdpPkt($sendMsg , $mnIp );

Page 55: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

49

}

case ('2') {

#print $rcvMsg."\n";

my $mnIp = $hostname;

my $mnIpMsg = (substr $rcvMsg,1,4);

my $haIpMsg = (substr $rcvMsg,5,4);

my $haIp = inet_ntoa($haIpMsg);

print "get registration message from MN >> ".$mnIp."\n";

my $forwardMsg = genRegistrationPktToHa($mnIpMsg);

#print "\n>>>".$forwardMsg."<<<\n";

######## forward registration packet to HA ##########

sleep (1);

sendUdpPktToHa($forwardMsg , $haIp);

#$rcvMsg = "ACK_REGIS";

########## wait for HA reply #############

}

case ('3') {

my $faIp = $hostname;

my $mnIpMsg = (substr $rcvMsg,1,4);

my $faIpMsg = (substr $rcvMsg,5,4);

my $faLerMsg = (substr $rcvMsg,9,4);

my $mnIp = inet_ntoa($mnIpMsg);

my $faLerIp = inet_ntoa($faLerMsg);

print "get registration message from \nFA >> ".$faIp." \nMN >> ".$mnIp." \nFA LER >>".$faLerIp."\n";

my $sendMsg = genRegistrationReplyToFa($mnIpMsg);

#print $sendMsg;

sleep (1);

sendUdpPkt($sendMsg,$faIp);

updateBindingUpdateList($mnIp , $faIp);

printBindingUpdateList();

print "finish registration phase\n";

genCommandToCreateTunnelHa($faLerIp);

print "HA complete and can send data now \n\n\n\n";

print "********************************\n";

Page 56: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

50

sendUdpPkt($sendMsg,$faIp);

}

case ('4') {

my $haIp = $hostname;

my $mnIpMsg = (substr $rcvMsg,1,4);

my $haIpMsg = (substr $rcvMsg,5,4);

my $haLerIpMsg = (substr $rcvMsg,9,4);

my $mnIp = inet_ntoa($mnIpMsg);

my $haLerIp = inet_ntoa($haLerIpMsg);

print "get registration reply message from \nHA >> ".$haIp." \nMN >> ".$mnIp." \nHA LER >>".$haLerIp."\n";

my $sendMsg = genRegistrationPktReplyToMn($haIpMsg);

sleep(1);

####### update Visitor List ###############

my $newMN = updateVisitorList($mnIp , $haIp);

printVisitorList();

print "finish registration phase\n";

if($newMN)

{

genCommandToCreateTunnelFa();

} else {

print "this is old MN\n";

}

print "FA complete and can send data now \n\n\n\n";

print "********************************\n";

sendUdpPkt($sendMsg , $mnIp);

}

}

######## generate script for create MPLS tunnel ######

$i+=1;

chkAliveMn();

}

sub isComeBack()

Page 57: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

51

{

print "check if MN is in this network or come back from FN\n";

my $mnIp = @_;

for(my $i = 0 ; $i<$#bindingUpdateList;$i++)

{

if($mnIp eq $bindingUpdateList[$i][0])

{

if($bindingUpdateList[$i][3] ne "die")

{

#genCommandToChangeTunnelBack();

$bindingUpdateList[$i][3]->stop;

$bindingUpdateList[$i][3] = "die";

return 1;

}

else

{

print "MN tunnel to FA already dead\n";

return 0;

}

}

}

}

sub genCommandToChangeTunnelBack

{

print "---->>>genCommandToChangeTunnelBack<<<<-----";

$telnet = new Net::Telnet ( Timeout=>25, Errmode=>'die');

$telnet->open('10.50.15.12');

@tmp = $telnet->waitfor('/ogin:/');

print @tmp;

$telnet->print('username');

@tmp = $telnet->waitfor('/Password:/');

print @tmp;

$telnet->print('pass');

@tmp = $telnet->waitfor('/quit]:/');

print @tmp;

sleep(1);

my $str = $LerIp;

$telnet->print($str);

#$telnet->print('10.197.254.27');

@tmp = $telnet->waitfor('/Login:/');

Page 58: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

52

print @tmp;

$telnet->print('admin');

@tmp = $telnet->waitfor('/Password:/');

print @tmp;

$telnet->print('admin-pass');

@tmp = $telnet->waitfor('/#/');

print @tmp;

$telnet->print('environment no more');

@tmp = $telnet->waitfor('/#/');

print @tmp;

$telnet->print('admin');

@tmp = $telnet->waitfor('/admin#/');

print @tmp;

$telnet->print('show port');

@tmp = $telnet->waitfor('/admin#/');

print @tmp;

$str = "/configure service vpls 280213";

$telnet->print($str);

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$telnet->print('info');

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$str = "/configure service vpls 280213 spoke-sdp 12541:280213 create";

$telnet->print($str);

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$telnet->print('');

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$telnet->print('');

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$telnet->print('');

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

}

Page 59: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

53

sub genCommandToDeleteTunnelFa

{

my ($serviceIdDie ) = @_;

print "\n------>>>genCommandToDeleteTunnelFa<<<-----\n\n\n";

$telnet = new Net::Telnet ( Timeout=>25, Errmode=>'die');

$telnet->open('10.50.15.12');

@tmp = $telnet->waitfor('/ogin:/');

print @tmp;

$telnet->print('username');

@tmp = $telnet->waitfor('/Password:/');

print @tmp;

$telnet->print('pass');

@tmp = $telnet->waitfor('/quit]:/');

print @tmp;

sleep(1);

my $str = $LerIp;

$telnet->print($str);

#$telnet->print('10.9.27.250');

@tmp = $telnet->waitfor('/Login:/');

print @tmp;

$telnet->print('admin');

@tmp = $telnet->waitfor('/Password:/');

print @tmp;

$telnet->print('admin-pass');

@tmp = $telnet->waitfor('/#/');

print @tmp;

$telnet->print('environment no more');

@tmp = $telnet->waitfor('/#/');

print @tmp;

$telnet->print('admin');

@tmp = $telnet->waitfor('/admin#/');

print @tmp;

$telnet->print('show port');

@tmp = $telnet->waitfor('/admin#/');

print @tmp;

$str = "/configure service epipe ".$serviceIdDie;

$telnet->print($str);

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

Page 60: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

54

$telnet->print('info');

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$_ = $tmp[0];

m/(sap\.+)/;

my $sapInfo = $1;

$_ = $tmp[0];

m/(spoke-sdp\.+)/;

my $spokeInfo = $1;

$str = "/configure service epipe ".$serviceIdDie." ".$sapInfo." shutdown";

$telnet->print($str);

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$str = "/configure service epipe ".$serviceIdDie." no ".$sapInfo;

$telnet->print($str);

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$str = "/configure service epipe ".$serviceIdDie." ".$spokeInfo." shutdown";

$telnet->print($str);

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$str = "/configure service epipe ".$serviceIdDie." no ".$spokeInfo;

$telnet->print($str);

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$str = "/configure service epipe ".$serviceIdDie." shutdown";

$telnet->print($str);

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$str = "/configure service no epipe ".$serviceIdDie;

$telnet->print($str);

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$telnet->print('');

@tmp = $telnet->waitfor('/[#\$]/');

Page 61: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

55

print @tmp;

$telnet->print('');

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$telnet->print('');

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$telnet->print('');

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

}

sub genCommandToCreateTunnelFa

{

my ($haLerIp ) = @_;

print "\n------>>>genCommandToCreateTunnelFa<<<-----\n\n\n";

$telnet = new Net::Telnet ( Timeout=>25, Errmode=>'die');

$telnet->open('10.50.15.12');

@tmp = $telnet->waitfor('/ogin:/');

print @tmp;

$telnet->print('username');

@tmp = $telnet->waitfor('/Password:/');

print @tmp;

$telnet->print('pass');

@tmp = $telnet->waitfor('/quit]:/');

print @tmp;

sleep(1);

my $str = $LerIp;

$telnet->print($str);

#$telnet->print('10.9.27.250');

@tmp = $telnet->waitfor('/Login:/');

print @tmp;

$telnet->print('admin');

@tmp = $telnet->waitfor('/Password:/');

print @tmp;

$telnet->print('admin-pass');

@tmp = $telnet->waitfor('/#/');

print @tmp;

Page 62: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

56

$telnet->print('environment no more');

@tmp = $telnet->waitfor('/#/');

print @tmp;

$telnet->print('admin');

@tmp = $telnet->waitfor('/admin#/');

print @tmp;

$telnet->print('show port');

@tmp = $telnet->waitfor('/admin#/');

print @tmp;

$str ="show service sdp | match ".$haLerIp;

$telnet->print($str);

#$telnet->print('show service sdp | match 10.197.254.27');

@tmp = $telnet->waitfor('/admin#/');

print @tmp;

$_ = $tmp[0];

m/^(\d+)/m;

my $sdp = $1;

#$telnet->print('show service service-using | match 10000');

$str = "show service service-using | match ".$serviceId;

$telnet->print($str);

@tmp = $telnet->waitfor('/admin#/');

print @tmp;

#$telnet->print('/configure service epipe 10000 customer 7 create ');

$str = "/configure service epipe ".$serviceId." customer 7 create";

$telnet->print($str);

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

#$telnet->print('/configure service epipe 10000 service-mtu 9194');

$str = "/configure service epipe ".$serviceId." service-mtu 9194";

$telnet->print($str);

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

#$telnet->print('/configure service epipe 10000 sap 1/1/3:900 create');

$str = "/configure service epipe ".$serviceId." sap 1/1/3:900 create";

$telnet->print($str);

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

Page 63: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

57

#$telnet->print(/configure service epipe 10000 spoke 11270:10000 create');

$str = "/configure service epipe ".$serviceId." spoke-sdp ".$sdp.":".$serviceId." create";

$telnet->print($str);

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

#$telnet->print('/configure service epipe 10000 no shutdown');

$str = "/configure service epipe ".$serviceId." no shutdown ";

$telnet->print($str);

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

#$telnet->print('/configure service epipe 10000');

$str = "/configure service epipe ".$serviceId;

$telnet->print($str);

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$telnet->print('info');

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$telnet->print('');

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$telnet->print('');

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$telnet->print('');

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$telnet->print('');

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

}

sub genCommandToCreateTunnelHa

{

my ($faLerIp) = @_;

print "\n------>>>genCommandToCreateTunnelHa<<<-----\n\n\n";

$telnet = new Net::Telnet ( Timeout=>25, Errmode=>'die');

$telnet->open('10.50.15.12');

Page 64: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

58

@tmp = $telnet->waitfor('/ogin:/');

print @tmp;

$telnet->print('username');

@tmp = $telnet->waitfor('/Password:/');

print @tmp;

$telnet->print('pass');

@tmp = $telnet->waitfor('/quit]:/');

print @tmp;

sleep(1);

my $str = $LerIp;

$telnet->print($str);

#$telnet->print('10.197.254.27');

@tmp = $telnet->waitfor('/Login:/');

print @tmp;

$telnet->print('admin');

@tmp = $telnet->waitfor('/Password:/');

print @tmp;

$telnet->print('admin-pass');

@tmp = $telnet->waitfor('/#/');

print @tmp;

$telnet->print('environment no more');

@tmp = $telnet->waitfor('/#/');

print @tmp;

$telnet->print('admin');

@tmp = $telnet->waitfor('/admin#/');

print @tmp;

$telnet->print('show port');

@tmp = $telnet->waitfor('/admin#/');

print @tmp;

$str ="show service sdp | match ".$faLerIp;

$telnet->print($str);

#$telnet->print('show service sdp | match 10.9.27.250');

@tmp = $telnet->waitfor('/admin#/');

print @tmp;

$_ = $tmp[0];

m/^(\d+)/m;

my $sdp = $1;

#$telnet->print('show service service-using | match 10000');

$str = "show service service-using | match ".$serviceId;

$telnet->print($str);

@tmp = $telnet->waitfor('/admin#/');

print @tmp;

Page 65: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

59

#$telnet->print('/configure service vpls 280213');

$str = "/configure service vpls 280213";

$telnet->print($str);

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$telnet->print('info');

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

#$telnet->print('/configure service vpls 280213 spoke-sdp 12541:280213 shutdown');

$str = "/configure service vpls 280213 spoke-sdp 12541:280213 shutdown";

$telnet->print($str);

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

#$telnet->print('/configure service vpls 280213 no spoke-sdp 12541:280213');

$str = "/configure service vpls 280213 no spoke-sdp 12541:280213";

$telnet->print($str);

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

#$telnet->print('/configure service vpls 280213 spoke-sdp 12500:10000 create');

$str = "/configure service vpls 280213 spoke-sdp ".$sdp.":".$serviceId." create";

$telnet->print($str);

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

#$telnet->print('/configure service vpls 280213 no shutdown');

$str = "/configure service vpls 280213 no shutdown ";

$telnet->print($str);

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

#$telnet->print('/configure service vpls 280213');

$str = "/configure service vpls 280213 ";

$telnet->print($str);

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$telnet->print('');

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

Page 66: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

60

$telnet->print('');

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$telnet->print('');

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$telnet->print('');

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

$telnet->print('');

@tmp = $telnet->waitfor('/[#\$]/');

print @tmp;

}

sub genAdvertisePkt

{

###### generate Advertise packet #######

print "generate Advertise packet\n";

my $pktType = "1";

my $adr = inet_aton($localAddr);

my $msg = $pktType.$adr;

return $msg;

}

sub genRegistrationPktToHa

{

my ($mnIp) = @_;

###### generate registeration packet to HA #######

print "generate registeration packet to HA\n";

my $pktType = "3";

my $faAdr = inet_aton($localAddr);

my $lerIpMsg = inet_aton($LerIp);

my $msg = $pktType.$mnIp.$faAdr.$lerIpMsg;

#print "\nxxxxx".$msg;

return $msg;

}

sub genRegistrationPktReplyToMn

{

my ($haIpMsg) = @_;

###### generate registeration reply packet #######

Page 67: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

61

print "generate registeration reply packet\n";

my $pktType = "5";

my $faAdr = inet_aton($localAddr);

my $msg = $pktType.$faAdr.$haIpMsg;

#print "\nxxxxx".$msg;

return $msg;

}

sub genRegistrationReplyToFa

{

($mnIp) = @_;

###### generate registeration reply packet #######

print "generate registeration reply packet\n";

$pktType = "4";

use Net::Address::IP::Local;

#my $localAddr = Net::Address::IP::Local->public;

my $haAdr = inet_aton($localAddr);

my $lerIpMsg = inet_aton($LerIp);

my $msg = $pktType.$mnIp.$haAdr.$lerIpMsg;

return $msg;

}

sub chkAliveMn()

{

for ($i = 0 ; $i<=$#visitorList ; $i++)

{

my $leftTime = $lifeTime - $visitorList[$i][3]->elapsed ;

if($leftTime < 0){

print "MN ".$visitorList[$i][0]." die because of timeout 300s\n";

$visitorList[$i][3]->stop;

$visitorList[$i][3] = "die";

print ">>>>> Telnet to delete tunnel <<<<<<\n";

printVisitorList();

genCommandToDeleteTunnelFa($visitorList[$i][2]);

Page 68: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

62

}

}

}

sub printVisitorList()

{

print "\nVISITOR LIST\n";

print "==========================================================\n";

print "PERMANENT_IP\tHOMEAGENT_IP\tSERVICE_ID\tLIFETIME\n";

for ($i = 0 ; $i<=$#visitorList ; $i++)

{

for ($j=0 ; $j<4 ;$j++)

{

if($j==3) {

if ($visitorList[$i][3] eq "die"){

print "\tdie";

} else {

$_ = $visitorList[$i][$j];

m/ (\d+)\.\d+ sec/;

my $tmp = $lifeTime - $1;

print "\t".$tmp;

}

}

else {

print $visitorList[$i][$j]."\t";

}

}

print "\n";

}

print "----------------------------------------------------------\n\n";

}

sub updateVisitorList()

{

my ($mnIp , $haIp) = @_;

print ("Update Visitor List\n");

my $chk = "true";

my $dupMn = 99;

my $n = $#visitorList+1 ;

Page 69: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

63

for ($i = 0 ; $i<$n ; $i++)

{

if($mnIp eq $visitorList[$i][0] )

{

$chk = "false";

if ($visitorList[$i][3] eq "die") {

$chk = "dup";

$dupMn = $i;

} else {

$visitorList[$i][3]->restart;

}

}

}

if($chk eq "true")

{

my $index = $n;

$visitorList[$index][0] = $mnIp;

$visitorList[$index][1] = $haIp;

$visitorList[$index][2] = $serviceId;

$visitorList[$index][3] = Timer::Simple->new(start => 0, string => 'human');

$serviceId++;

$visitorList[$index][3] -> start;

return 1;

} elsif($chk eq "dup") {

$visitorList[$dupMn][2] = $serviceId;

$visitorList[$dupMn][3] = Timer::Simple->new(start => 0, string => 'human');

$serviceId++;

$visitorList[$index][3] -> start;

return 1;

}

else {

return 0;

}

}

sub printBindingUpdateList()

Page 70: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

64

{

print "\nBINDING UPDATE LIST\n";

print "=====================================================================\n";

print "PERMANENT_IP\tCOA_IP\t\tSERVICE_ID\tLIFETIME\n";

for ($i = 0 ; $i<=$#bindingUpdateList ; $i++)

{

for ($j=0 ; $j<4 ;$j++)

{

if($j==3) {

if ($bindingUpdateList[$i][3] eq "die"){

print "\tdie";

} else {

$_ = $bindingUpdateList[$i][3];

m/ (\d+)\.\d+ sec/;

my $tmp = $lifeTime - $1;

print "\t".$tmp;

}

}else {

print $bindingUpdateList[$i][$j]."\t";

}

}

print "\n";

}

print "--------------------------------------------------------------------\n\n";

}

sub updateBindingUpdateList()

{

my ($mnIp , $haIp) = @_;

print ("Update Binding Update List\n");

my $chk = "true";

my $n = $#bindingUpdateList+1 ;

for ($i = 0 ; $i<$n ; $i++)

{

if($mnIp == $bindingUpdateList[$i][0])

{

$bindingUpdateList[$i][3]->restart;

$chk = "false";

}

}

if($chk eq "true")

{

Page 71: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

65

my $index = $n;

$bindingUpdateList[$index][0] = $mnIp;

$bindingUpdateList[$index][1] = $haIp;

$bindingUpdateList[$index][2] = $serviceId;

$bindingUpdateList[$index][3] = Timer::Simple->new(start => 0, string => 'human');

$serviceId++;

$bindingUpdateList[$index][3]->start;

}

}

sub rcvUdpPkt

{

my $SERVERSOCK = IO::Socket::INET->new(LocalPort => 434,

Proto => 'udp',

Blocking => 1 ,

LocalAddr => $localAddr ) or die "socket: $@";

my $tmp = "";

my $wait = 0;

#do{

$SERVERSOCK->recv($tmp,2000);

# sleep(1);

# print $wait.".\n";

# $wait++;

#}until ($tmp ne "" || $wait>10);

if ($tmp eq "")

{

return ($tmp);

}

else

{

my $peerhost = $SERVERSOCK->peerhost();

return ($tmp , $peerhost);

}

}

sub sendUdpPkt

Page 72: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

66

{

my ($msg , $destIp) = @_;

my $SOCKET = IO::Socket::INET->new(PeerPort => 434,

Proto => 'udp',

Broadcast => 1 ,

PeerAddr => $destIp,

LocalAddr => $localAddr) or die "socket: $@";

my $tmp = "";

my $wait = 0;

$SOCKET->send($msg);

#close(SOCKET);

}

Page 73: การทดสอบและติดตงั้ระบบ Mobile MPLS Mobile MPLS Testbed การทดสอบและ... · ของ Mobile IP มาประยุกต์ใช้งานในระบบเครือข่ายที่เป็นเครือข่าย

41

เอกสารอางอง

[1] ประวทย ชมช, เอกสารประกอบการสอนวชาเครอขายไรสายและเคลอนท, คณะ

วศวกรรมศาสตร ภาควชาโทรคมนาคม, มหาวทยาลยเทคโนโลยมหานคร 2554

[2] สวญญา พลวชย, วทยานพนธ เรอง การจดเสนทางทเหมาะสมส าหรบ Mobile MPLS, วศวกรรมเครอขาย วทยาศาสตรมหาบณฑต, มหาวทยาลยเทคโนโลยมหานคร 2553 [3] Alcatel Lucent , 7750 SR OS MPLS Guide Software Version: 7750 SR OS 7.0 Rev. 02, 03, 04, July 2009 [4] Perl Programming - http://www.tutorialspoint.com/perl/ [5] Perl first script - http://www.tizag.com/perlT/perlfirstscript.php