/*auto readmore*/ /*auto readmore*/ /* an hien script*/ // an hien password /*an hien ma chuong trinh cong tru */ /*Scrollbox thanh cuon*/ /***Nhung CODE***/ /* dòng xanh dòng trắng */ /* https://cdnjs.com/libraries/prism lay thu vien, can vao ten file ma goi 1. copy link vao vi du:prism-python.min.js 2. ten ngon nua la python */ /*=== New posts ===*/ /*header slider*/ /*=== bai viet lien quan===*/ /*===tabcode===*/

IPv4 Packet Header

Nên đọc chuyên đề IPv4 trước khi xem bài này


  • Version: cho chungs ta biết version mà IP đang sử dụng, chỉ có IPv4 sử dụng header này nên khi bắt gói ta thấy giá trị thập phân là 4
  • Internet Header Length: Nó có 4 bit trong chiều dài của IP header trong 32 bit tăng. Chiều dài tối thiểu (minimum) của trường này là 5 cho biết độ dài là 5 * 32 bit = 160 bit = 20 byte (vì 1 Byte = 8 bits). Trường 4 bit có giá trị tối đa là 15 có nghĩa là kích thước tối đa của IPv4 là 15 * 32 bit = 480 bit hay 60 Byte.
  • Service Type hay Type of Service: chiều dài 8 bit, đánh dấu dữ liệu phục vụ cho việc QoS (Quality of Service) các gói tin, là tập kỹ thuật cho phép cấp phát tài nguyên một cách thích hợp cho các loại dữ liệu khác nhau, từ đó có thể đảm bảo chất lượng dịch mạng cho các loại dữ liệu này.
  • Packet Length (16 bit): cho biết kích thước toàn bộ gói tin IP (gồm header và data), kích thước tối thiểu là 20 byte (nếu không có data) và cao nhất là 65.535 byte.
  • Identification: Nếu gói tin IP bị phân mảnh thì mỗi gói tin bị phân mãnh sẽ có kích thước giống nhau là 16 bit
  • Flag (3 bit): sử dụng cho việc phân mãnh

                  + Bit đầu tiên luôn luôn được xét bằng 0
                  + Bit thứ 2 gọi là Don't Fragment (DF) không phân mảnh
                  + Bit thứ 3 gọi là More Fragments (MF) phân mảnh

  • Frag. Offset (13 bit): Xác định được vị trí của đoạn phân mảnh trong gói tin ip ban đầu.
  • Time to Live (TTL): Cứ mỗi gói tin IP đi qua router thì trường này sẽ giảm xuống 1 đơn vị. Khi TTL = 0 thì gói tin sẽ bị drop. Trường này được sử dụng để giảm loop.
  • Protocol (8 bit): Trường này được sử dụng để nhận dạng (chúng không cần mở gói tin IP để kiểm tra) giao thức nào đang truyền tải phần dữ liệu - Data của gói tin IP. Các giao thức này được truyền tải bởi giao thức IP và có gán cho một giá trị Protocol - ID. ví dụ: TCP là 6, UDP là 17, OSPF là 89.
  • Header Checksum (8 bit): Trường được sử dụng cho việc kiểm tra lỗi cho IP header
  • Source Address (32 bit): cho biết địa chỉ nào biết thiết bị nào gửi gói tin.
  • Destination Address (32 bit): cho biết địa chỉ nào sẽ nhận gói tin.

           Lưu ý: Source Address và Destination Address có thể thay đổi nếu như sử dụng NAT (Network Address Translation)

  • Options và Padding: Cho phép thêm vào tính năng mới cho giao thức IP. Nếu option không đủ 32 bit thì các bit padding sẽ được thêm vào cho đủ 32 bit.

Dưới là phần phân tích trên wireshark, chúng sẽ thấy rõ các trường của phần IP header.


Tham khảo tại đây

Xong!

No comments:

Post a Comment

/*header slide*/