280 likes | 618 Views
Network Layer Protocal: Internet Protocol, Address Mapping, Error Reporting. Internetworking. Internetworking คือ การเชื่อมต่อ network เข้ากับ network อื่น ๆ โดยถ้ามีแค่ Physical และ Data Link Layer จะสามารถส่งข้อมูลได้แค่ใน network เดียวกันเท่านั้น ( Hop-to-hop ) ดังรูป.
E N D
Network Layer Protocal: Internet Protocol, Address Mapping, Error Reporting
Internetworking Internetworking คือ การเชื่อมต่อ network เข้ากับ network อื่น ๆ โดยถ้ามีแค่ Physical และ Data Link Layer จะสามารถส่งข้อมูลได้แค่ใน network เดียวกันเท่านั้น(Hop-to-hop)ดังรูป
Network Layer ใน Internetworking Network Layer ถูกออกแบบมาเพื่อให้สามารถติดต่อข้ามเครือข่ายได้
รูปแบบการทำงานของ Network Layer ในผู้ส่งและผู้รับ ในฝั่งผู้ส่งจะมีการสร้าง Packet ที่ได้รับข้อมูลมาจาก protocol อื่น โดยที่ Header จะประกอบไปด้วย Logical Address ของต้นทางและปลายทาง รวมถึงข้อมูลเส้นทาง (Routing Information) ที่ได้จาก Routing Table ส่วนผู้รับจะทำการตรวจสอบ Logical Address ของปลายทาง
รูปแบบการทำงานของ Network Layer ใน Router ใน Router เมื่อได้รับ Packet เข้ามาจะมีการค้นหาเส้นทางจาก Routing Table แล้วทำการแก้ไขใน Header เดิมในส่วนของ Routing information ให้สามารถส่งผ่านไปยังเส้นทางที่ต้องการได้
Internet Protocol version 4 (IPv4) Internet Protocol version 4 มีกลไลในการรับส่งข้อมูลโดยใช้ TCP/IP protocolโดยมีตำแหน่งใน TCP/IP ดังรูป
Datagram Packet ใน IPv4 จะถูกเรียกว่า ดาต้าแกรม (Datagram) มีรูปแบบดังนี้
รายละเอียดต่าง ๆ ใน Datagram • ฟิลด์ VER (Version) เก็บเวอร์ชันของไอพี • ฟิลด์ HLEN (Header length) เก็บขนาดของเฮดเดอร์ • ฟิลด์ DS (Differentiated service) เก็บคลาสของเดทาแกรม • ฟิลด์ Total length บอกความยาวทั้งหมดของเดทาแกรม • ฟิลด์ identification, Flag และ offset เกี่ยวกับการแฟรกเมนต์ • ฟิลด์ TTL(time of live)ควบคุมจำนวนโหนดเราเตอร์สูงสุดที่เดทาแกรมสามารถเดินทางผ่านได้ • ฟิลด์ Protocol บอกโพรโตคอลที่อยู่ด้านบนที่ต้องการใช้บริการไอพีเลเยอร์
รายละเอียดต่าง ๆ ใน Datagram • ฟิลด์ Header checksum ใช้สำหรับการตรวจสอบความผิดพลาดของเฮดเดอร์เท่านั้น ไม่รวมส่วนข้อมูล (data) • ฟิลด์ Source address กำหนดไอพีแอดเดรสของต้นทาง • ฟิลด์ Destination address กำหนดไอพีแอดเดรสของปลายทาง • ฟิลด์ Option ทดสอบและตรวจสอบความผิดปกติของเครือข่าย
ตัวอย่างการคำนวณหา checksum ใน Datagram
การทำแฟรกเมนต์ (Fragmentation) ใน IP datagram จะมีการกำหนดความยาวสูงสุดของข้อมูล (MTU) ที่สามารถใส่เข้าไปในเฟรมได้ (Encapsulate) ตารางค่า MTU ใน Protocol ต่าง ๆ
ตัวอย่างการทำแฟรกเมนต์ตัวอย่างการทำแฟรกเมนต์ เนื่องจากข้อมูลที่ต้องการส่งมีความยาวมากกว่าความยาวสูงสุดที่กำหนด จึงจำเป็นต้องแบ่งข้อมูลออกเป็น Packet ย่อย ๆ จากในรูปกำหนดให้ข้อมูลทั้งหมด 4000 byte โดยเริ่มจาก byte ที่ 0000 – 3999 และความยาวสูงสุดคือ 1400 byte เพราะฉะนั้นจะถูกแบ่งได้ดังรูป
ตัวอย่างการทำแฟรกเมนต์ตัวอย่างการทำแฟรกเมนต์
Address Mapping ใน Network Layer จะใช้ Logical Address ในการกำหนดที่อยู่เพื่อรับส่งข้อมูล แต่เมื่อข้อมูลถูกส่งไปยัง Data Link Layer จำเป็นต้องใช้ Physical Address ดังนั้นจึงมีการค้นหา Physical Address (MAC Address) ของโหนดต่อไปที่ต้องการส่งจาก Logical Address (IP Address) โดยวิธี Address Mapping Protocol ที่ใช้คือ ARP (Address Resolution Protocol)
การทำงานของ ARP ก่อนที่จะส่งข้อมูล,Packet ARP จะถูกส่งแบบ broadcast ถ้า IP Address ตรงกับระบบใดก็จะมีการตอบกลับมาเป็น MAC Address
รูปแบบ Packet ของ ARP • HTYPE (hardware type) บอกถึงชนิดของฮาร์ดแวร์ที่ ARP ทำงานอยู่ • PTYPE (protocol type) ทำหน้าที่บอกว่าเฟรม ARP นี้ถูกเรียกใช้จากโพรโตคอลใด • HLEN (hardware length) ทำหน้าที่ระบุความยาวของ Physical Address ในกรณีของอีเทอร์เน็ตก็จะมีค่าเป็น 6 • PLEN (protocol length) ทำหน้าที่ระบุความยาวของแอดเดรสของโพรโตคอลที่เรียกใช้ ซึ่งในกรณีนี้ที่เรียกจากระบบ IP ก็จะมีค่าเป็น 4 • OPER (operation) ทำหน้าที่ระบุการทำงานของ ARP โดยจะมี 4 ค่า คือ • 01 หมายถึง ARP Request ใช้ในการค้นหา MAC Address • 02 หมายถึง ARP Replay ใช้ในการตอบกลับเพื่อบอก MAC Address • 03 หมายถึง RARP Request ใช้ในการค้นหาหมายเลขของโพรโตคอล • 04 หมายถึง RARP Replay ใช้ในการตอบกลับเพื่อบอกหมายเลขของ โพรโตคอล • sender hardware address MAC Address ของผู้ส่ง • sender protocol address IP Address ของผู้ส่ง • target hardware address MAC Address ของผู้รับ • target protocol address IP Address ของผู้รับ
การใส่ ARP packet ในเฟรมข้อมูล ARP packet จะถูกใส่ไว้ในส่วนของ Data ใน Data Link frame โดยมีการกำหนดชนิด (Type)เป็น 0x0806 ดังรูป
ตัวอย่าง ARP ARP Request ในส่วนของ MAC Address ของปลายทางจะเป็น 0 ทั้งหมดก่อน
ProxyARP ในทางกลับกัน ถ้าเราต้องการ IP Address จาก MAC Address จะใช้ Protocol เช่น RARP, BOOTP, DHCP
Error Reporting Error Reporting คือการรายงานความผิดพลาดที่เกิดขึ้น ซึ่งใน IP protocol จะไม่มีการรายงานความผิดพลาดใด ๆ ดังนั้นจึงมีอีกหนึ่ง protocol ที่ใช้ในการรายงานความผิดพลาดไปยังผู้ส่ง คือ ICMP (Internet Control Message Protocol ) ICMP มีรูปแบบดังนี้
เมสเซจรายงานความผิดพลาด (Error Reporting Message) • - Destination unreachable คือ Router ไม่สามารถหาเส้นทางไปยังปลายทางได้ • - Source quench คือ ต้นทาง, ปลายทาง และ Router ไม่มีการเชื่อมต่อกัน • - Time exceeded คือ บางครั้งเวลาที่ Router หาเส้นทางอาจจะเป็นวงกลมทำให้ packet วนไปวนมา ทำให้ไม่ถึงปลายทาง จนหมดเวลาที่กำหนด • Parameter problems คือ ใน header ของ datagram มีปัญหา
เมสเซจสอบถาม (Query Message) • - Echo req. and rep. คือ ใช้สอบถามว่ามีการเชื่อมต่อกันอยู่หรือไม่ เช่นคำสั่ง ping • - Timestamp req. andrep. คือ สอบถามเวลาที่ใช้ในการรับส่ง • - Address-mask req. and rep. คือ สอบถาม Mask ของ IP Address นั้น • Router solicitation req. and rep. เกี่ยวข้องกับ Redirection message
Debugging Tools ใน Internet มีการ Debug โดยใช้เครื่องมือต่าง ๆ เพื่อตรวจสอบ Router หรือ คอมพิวเตอร์ต่าง ๆ เครื่องมือที่จะแนะนำใน ICMP คือ ping และ traceroute ping จะใช้ในการตรวจสอบการเชื่อมต่อกับปลายทาง traceroute เป็นคำสั่งใน UNIX หรือ tracert ใน Windows จะใช้ในการตรวจสอบหาเส้นทางของ packet จากต้นทางไปยังปลายทาง