30/09/2018, 19:22

[TCP/IP] IPv4 datagram

Phần header lenght (IHL) có độ dài 4 bit, giá trị nhỏ nhất quy định là 5 (0101) tính ra là 5 x 4 = 20byte. Mọi người cho mình hỏi tại sao lại tính ra là 5 x 4 = 20 byte?

Pham Van Hai viết 21:26 ngày 30/09/2018
  • Header của IPv4 được xây dựng bằng tập hợp 4 bytes (32 bit).
  • Gói IPv4 có kích thước nhỏ nhất là 20 bytes (chỉ có header không bao gồm phần Options + padding, data ) nên sẽ cần 5 lần 4 bytes = 5 x 4 = 20 bytes.
Vu Van Chung viết 21:32 ngày 30/09/2018

Tại vì đơn vị tính của nó là words, 1 word = 4byte nên có như vậy đó bạn

Nguyễn Hồng Hải viết 21:28 ngày 30/09/2018

phần header là 4bit chứ bạn

Nguyễn Hồng Hải viết 21:26 ngày 30/09/2018

Bạn giải thích kĩ cho mình đc ko? nghĩa là phần header lenght là 4 word hả bạn?

void viết 21:32 ngày 30/09/2018

Nhìn vào cái hình là đã thấy độ dài nhỏ nhất là 20 byte rồi. phần màu hồng là OptionsPadding có thể có hoặc không.

5 phần còn lại mỗi phần dài 32 bit, tức là 4 byte -> độ dài nhỏ nhất phải là 5 * 4 = 20 byte

Trên wikipedia nói là: The second field (4 bits) is the Internet Header Length (IHL), which is the number of 32-bit words in the header. Tức là đơn vị của IHL tính theo word (có độ dài 32 bit). Giá trị nhỏ nhất của IHL là 5 word, 5 word = 20 byte

Pham Van Hai viết 21:35 ngày 30/09/2018

Bạn này nhầm nhọt lung tung rồi, header nào của IPv4 là 4 bít. Cái 4 bit bạn nói ấy là một trường nhỏ của header (header length)-> chứa thông tin về độ dài (length) của header. Còn header của IPv4 bao gồm tất cả các trường như hình minh họa bạn post lên đấy.

Neyugn Nav Yud viết 21:38 ngày 30/09/2018

vì đơn vị của headerlength là 4 byte mà ôg

Nguyễn Hồng Hải viết 21:36 ngày 30/09/2018

à ừ ok ông hôm trước tôi xem lại thì hiểu rồi tại nó bao gồm đến cả phần destination IP nữa nên tôi ko hiểu sao lại x5 đó mà=)) cũng lượn lờ lên đây hả=))

Bài liên quan
0