Các header mở rộng được sử dụng phổ biến
Header mở rộng không được nhìn thấy như là một đặc tính bí mật của IPv6 điều này khuyến khích phạm vi của mạng và phát triển dịch vụ. Các header mở rộng là một phần bên trong giao thức IPv6 và hỗ trợ một số chức năng cơ bản và đảm bảo cho dịch vụ. Dưới đây là một danh sách chi tiết về các header mở rộng được dùng phổ biến ở đâu.
• Hop-by- Hop option (giao thức 0) : Bình thường chỉ có nút đầu cuối mới xử lý header mở rộng. Duy nhất ngoại trừ qui tắc Hop-by-Hop option header. Header này, giống như tên của nó, quá trình xử lý phải được thực thi tại mỗi lần khi một packet đi qua một router.Nó có thể khả thi với bất kỳ kiểu nào của quá trình xử lý. Ví dụ sử dụng của header này là Jumbogram option. Trường chiều dài tải trọng (Payload Length field)(chỉ rõ chiều dài của packet loại trừ IPv6 header) trong phần header cơ bản của IPv6 là 16 bit, vì thế nó có thể chỉ rõ tới 65536 octect. Khi cần thiết để gửi một packet lớn hơn kích thước này, Jumbogram Option cho phép chỉ rõ chiều dài của packet trong phần header mở rộng.
• Destionation Option header (giao thức 60) : phần mào đầu tùy chọn đích được sử dụng để chỉ rõ quá trình cần được thực thi bởi node đích. Nó có thể chỉ rõ bất kỳ kiểu xử lý nào. Chỉ có node đích mới xử lý header mở rộng của IPv6. Vì thế các header mở rộng khác như Fragment header có thể được gọi là Destination Option header. Tuy nhiên, Destionation Option header khác với các header khác là nó có thể chỉ rõ các loại xử lý khác nhau.
• Routing (giao thức 43) : Phần mào đầu định tuyến được sử dụng để chỉ rõ việc định tuyến đường đi. Ví dụ, nó có thể chỉ rõ dịch vụ Internet cung cấp cho người dùng, và bảo vệ sự thực thi để chỉ rõ mục đích. Node nguồn sử dụng Routing header để có danh sách địa chỉ của các router mà packet phải đi qua. Các địa chỉ được chỉ rõ trong danh sách sẽ được sử dụng như các địa chỉ đích để IPv6 packet có thể đến đích và packet sẽ được gửi từ một router khác cũng tương tự như vậy.
• Fragment header (giao thức 44) : Phần mào đầu phân mảnh được sử dụng khi packet IPv6 nguồn cần gửi một packet lớn hơn MTU của tuyến đó, và làm thế nào để xây dựng lại các packet từ các phân đoạn của nó. MTU là kích thước lớn nhất của packet có thể đi qua tuyến đó. Trong một mạng như Internet, một tuyến với băng thông hẹp giữa nguồn và đích là một vấn đề quan trọng. Việc cố gắng gửi một packet lớn xuyên qua một đường hẹp sẽ dẫn đến việc tràn. Trong IPv4, mỗi router trong tuyến có thể chia packet theo giá trị của MTU được gửi ở mỗi giao diện. Tuy nhiên, quá trình này là một gánh nặng đè lên router. Bởi vậy, trong IPv6 chỉ có node nguồn mới chia nhỏ packet.
Node nguồn của IPv6 sẽ thực hiện thực hiện thuật toán tìm kiếm Path MTU, tìm ra những đường có băng thông hẹp nhất trong toàn bộ một đường dẫn nhất định, và quyết định khích thước packet phù hợp với băng thông trước khi gửi chúng. Quan sát từ khía cạnh khác, nếu có tuyến với băng thông rộng từ nguồn đến đích, thì nguồn có thể gửi các packet với kích thước lớn.
Nếu ứng dụng nguồn áp dụng cơ chế này, nó sẽ gửi với kích thước data là tối ưu,và không cần đến sự quá trình xử lý tại lớp IP. Tuy nhiên, nếu ứng dụng không sử dụng cơ chế này, nó sẽ đổ ra ngoài các packet có kích thước lớn hơn MTU mà nó khám phá. Trong trường hợp này, nó phải chia nhỏ gói tin có kích thước lớn hơn MTU tìm thấy bằng thuật toán Path MTU Discovery. Các gói tin sẽ được chia nhỏ tại tầng IP của node nguồn và Fragment header được sử dụng.
54 trang |
Chia sẻ: lethao | Lượt xem: 3200 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đồ án Các giải pháp chuyển đổi IPv4- IPv6, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
i từ Internet qua IPv4 sang IPv6. Một nhóm làm việc đặc biệt tại IETF được gọi là Next-Generation (thế hệ kế tiếp) chuyển đổi từ IPv4 sang IPv6 (NGtrans) được tạo ra để làm tiêu điểm cho sự chuyển đổ. NGtrans làm việc trong sự hợp tác kín với nhóm làm việc IPv6 (trước đây gọi là IPng) để tạo ra những chiến lược và cơ chế chuyển tiếp. “IPv6 chiến lược cùng tồn tại và hợp nhất” được tập trung vào các chiến lược và cơ chế trọn vẹn.
Sự chuyển đổi đến IPv6 đã được thiết kế để tất cả các node IPv4 không được yêu cầu để nâng cấp cùng lúc. Cả IPv4 và IPv6 có thể được sử dụng đồng thời trên công nghệ cùng lớp liên kết dữ liệu, một sự chuyển tiếp mịn từ mạng IPv4 đến mạng IPv6 mong muốn. Sự chuyển đổi và những cơ chế cùng tồn tại cho phép những tổ chức để cung cấp kết nối IPv6 như khách hàng, nhân viên nghiên cứu và phát triển, người làm thuê qua cơ sở hạ tầng IPv4 hiện thời của họ cho đến khi có đủ yêu cầu cho IPv6 hay khi một chiến lược công ty được nhận nâng cấp cơ sở hạ tầng đến IPv6. Có nhiều cách chuyển đổi và cơ chế cùng tồn tại được thực hiện và được ứng dụng trongcác vị trí khác nhau:
Dual-stack node over IPv4 networks
Cô lập chỉ các node IPv6 qua các mạng IPv4
Node chỉ IPv4 có thể nói với các mạng IPv6
Chỉ các node IPv6 có thể nói qua các mạng IPv4
Hình 3.14, một host với IPv6 và các IPv4 stack trong mạng IPv4 có thể thiết lập một đường hầm IPv6- over-IPv4 đến router biên. Router có thể chuyển các gói tin IPv6 đến các mạng IPv6 chính. Cớ chế này cung cấp kết nối IPv6 trong mạng IPv4 nhưng không đủ để chuyển đổi tất cả cơ sở hạ tầng mạng tới IPv6.
Hình 3.14 : Cơ chế cho phép chuyển đổi giữa các node Daul-Stack qua mạng IPv4 đến mạng IPv6
Những node IPV6 có thể liên kết qua mạng IPv4 sử dụng router với cơ chế 6to4, như hình 3.15.
Hình 3.15 : Cơ chế chuyển đổi 6to4
Hoạt động của IPv6
Cấu trúc của header IPv6
Cấu trúc của header IPv4
IP packet được truyền thông qua các công nghệ ở lớp liên kết dữ liệu như Ethernet (10 Mbps), Fast Ethernet (100 Mbps), Gigabit Ethernet (1000 Mbps), Frame Relay, và nhiều công nghệ khác. Mỗi một dòng công nghệ ở lớp liên kết dữ liệu thì có cấu trúc khung riêng để mang gói IP packet. Như hình 3.16, một IP packet được truyền giữa phần đầu và phần cuối của một khung ở lớp liên kết. Một IP packet có 2 thành phần cơ bản:
IP header : IP header bao gồm nhiều trường được các router sử dụng để chuyển tiếp gói tin từ mạng nguồn đến mạng đích. Các trường trong IP header được nhận dạng bởi người gửi, người nhận, và giao thức vận chuyển và định nghĩa nhiều tham số khác.
Payload : Chứa thông tin (data) được gửi đến người nhận bởi người gửi.
Hình 3.16 : IP packet chứa trong khung của lớp liên kết dữ liệu bao gồm phần mào đầu và phần tải trọng
Hình 3.17 trình bày về phần mào đầu của IPv4 chứa 12 trường. Được định nghĩa trong RFC 791, mỗi trường của header IPv4 có chức năng riêng.
Hình 3.17 : Các trường của Header IPv4
Các trường của IPv4:
Version (4bit) : Trường version của header IP cho biết phiên bản được sử dụng trên Internet là 4 (IPv4). Trường này chứa giá trị là 4
Header Length (4bit) : Chiều dài của header
Type of Service (TOS) (8 bit) : Trường này có 8 bit giá trị, cung cấp quyền ưu tiên cho mỗi gói tin. Giá trị chứa trong trường này là giá trị đánh giá chất lượng QoS dựa vào đó Router sẽ định tuyến gói tin theo thứ tự ưu tiên.
Total Length (16 bit) : Trường này cho biết kích thước của gói IP packet, bao gồm phần header và payload. Trường này có 16 bit, vì thế chiều dài tối đa của IPv4 packet là 65635 octets.
Identification (16 bit), Flags (3bit), và Fragment Offset (13bit) : Các trường này liên quan đến việc router phân đoạn packet khi MTU qua đường dẫn có tải trọng nhỏ hơn MTU của người gửi. MTU có kích thước lớn nhất của các IP packet có thể truyền trong các môi trường thông tin đặc biệt như Ethernet, Fast Ethernet,… Ví dụ như Ethernet có MTU là 1500 octets.
Time to Live (8 bit) : Trường này giảm đi một giá trị khi packet đi qua một router. Khi trường này chứa giá trị 0, thì packet sẽ bị bỏ, và một Giao thức tạo thông điệp điều khiển Internet của IPv4 (ICMPv4) với giá trị Type 11 báo lỗi về cho node nguồn.
Protocol Number (8 bit) : Chỉ ra giao thức được sử dụng ở lớp trên trong phần payload của packet, như Giao thức điều khiển vận chuyển (TCP), Giao thức dữ liệu người dùng (UDP), Giao thức thông điệp điều khiển Internet (ICMP), hoặc bất kỳ các giao thức khác. Các giao thức để hỗ trợ được định nghĩa bởi Internet Assigned Numbers Authority (IANA).
Header Checksum (16 bit) : kết quả kiểm tra của IP header và được sử dụng để kiểm tra lỗi. Trường này có giá trị thay đổi và phải thực hiện tính toán lại tại các router trung gian mà gói tin đi qua.
Source IPv4 Address (32 bit) : Chứa địa chỉ IPv4 của người gửi
Destionation IPv4 Address (32 bit) : Chứa địa chỉ IPv4 của người nhận
Options (có thể có hoặc không ) : Trường Optional làm thay đổi kích thước và gia tăng chiều dài của header khi cần sử dụng.
Padding (có thể có hoặc không) : Padding được sử dụng để đảm bảo rằng packet có đủ 32 bit. Nó được sử dụng để gia tăng kích thước của header.
Payload (có giá trị thay đổi) : Payload không phải là một trong các trường tiêu đề của IPv4 header. Đúng hơn, nó mang data được gửi cho địa chỉ nhận.
Trong IPv6 loại bỏ bớt một số trường trong IPv4. Như chỉ ra trong hình 3.19 các trường có màu xám và màu đen. Lý do chính để loại bỏ các trường này là :
Header Length : IPv4 header cơ bản chỉ có 20 byte. Tuy nhiên, IPv6 header cơ bản có chiều dài cố định là 40 octets. Chiều dài header IPv4 cho biết tổng chiều dài của packet, bao gồm trường Option. Khi hiện diện, trường Option làm gia tăng chiều dài của IPv4 header. Thay vì sử dụng trường Option, IPv6 sử dụng trường mở rộng (Extension field). Trường mở rộng được cũng xử lý khác với trường Option của IPv4.
Header Checksum : Các công nghệ lớp liên kết đường truyền (lớp 2) thực hiện tổng kiểm tra và điều khiển lỗi. Sự tin cậy của lớp liên kết đường truyền là đảm bảo và các giao thức ở lớp trên như TCP và UDU (lớp 4) đã có sự kiểm tra của riêng nó. Kiểm tra UDP, đây là tùy chọn trong IPv4, nhưng bắt buột trong IPv6. Vì thế, kiểm tra tại lớp 3 là dư thừa, vì thế trường Header Checksum là không cần thiết trong IPv6 và việc trế do phải tính toán lại khi packet qua một router được loại bỏ.
Options and Padding : Trường Option được loại bỏ trong IPv6. Và trong IPv6 trường này được điều khiển bởi header mở rộng. Trường Padding cũng được loại bỏ. Sự loại bỏ trường Option và Padding làm cho cấu trúc của header đơn giản hơn. Thật ra, IPv6 header có độ dài cố định là 40 octets, cho phép quá trình xử lý ít hơn cho các router dọc theo tuyến so với IPv4. Các trường khác trong header IPv4, trường loại dịch vụ (Type of Service), trường tổng chiều dài (Total Length), trường thời gian sống (Time to Live), trường số giao thức (Protocol Number), trường địa chỉ nguồn IPv4, trường địa chỉ đích IPv4, là không thay đổi hoặc chỉ có một sự thay đổi nhỏ.
Cấu trúc cơ bản của header IPv6
Như được định nghĩa trong RFC 2460 đã chỉ rõ giao thức mạng phiên bản 6 (IPv6), Header IPv6 chủ yếu bao gồm 8 trường, so với 12 trường trong IPv4 (loại bỏ trường Option và Padding), vì thế tổng chiều dài là 40 octect. Hơn nữa, header IPv6 cơ bản có thêm một trường mới là trường header mở rộng gồm nhiều mắc xích để chỉ cho biết 40 octect phía sau.
Giao thức IPv6 đại diện cho sự nâng cấp của giao thức IPv4. Như được thể hiện trong hình 3.18, trường điều khiển nhãn (Flow Label) và phần header mở rộng với sự biến đổi độ dài mới trong IPv6. Các trường cơ bản của header IPv6 được trình bày như sau :
Version (4 bit) : trường phiên bản của IP. Trường này chứa giá trị là 6 hơn giá trị trong IPv4 chỉ là 4 trong mỗi gói IPv4.
Traffic Class (8 bit) : Trường này có chức năng tương tự như trường Type of Service trong IPv4. Trường tag của IPv6 packet với điểm mã dịch vụ khác nhau (Diferentiated Services Code Point - DSCP) chỉ rõ làm thế nào để phân cấp ưu tiên cho packet.
Flow Label (20 bit) : Trường này được sử dụng để gắn tag cho IPv6 packet. Đây là một trường mới trong giao thức IPv6. Hiện nay chuẩn IETF chưa đặc tả chi tiết làm thế nào để quản lý và xử lý của Flow Label.
Payload Length (16 bit ) : Trường này thể hiện chiều dài của payload. Payload là một phần của packet chứa trong header IPv6.
Next Header (8 bit) : Trường này định nghĩa các loại thông tin được đề cập đến trong các phần chủ yếu của header IPv6. Các thông tin này có thể là giao thức ở lớp trên như TCP hoặc UDP, hoặc có thể là một trong các tùy chọn mới của phần header mở rộng. Trường Next header cũng tương tự như trường Protocol Number trong IPv4. Các giao thức được hỗ trợ được định nghĩa bởi IANA.
Hop Limit (8 bit) : Trường này định nghĩa số hop tối đa (các router trung gian) mà IP packet có thể đi qua. Khi đi qua mỗi hop giá trị này sẽ giảm đi một. Như trong IPv4, khi trường này có giá trị 0, packet được loại bỏ và giao thức điều khiển thông điệp mạng – ICMPv6 với loại Type là 3 được gửi trở về node nguồn.
Source Address (128 bit) : Trường này nhận dạng địa chỉ nguồn IPv6 của người gửi
Destination Address (128 bit) : Trường này nhận dạng địa chỉ đích IPv6 của người nhận.
Hình 3. 18 : Các trường chủ yếu trong IPv6 Header
Bảng 3-1 : Bảng so sánh Header của IPv4 và IPv6
Các trường của IPv4 Header
Các trường của IPv6 Header
So sánh giữa Header IPv4 và Header của IPv6
Version (4 bit)
Version (4 bit)
Có chức năng giống nhau nhưng header IPv6 chứa một giá trị mới
Chiều dài Header (4bit)
–
Trường này được loại bỏ trong IPv6. Header IPv6 luôn luôn là 40 octects
Type of Service (8 bit)
Traffic class (8 bit)
Chức năng giống nhau cho cả hai header
_
Flow Label (20 bit)
Đây là trường được thêm vào để đánh tag cho các packet IPv6
Identification (16 bit)
_
Được loại bỏ trong IPv6 bởi sự phân đoạn được IPv6 điều khiển theo cách riêng
Flags (3 bit)
–
Được loại bỏ trong IPv6 bởi sự phân đoạn được IPv6 điều khiển theo cách riêng
Fragment offset (13bit)
–
Được loại bỏ trong IPv6 bởi sự phân đoạn được IPv6 điều khiển theo cách riêng
Time to live (8 bit)
Hop limit (8 bit)
Chức năng giống nhau cho cả hai header
Protocol number (8 bit)
Next header (8 bit)
Chức năng giống nhau cho cả hai header
Header checksum (16bit)
–
Được loại bỏ trong IPv6. Các công nghệ lớp liên kết và các giao thức ở lớp trên đã điều khiển việc kiểm tra và phát hiện lỗi
Source address (32 bit)
Source address (128 bit)
Địa chỉ nguồn của IPv6 được mở rộng
Destination address (32 bit)
Destination address (128 bit)
Địa chỉ đích của IPv6 được mở rộng
Option (biến đổi)
–
Được loại bỏ trong IPv6. Đây là phương pháp điều khiển các tùy chọn khác nhau trong IPv4
Padding (biến đổi)
–
Được loại bỏ trong IPv6. Đây là phương pháp điều khiển các tùy chọn khác nhau trong IPv4
–
Extension headers
Đây là phương pháp điều khiển các tùy chọn, sự phân đoạn, bảo mật, di động, không xác định rõ nguồn định tuyến, bản ghi đường đi, …. trong IPv6. Các mục trên đều được thể hiện trong trường mở rộng của IPv6
Hình 3.19 : So sánh header của IPv4 và IPv6
Phần mào đầu mở rộng của IPv6
IPv6 sử dụng 2 loại header phân biệt nhau : Header IPv6 chính và Header IPv6 mở rộng. Header IPv6 chính có giá trị cơ bản giống IPv4 mặc dù có một vài trường khác. Trường Option (tùy chọn) trong IPv4 header được sử dụng để truyền đạt các thông tin thêm vào trong packet hoặc một phương pháp buột phải xử lý. Các router nếu không được chỉ dẫn khác thì phải xử lý các tùy chọn trong IPv4 packet. Quá trình xử lý phần tùy chọn này làm chậm hiệu suất của router cũng như hiệu suất chuyển tiếp gói tin.
Sự thi hành các tùy chọn IPv4 có vai trò quan trọng trong giao thức hoạt động của IP tuy nhiên khả năng này không được IPv6 sử dụng. Một cách thức điều khiển khác, có tác động như các tùy chọn trong IPv4 được quan tâm và phát triển cho IPv6. Chức năng của các tùy chọn này được loại bỏ khỏi phần header chính và thực hiện xuyên qua việc thiết lập một header cộng thêm được gọi là header mở rộng. Phần header chính vẫn được duy trì kích thước cố định là 40 byte trong khi phần header mở rộng (EH) là tùy biến để thêm vào các nhu cầu cần thiết.
Các router xử lý các packet, cần phải xử lý các header cơ bản trước, ngoại trừ một số trường hợp đặc biệt, chúng không phải xử lý header mở rộng. Router có thể xử lý gói tin hiệu quả hơn vì chúng biết chỉ cần nhìn vào phần header cơ bản với chiều dài như nhau (40 octect). Header mở rộng được chia thành nhiều loại tùy thuộc vào dạng và chức năng chúng phục vụ. Khi nhiều dịch vụ thêm vào được sử dụng, phần header mở rộng tương ứng với từng loại dịch vụ khác nhau được đặt tiếp nối theo nhau.
Trong cấu trúc header IPv6, có thể thấy 8 bit của trường Next Header. Trường này sẽ xác định xem header mở rộng có tồn tại hay không, khi mà header mở rộng không được sử dụng, header cơ bản chứa mọi thông tin tầng IP. Nó sẽ được theo sau bởi header của tầng cao hơn, tức hoặc là header của TCP hay UDP, và trường Next Header chỉ ra loại header sẽ theo sau. Mỗi header mở rộng cũng chứa trường Next Header và xác định header mở rộng nào sẽ theo sau nó. Node đầu cuối khi nhận được gói tin chứa header mở rộng sẽ xử lý các header mở rộng này theo thứ tự được sắp xếp của chúng.
RFC 2460 định nghĩa các header mở rộng như chỉ ra trong bảng 3.2 cùng với giá trị được gán của Next Header.
Bảng 3-2 : Các loại mào đầu mở rộng của IPv6 và các tùy chọn của nó trong gói tin
Order
Header Type
Next Header Code
1
Basic IPv6 Header
–
2
Hop-by-Hop Options
0
3
Destination Options (with Routing Options)
60
4
Routing Header
43
5
Fragment Header
44
6
Authentication Header
51
7
Encapsulation Security Payload Header
50
8
Destionation Options
60
9
Mobility Header
135
No next header
59
Upper Layer
TCP
6
Upper Layer
UDP
17
Upper Layer
ICMPv6
58
RFC 2460 qui định khi sử dụng nhiều header mở rộng thì bắt buột phải theo thứ tự sau:
1. Phần header IPv6 cơ bản
Hop-by-Hop Option header (nếu hiện diện nó phải được xử lý đầu tiên theo phần header chính)
Destination Option header
Routing header
Fragment header
Authentication header
Encapsulation Security Payload header
Destination Option header
Upper- layer header
Các header mở rộng được sử dụng phổ biến
Header mở rộng không được nhìn thấy như là một đặc tính bí mật của IPv6 điều này khuyến khích phạm vi của mạng và phát triển dịch vụ. Các header mở rộng là một phần bên trong giao thức IPv6 và hỗ trợ một số chức năng cơ bản và đảm bảo cho dịch vụ. Dưới đây là một danh sách chi tiết về các header mở rộng được dùng phổ biến ở đâu.
Hop-by- Hop option (giao thức 0) : Bình thường chỉ có nút đầu cuối mới xử lý header mở rộng. Duy nhất ngoại trừ qui tắc Hop-by-Hop option header. Header này, giống như tên của nó, quá trình xử lý phải được thực thi tại mỗi lần khi một packet đi qua một router.Nó có thể khả thi với bất kỳ kiểu nào của quá trình xử lý. Ví dụ sử dụng của header này là Jumbogram option. Trường chiều dài tải trọng (Payload Length field)(chỉ rõ chiều dài của packet loại trừ IPv6 header) trong phần header cơ bản của IPv6 là 16 bit, vì thế nó có thể chỉ rõ tới 65536 octect. Khi cần thiết để gửi một packet lớn hơn kích thước này, Jumbogram Option cho phép chỉ rõ chiều dài của packet trong phần header mở rộng.
Destionation Option header (giao thức 60) : phần mào đầu tùy chọn đích được sử dụng để chỉ rõ quá trình cần được thực thi bởi node đích. Nó có thể chỉ rõ bất kỳ kiểu xử lý nào. Chỉ có node đích mới xử lý header mở rộng của IPv6. Vì thế các header mở rộng khác như Fragment header có thể được gọi là Destination Option header. Tuy nhiên, Destionation Option header khác với các header khác là nó có thể chỉ rõ các loại xử lý khác nhau.
Routing (giao thức 43) : Phần mào đầu định tuyến được sử dụng để chỉ rõ việc định tuyến đường đi. Ví dụ, nó có thể chỉ rõ dịch vụ Internet cung cấp cho người dùng, và bảo vệ sự thực thi để chỉ rõ mục đích. Node nguồn sử dụng Routing header để có danh sách địa chỉ của các router mà packet phải đi qua. Các địa chỉ được chỉ rõ trong danh sách sẽ được sử dụng như các địa chỉ đích để IPv6 packet có thể đến đích và packet sẽ được gửi từ một router khác cũng tương tự như vậy.
Fragment header (giao thức 44) : Phần mào đầu phân mảnh được sử dụng khi packet IPv6 nguồn cần gửi một packet lớn hơn MTU của tuyến đó, và làm thế nào để xây dựng lại các packet từ các phân đoạn của nó. MTU là kích thước lớn nhất của packet có thể đi qua tuyến đó. Trong một mạng như Internet, một tuyến với băng thông hẹp giữa nguồn và đích là một vấn đề quan trọng. Việc cố gắng gửi một packet lớn xuyên qua một đường hẹp sẽ dẫn đến việc tràn. Trong IPv4, mỗi router trong tuyến có thể chia packet theo giá trị của MTU được gửi ở mỗi giao diện. Tuy nhiên, quá trình này là một gánh nặng đè lên router. Bởi vậy, trong IPv6 chỉ có node nguồn mới chia nhỏ packet.
Node nguồn của IPv6 sẽ thực hiện thực hiện thuật toán tìm kiếm Path MTU, tìm ra những đường có băng thông hẹp nhất trong toàn bộ một đường dẫn nhất định, và quyết định khích thước packet phù hợp với băng thông trước khi gửi chúng. Quan sát từ khía cạnh khác, nếu có tuyến với băng thông rộng từ nguồn đến đích, thì nguồn có thể gửi các packet với kích thước lớn.
Nếu ứng dụng nguồn áp dụng cơ chế này, nó sẽ gửi với kích thước data là tối ưu,và không cần đến sự quá trình xử lý tại lớp IP. Tuy nhiên, nếu ứng dụng không sử dụng cơ chế này, nó sẽ đổ ra ngoài các packet có kích thước lớn hơn MTU mà nó khám phá. Trong trường hợp này, nó phải chia nhỏ gói tin có kích thước lớn hơn MTU tìm thấy bằng thuật toán Path MTU Discovery. Các gói tin sẽ được chia nhỏ tại tầng IP của node nguồn và Fragment header được sử dụng.
Authentication và ESP (giao thức 51, 50): IPSec là phương thức bảo mật bắt buột được sử dụng tại tầng IP. Mọi node IPv6 phải thực thi IPSec. Tuy nhiên, thực thi và tận dụng lại là khác nhau, và IPSec cso thực sự được sử dụng trong giao tiếp hay không phụ thuộc vào thời gian và từng trường hợp. Khi IPSec được sử dụng, Authentication header sẽ được sử dụng để xác định những thông tin liên quan đến mã hóa dữ liệu, được tổ hợp lại thành extension header. Trong IPv4, khi có sử dụng đến IPSec, thông tin được đặt trong trường Option.
IPv6 ứng dụng một hệ thống tách biệt các dịch vụ gia tăng khỏi các dịch vụ cơ bản và đặt chúng trong header mở rộng, cao hơn nữa phân loại các header mở rộng theo chức năng của chúng. Làm như vậy, sẽ giảm tải nhiều cho router, và thiết lập nên được một hệ thống cho phép bổ sung một cách linh động các chức năng, kể cả các chức năng hiện nay chưa thấy rõ ràng.
Hình 3.20 trình bày cấu trúc của packet IPv6 sử dụng các header mở rộng. Đây là một ví dụ về packet được gửi từ Mobile Node A đến Mobile Node B qua tuyến đường đã được khám phá trước, vì thế nó sử dụng Routing EH (43) và Destionation Option EH (60). Nó gửi qua tuyến có MTU nhỏ hơn kích thước gói tin của các node di động, do đó sử dụng Fragmentation EH (44).
Hình 3.20 : Lưu lượng giữa hai node di động trên đường được dự trù định tuyến
Các loại địa chỉ IPv6
Hình 3.21 trình bày về 3 loại địa chỉ của IPv6 bao gồm : unicast, anycast,và multicast. Dưới phạm vi của mỗi loại địa chỉ là một hoặc nhiều loại loại địa chỉ. Unicast bao gồm : link-local, site-local, aggregatable global, loopback, unspectified, và địa chỉ IPv4-compatible. Anycasst có : aggregatable global, site-local, và link-local. Multicast được gán và solicited-node. Chiều dài sơ đồ địa chỉ của IPv6 là 128 bit được gán cho từng loại địa chỉ.
Hình 3.21 : Các loại địa chỉ trong cấu trúc địa chỉ của IPv6
Uncicast
Địa chỉ Unicast xác định một giao diện đơn bên trong phạm vi các loại địa chỉ. Phạm vi của địa chỉ là miền của mạng IPv6 mà qua đó phải yêu cầu tính duy nhất của địa chỉ. Với công nghệ định tuyến unicast thích hợp, địa chỉ packet là địa chỉ unicast được phân phối cho mỗi giao diện đơn. Để cung cấp cho các hệ thống load-balancing, RFC 2373 cho phép nhiều giao diện sử dụng địa chỉ có chiều dài giống nhau được xuất hiện như một giao diện đơn đến các host thực thi trong mạng IPv6.
Các loại địa chỉ unicast IPv6 :
Địa chỉ Aggregatable global unicast
Địa chỉ Link-local
Địa chỉ Site-local
Địa chỉ đặc biệt
Địa chỉ tương thích
Địa chỉ NSAP
Địa chỉ Aggregatable global unicast.
Địa chỉ Aggregatable Global Unicast là địa chỉ IPv5 được sử dụng cho các đặc tính chung của lưu lượng IPv6 trên mạng IPv6. Địa chỉ Aggregatable global unicast cũng tương tự như địa chỉ unicast được sử dụng để thông tin qua mạng IPv4. Địa chỉ Aggregatable Global Unicast đại diện cho hầu hết các cấu trúc địa chỉ quan trọng của IPv6. Cấu trúc của Aggregatable global unicast cho phép tập hợp chính xác các tiền tố định tuyến để giới hạn vùng định vị trong bảng định tuyến của Internet toàn cầu.
Mỗi địa chỉ Aggregatable global unicast IPv6 có 3 phần :
Tiền tố được nhận từ nhà cung cấp : Tiền tố này được gán tới một tổ chức bởi một nhà cung cấp tiền tố phải có ít nhất là /48, như trong khuyến nghị của RFC 3177. Tiền tố /48 được miêu tả là một chuỗi 48 bit ở phần cao đặc trưng cho tiền tố của mạng. Hơn nữa, tiền tố được gán cho một tổ chức là phần tiền tố của nhà cung cấp.
Site : Với một tiền tố /48 phân phối cho một tổ chức bởi nhà cung cấp, điều này cho phép một tổ chức có đến 65,535 mạng con (chỉ định cho tiền tố 64 bit tới mạng con). Tổ chức này có thể sử dụng bit thứ 49 đến 64 (16bit) để phân phối tiền tố cho các mạng con.
Host : Phần host sử dụng để nhận dạng cho mỗi giao diện của node. Phần địa chỉ này của IPv6 được miêu tả là phần địa chỉ 64 bit thấp, được gọi là interface ID.
Như được chỉ ra ở hình 3.22, tiền tố 2001:0410:0110::/48 được gán bởi nhà cung cấp cho một tổ chức. Sau đó, tổ chức này dùng tiền tố 2001:0410:0110:0002::/64 để cấp phát cho các mạng con. Cuối cùng, một node trong mạng con này có thể có địa chỉ IPv6 là 2001:0410:0110:0200:CBCF:1234:4402.
Hình 3.22 : Địa chỉ Aggregatable Global Unicast
Địa chỉ Link-local.
IPv6 giới thiệu phạm vi địa chỉ unicast, điều này có thể chỉ được sử dụng trong ngữ cảnh bị giới hạn. Địa chỉ unicast link-local là ý nghĩa và chỉ được sử dụng giữa các node được kết nối trong cùng mạng nội bộ. Địa chỉ link-local được sử dụng cho nhiều cơ chế IPv6 khác nhau, như là Giao thức khám phá hàng xóm (Neighbor Discovery Protocol- NDP). Khi một bộ nhớ IPv6 được cho phép trên một node, một địa chỉ link-local được gán tự động cho mỗi giao diện của node tại cùng khoảng thời gian khởi động. Như được chỉ ra trong hình 3.23, tiền tố link-local IPv6 FE80::/10 được sử dụng và nhận dạng giao diện trong cấu trúc nhận dạng mở rộng duy nhất EUI-64 được gán vào như là 64 bit cho phần địa chỉ ở mức thấp. Các bit từ thứ 11- 64 được gán bằng 0 (54 bit). Địa chỉ link-local chỉ được sử dụng trong phạm vi local-link và không bao giờ được dùng làm địa chỉ để thông tin giữa các mạng con bên trong một site.
Hình 3.23 : Địa chỉ Link-Local
Trong IPv6, node có địa chỉ Aggregatable global unicast trong một local- link sử dụng địa chỉ link-local để làm tuyến đường IPv6 mặc định hơn là sử dụng địa chỉ Aggregatable global unicast. Nếu việc đánh số lại mạng diễn ra, điều này có nghĩa là tiền tố unicast aggregatable được thay đổi thành một tiền tố mới, tuyến đường mặc định có thể luôn đạt được bằng việc sử dụng địa chỉ link-local. Địa chỉ link-local của các node và các router không thay đổi trong quá trình mạng được đánh số lại.
Địa chỉ Site-local
Địa chỉ site-local là một phạm vi địa chỉ khác unicast chỉ được sử dụng bên trong một site. Các địa chỉ site-local không được dùng làm địa chỉ mặc định cho các node như địa chỉ link-local, điều này có nghĩa là địa chỉ này phải được gán. Địa chỉ site-local tương tự như vùng địa chỉ trong IPv4, như là 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, được định nghĩa trong RFC 1918, địa chỉ này được cấp cho các vùng Internet riêng. Các địa chỉ Site-local có thể được sử dụng cho bất kỳ tổ chức mà không cần nhận không gian địa chỉ aggregatable global unicast IPv6 từ nhà cung cấp. Tiền tố Site-local và địa chỉ có thể được gán cho bất kỳ node và router nào trong một site. Tuy nhiên, các địa chỉ site-local không được dùng để tìm đường trên Interent IPv6 toàn cầu. Hình 3.24 thể hiện địa chỉ site-local bao gồm tiền tố FEC0::/10, một trường 54 bit được gọi là Subnet-ID, và nhận dạng giao diện trong cấu trúc EUI-64 được sử dụng như 64 bit ở phần thấp. 54 bit Subnet-ID có giá trị cho các site subnetting. Điều này cho phép một site có đến 254 subnet IPv6 khác nhau (/64). Mỗi subnet có thể sử dụng các tiền tố IPv6 khác nhau.
Hình 3.24 :Địa chỉ Site-Local
Địa chỉ Site-local được gán cho các thiết bị không bao giờ thông tin trên mạng Internet IPv6 toàn cầu. Các địa chỉ site-local có thể được sử dụng bên trong một site: Printers; Intranet servers, Network switches, bridges, gateways, wireless access point,…; Bất kỳ servers và router mà chỉ dùng cho nội hạt với mục đích quản lý.
Hiện nay, các địa chỉ site-local được đề nghị cho các tổ chức mà có thể huy hoạch để phát triển giao thức IPv6 trong các mạng của họ trước khi đưa không gian địa chỉ aggregatable global un