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?
TCP/IP: IPv4 datagram
- 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.
Tại vì đơn vị tính của nó là words, 1 word = 4byte nên có như vậy đó bạn
phần header là 4bit chứ bạn
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?
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à Options
và Padding
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
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.
vì đơn vị của headerlength là 4 byte mà ôg
à ừ 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ả=))