Kích thước tiêu đề IPv4 tối đa


8

Tiêu đề IPv4


Tôi biết độ dài tiêu đề IP tối thiểu là 20 byte và tối đa là 60 byte. Nhưng tại sao? Tại sao độ dài tiêu đề IP bị giới hạn ở 60 byte? Có ai ở đây có thể giải thích cho tôi? Cảm ơn bạn.



1
Có câu trả lời nào giúp bạn không? nếu vậy, bạn nên chấp nhận câu trả lời để câu hỏi không xuất hiện mãi mãi, tìm kiếm câu trả lời. Ngoài ra, bạn có thể cung cấp và chấp nhận câu trả lời của riêng bạn.
Ron Maupin

Câu trả lời:


14

Các giao thức Internet (IP) được định nghĩa trong RFC 791 . RFC chỉ định định dạng của tiêu đề IP. Trong tiêu đề có trường IHL ( Internet Header length ) dài 4 bit và chỉ định độ dài tiêu đề bằng các từ 32 bit . Trường IHL có thể giữ các giá trị từ 0 (Nhị phân 0000) đến 15 (Nhị phân 1111).

Vì vậy, kích thước Internet Header (tiêu đề IP) dài nhất có thể là 15 * 32 Bits = 480 Bits = 60 Byte . Đây là lý do tại sao tiêu đề có kích thước tối đa 60 Byte.

Kích thước tiêu đề ngắn nhất là 20 byte, trong đó trường IHL có giá trị 5 (0101). Điều này là do tất cả các trường bắt buộc trong tiêu đề cần 20 byte không gian. Vì vậy, trong lý thuyết, bạn có thể đặt IHL thành một giá trị <5, đây sẽ luôn là một giá trị không chính xác và do đó, một tiêu đề gói không hợp lệ.


Cảm ơn rất nhiều Sebastian. Đây là câu trả lời tôi đang tìm kiếm. Bây giờ tôi đã hiểu chính xác. Vì vậy, sự tương tự của tôi cũng đúng. :)
ebyrock 17/03 '

Nhưng giá trị ngắn nhất sẽ là 5 vì nó được định nghĩa trong RFC 791? Vì vậy, nó không thể được đặt thành 0 (0000)?
ebyrock 17/03 '

1
Tối thiểu 5 từ (20 byte) vì đó là những phần bắt buộc của tiêu đề. Có thể có 0 hoặc nhiều tùy chọn, do đó 20 đến 60 byte.
Ricky Beam

1
Tôi đã thêm lời giải thích cho kích thước tối thiểu để làm cho nó hoàn thành.
Sebastian Wiesinger

1
điều đó có nghĩa là nó tính độ dài tiêu đề theo gia số 32 bit.
Sebastian Wiesinger

3

Theo RFC 791 nơi được xác định, xem trang 12 nơi thảo luận về datagram:

Tổng chiều dài là chiều dài của datagram, được đo bằng octet, bao gồm cả tiêu đề và dữ liệu internet. Trường này cho phép độ dài của một datagram lên tới 65.535 octet. Các datagram dài như vậy là không thực tế đối với hầu hết các máy chủ và mạng. Tất cả các máy chủ phải được chuẩn bị để chấp nhận các datagram lên tới 576 octet (cho dù chúng đến toàn bộ hoặc theo từng mảnh). Chúng tôi khuyên các máy chủ chỉ gửi các datagram lớn hơn 576 octet nếu chúng đảm bảo rằng đích đến được chuẩn bị để chấp nhận các datagram lớn hơn.

Số 576 được chọn để cho phép khối dữ liệu có kích thước hợp lý được truyền cùng với thông tin tiêu đề được yêu cầu. Ví dụ: kích thước này cho phép một khối dữ liệu gồm 512 octet cộng với 64 octet tiêu đề vừa với một datagram. Tiêu đề internet tối đa là 60 octet và tiêu đề internet thông thường là 20 octet, cho phép lề cho các tiêu đề của giao thức cấp cao hơn. "

Về cơ bản, độ dài được xác định trong khoảng từ 20 đến 60 để cho phép sử dụng các giao thức khác nhau và để phù hợp với kích thước datagram được đề xuất.


1
Cảm ơn Mike một lần nữa nhưng tôi không hiểu lắm. Trong phản hồi của bạn, nó nói rằng "Tiêu đề internet tối đa là 60 octet" nhưng không giải thích được tại sao? Tôi chèn một pic cho câu hỏi của tôi. Kích thước của tiêu đề IP được xác định trong IHL (Độ dài tiêu đề Internet) có độ dài 4-7 bit và điều đó có nghĩa là dài 4 bit. nếu chúng ta đặt tất cả các bit là 1 trong Base2 (1111) sẽ là 15 trong Base10. Và độ dài tiêu đề Internet là 32 bit từ. Chúng tôi nhân 15 x 32 = 480 bit bằng 60 byte (480/8). Tôi không chắc đó là một sự tương tự chính xác. :(
ebyrock 17/03/2016

Không cố gắng ngắn gọn nhưng 'tại sao' là: đây là cách nó được định nghĩa. Tất cả các giao thức internet có định nghĩa. Các định nghĩa này là các tiêu chuẩn mà tất cả các giao thức lưu lượng truy cập internet tuân theo.
Mike Naylor
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.