ศึกษาเทคนิคการบีบอัด บนการเชื่อมต่อเครือข่ายบริเวณกว้าง Study of Compression Techniques Over Wide Area Network Links
Total Page:16
File Type:pdf, Size:1020Kb
ศึกษาเทคนิคการบีบอัด บนการเชื่อมต่อเครือข่ายบริเวณกว้าง Study of Compression techniques over Wide Area Network Links วิชัย ค าพรม Wichai Khamprom สารนิพนธ์นี้เป็นส่วนหนึ่งของการศึกษา หลักสูตรวิทยาศาสตรมหาบัณฑิต สาขาวิศวกรรมเครือข่าย คณะวิทยาการและเทคโนโลยีสารสนเทศ มหาวิทยาลัยเทคโนโลยีมหานคร ปีการศึกษา 2556 หัวข้อโครงงาน ศึกษาเทคนิคการบีบอัดบนการเชื่อมต่อเครือข่ายบริเวณกว้าง นักศึกษา วิชัย ค าพรม รหัสนักศึกษา 5517660026 หลักสูตร วิทยาศาสตรมหาบัณฑิต สาขาวิศวกรรมเครือข่าย ปีการศึกษา 2556 อาจารย์ที่ปรึกษา ผศ.ดร.วรพล ลีลาเกียรติสกุล บทคัดย่อ ปจั จุบนั สารสนเทศหลากหลายประเภททั้งข้อมูล เสียง ภาพเคลื่อนไหว ต่างใช้เครือข่าย ไอพี (IP Network) เป็นช่องทางในการน าส่งและนับวันยิ่งมีปริมาณเพิ่มขึ้นอย่างต่อเนื่อง ส่งผล ถึงโครงสร้างของช่องทางในการสื่อสารที่จะต้องทาการ ขยับขยายตาม เพื่อให้สามารถรองรับต่อ ความต้องการในการถ่ายโอนสารสนเทศเหล่านี้ อย่างไรก็ดีการขยายหรือปรับเปลี่ยนโครงสร้าง ของเครือข่ายสื่อสารนั้นย่อมมีผลกระทบต่อโครงสร้างเดิมที่มีอยู่ (Existing Infrastructure) ใน หลายด้านและมีค่าใช้จ่ายที่ค่อนข้างสูง เป็นเหตุให้ต้องมีการพัฒนาเทคนิคหรือวิธีการในการ น าส่งสารสนเทศบนเครือข่ายไอพีที่มีประสิทธิภาพสอดคล้องกับปริมาณ ไม่กระทบต่อโครงสร้าง เดิมและใช้ต้นทุนที่ไม่สูงเกินไป เช่น เทคนิคการบีบอัด เป็นต้น เพื่อให้สามารถเคลื่อนย้าย สารสนเทศผ่านเครือข่ายได้คราวละมาก ๆ และเสร็จสิ้นในเวลาที่รวดเร็ว โดยอาจจะอยู่ในรูปแบบ ของฮาร์ดแวร์หรืออยู่ในรูปแบบของซอฟต์แวร์ (Hardware-based or Software-based) โครงงานนี้น าเสนอองค์ความรู้เกี่ยวกับเทคนิคการบีบอัดบนเครือข่ายที่ชั้นต่าง ๆ ของ การเชื่อมต่อเครือข่ายไอพีใน 3 รูปแบบ โดยอ้างอิงตาม OSI Model 7 Layer ดังนี้ รูปแบบแรก Link compression เป็นเทคนิคการทา การบีบอัดบนเครือข่ายที่ชั้นการเชื่อมโยงข้อมูล (Data link layer) โดยจะทาการบีบอัด ข้อมูลทั้งหมดที่เดินทางผ่านอินเตอร์เฟสของเครือข่ายโดยไม่ ขึ้นอยู่กับการทางานของ โพรโทคอลใดโพรโทคอลหนึ่ง กล่าวคือเฟรมข้อมูลที่เดินทางผ่าน อินเตอร์เฟสที่ได้ก าหนดค่าการบีบอัดไว้จะถูกบีบอัดทั้งส่วนหัว (Header) และส่วนข้อมูล (Data) โดยไม่มีการถามและไม่มีการยกเว้น รูปแบบที่สอง Layer-2 payload compression เป็น เทคนิคการทาการบีบอัดบนเครือข่ายที่ เพย์โหลดของเลเยอร์ที่สอง ซึ่งประกอบด้วยส่วนหัวของ โพรโทคอลเลเยอร์ที่สาม (Network layer Header) ส่วนหัวของโพรโทคอลเลเยอร์ที่สี่ (Transport layer Header) และส่วนข้อมูล (Data) และรูปแบบสุดท้ายคือ TCP/IP header compression เป็นเทคนิคการบีบอัดบนเครือข่ายที่ทาการบีบอัด เฉพาะส่วนหัวของโพรโทคอลทีซีพี/ไอพีเท่านั้น (TCP/IP protocol Header) โดยทา การขจัดบางส่วนของฟิลด์ข้อมูลที่ซ ้าซ้อนกันในส่วนหัวของ โพรโทคอลทีซีพี/ไอพีออกไป ให้เหลือแต่รหัสที่แตกต่างกันของฟิลด์ข้อมูลนั้นเท่านั้น ซึ่งจะช่วย ลดโอเวอร์เฮด (Overhead) ของการเชื่อมต่อด้วยโพรโทคอลทีซีพี/ไอพี I กิตติกรรมประกาศ ขอขอบพระคุณคณาจารย์ทุกท่านที่ประสิทธิประสาทความรู้แก่ข้าพเจ้า ซึ่งข้าพเจ้าได้น า องค์ความรู้เหล่านี้ ตลอดจนถึงเทคนิค วิธีการและแนวคิดที่ท่านได้กรุณาถ่ายทอดให้ มาใช้เป็น แนวทางในการด าเนินงานโครงงาน ขอขอบพระคุณท่านอาจารย์คณะกรรมการสอบโครงงาน ที่ได้กรุณาตั้งค าถามในประเด็น ที่หลากหลายด้วยความเอาใจใส่ ให้ค าแนะน าและชี้แนะแนวทางในการแก้ไขข้อบกพร่อง ตลอด จนถึงการตั้งประเด็นให้คิดต่อ ซึ่งมีประโยชน์อย่างยิ่งต่อการด าเนินโครงงาน ขอขอบพระคุณ ผศ.ดร.วรพล ลีลาเกียรติสกุล ท่านอาจารย์ที่ปรึกษาโครงงานที่กรุณา เสียสละเวลาให้ค าแนะน า ให้ค าปรึกษา ชี้แนะแนวทาง เข้มงวดในการให้รายงานความคืบหน้า และคอยตรวจสอบโครงงานอย่างสม่าเสมอจนกระทั่งสารนิพนธ์ฉบับนี้ส าเร็จได้ด้วยดี ขอขอบพระคุณบิดามารดาและครอบครัว และขอขอบคุณมิตรสหายทุกท่าน ที่ให้การ สนับสนุนและเป็นก าลังใจให้ด้วยดีเสมอมา วิชัย ค าพรม สิงหาคม 2557 II สารบัญ หน้า บทคัดย่อ……………………………………….......................................................................... I กิตติกรรมประกาศ…………………………….......................................................................... II สารบัญ………………………………………........................................................................... III สารบัญรูป…………………………………….......................................................................... VI สารบัญตาราง………………………………...........................................................................VIII บทที่ 1 บทน า………………………………………………………………………………………..1 1.1 ปญั หาและแรงจงู ใจ…………………………………………………………………….1 1.2 โครงงานที่น าเสนอ……………………………………………………………………..2 1.3 วัตถุประสงค์โครงงาน………………………………………………………………….2 1.4 ขอบเขตโครงงาน………………………………………………………………………2 1.5 โครงสร้างโครงงาน…………………………………………………………………….4 บทที่ 2 ทฤษฎีที่เกี่ยวข้อง…………………………………………………………………………...5 2.1 ลักษณะของการเชื่อมต่อเครือข่ายบริเวณกว้าง………………………………………5 2.2 การเพิ่มประสิทธิภาพเครือข่ายบริเวณกว้าง………………………………………….6 2.3 การบีบอัดข้อมูลแบบไม่สูญเสีย……………………………………………………….8 2.4 การบีบอัดข้อมูลแบบสูญเสียบางส่วน……………………………………………….11 2.5 รูปแบบข้อมูลที่ผ่านการบีบอัด……………………………………………………….12 2.6 การทาการบีบอัดบนเครือข่า ย……………………………………………………….13 2.6.1 Link compression………………………………………………………..14 2.6.2 Layer-2 payload compression…………………………………………15 2.6.3 TCP/IP header compression…………………………………………..16 2.7 อัลกอริธึมการบีบอัด “สแตค”………………………………………………………...17 2.8 อัลกอริธึมการบีบอัด “พรีดิคเตอร์”…………………………………………………..19 2.9 อัลกอริธึมการบีบอัด “เอ็มพีพีซี”……………………………………………………..19 2.10 อัลกอริธึมการบีบอัด “แวน จาคอปซัน”…………………………………………….20 2.11 ตัวเลือกการบีบอัดบนโพรโทคอล “พีพีพี”………………………………………….21 2.12 ตัวเลือกการบีบอัดบนโพรโทคอล “เฟรมรีเลย์”…………………………………….22 2.13 ตัวเลือกการบีบอัดบนโพรโทคอล “เอชดีแอลซี”…………………………………...23 2.14 Cisco Compression Service Adapters (CSA)………………………………….23 2.15 Cisco Advanced Integration Modules (AIM)……………………………………25 III สารบัญ (ต่อ) หน้า บทที่ 3 การด าเนินงาน…………………………………………………………………………….27 3.1 โครงสร้างการด าเนินงาน…………………………………………………………….27 3.2 สมมติฐานในการด าเนินงาน………………………………………………………….27 3.3 ทรัพยากรที่ใช้ในการด าเนินงาน……………………………………………………..28 3.4 ผังการทา การบีบอัด…………………………………………………………………..29 3.5 ผังการคลายการบีบอัด……………………………………………………………….30 3.6 แผนภาพเครือข่าย……………………………………………………………………31 3.7 แผนการด าเนินโครงงาน……………………………………………………………..31 3.8 ก าหนดรูปแบบการทดลอง…………………………………………………………..32 3.9 สร้างโมเดลสาหรับ การทดลอง……………………………………………………….32 3.10 การทดลองบนเน็ตเวิร์คลิงค์ที่ใช้โพรโทคอลก าหนดเส้นทางแบบคงที่……………36 3.10.1 การทดลอง 1: No compression………………………………………..36 3.10.2 การทดลอง 2: Link compression………………………………………39 3.10.3 การทดลอง 3: Layer-2 payload compression………………………..40 3.10.4 การทดลอง 4: TCP/IP header compression…………………………41 3.11 การทดลองบนเน็ตเวิร์คลิงค์ที่ใช้โพรโทคอลก าหนดเส้นทางแบบผันแปร.............42 3.11.1 การทดลอง 5: No compression………………………………………..42 3.11.2 การทดลอง 6: Link compression………………………………………42 3.11.3 การทดลอง 7: Layer-2 payload compression………………………..42 3.11.4 การทดลอง 8: TCP/IP header compression…………………………43 บทที่ 4 ผลการทดลอง……………………………………………………………………………..44 4.1 ผลการทดลองบนเน็ตเวิร์คลิงค์ที่ใช้โพรโทคอลก าหนดเส้นทางแบบคงที่………….44 4.1.1 ผลการทดลอง 1: No compression……………………………………..44 4.1.2 ผลการทดลอง 2: Link compression…………………………………….47 4.1.3 ผลการทดลอง 3: Layer-2 payload compression……………………...50 4.1.4 ผลการทดลอง 4: TCP/IP header compression……………………….53 4.2 ผลการทดลองบนเน็ตเวิร์คลิงค์ที่ใช้โพรโทคอลก าหนดเส้นทางแบบผันแปร...........57 4.2.1 ผลการทดลอง 5: No compression……………………………………...57 4.2.2 ผลการทดลอง 6: Link compression…………………………………….60 4.2.3 ผลการทดลอง 7: Layer-2 payload compression................................63 4.2.4 ผลการทดลอง 8: TCP/IP header compression..................................66 IV สารบัญ (ต่อ) หน้า บทที่ 5 สรุปผลโครงงาน........................................................................................................70 5.1 สรุปผลการทดลอง..............................................................................................70 5.2 ข้อเสนอแนะเพื่อการน าไปใช้งาน........................................................................77 5.3 ข้อจากัด และความท้าทาย...................................................................................78 เอกสารอ้างอิง.......................................................................................................................79 V สารบัญรูป หน้า รูปที่ 1.1 ประเภทของการทาการบีบอัดบนเครือข่าย ………………………………………………3 รูปที่ 2.1 Binary tree of Huffman Coding……………………………………………………….11 รูปที่ 2.2 การทาการบีบอัดบนเครือข่า ย…………………………………………………………..14 รูปที่ 2.3 The OSI Model 7 Layer reference…………..……………………………………….14 รูปที่ 2.4 Header fields of TCP/IP protocol…………………………………………………….17 รูปที่ 2.5 ตัวอย่างตารางรหัสและการแทนที่ด้วยเทคนิค Lempel-Ziv Coding…………..……...18 รูปที่ 2.6 Cisco Advanced Integration Module (AIM)………………………………………….25 รูปที่ 3.1 ผังการบีบอัด (Compression Flowchart)………………………………………………29 รูปที่ 3.2 ผังการคลายการบีบอัด (De-compression Flowchart)………………………………..30 รูปที่ 3.3 แผนภาพเครือข่าย (Network Diagram)……………………………………………….31 รูปที่ 3.4 การก าหนดไอพีแอดเดรสให้ไคลเอนต์ในการทดลอง…..………………………………34 รูปที่ 3.5 การก าหนดไอพีแอดเดรสให้เซิร์ฟเวอร์ในการทดลอง….………………………………35 รูปที่ 3.6 ทดสอบการเชื่อมต่อระหว่างไคลเอนต์กับเซิร์ฟเวอร์…………………………………..35 รูปที่ 3.7 ก าหนดค่าพารามิเตอร์ของเจเพิร์ฟที่เซิร์ฟเวอร์….…………………………………….36 รูปที่ 3.8 ก าหนดค่าพารามิเตอร์ของเจเพิร์ฟที่ไคลเอนต์…………………………………………37 รูปที่ 3.9 เลือกแหล่งข้อมูลเป็น “default traffic” จากเจเพิร์ฟที่ไคลเอนต์……………………….37 รูปที่ 3.10 เลือกแหล่งข้อมูลเป็นไฟล์ประเภท “.docx” จากเจเพิร์ฟที่ไคลเอนต์………………...38 รูปที่ 3.11 เลือกแหล่งข้อมูลเป็นไฟล์ประเภท “.mp3” จากเจเพิร์ฟที่ไคลเอนต์…..……………..38 รูปที่ 3.12 เลือกแหล่งข้อมูลเป็นไฟล์ประเภท “.zip” จากเจเพิร์ฟที่ไคลเอนต์…………………...39 รูปที่ 3.13 ภาพรวมการทดลอง (Overall Experiment) ………………………….………..…….43 รูปที่ 4.1 กราฟแสดงแบนด์วิดธ์ผลการทดลองที่ 1……………………………………………….44 รูปที่ 4.2 กราฟแสดงแบนด์วิดธ์ผลการทดลองที่ 2……………………………………………….47 รูปที่ 4.3 กราฟแสดงแบนด์วิดธ์ผลการทดลองที่ 3……………………………………………….49 รูปที่ 4.4 กราฟแสดงแบนด์วิดธ์ผลการทดลองที่ 4……………………………………………….52 รูปที่ 4.5 กราฟแสดงแบนด์วิดธ์ผลการทดลองที่ 5……………………………………………….55 รูปที่ 4.6