Bản tin ICMP thông báo lỗi:

Một phần của tài liệu triển khai IPV6 VA UNG DUNG trong thực tế tại viẹt nam (Trang 35)

1.5. ICMPv6

1.5.2. Bản tin ICMP thông báo lỗi:

1.5.2.1. Thơng báo lỗi “đích khơng đến được”

Hình 1.18. Cấu trúc của bản tin thơng báo lỗi “đích khơng đến được”

Router gửi bản tin thơng báo lỗi “đích khơng đến được” khi một gói tin IP khơng được chuyển tiếp tới node đích mong muốn do bất kỳ một lý do nào đó khơng phải do nghẽn mạch

Các trường ICMPv6:

- Type: 1

- Code: 0: Khơng có tuyến đến đích 1: Thơng tin với đích bị cấm

2: Ngồi phạm vi của địa chỉ nguồn 3: Không đến được địa chỉ

4: Không đến được cổng

- Không sử dụng: Đặt về “0” bởi node gửi và lờ đi bởi node nhận.

+ Code = 0 (Khơng có tuyến đến đích): Bản tin này được phát ra nếu như một router khơng thể chuyển tiếp gói tin bởi router khơng có tuyến tới mạng đích trong bảng định tuyến của nó

+ Code =1 (Thông tin với đích bị cấm): Bản tin này được gửi bởi firewall

+ Code = 2 (Ngoài phạm vi địa chỉ nguồn): Bản tin này được gửi đi khi phạm vi multicast của địa chỉ nhỏ hơn phạm vi của địa chỉ đích

+ Code =3 (Khơng đến được địa chỉ): Bản tin này được gửi nếu địa chỉ đích khơng được phân giải vào trong địa chỉ mạng phù hợp hoặc lỗi lớp liên kết dữ liệu

+ Code = 4 (Không đến được cổng): Bản tin này được gửi khi gói tin IPv6 chứa bản tin UDP đã đến đích nhưng khơng có một ứng dụng nào lắng nghe trên cổng UDP đích

Node nhận thơng báo lỗi ICMPv6 “đích khơng đến được” phải báo cho giao thức lớp trên

1.5.2.2. Thơng báo lỗi “Gói tin q lớn”

Hình 1.19. Định dạng của bản tin thơng báo lỗi “gói tin q lớn”

Thơng báo lỗi “gói tin q lớn” phải được tạo ra do router để thơng báo gói tin khơng chuyển tiếp được do kích thước của gói tin lớn hơn MTU của kết nối.Thông báo này ứng dụng trong cơ chế khám phá đường dẫn MTU. Các trường ICMPv6:

- Type: 2

- Code: Đặt về “0” bởi node gửi và lờ đi bởi node nhận - MTU: MTU của kết nối hop tiếp theo

Thơng báo lỗi “gói tin q lớn” có một ngoại lệ so với các thông báo lỗi ICMPv6 khác là nó có thể gửi cho địa chỉ multicast, hay địa chỉ multicast lớp liên kết, hay địa chỉ quảng bá lớp liên kết

Node nhận bản tin ICMP thơng báo lỗi “gói tin q lớn” phải báo cho giao thức lớp trên

1.5.2.3. Thông báo lỗi “quá thời gian”

Nếu một router nhận một gói tin với giới hạn hop là “0”, hay router giảm giá trị của giới hạn hop xuống “0” thì nó phải loại bỏ gói tin đó và gửi một thông báo lỗi “quá thời gian” với mã bằng “0” đến nguồn của gói tin. Nó chỉ ra định tuyến bị lặp hay giới hạn hop quá nhỏ

Hình 1.20. Định dạng của bản tin thông báo lỗi “quá thời gian”

Các trường ICMPv6:

- Type: 3

- Code: 0: Vượt quá giới hạn hop trong quá trình chuyển giao 1: Vượt quá thời gian lắp ráp các phân đoạn

- Không sử dụng: Đặt về “0” bởi node nguồn và lờ đi bởi node nhận

+ Code = 0 (Vượt quá giới hạn hop trong quá trình chuyển giao): Bản tin này được gửi đi khi có lặp định tuyến hay giới hạn hop quá nhỏ. Bản tin loại này được sử dụng rất phổ biến để thực hiện chức năng traceroute. Traceroute rất hữu ích để xác định đường dẫn mà các gói đi qua trên mạng. Thứ tựn để thực hiện điều này, gói tin đầu tiên được gửi ra ngồi với giới hạn hop bằng 1. Router đầu tiên trên đường dẫn

loại 3, code 0. Bây giờ host nguồn sẽ biết địa chỉ của router hop đầu tiên. Tiếp theo nó gửi ra ngồi gói tin thứ hai với giới hạn hop bằng 2. Gói tin này sẽ được chuyển tiếp bởi router đầu tiên, đồng thời router này sẽ giảm giới hạn hop xuống còn 1. Router thứ hai trên đường dẫn sẽ giảm giới hạn hop về 0, loại bỏ gói tin và gửi trở lại bản tin ICMP loại 3, code 0. Bây giờ host nguồn sẽ biết về router thứ hai trên đường dẫn. Tăng giới hạn hop lên 1 (với mỗi gói tin được gửi đi cho tới khi gói tin đạt đến đích cuối cùng) tiếp tục xử lý như vậy. Mỗi router trên đường dẫn tới đích cuối cùng sẽ gửi bản tin ICMP trở lại host nguồn vì vậy, nó cung cấp địa chỉ IP của nó cho host nguồn.

+ Code = 1 (Vượt quá thời gian lắp ráp các phân đoạn): Bản tin này được gửi đi khi host nhận không thể lắp ráp các phân đoạn trong thời gian xác định

Node nhận thông báo lối ICMPv6 “vượt quá thời gian” phải báo cho giao thức lớp trên .

1.5.2.4. Thông báo lỗi “lỗi tham số”

Hình 1.21. Định dạng bản tin thơng báo lỗi “lỗi tham số”

Một node xử lý gói tin và nó thấy có vấn đề trong các trường của header IPV6 hay trong Header mở rộng làm cho nó khơng thể hồn thành việc xử lý gói tin thì nó phải loại bỏ gói tin đó và gửi một thơng báo lỗi “lỗi tham số” đến nguồn của gói tin

Các trường ICMPv6:

- Type 4

- Code: 0: Trường trong header bị sai

1: Không nhận dạng được trường Header tiếp theo 2: Không nhận dạng được lựa chọn IPv6

- Pointer: Chỉ ra offset của lỗi trong gói tin có lỗi.

Pointer sẽ chỉ đến vị trí trong gói tin gốc mà nó phát hiện ra lỗi. Ví dụ một bản tin ICMP thông báo lỗi với loại bằng 4, code = 1, con trỏ bằng 40 sẽ chỉ ra rằng loại Header mở rộng không được nhận dạng Node nhận bản tin thông báo lỗi “lỗi tham số” phải thông báo cho giao thức lớp trên.

1.5.3. Bản tin ICMP thông báo thông tin

Bản tin Echo Request và Echo Reply được sử dụng cho một trong những hữu ích phổ biến nhất của bộ giao thức TCP/IP đó là lệnh ping (Packet INternet Groper).

1.5.3.1. Bản tin Echo Request

Hình 1.22. Định dạng của bản tin Echo Request

Các trường ICMPv6:

- Type: 128

- Code: 0

- Số thứ tự: Được sử dụng để phối hợp với bản tin trả lời phản hồi - Dữ liệu: Khơng có hay một vài byte dữ liệu tùy ý

1.5.3.2. Bản tin Echo Reply

Hình 1.23. Định dạng của bản tin Echo Reply

Các trường ICMPv6:

- Type: 129

- Code: 0

- Nhận dạng: Nhận dạng từ Echo Request - Số thứ tự: Số thứ tự từ Echo Request - Dữ liệu: Dữ liệu từ Echo Request

* Nếu bản tin Echo Request được gửi tới địa chỉ unicast, địa chỉ nguồn của bản tin Echo Reply phải giống với địa chỉ đích của bản tin Echo Request. Nếu Echo Request được gửi tới địa chỉ multicast IPv6 thì địa chỉ nguồn của Echo Reply phải là địa chỉ unicast của giao diện trên đó đã nhận Echo Request multicast.

1.5.4. Luật xử lý:

Chúng ta có các luật sau khi xử lý một bản tin ICMP:

1. Nếu một node nhận được bản tin lỗi ICMPv6 khơng rõ hiểu thì nó phải gửi bản tin này lên lớp trên.

2. Nếu một node nhận được bản tin thông tin ICMPv6 khơng rõ hiểu nó sẽ tự động loại bỏ.

3. Độ lớn của các bản tin lỗi ICMPv6 bao gồm cả phần gói tin gây ra lỗi khơng được vượt quá MTU IPv6 nhỏ nhất.

4. Nếu bản tin lỗi phải được đưa qua giao thức lớp trên thì loại giao thức sẽ được lấy ra từ gói tin gốc (chứa trong phần thân của bản tin lỗi

ICMPv6). Trong trường hợp loại giao thức khơng được tìm thấy trong phần thân của bản tin ICMPv6 (bởi có quá nhiều Header mở rộng trong gói tin gốc và phần Header chứa loại giao thức lớp trên bị cắt) khi đó bản tin ICMPv6 sẽ bị hủy bỏ.

5. Một bản tin thơng báo lỗi ICMPv6 khơng thể được gửi nếu nó là kết quả của việc nhận:

5.1. Một bản tin thông báo lỗi ICMPv6.

5.2. Một gói tin đã gửi tới địa chỉ multicast. Có 2 trường hợp có thể chấp nhận trong luật này: thơng báo lỗi “gói tin q lớn” được sử dụng cho khám phá MTU của đường dẫn và thông báo lỗi “lỗi tham số”- thông báo lựa chọn IPv6 khơng nhận diện được.

5.3. Một gói tin được gửi đi như một multicast tầng liên kết (các ngoại lệ của 5.2 cũng được áp dụng ở đây).

5.4. Một gói tin được gửi đi như một broadcast tầng liên kết (các ngoại lệ của 5.2 cũng được áp dụng ở đây).

5.5. Gói tin mà địa chỉ nguồn của nó khơng chỉ ra một node đơn duy nhất nào. Nó có thể là địa chỉ không các định IPv6, địa chỉ IPv6 multicast hay một địa chỉ mà node gửi ICMP biết đến là địa chỉ anycast.

6. Mỗi node phải hạn chế tỷ lệ phát thơng báo lỗi ICMPv6 mà nó gửi, có thể dựa trên thời gian hay băng thơng.

Chương II

MỘT SỐ ĐẶC TÍNH CỦA IPv6

2.1. Tìm kiếm hàng xóm (Neighbor Discovery-ND):

Các node sử dụng giao thức ND để xác định địa chỉ tầng liên kết cho các Neighbor gắn trực tiếp vào liên kết. Các host cũng dùng kĩ thuật ND để phát hiện các router. Ngoài ra kĩ thuật này còn cho phép biết các Neighbor nào cịn kết nối hay khơng cũng như sự thay đổi địa chỉ tầng liên kết. Khi một router không làm việc thì kĩ thuật này cũng giúp ta tìm ra một đường đi tương tự. ND thay thế ARP, ICMP Router Discovery và bản tin ICMP Redirect được sử dụng trong IPv4.

Kĩ thuật ND nhằm giải quyết các vấn đề liên quan đến sự tương tác của các node trên cùng một liên kết. Các vấn đề đó là:

- Tìm kiếm Router: Làm sao các host có thể tìm kiếm được router nằm trên cùng một liên kết với nó.

- Tìm kiếm tiền tố: Cách thức host tìm kiếm tiền tố của mạng cho các host trên cùng một liên kết.

- Tìm kiếm tham số: Làm sao một node có thể học được các tham số hoạt động bao gồm MTU của liên kết và giới hạn hop để dùng cho các gói tin được gửi ra của mình.

- Tự động cấu hình địa chỉ: Cách thức một node tự động thiết lập địa chỉ cho giao diện của nó.

- Phân giải địa chỉ: Cách thức một node xác định địa chỉ lớp liên kết từ một địa chỉ IP cho trước, đây chính là kĩ thuật ARP trong IPv4.

- Xác định hop tiếp theo: Các host dựa trên địa chỉ đích xác định địa chỉ IP của Neighbor mà các gói tin phải được gửi đến nó. Hop tiếp theo có thể là một router chuyển tiếp trung gian hay chính là đích cuối cùng.

- Kiểm tra trùng địa chỉ: Làm sao để kiểm tra một địa chỉ mà host muốn sử dụng không trùng với địa chỉ nào khác.

- Định hướng lại: Làm sao để thông báo cho node nguồn một đường đi tốt nhất đến đích.

2.1.1. Các lựa chọn của ND

Hình 2.1. Định dạng trường lựa chọn

- Type = 1: Chỉ ra địa chỉ lớp liên kết của node gửi bản tin ND. Lựa chọn này nằm trong các bản tin Neighbor Solicitation - NS , Router Solicitation và Router Advertisement. Tuy nhiên khi địa chỉ nguồn của bản tin ND là địa chỉ khơng xác định thì sẽ khơng có lựa chọn này trong đó.

- Type = 2: Chỉ ra địa chỉ lớp liên kết của node hàng xóm mà gói tin sẽ được chuyển qua. Lựa chọn này nằm trong bản tin Neighbor Advertisement- NA và bản tin Redirect.

- Type = 3: Lựa chọn này được gửi trong bản tin Router Advertisement để chỉ ra tất cả các tiền tố của địa chỉ và các thơng tin về tự động cấu hình địa chỉ. Có thể có nhiều lựa chọn thơng tin tiền tố trong một bản tin Router Advertisement

- Type = 4 (Redirect header): Lựa chọn này được gửi trong bản tin Redirect để chỉ ra gói tin IPv6 mà làm cho router gửi bản tin Redirect. - Type = 5: Được gửi trong bản tin Router Advertisement để chỉ ra MTU

2.1.2. Các bản tin ND

Kĩ thuật ND định nghĩa ra 5 loại bản tin ICMP để thực hiện các chức năng của nó: - Router Solicitation - Router Advertisement - Neighbor Solicitation - Neighbor Advertisement - Redirect

- Router Solicitation: Khi một giao diện có thể chuyển sang trạng thái có thể làm việc thì node có thể gửi một thơng báo “Router Solicitation” yêu cầu router thực hiện quảng bá router ngay lập tức mà không đợi đến hạn thời gian theo kế hoạch.

- Router Advertisement: Bộ định tuyến thơng báo sự có mặt của nó cùng với các tham số như tiền tố của liên kết, MTU của liên kết, các tuyến riêng, tự động cấu hình địa chỉ có được sử dụng hay khơng…một cách định kỳ hay phản hồi lại bản tin Router Solicitation.

- Neighbor Solicitation: Được gửi đi bởi một node để xác định địa chỉ tầng liên kết của một Neighbor hay để kiểm tra xem một Neighbor trong vùng đệm của nó có cịn tiếp xúc được hay khơng. Neighbor Solicitation cịn được dùng để kiểm tra sự trùng địa chỉ.

- Neighbor Advertisement: Dùng để phản hồi cho bản tin Neighbor Solicitation, node có thể dùng Neighbor Advertisement để thông báo về sự thay đổi địa chỉ của tầng liên kết.

- Redirect: Các router dùng bản tin này để thông báo cho node nguồn biết địa chỉ hop đầu tiên tốt hơn cho đường đến đích.

Các router quảng bá một danh sách các tiền tố địa chỉ để dùng cho việc cấu hình địa chỉ tự động trên liên kết. Các host sử dụng các thông tin quảng bá tiền tố địa chỉ để xây dựng một danh sách cho phép nó quyết định gói tin đích là ở cùng liên kết hay phải chuyển đến bộ định tuyến.

Các node thực hiện việc phân giải địa chỉ thông qua quảng bá multicast Neighbor Solicitation để yêu cầu đích phản hồi địa chỉ tầng liên kết của chúng. Node đích trả lời bằng một Neighbor Advertisement unicast.

Để tránh sự trùng lặp địa chỉ IP trước khi sở hữu một địa chỉ IP link - local hay bất kì địa chỉ nào mà khơng được xây dựng bằng cách thêm tiền tố vào địa chỉ link-local, một node sẽ gửi bản tin Neighbor Solicitation để hỏi xem có Neighbor nào đã sử dụng địa chỉ đó hay chưa. Nếu địa chỉ IP đã được sử dụng, node có địa chỉ đó sẽ multicast hồi đáp. Điều này đảm bảo chắc chắn rằng địa chỉ link - local và mỗi địa chỉ được xây dựng từ nó bằng cách sử dụng các tiền tố khác nhau là duy nhất. Cũng như vậy, các địa chỉ mà được cấu hình bằng tay hay được học từ DHCP Server cũng phải được kiểm tra tính duy nhất trước khi sử dụng.

Các router quảng bá sự có mặt của chúng một cách định kì vừa đủ để biết đến sự có mặt của chúng nhưng không đủ để kiểm tra sự vắng mặt. Quá trình kiểm tra khơng tiếp xúc được của hàng xóm cho ta biết một hàng xóm có tiếp xúc được hay khơng. Để đạt được điều trên thì cần có sự phản hồi từ phía hàng xóm, có thể là trực tiếp hoặc thơng qua Neighbor Advertisement.

2.2. Tự động cấu hình địa chỉ

Một chức năng mới trong địa chỉ IPV6 là việc tự động cấu hình địa chỉ. Trong IPV6, các thiết bị kết nối được giả định là không phải là các thiêt bị PC hay đầu cuối máy tính. Cách thức tự động cấu hình địa chỉ được đưa ra nhằm cho phép các thiết bị này có thể kết nối mạng plug-and-play, giảm đi sự quá tải về việc quản lý.

Địa chỉ IP được gắn cho mỗi giao diện mạng của một node. Một giao diện sử dụng địa chỉ IPV6 thường có ít nhất địa chỉ link-local và địa chỉ toàn cầu. Địa chỉ link-local được sử dụng cho các chức năng điều khiển cịn địa chỉ tồn cầu được sử dụng cho giao tiếp dữ liệu thông thường. Trong IPv4, nguyên tắc cơ bản là chỉ một địa chỉ được gắn cho một giao diện, song trong địa chỉ IPv6 khơng giới hạn số lượng này.

Nói chung, có những cách thức sau đây để gắn địa chỉ IP cho một node:

Một phần của tài liệu triển khai IPV6 VA UNG DUNG trong thực tế tại viẹt nam (Trang 35)

Tải bản đầy đủ (DOC)

(93 trang)
w