Tiêu đề gói IP: Định dạng, trường

⚡ Tóm tắt thông minh

Tiêu đề IP là siêu dữ liệu được đặt ở đầu mỗi gói IP, chứa các trường như phiên bản, độ dài tiêu đề, tổng độ dài, thời gian tồn tại, giao thức, mã kiểm tra và địa chỉ nguồn và đích mà bộ định tuyến đọc để truyền dữ liệu.

  • 🧭 Mục đích: Phần tiêu đề IP lưu trữ thông tin định tuyến và phân phối để đảm bảo mọi gói tin đều đến đúng đích trên các mạng khác nhau.
  • 📏 Kích thước: Phần tiêu đề IPv4 có kích thước từ 20 đến 60 byte, được xác định bởi trường Độ dài tiêu đề Internet (Internet Header Length).
  • 🧱 Các lĩnh vực chính: Các trường thông tin chính bao gồm Phiên bản, IHL, Loại dịch vụ, Tổng thời gian, TTL, Giao thức, Mã kiểm tra và địa chỉ.
  • 🔀 Phân mảnh: Thông tin nhận dạng, cờ và độ lệch phân mảnh cho phép chia nhỏ và lắp ráp lại các gói dữ liệu lớn một cách chính xác.
  • 🆚 IPv4 so với IPv6: IPv6 thay thế phần tiêu đề biến đổi bằng một tiêu đề cố định 40 byte và loại bỏ trường kiểm tra tổng.
  • 🤖 Hỗ trợ AI: Các công cụ phân tích gói tin AI tự động phân tích tiêu đề IP để phát hiện các bất thường và tăng tốc quá trình khắc phục sự cố.

Định dạng và các trường trong tiêu đề gói IP

Tiêu đề IP là gì?

Tiêu đề IP là thông tin meta ở đầu gói tin IP. Nó hiển thị các thông tin như phiên bản IP, độ dài gói tin, nguồn và đích đến.

Định dạng tiêu đề IPv4 có độ dài từ 20 đến 60 byte và chứa thông tin cần thiết cho việc định tuyến và truyền tải. Nó bao gồm các trường như Phiên bản, Độ dài tiêu đề, Tổng độ dài, Mã định danh, Cờ, Tổng kiểm tra, địa chỉ IP nguồn và địa chỉ IP đích. Cùng nhau, các trường này cung cấp dữ liệu thiết yếu cần thiết để transmit Truyền gói dữ liệu một cách đáng tin cậy từ máy chủ này sang máy chủ khác.

Thành phần/Trường tiêu đề IPv4

Sơ đồ bên dưới thể hiện định dạng đầy đủ của tiêu đề IPv4, với mỗi trường được vẽ ở vị trí và độ rộng bit chính xác:

Sơ đồ định dạng tiêu đề gói IPv4 hiển thị tất cả các trường và vị trí bit của chúng.

Sau đây là các thành phần/trường khác nhau của tiêu đề gói IP:

  • Phiên bản: Trường đầu tiên trong tiêu đề IP là chỉ báo phiên bản 4 bit. Trong IPv4, giá trị của bốn bit này được đặt thành 0100, biểu thị số 4 trong hệ nhị phân. Nếu bộ định tuyến không hỗ trợ phiên bản được chỉ định, gói tin sẽ bị loại bỏ.
  • Độ dài tiêu đề Internet: Độ dài tiêu đề Internet, viết tắt là IHL, có kích thước 4 bit. Nó cũng được gọi là HELEN (Header Length). Thành phần IP này cho biết có bao nhiêu từ 32 bit có trong tiêu đề.
  • Loại hình dịch vụ: Loại hình dịch vụ này còn được gọi là Dịch vụ Phân biệt Code Điểm, hay DSCP. Trường này cung cấp các tính năng liên quan đến chất lượng dịch vụ cho việc truyền dữ liệu hoặc các cuộc gọi VoIP. Ba bit đầu tiên là các bit ưu tiên. Nó cũng chỉ định cách xử lý gói dữ liệu.
  • Tổng chiều dài: Tổng chiều dài được đo bằng byte. Kích thước tối thiểu của một gói dữ liệu IP là 20 byte và tối đa là 65,535 byte. HELEN và Tổng chiều dài có thể được sử dụng để tính toán kích thước của tải trọng. Tất cả các máy chủ đều phải có khả năng đọc các gói dữ liệu 576 byte. Tuy nhiên, nếu một gói dữ liệu quá lớn đối với các máy chủ trong mạng, phương pháp phân mảnh được sử dụng rộng rãi.
  • Nhận biết: Trường Identification được sử dụng để xác định duy nhất các mảnh của gói dữ liệu IP. Một số người đã đề xuất sử dụng trường này cho các mục đích khác, chẳng hạn như thêm thông tin cho gói tin. tracing.
  • Cờ IP: Flags là một trường ba bit giúp bạn điều khiển và xác định các mảnh dữ liệu. Các cấu hình có thể là: Bit 0 được dành riêng và phải được đặt thành 0; Bit 1 có nghĩa là không phân mảnh; và Bit 2 có nghĩa là phân mảnh nhiều hơn.
  • Phần bù đắp: Fragment Offset biểu thị số byte dữ liệu nằm phía trước một fragment cụ thể trong datagram đó. Nó được chỉ định theo đơn vị 8 byte và có giá trị tối đa là 65,528 byte.
  • Thời gian để sống: Đây là trường 8 bit cho biết thời gian tối đa mà gói dữ liệu có thể tồn tại trong hệ thống internet. Mỗi khi một gói dữ liệu được xử lý, giá trị TTL của nó sẽ giảm đi một. Khi giá trị TTL đạt đến 0, gói dữ liệu sẽ bị loại bỏ để tránh việc các gói tin được gửi đi vô tận. Giá trị của TTL có thể nằm trong khoảng từ 0 đến 255.
  • Giao thức: Trường tiêu đề IPv4 này cho biết giao thức internet nào được truyền tải trong phần sau của gói dữ liệu. Ví dụ, số 6 được sử dụng để chỉ TCP, và 17 được sử dụng để chỉ giao thức UDP.
  • Tổng kiểm tra tiêu đề: Thành phần tiếp theo là trường kiểm tra tổng 16 bit trong tiêu đề, được sử dụng để kiểm tra xem tiêu đề có lỗi hay không. Tiêu đề IP được so sánh với giá trị kiểm tra tổng của nó. Khi giá trị kiểm tra tổng của tiêu đề không khớp, gói tin sẽ bị loại bỏ.
  • Địa chỉ nguồn: Địa chỉ nguồn là địa chỉ 32 bit của nguồn được sử dụng cho gói IPv4.
  • Địa chỉ điểm đến: Địa chỉ đích cũng có kích thước 32 bit và lưu trữ địa chỉ của người nhận.
  • Tùy chọn IP: Đây là một trường tùy chọn của tiêu đề IPv4, được sử dụng khi giá trị của IHL (Internet Header Length) được đặt lớn hơn 5. Nó chứa các giá trị và cài đặt liên quan đến bảo mật, định tuyến bản ghi, dấu thời gian và các tùy chọn tương tự. Danh sách các tùy chọn thường kết thúc bằng dấu hiệu Kết thúc Danh sách Tùy chọn (EOL).
  • ngày: Trường này lưu trữ dữ liệu từ lớp giao thức đã chuyển giao dữ liệu cho lớp IP.

Cách tính độ dài tiêu đề IPv4

Trường Độ dài Tiêu đề Internet (IHL) cho bộ định tuyến biết chính xác độ dài của tiêu đề để nó biết tiêu đề kết thúc ở đâu và dữ liệu bắt đầu ở đâu. Vì trường này chỉ rộng 4 bit, nên nó không lưu trữ trực tiếp độ dài bằng byte. Thay vào đó, nó đếm tiêu đề theo các từ 32 bit, trong đó mỗi từ bằng 4 byte.

Để chuyển đổi giá trị IHL thành byte, hãy nhân nó với 4:

  • Tối thiểu: Giá trị IHL hợp lệ nhỏ nhất là 5, vậy 5 × 4 = 20 byte. Đây là một tiêu đề không có tùy chọn nào.
  • tối đa: Giá trị IHL lớn nhất là 15, vậy 15 × 4 = 60 byte. 40 byte còn lại chứa các trường tùy chọn.

Hãy xem xét một ví dụ minh họa. Nếu một gói tin đến với giá trị IHL là 6, độ dài tiêu đề là 6 × 4 = 24 byte, nghĩa là có 4 byte tùy chọn sau tiêu đề chuẩn 20 byte. Để tìm kích thước của tải trọng, hãy trừ đi...tracLấy độ dài phần tiêu đề từ trường Tổng độ dài. Nếu Tổng độ dài là 1,500 byte và phần tiêu đề là 24 byte, thì phần dữ liệu sẽ là 1,500 − 24 = 1,476 byte.

Phép tính này rất quan trọng trong quá trình phân mảnh, vì bộ định tuyến phải biết kích thước tiêu đề để tính toán xem mỗi mảnh có thể mang bao nhiêu dữ liệu mà không vượt quá giới hạn tối đa của mạng. Transmission Đơn vị (MTU).

Tiêu đề IPv4 so với IPv6

Tiêu đề IPv6 đã được thiết kế lại để đơn giản hơn và xử lý nhanh hơn so với tiêu đề IPv4. Nó sử dụng độ dài cố định và chuyển các tùy chọn ít được sử dụng vào các tiêu đề mở rộng riêng biệt, do đó bộ định tuyến có thể chuyển tiếp gói tin ở tốc độ đường truyền. Bảng dưới đây so sánh hai tiêu đề từng trường một:

Tính năng Tiêu đề IPv4 Tiêu đề IPv6
Kích thước tiêu đề Từ 20 đến 60 byte (có thể thay đổi) 40 byte (đã sửa)
Số lượng trường 13 trường cộng với các tùy chọn 8 lĩnh vực
Độ dài địa chỉ Nguồn và đích 32 bit Nguồn và đích 128 bit
Tổng kiểm tra tiêu đề Hiện tại Đã loại bỏ
Các trường phân mảnh Trong phần tiêu đề cơ bản (Nhận dạng, Cờ, Độ lệch) Đã chuyển sang phần tiêu đề mở rộng Fragment.
Tùy chọn Được chứa bên trong phần đầu trang Được truyền tải trong các tiêu đề mở rộng
Trường chiều dài Tổng chiều dài (phần tiêu đề cộng với dữ liệu) Độ dài dữ liệu (chỉ dữ liệu)

Vì IPv6 loại bỏ mã kiểm tra và các tùy chọn độ dài thay đổi, nên tiêu đề của nó chứa ít trường hơn và có thể được xử lý bằng phần cứng mà không cần tính toán lại trên mỗi chặng.

Tại sao tiêu đề IP lại quan trọng

Mỗi trường trong tiêu đề IP đều tồn tại để các bộ định tuyến và máy chủ có thể di chuyển gói tin qua nhiều mạng mà không cần kết nối cố định giữa chúng. Tiêu đề chính là yếu tố giúp chuyển mạch gói hoạt động.

  • Định tuyến: Địa chỉ đích cho mỗi bộ định tuyến biết nơi cần chuyển tiếp gói tin, trong khi địa chỉ nguồn cho phép phản hồi và thông báo lỗi quay trở lại.
  • Ngăn chặn vòng lặp: Trường Thời gian tồn tại (Time to Live) giảm đi sau mỗi chặng, do đó gói tin bị định tuyến sai sẽ bị loại bỏ thay vì lưu chuyển vòng quanh internet mãi mãi.
  • Giao hàng theo đúng quy trình: Trường Protocol cho máy chủ nhận biết liệu có nên chuyển dữ liệu đến TCP, UDP hay một giao thức khác hay không.
  • Integrity và lắp ráp lại: Mã kiểm tra (checksum) bảo vệ phần tiêu đề khỏi bị hỏng, còn các trường Identification, Flags và Fragment Offset cho phép xây dựng lại gói dữ liệu bị phân mảnh theo đúng thứ tự.

Đối với các kỹ sư mạng, việc đọc các trường này trong một TCP / IP Việc ghi lại dữ liệu thường là cách nhanh nhất để chẩn đoán các gói tin bị mất, vòng lặp định tuyến và cấu hình sai. Địa chỉ IP.

Câu Hỏi Thường Gặp

Độ dài tiêu đề (IHL) chỉ đo phần tiêu đề, tính bằng từ 32 bit, và nằm trong khoảng từ 20 đến 60 byte. Tổng độ dài đo toàn bộ gói dữ liệu — bao gồm cả tiêu đề và dữ liệu — tính bằng byte, tối đa là 65,535 byte.tracPhép trừ giữa hai giá trị này sẽ cho ra kích thước tải trọng.

Phân mảnh chia nhỏ một gói dữ liệu có kích thước lớn hơn dung lượng tối đa của liên kết. Transmission Gói tin được chia thành nhiều phần nhỏ hơn. Các trường Identification, Flags và Fragment Offset cho phép đích đến lắp ráp lại các phần theo đúng thứ tự. Điều này xảy ra bất cứ khi nào một gói tin phải đi qua mạng có MTU nhỏ hơn.

Tiêu đề IPv4 có 13 trường cố định — Phiên bản, IHL, Loại dịch vụ, Tổng độ dài, Mã định danh, Cờ, Độ lệch phân mảnh, TTL, Giao thức, Tổng kiểm tra, Địa chỉ nguồn, Địa chỉ đích, cộng thêm một trường Tùy chọn tùy chọn. Phần Dữ liệu theo sau là phần tải trọng, không phải là một trường tiêu đề.

Không. Mã kiểm tra tiêu đề IPv4 chỉ bao gồm các trường tiêu đề, chứ không phải dữ liệu bên trong. Các giao thức lớp trên như TCP và UDP có mã kiểm tra riêng để bảo vệ dữ liệu. Vì TTL thay đổi ở mỗi chặng, nên bộ định tuyến sẽ tính toán lại mã kiểm tra tiêu đề trên mỗi lần chuyển tiếp.

Khi TTL đạt đến 0, bộ định tuyến sẽ loại bỏ gói tin và trả về thông báo ICMP Time Exceeded cho nguồn. Điều này ngăn các gói tin bị mất.ping mãi mãi mắc kẹt trong vòng lặp định tuyến. traceroute Công cụ này dựa vào hành vi này để lập bản đồ từng bước nhảy dọc theo một đường dẫn.

Trường Protocol xác định giao thức lớp trên nào sẽ nhận dữ liệu tại đích đến. Các giá trị phổ biến là 6 cho TCP, 17 cho UDP và 1 cho ICMP. Máy chủ nhận sẽ đọc số này để chuyển dữ liệu đến trình xử lý phù hợp.

Các công cụ trí tuệ nhân tạo và học máy phân tích các tiêu đề IP đã thu thập được để phát hiện các bất thường như địa chỉ nguồn giả mạo, giá trị TTL bất thường hoặc các cuộc tấn công phân mảnh. Chúng phân loại lưu lượng truy cập và gắn cờ các mối đe dọa nhanh hơn so với việc kiểm tra thủ công, mặc dù kỹ sư vẫn xác nhận các phát hiện trước khi hành động.

Trợ lý GitHub có thể soạn thảo Python hoặc mã C giải nén các trường tiêu đề IP, giải mã các cờ và xác thực tổng kiểm tra từ một đoạn chú thích ngắn. RevHãy xem xét kỹ mạch logic che bit được tạo ra, vì sai lệch một đơn vị là nguồn gốc phổ biến của các lỗi phân tích cú pháp.

Tóm tắt bài viết này với: