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?

  • 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.
1 Like

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

1 Like

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à 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

2 Likes

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.

1 Like

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ả=))

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?