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.
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.
Câu trả lời:
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ệ.
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.