วันอังคารที่ 15 กันยายน พ.ศ. 2552

Network and Transport Layers(cont) + Network Layer

Subnets and Subnet Masks
- Allow arbitrary complexity of internetworked LANs within organization
- Insulate overall internet from growth of network numbers and routing complexity
- Site looks to rest of internet like single network
- Each LAN assigned subnet number
- Host portion of address partitioned into subnet number and host number
- Local routers route within subnetted network
- Subnet mask indicates which bits are subnet number and which are host number
การใช้ Private Address
- ใช้งานภายในองค์กรเท่านั้น จะต่อออกภายนอกต้องผ่าน NAT
- ไม่ใช่ Global Address, Nonroutable


RFC 1918
- 10.0.0.0-10.255.255.255
- 172.16.0.0-172.31.255.255
- 192.168.0.0-192.168.255.255
ข้อดี : แก้ปัญหา IP ไม่พอ, Security, Adaptability, Flexibility
ข้อเสีย : ในเรื่องการติดต่อสาขา, การรวมบริษัท


เทคนิคการทำงานร่วมกันระหว่าง IPv4 และ IPv6 แบ่งออกเป็น 3 ประเภทด้วยกันคือ
การทำ dual stack เป็นวิธีพื้นฐานที่สุด
ทำงานโดยใช้ IP stack สองอันคือ IPv4 stack และ IPv6 stack ทำงานควบคู่กัน เมื่อใดที่แอพพลิเคชั่นที่ใช้เป็น IPv4 ข้อมูลแพ็กเก็ตก็จะถูกส่งออกผ่านทาง IPv4 stack เมื่อใดที่แอพพลิเคชั่นที่ใช้เป็น IPv6 ข้อมูลแพ็กเก็ตก็จะถูกส่งออกผ่านทาง IPv6 stack การทำ dual stack เป็นทางออกที่ง่ายที่สุดแต่ไม่ใช่ long term solution เนื่องจากยังจำเป็นต้องใช้ IPv4 address ที่โฮสต์หรือเร้าท์เตอร์ที่ใช้ dual stack นั้น

การทำ tunneling
เป็นอีกวิธีที่ใช้กันแพร่หลายเพราะเหมาะสมกับการสื่อสารระหว่างเครือข่าย IPv6 ผ่านเครือข่าย IPv4 การส่งข้อมูลทำได้โดยการ encapsulate IPv6 packet ภายใน IPv4 packet ที่ tunneling gateway ก่อนออกไปยังเครือข่าย IPv4 ที่ปลายทาง ก่อนเข้าไปสู่เครือข่าย IPv6 ก็จะต้องผ่าน tunneling gateway อีกตัวซึ่งทำหน้าที่ decapsulate IPv6 packet และส่งต่อไปยังจุดหมายปลายทาง จะเห็นได้ว่าการทำ tunneling นี้จะใช้ไม่ได้สำหรับการสื่อสารโดยตรงระหว่างเครื่องในเครือข่าย IPv6 และเครื่องในเครือข่าย IPv4

การทำ translation
การทำ translation จะช่วยในการสื่อสารระหว่างเครือข่าย IPv6 และ IPv4 เทคนิคการทำ translation มีสองแบบ แบบแรกคือการแปลที่ end host โดยเพิ่ม translator function เข้าไปใน protocol stack โดยอาจอยู่ที่ network layer,TCP layer, หรือ socket layer ก็ได้ แบบที่สองคือการแปลที่ network device โดยจะต้องใช้ gateway ทำหน้าที่เป็น IPv6-IPv4 และ IPv4-IPv6 translator อยู่ที่ทางออกที่มีการเชื่อมต่อระหว่างเครือข่าย IPv6 และ IPv4



Chapter 21: Network Layer

Address Resolution
DNS จะทำหน้าที่เก็บว่า Address ใน Application Layer ตรงกับ IP ใด- ทันทีที่ข้อมูลมาถึงยัง Gateway ที่อยู่ subnet เดียวกับเป้าหมาย TCP/IP Software จะทำหน้าที่ประกาศ IP ที่ต้องการจะสื่อสารด้วย และให้เป้าหมายที่มี IP ดังกล่าว ระบุ MAC Address ตนเองออกมา


ARP (Address Resolution Protocol)
กลไกการทำงานของ ARP
การทำงานของ ARP เป็นเรื่องไม่ซับซ้อน มีเพียง 2 ขั้นตอนเท่านั้นคือ
1. เครื่องที่ต้องการสอบถาม MAC Address ส่ง ARP packet เรียกว่า ARP Request ซึ่งบรรจุ IP , MAC Address ของตนเอง และ IP Address ของเครื่องที่ต้องการทราบ MAC Address ส่วน MAC Address ปลายทางนั้น จะถูกกำหนดเป็น FF:FF:FF:FF:FF:FF ซึ่งเป็น Broardcast Address เพื่อให้ ARP packet ถูกส่งไปยังเครื่องทุกเครื่องที่อยู่ในเน็ตเวิร์คเดียวกัน

2. เฉพาะเครื่องที่มี IP Address ตรงกับที่ระบุใน ARP Packet จะตอบกลับมาด้วย ARP Packet เช่นกัน โดยใส่ MAC Address และ IP Address ของตนเองเป็นผู้ส่ง และใส่ MAC Address และ IP Address ของเครื่องที่ส่งมาเป็นผู้รับ packet ที่ตอบกลับนี้เรียกว่า ARP Reply

Routing
Router มีหน้าที่หลักคือ การเลือกเส้นทางในการส่งแพ็กเกต (path selection) และ การส่งแพ็กเกตไปยังปลายทาง (packet switching) หัวใจหลักของ Router คือการเลือกเส้นทางที่ดีที่สุด
Routing Table ถูกใช้ในการหาการจับคู่ที่ดีที่สุดระหว่าง destination IP และ network address ใน routing table

Routing Protocol : โปรโตคอลเลือกเส้นทาง
โปรโตคอลเลือกเส้นทาง ในการคำนวณและจัดหาเส้นทาง ที่ดีที่สุด ที่เร็วที่สุด ไปสู่ปลายทางในรูปแบบของ Software
- Interior Routing Protocol (โปรโตคอลเกตเวย์ภายใน)
- Exterior Routing Protocol (โปรโตคอลเกตเวย์ภายนอก)

Types of routing
1. การค้นหาเส้นทางจากโหนดศูนย์กลาง (Centralized Routing)

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


2. การค้นหาเส้นทางที่ตัวโหนดเอง (Distributed Routing)
กำหนดให้แต่ละโหนดจัดการเก็บ ตารางเส้นทางไว้ โดยแต่ละโหนดมีหน้าที่ส่งข้อมูลสถานะการทำงาน (เช่นเดียวกับแบบศูนย์กลาง) ไปยังโหนดข้างเคียงของตนเองทุกโหนด ข้อมูลในตารางเส้นทางจึงเป็นเพียงข้อมูลสถานะการทำงานย่อย และเนื่องจากจำนวนโหนดข้างเคียงจะมีอยู่ไม่มากนักทำให้แต่ละโหนดสามารถปรับปรุงข้อมูลให้มีความทันสมัยอยู่ตลอดเวลา การที่โหนดหนึ่งหยุดทำงานก็จะไม่มีผลต่อการค้นหาเส้นทางของโหนดอื่น ในระบบนี้ แม้ว่าจะมีปริมาณข้อมูลเพิ่มขึ้น (เพื่อแจ้งสถานะการทำงาน) แต่ประสิทธิภาพที่สูงขึ้น ก็ถือการเลือกเส้นทางของ Interior Routing Protocol นั้นจะมีการเลือกเส้นทางอยู่สองกรณีด้วยกัน ซึ่งล้วนแล้วแต่มีความสำคัญต่อการทำงานต่างๆ แทบทั้งสิ้น

ประเภทของ Distributed Routing

Static Routing Protocol
- Routing Protocol ประเภทนี้จะมันจะทำการหาเส้นทางตามที่เรากำหนดและไม่มีการเรียนรู้เส้นทาง ที่เป็นแบบออโตเมติคนัก ซึ่งจะเป็นผลเสียต่อระบบมาก

Dynamic Routing Protocol
- Routing Protocol ประเภทนี้จะมันจะทำการหาเส้นทางตามที่เรากำหนดและช่วยจัดการอำนวยความสะดวกเกี่ยวกับการสร้าง Routing Table โดยมันมีหน้าที่หลักอยู่ 2 อย่างด้วยกันคือ หาเส้นทางที่ดีที่สุดในการส่งข้อมูลไปยังปลายทาง และ กระจาย Routing Information ไปยังเครื่องอื่นๆ ในเครือข่าย


Dynamic Routing Algorithms
Link-state Routing Protocol
ลักษณะกลไกการทำงานแบบ Link-state routing protocol คือตัว Router จะ Broadcast ข้อมูลการเชื่อมต่อของเครือข่ายตนเองไปให้ Router อื่นๆทราบ ข้อมูลนี้เรียกว่า Link-state ซึ่งเกิดจากการคำนวณ Router ที่จะคำนวณค่าในการเชื่อมต่อโดยพิจารณา Router ของตนเองเป็นหลักในการสร้าง routing table ขึ้นมา ดังนั้นข้อมูล Link-state ที่ส่งออกไปในเครือข่ายของแต่ละ Router จะเป็นข้อมูลที่บอกว่า Router นั้นๆมีการเชื่อมต่ออยู่กับเครือข่ายใดอย่างไร และเส้นทางการส่งที่ดีที่สุดของตนเองเป็นอย่างไร โดยไม่สนใจ Router อื่น และกรณีที่มีการเปลี่ยนแปลงภายในเครือข่าย เช่น มีบางวงจรเชื่อมโยงล่มไปที่จะมีการส่งข้อมูลเฉพาะที่มีการเปลี่ยนแปลงไปให้ ซึ่งมีขนาดไม่ใหญ่มากตัวอย่างโปรโตคอลที่ใช้กลไกแบบ Link-state ได้แก่ โปรโตคอล OSPF (Open Shortest Path First) สำหรับ Interior routing protocol นี้บางแห่งก็เรียกว่า Intradomain routing protocol

Distance-vector Routing Protocol
ลักษณะที่สำคัญของการติดต่อแบบ Distance-vector คือ ในแต่ละ Router จะมีข้อมูล routing table เอาไว้พิจารณาเส้นทางการส่งข้อมูล โดยพิจารณาจากระยะทางที่ข้อมูลจะไปถึงปลายทางเป็นหลัก ดังรูปจากรูป Router A จะทราบว่าถ้าต้องการส่งข้อมูลข้ามเครือข่ายไปยังเครื่องที่อยู่ใน Network B แล้วนั้น ข้อมูลจะข้าม Router ไป 1 ครั้ง หรือเรียกว่า 1 hop ในขณะที่ส่งข้อมูลไปยังเครื่องใน Network C ข้อมูลจะต้องข้ามเครือข่ายผ่าน Router A ไปยัง Router B เสียก่อน ทำให้การเดินทางของข้อมูลผ่านเป็น 2 hop อย่างไรก็ตามที่ Router B จะมองเห็น Network B และ Network C อยู่ห่างออกไปโดยการส่งข้อมูล 1 hop และ Network A เป็น2 hop ดังนั้น Router A และ Router B จะมองเห็นภาพของเครือข่ายที่เชื่อมต่ออยู่แตกต่างกันเป็นตารางข้อมูล routing table ของตนเอง จากรูปการส่งข้อมูลตามลักษณะของ Distance-vector routing protocol จะเลือกหาเส้นทางที่ดีที่สุดและมีการคำนวณตาม routing algorithm เพื่อให้ได้ผลลัพธ์ออกมา ซึ่งมักจะเลือกเส้นทางที่ดีที่สุดและมีจำนวน hop น้อยกว่า โดยอุปกรณ์ Router ที่เชื่อมต่อกันมักจะมีการปรับปรุงข้อมูลใน routing table อยู่เป็นระยะๆ ด้วยการ Broadcast ข้อมูลทั้งหมดใน routing table ไปในเครือข่ายตามระยะเวลาที่ตั้งเอาไว้ การใช้งานแบบ Distance-vector เหมาะกับเครือข่ายที่มีขนาดไม่ใหญ่มากและมีการเชื่อมต่อที่ไม่ซับซ้อนเกินไป ตัวอย่างโปรโตคอลที่ทำงานเป็นแบบ Distance-vector ได้แก่ โปรโตคอล RIP (Routing Information Protocol) และโปรโตคอล IGRP (Interior Gateway Routing Protocol)

ไม่มีความคิดเห็น:

แสดงความคิดเห็น