@rticle

IP : Internet Protocol
 
 

 

 

 

 

IP เป็นโปรโตคอลในระดับเน็ตเวิร์คเลเยอร์ ทำหน้าที่จัดการเกี่ยวกับแอดเดรสและข้อมูลการควบคุมการส่งข้อมูลบางอย่างที่ใช้ในการหาเส้นทางของแพคเกจ ซึ่งกลไกในการหาเส้นทางของ IP จะมีความสามารถในการหาเส้นทางที่ดีที่สุด และสามารถเปลี่ยนแปลงเส้นทางได้ในระหว่างการส่งข้อมูล และมีระบบการแยกและการประกอบ datagram เพื่อรองรับการส่งข้อมูลในระดับ data link ที่มีขนาด MTU (Maximum Transmission Unit) ที่แตกต่างกัน ทำให้สามารถนำ IP ไปใช้ในโปรโตคอลอื่นได้หลากหลาย เช่น Ethernet, Token Ring หรือ Apple Talk

การเชื่อมต่อของ IP เพื่อทำการส่งข้อมูล จะเป็นแบบ connectionless หรือเกิดเส้นทางการเชื่อมต่อในทุกๆครั้งของการส่งข้อมูล 1 datagram โดยจะไม่ทราบถึงข้อมูล datagram ที่ส่งก่อนหน้าหรือส่งตามมาแต่การส่งข้อมูลใน 1 datagram อาจจะเกิดการส่งได้หลายครั้งในกรณีที่มีการแบ่งข้อมูลออกเป็นส่วนย่อยๆ (fragmentation) และถูกนำไปรวมเป็น datagram เดิมเมื่อถึงปลายทาง

IP Header

 

Version

(4 bit)

Header length

(4 bit)

Type of service

(8 bit)

Total length in bytes

(16 bit)
Identification (16 bit)

Flag

(3 bit)

Fragment offset

(13 bit)

Time to live (TTL)

(8 bit)
Protocol (8 bit) Header checksum (16 bit)

Source IP address

(32 bit)

Destination IP address

(32 bit)
Option

Data

 

เฮดเดอร์ของ IP โดยปกติจะมีขนาด 20 ไบต์ ยกเว้นในกรณีที่มีการเพิ่ม option บางอย่าง ฟิลด์ของเฮดเดอร์ IP จะมีความหมายดังนี้

-          version หมายเลขเวอร์ชันของโปรโตคอล ที่ใช้งานในปัจจุบันคือ เวอร์ชัน 4 (IPv4) และเวอร์ชัน 6 (IPv6)

-          header length ความยาวของเฮดเดอร์โดยทั่วไปถ้าไม่มีส่วน option จะมีค่าเป็น 5 (5*32 bit)

-          type of service (TOS) ถูกออกแบบมาเพื่อใช้ในการเก็บค่าของ Minimize delay, Maximize Throughput, Maximize reliability, Maximize Monetary cost เพื่อเป็นข้อมูลสำหรับเราท์เตอร์ในการตัดสินใจเลือกการเราท์ข้อมูลแต่ละ datagram แต่ในปัจจุบันไม่ได้มีการนำไปใช้งานแล้ว

-          length ความยาวทั้งหมดเป็นจำนวนไบต์ของ datagram ซึ่งด้วยขนาด 16 บิตของฟิลด์ จะหมายถึงความยาวสูงสุดของ datagram คือ 65535 ไบต์ (64 K) แต่ในการส่งข้อมูลจริง ข้อมูลจะถูกแยกเป็นส่วนๆ ตามขนาดของ MTU ที่กำหนดในลิงค์เลเยอร์ และนำมารวมกันอีกครั้งเมื่อส่งถึงปลายทาง แอพพลิเคชันส่วนใหญ่จะมีขนาดของ datagram ไม่เกิด 512 ไบต์

-          identification เป็นหมายเลขของ datagram ในกรณีที่มีการแยก datagram เมื่อข้อมูลส่งถึงปลายทางจะนำข้อมูลที่มี identification เดียวกันมารวมกัน

-          flag ในกรณีที่มีการแยก datagram

-          fragment offset ใช้ในการกำหนดตำแหน่งของข้อมูลใน datagram ที่มีการแยกส่วน เพื่อให้สามารถนำกลับมาเรียงต่อกันได้อย่างถูกต้อง

-          Time To Live(TTL) กำหนดจำนวนครั้งที่มากที่สุดที่ datagram จะถูกส่งระหว่าง hop (การส่งผ่านข้อมูลระหว่างเน็ตเวิร์ค) เพื่อป้องกันไม่ให้เกิดการส่งข้อมูลโดยไม่สิ้นสุด โดยเมื่อข้อมูลถูกส่งไป 1 hop จะทำการลดค่า TTL ลง 1 เมื่อค่าของ TTL เป็น 0 และข้อมูลยังไม่ถึงปลายทาง ข้อมูลนั้นจะถูกยกเลิก และเราเตอร์สุดท้ายจะส่งข้อมูล ICMP แจ้งกลับมายังต้นทางว่าเกิด time out ในระหว่างการส่งข้อมูล

-          protocol ระบุโปรโตคอลที่ส่งใน datagram เช่น TCP, UDP หรือ ICMP

-          header checksum ใช้ในการตรวจสอบความถูกต้องของข้อมูลในเฮดเดอร์

-          source IP address คือ หมายเลข IP ของผู้ส่งข้อมูล

-          destination IP address คือ หมายเลข IP ของผู้รับข้อมูล

หน้าถัดไป หน้า 2 >>>