Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Header của IPv6

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Header của IPv6

    Một trong những mục đích thiết kế IPv6 là để cải tiến header IPv4. Nó đơn giản hơn, linh hoạt hơn, và hiệu quả hơn khi sử dụng các tuỳ chọn. Một vài trường IPv4 đã được loại bỏ, một số khác được đổi tên. Địa chỉ dài gấp 4 lần, nhưng header chỉ dài gấp đôi. Tuỳ chọn mã hoá thay đổi để làm cho việc xử lý hiệu quả hơn và cung cấp sự linh hoạt hơn trong kích thước và thêm tuỳ chọn.

    1. Định dạng header

    Định dạng Header IPv6

    – Version: cho biết version IP (trong trường hợp này là 6).
    – Traffic Class: đây là trường thay thế “Type of Service” trong IPv4. Nó tạo điều kiện xử lí các dữ liệu thời gian thực và những dữ liệu khác đòi hỏi phải xử lí đặc biệt, những node gởi và router chuyển tiếp có thể sử dụng để xác định và phân biệt giữa các class khác nhau hay độ ưu tiên của các gói tin.
    – Flow Label: Trường này phân biệt các gói tin được yêu cầu đối xử như nhau để tạo điều kiện thuận lợi cho việc điều khiển lưu lượng thời gian thực. Host gửi có thể gắn nhãn thứ tự của các gói tin với một tập hợp các tuỳ chọn. Các router theo dõi luồng dữ liệu và có thể xử lí các gói tin thuộc cùng một luồng hiệu quả hơn bởi vì chúng không phải xử lí header mỗi gói tin. Flow label và địa chỉ node nguồn xác định một dòng chảy duy nhất. Các node không hỗ trợ các chức năng của trường Flow label được yêu cầu vượt qua và giữ nguyên trường label khi chuyển tiếp một gói tin và bỏ qua trường khi nhận được gói tin. Tất cả những gói tin thuộc cùng một luồng phải có cùng địa chỉ nguồn và địa chỉ đích.
    – Payload Length: là chiều dài của gói tin IP, bao gồm phần header. Header mở rộng được xem là một phần của tải trọng, do đó bao gồm trong chiều dài này.
    – Next Header: là giá trị mô tả header liền sau header IPv6. Next header có thể là header của lớp cao hơn hay của header mở rộng.

    Định dạng header IPv6 với Next Header

    – Hop Limit: giá trị giới hạn của số hop. Giá trị này được giảm bởi một node mà gói tin đi qua. Gói tin sẽ bị loại bỏ nếu hop limit đạt đến giá trị 0. Một vài chức năng của IPv6, như Router Advertisement, Neighbor Advertisement and Solicitation và IPv6 Redirect, được sử dụng giữa các thiết bị trên một link duy nhất. Một công nghệ được sử dụng bởi IPv6 để xác nhận gói tin không được gởi bởi một node off-link (có thể là một nỗ lực xấu thay đổi hướng dữ liệu) để yêu cầu hop limit đặt là 255, đây là giá trị tối đa của hop limit. Nếu gói tin đi qua một router và được gởi bởi một node off-link, giá trị hop limit sẽ nhỏ hơn 255. Một node IPv6 nhận được gói tin này và xác định gói tin không hợp lệ và loại bỏ nó.
    – Source Address/Destination Address là trường 128 bit cho địa chỉ nguồn và đích của IPv6.
    Xem hình sau ta có thể thấy được sự khác nhau giữa header IPv4 và IPv6. Chỉ những trường được yêu cầu xử lí bởi tất cả các node IP trên đường đi của gói tin được duy trì trong header IPv6. Các trường còn lại chứa thông tin có thể hoặc không liên quan đến gói tin IP được chuyển đến phần header IPv6 mở rộng.

    Header của IPv4 và Header của IPv6

    Trong IPv6, 5 trường từ các tiêu đề IPv4 đã được loại bỏ: Header Length, Identification, Flags, Fragment Offset, Header Checksum.
    Header Length: đã được loại bỏ vì nó không cần thiết với một tiêu đề cố định (tiêu đề IPv6 là 40 byte). Trong IPv4, độ dài tiêu đề tối thiểu là 20 byte nhưng nếu phần Option được thêm vào, nó có thể được mở rộng từ 4 đến 60 byte. Vì vậy, đối với IPv4, thông tin về tổng chiều dài của header là quan trọng. Trong IPv6, phần Option được định nghĩa trong header mở rộng.

    Identification, Flags, Fragment Offset: xử lý phân mảnh gói tin trong header IPv4. Sự phân mảnh xảy ra nếu một gói tin lớn được gửi qua một mạng lưới chỉ hỗ trợ kích thước gói tin nhỏ hơn. Trong trường hợp đó các bộ định tuyến IPv4 chia gói tin thành những mảnh nhỏ hơn và chuyển tiếp nhiều gói tin. Các host đích thu thập các gói tin và ghép chúng lại với nhau. Tuy nhiên, nếu chỉ một gói tin bị mất hoặc lỗi, việc truyền tải toàn bộ được thực hiện lại, điều này không thực sự hiệu quả. Trong IPv6 một host học kích thước đơn vị truyền tối đa trên đường truyền (Path Maximum Trasmission) thông qua thủ tục gọi là Path MTU Discovery. Nếu một máy chủ IPv6 muốn phân mảnh một gói tin, nó sẽ sử dụng một tiêu đề mở rộng để làm điều đó. Router IPv6 đọc con đường của một gói tin không cung cấp chức năng phân mảnh như IPv4. Vì vậy, các trường Identification, Flag, Fragment Offset đã được gỡ bỏ từ các tiêu đề IPv6 và được gắn vào một tiêu đề mở rộng bởi các các host nguồn nếu cần thiết.

    Header Checksum: được loại bỏ để cải thiện tốc độ xử lý. Nếu router không phải kiểm tra và cập nhật checksum, thì xử lý trở nên nhanh hơn. Ngoài ra đã có trường checksum ở lớp truyền tải (UDP, TCP). Với IPv4 thì một UDP checksum là tuỳ chọn nhưng đối với IPv6 thì UDP checksum là bắt buộc. Vì thế trường header checksum thực sự không cần thiết.
    Trường Traffic Class thay thế cho trường “Type of Service”.
    Trường Protocol Type và Time-to-Live đã được đổi tên và chỉnh sửa.
    Trường Flow Label đã được thêm vào.

    2. Header mở rộng (Extention Header)
    Thông tin tuỳ chọn của lớp mạng không được bao gồm trong header IPv6. Nó bao gồm những header riêng rẽ được mã hoá và đặt giữa IPv6 và header lớp trên. Khi gói tin đi từ nguồn tới đích, các Node trong gian không được phép xử lý các Extension Header đến khi nó đến đích, hoặc những node đích (trường hợp địa chỉ Multicast) trừ một vài trường hợp ngoại lệ. Trường hợp ngoại lệ như là Hop-by-Hop Extension Header. Sự có mặt của trường Hop-byhop buộc gói tin phải kiểm tra bởi tất cả các Node trung gian trên đường từ nguồn đến đích, bao gồm cả node nguồn và đích.

    Header mở rộng

    Thứ tự của Extension Header
    Việc xử lý các header mở rộng phải diễn ra theo đúng tuần tự mà các header sắp xếp trong gói tin IPv6. Không bao giờ được phép xảy ra trường hợp node đích quét qua toàn bộ gói tin và chọn ra một header nào đó để xử lý trước.

    Header và giá trị của Next Header

    Trong bảng trên ta có thể thấy Header Destination Options xuất hiện 2 lần. Nó có ý nghĩa khác nhau với mỗi vị trí. Khí nó xảy ra trước Routing Header, header được kiểm tra bởi điểm đến đầu tiên xuất hiện trong trường đích của header IPv6, và bởi các địa chỉ theo sau được liệt kê trông header routing. Khi Destination Options xuất hiện mà không có Routing Header, hay theo sau là Routing Header thì option được xử lí bởi đích đến cuối cùng của gói tin.
    Sau đây là mô tả cách header mở rộng được sử dụng:

    Cách sử dụng header mở rộng

    Trong mỗi header, giá trị next-header mô tả header theo sau nó. Sau khi đọc header IPv6, nếu mode xử lý không phải là node đích, và next-header không phải là hop-by-hop, gói tin được chuyển tiếp. Nếu node là đích đến, thì nó xử lý mỗi header trong thứ tự nhận được.
    – Hop-by-Hop Options Header
    Thông tin bao gồm trong header Hop-by-Hop Options phải được kiểm tra bởi các node dọc đường đi đến node đích. Hop-by-Hop Options phải được đặt ngay sau header IPv6. Nó cho phép những router dọc đường có thể kiểm tra header mà không cần xử lý bất cứ header mở rộng nào khác.
    – Routing Header
    Đảm nhiệm xác định đường dẫn định tuyến của gói tin. Địa chỉ được liệt kê trong tiêu đề định tuyến xác định những node phải được truy cập trước khi đến đích. Header IPv6 chứa node đầu tiên được truy cập và tiêu đề định tuyến chứa danh sách các node còn lại, bao gồm cả node đích.
    Tiêu đề định tuyến có chứa Next-Header, Length, Type, Segment Left và các trường địa chỉ. Trường Type có một giá trị được xác định, type 0. Trường Segment Left chứa số lượng các node được liệt kê một cách rõ ràng vẫn chưa được truy cập trước khi đạt tới đích.
    – Fragment Header
    Được sử dụng khi một node muốn gởi một gói tin có kích thước lớn hơn MTU của con đường đến đích. Node nguồn chịu trách nhiệm phân mảnh các gói dữ liệu nếu MTU của liên kết dọc theo đường truyền tải nhỏ hơn so với gói tin. Các router dọc đường đi không phân mảnh gói tin. Node nguồn phân mảnh gói tin và gởi nhiều gói tin đó và được nối lại bởi đích đến. Node nguồn sử dụng tiến trình gọi là MTU path discovery để xác định MTU nhỏ nhất dọc đường đến node đích.
    – Destination Options Header
    Header chứa những option phải được xử lý bởi đích đến của gói tin IPv6. Khi header ngay trước header routing, option được xử lý bởi mỗi node trong header routing. Khi header ngay trước header Upp-Layer Protocol, nó được xử lý bởi đích đến cuối cùng.
    – Authentication
    Header Authentication được thêm vào IPv6. Mục đích là để cung cấp tính toàn vẹn và xác thực cho các gói IP.
    – Encapsulating Security Payload
    Tính toàn vẹn và bảo mật được cung cấp bởi Encapsulating Security Payload (ESP). Ta có thể sử dụng header Authentication kết hợp vởi ESP để cung cấp sự xác thực.

    Nguyễn Ngọc Tân – VnPro
    Phạm Thanh Đông Khê
    Email: dongkhe@vnpro.org
    Hãy share hoặc like nếu thông tin hữu ích!
    ---------------------------------------------------------------------------------------------------------------------------------------------------
    Trung Tâm Tin Học VnPro
    149/1D Ung Văn Khiêm, P.25, Q.Bình Thạnh, Tp.HCM
    Tel: (08) 35124257 (5 lines)
    Fax: (08) 35124314

    Home Page: http://www.vnpro.vn
    Forum: http://www.vnpro.org
    Twitter: https://twitter.com/VnVnpro
    LinkedIn: https://www.linkedin.com/in/VnPro
    - Chuyên đào tạo quản trị mạng và hạ tầng Internet
    - Phát hành sách chuyên môn
    - Tư vấn và tuyển dụng nhân sự IT
    - Tư vấn thiết kế và hỗ trợ kỹ thuật hệ thống mạng

    Videos: http://www.dancisco.com
    Blog: http://www.vnpro.org/blog
    FB: http://facebook.com/VnPro
Working...
X