MỤC LỤC
MỤC LỤC i
DANH MỤC HÌNH VẼ iv
THUẬT NGỮ VIẾT TẮT vi
LỜI NÓI ĐẦU viii
CHƯƠNG I: TỔNG QUAN VỀ GIAO THỨC ĐỊNH TUYẾN OSPF 1
1.1 Khái niệm về định tuyến 1
1.2 Phân loại định tuyến 2
1.2.1 Định tuyến tĩnh 2
1.2.2 Định tuyến động 2
1.2.3 Phân loại các giao thức định tuyến 3
1.2.3.1 Khái niệm 3
1.2.3.2 Phân loại 3
1.3 Giao thức định tuyến OSPF cho IPv4 (OSPFv2) 4
1.3.1 Giới thiệu chung về OSPF 4
1.3.2 Một số khái niệm cơ bản trong OSPF 6
1.3.2.1 Neighbor và Adjacency 6
1.3.2.2 Giao thức Hello 6
1.3.2.3 Các loại mạng trong OSPF 7
1.3.2.4 Bình bầu DR và BDR 8
1.3.3 Các loại Router 9
1.3.4 Các loại LSA 11
1.3.5 Các loại vùng cơ bản 12
1.3.6 Các loại gói tin 14
1.3.7 Giao diện OSPF 15
1.3.7.1 Cấu trúc dữ liệu giao diện 15
1.3.7.2 Các trạng thái giao diện 16
1.3.8 Neighbor OSPF 17
1.3.8.1 Cấu trúc dữ liệu Neighbor 17
1.3.8.2 Các trạng thái Neighbor 18
1.3.9 Quá trình thiết lập mối quan hệ giữa các neighbor (adjacency) 19
1.3.10 Tràn lụt (flooding) 22
1.3.10.1 Tràn lụt tin cậy sử dụng xác nhận 24
1.3.10.2 Tràn lụt tin cậy sử dụng số trình tự, tổng kiểm tra và tuổi 24
CHƯƠNG II: GIỚI THIỆU VỀ IPv6 26
2.1 Khái quát về IPv6 26
2.1.1 Những giới hạn của IPv4 26
2.1.2 Những đặc trưng của IPv6 27
2.2 Địa chỉ IPv6 28
2.2.1 Không gian địa chỉ IPv6 28
2.2.2 Cú pháp địa chỉ IPv6 29
2.2.3 Phân loại địa chỉ IPv6 30
2.2.3.1 Địa chỉ Unicast 31
2.2.3.2 Địa chỉ Anycast 35
2.2.3.3 Địa chỉ Multicast 36
2.2.4 Cấu trúc của gói IPv6 38
2.2.4.1 IPv6 Header 39
2.2.4.2 Các header mở rộng của IPv6 41
CHƯƠNG III: GIAO THỨC ĐỊNH TUYẾN CHO IPv6 48
3.1 Giới thiệu về OSPF cho IPv6 (OSPFv3) 48
3.2 Những khác biệt so với OSPFv2 48
3.2.1 Giao thức hoạt động trên mỗi link, thay vì trên mỗi subnet 48
3.2.2 Sự gỡ bỏ ngữ nghĩa địa chỉ 49
3.2.3 Sự mở rộng phạm vi tràn lụt 49
3.2.4 Sử dụng các địa chỉ link-local 49
3.2.5 Những thay đổi trong nhận thực 50
3.2.6 Những thay đổi trong khuôn dạng gói 50
101 trang |
Chia sẻ: Thành Đồng | Ngày: 06/09/2024 | Lượt xem: 103 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đồ án Giao thức định tuyến OSPF cho IPv6, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ỉ Unicast hỗ trợ các liên kết cục bộ trong cùng một mạng, đó là địa chỉ link-local và địa chỉ site-local. Các địa chỉ link-local được sử dụng trên một liên kết đơn, còn các địa chỉ site-local được sử dụng cho mục đích trong phạm vi một site.
Địa chỉ link-local: Các địa chỉ link-local được định dạng bởi tiền tố nhận dạng 1111 1110 10, được sử dụng để liên kết các node với các node hàng xóm trên cùng 1 liên kết. Cấu trúc địa chỉ link-local như sau:
10 bits
54 bits
64 bits
1111 1110 10
0
Interface ID
Hình 2.4 Cấu trúc địa chỉ link-local
Một địa chỉ link-local là yêu cầu bắt buộc cho quá trình khám phá neighbor và luôn luôn tự động cấu hình ngay cả khi không có các địa chỉ unicast khác. Địa chỉ link-local được cấu hình ngay lập tức khi giao diện được gắn vào mạng. Link-local luôn bắt đầu với FE80, với 64 bit định dạng giao diện, tiền tố của địa chỉ link-local luôn là FE80::/64. Một router IPv6 không bao giờ chuyển lưu lượng link-local ra ngoài liên kết.
Địa chỉ site-local: Địa chỉ site-local được xác định cấu hình trong một mạng cấu tạo bởi một số mạng con.Các địa chỉ site-local được định dạng bởi tiền tố 1111 11110 11. Các địa chỉ site-local không liên lạc với các site khác, và các router không chuyển lưu lượng site-local ra ngoài site. Các địa chỉ site-local có thể được dùng để thêm vào địa chỉ global. Phạm vi của một địa chỉ site-local là trong site đó.
10 bits
38 bits
16 bits
64 bits
1111 1110 11
0
Subnet ID
Interface ID
Hình 2.5 Cấu trúc địa chỉ site-local unicast
Không giống như địa chỉ link-local, các địa chỉ site-local không tự động cấu hình mà phải được gán thông qua cấu hình địa chỉ stateless hay stateful.
48 bit đầu tiên luôn được cố định cho địa chỉ site-local, bắt đầu với FEC0::/48. Sau 48 bit cố định là 16 bit định dạng subnet (trường Subnet ID). Với 16 bit, chúng ta có thể có 65,536 subnets trong một cấu trúc subnet lớn, và chúng ta có thể chia các bit bậc cao trong trường Subnet ID để tạo ra một cấu trúc định tuyến phân cấp. Sau trường Subnet ID là trường Interface ID gồm 64 bit dùng để định dạng một giao diện riêng biệt trên một subnet.
Các địa chỉ global và site-local có cùng cấu trúc địa chỉ ngoại trừ 48 bit đầu. Trong địa chỉ global, trường SLA ID định dạng subnet bên trong một cơ quan. Trong địa chỉ site-local, trường Subnet ID thực hiện chức năng tương tự. Vì vậy, chúng ta có thể tạo ra một cấu trúc định tuyến subnet mà sử dụng cả địa chỉ site-local và địa chỉ global.
- Địa chỉ IPv6 đặc biệt: gồm có địa chỉ không xác định và địa chỉ loopback.
Địa chỉ không xác định (0:0:0:0:0:0:0:0 hay ::) chỉ sử dụng để biểu thị khi không có địa chỉ. Nó tương đương với địa chỉ 0.0.0.0 trong IPv4. Địa chỉ không xác định được sử dụng điển hình như là một địa chỉ nguồn khi địa chỉ duy nhất không được xác định. Địa chỉ không xác định không bao giờ được gán tới một giao diện và không bao giờ được sử dụng như một địa chỉ đích.
Địa chỉ loopback (0:0:0:0:0:0:0:1 hay ::1) được sử dụng để định dạng giao diện loopback, cho phép một node gửi các gói tới chính nó. Các gói có địa chỉ loopback không bao giờ được gửi trên một link hay được truyền tải bởi một router IPv6.
- Địa chỉ tương thích: Để hỗ trợ cho quá trình chuyển từ IPv4 sang IPv6 và sự tồn tại của cả hai loại host, các địa chỉ sau được định nghĩa:
Địa chỉ tương thích với IPv4 (0:0:0:0:0:0:w.x.y.z hay ::w.x.y.z), được sử dụng bởi các node IPv6/IPv4 mà kết nối với IPv6 trên kiến trúc hạ tầng IPv4 sử dụng địa chỉ IPv4 như Internet.
Địa chỉ ánh xạ IPv4, 0:0:0:0:0:FFFF:w.x.y.z hay ::FFFF:w.x.y.z, được dùng để biểu thị chỉ một node IPv4 tới một node IPv6.
Địa chỉ 6over4: Một địa chỉ loại [64 bit prefix]:0:0:WWXX:YYZZ, trong đó WWXX:YYZZ là sự biểu diễn hexa hai chấm của w.x.y.z, được sử dụng để miêu tả một host trong kỹ thuật đường hầm.
Địa chỉ 6to4: một địa chỉ loại 2002:WWXX:YYZZ:[SLA ID]:[Interface ID], trong đó WWXX: YYZZ là sự biểu diễn hexa hai chấm của w.x.y.z, được sử dụng để miêu tả một host trong kỹ thuật đường hầm
Địa chỉ ISA TAP: một địa chỉ loại [64 bit prefix]:0:5EFE:w.x.y.z trong đó w.x.y.z là địa chỉ IPv4 công cộng hay riêng biệt, được sử dụng để biểu diễn một node trong kỹ thuật gán địa chỉ.
- Địa chỉ NSAP: Cung cấp phương pháp ánh xạ địa chỉ NSAP tới địa chỉ IPv6, các địa chỉ NSAP sử dụng tiền tố 0000001 và ánh xạ 121 bit sau của địa chỉ NSAP tới một địa chỉ IPv6, nó có cấu trúc như hình dưới:
7 bits
121 bits
0000001
NSAP-mapped address
Hình 2.6 Cấu trúc địa chỉ NSAP
2.2.3.2 Địa chỉ Anycast
Anycast là một dạng địa hoàn toàn mới trong IPv6, dạng địa chỉ được gắn cho những chức năng cụ thể. Thay vì truyền dữ liệu đến mọi node trong một nhóm như địa chỉ multicast, anycast gửi gói tin đến giao diện gần nhất được gán địa chỉ anycast Khái niệm gần nhất ở đây dựa vào khoảng cách gần nhất xác định qua giao thức định tuyến sử dụng.
Trong IPv6, địa chỉ Anycast không có cấu trúc đặc biệt, nó không có không gian địa chỉ riêng gắn cho nó. Các địa chỉ Anycast chiếm một phần không gian địa chỉ Unicast. Do đó, về mặt cấu trúc, địa chỉ Anycast không thể phân biệt với địa chỉ Unicast. Khi những địa chỉ Unicast được gán nhiều hơn cho một giao diện, nó trở thành địa chỉ Anycast. Đối với những node được gán địa chỉ này phải được cấu hình với ý nghĩa của địa chỉ anycast Việc sử dụng địa chỉ anycast cũng không thực sự rõ ràng. Địa chỉ Anycast có một số hạn chế sau:
Địa chỉ Anycast không được sử dụng làm địa chỉ nguồn cho các gói tin IPv6
Một địa chỉ anycast không được phép gán cho một host IPv6, nó chỉ được gán cho một router IPv6.
Một loại địa chỉ anycast đặc biệt được sử dụng để định danh cho một subnet-router anycast. Nó được tạo ra từ tiền tố subnet của một giao diện nhất định. Khi địa chỉ subnet-router anycast được tạo thành, các bit trong tiền tố subnet được cố định tại giá trị thích hợp và các bit còn lại được thiết lập bằng 0, cụ thể như sau:
n bits
(128-n) bits
Subnet prefix
000000
Hình 2.7 Cấu trúc địa chỉ subnet-router anycast
Phần subnet Prefix trong cấu trúc địa chỉ này xác định một liên kết cụ thể. Tính chất loại địa chỉ này giống với địa chỉ unicast link-local gán cho các giao diện trong đó phần định danh giao diện được đặt là 0. Loại địa chỉ này được sử dụng cho các node cần giao tiếp đồng thời với nhiều router trên mạng.
2.2.3.3 Địa chỉ Multicast
Địa chỉ multicast được gán cho một nhóm các giao diện. Nhưng khác với địa chỉ anycast, một gói tin có địa chỉ multicast sẽ được chuyển tới tất cả các giao diện có gán địa chỉ multicast này. Trong IPv6, lưu lượng multicast hoạt động giống như cách mà nó hoạt động trong IPv4. Các node IPv6 bất kỳ có thể nghe lưu lượng multicast trên một địa chỉ multicast IPv6 tùy ý. Các node IPv6 có thể nghe nhiều địa chỉ multicast cùng một thời điểm.Các node có thể tham gia hay rời bỏ nhóm multicast bất cứ lúc nào.
Địa chỉ multicast IPv6 có tiền tố định dạng là 1111 1111. Vì vậy, một địa chỉ multicast IPv6 luôn bắt đầu với FF. Các địa chỉ multicast không được sử dụng làm các địa chỉ nguồn hay các đích trung gian. Ngoài tiền tố định tuyến, các địa chỉ multicast bao gồm cấu trúc thêm vào để định dạng các cờ (flag), phạm vi (scope) của chúng và nhóm multicast.
8 bits
4 bits
4 bits
112 bits
11111111
Flags
scope
ID nhóm
Hình 2.8 Cấu trúc địa chỉ multicast
Theo như hình 2.8, các trường trong địa chỉ multicast gồm có:
Flags: trường này có 4 bit, trong đó 3 bit bậc cao chưa dùng đến, nên được xác lập bằng 0. Bit thứ 4 có giá trị T (Transient). Khi T bằng 0, có nghĩa là địa chỉ multicast này là địa chỉ được gán cố định, được cấp phát bởi IANA. Khi T bằng 1, có nghĩa là địa chỉ multicast này là địa chỉ tạm thời.
Scope: Trường này gồm 4 bit, được dùng để giới hạn phạm vi nhóm địa chỉ multicast. Các giá trị của trường này gồm:
Giá trị
Phạm vi (scope)
0
Dự trữ
1
Phạm vi node-local
2
Phạm vi link-local
3
Chưa cấp
4
Chưa cấp
5
Phạm vi site-local
6
Chưa cấp
7
Chưa cấp
8
Phạm vi trong tổ chức (organization-local)
9
Chưa cấp
A
Chưa cấp
B
Chưa cấp
C
Chưa cấp
D
Chưa cấp
E
Phạm vi global
F
Dữ trữ
Hình 2.9 Giá trị các bit trong trường scope
Các bit này cho phép xác định chính xác phạm vi vùng của địa chỉ multicast. Phạm vi tổ chức và node là hai dạng phạm vi mới, không có trong địa chỉ unicast. Phạm vi organization-local được sử dụng trong phạm vi một tổ chức với một số site, tuy nhiên được định nghĩa không rõ ràng. Phạm vi node-local chỉ có tính ứng dụng trong phạm vi một node. Dạng phạm vi địa chỉ này được định nghĩa vì không giống như địa chỉ IPv4, một node IPv6 có thể đước gắn rất nhiều địa chỉ.
Group ID: trường này gồm 112 bit, dùng để định dạng nhóm multicast trong phạm vi. Các Group ID được gán cố định độc lập với phạm vi. Các Group ID tạm thời chỉ liên quan tới một phạm vi riêng biệt. Các địa chỉ multicast từ FF01 đến FF0F được dự phòng, đó là những địa chỉ đã được biết đến..
Để định dạng tất cả các node cho phạm vi node-local và link-local, các địa chỉ sau được định nghĩa:
FF01::1(phạm vi node-local cho tất cả các node địa chỉ multicast)
FF02::1 (phạm vi link-local cho tất cả các node địa chỉ multicast)
Để định dạng tất cả các router cho phạm vi node-local, link-local, và site-local, các địa chỉ sau được định nghĩa:
FF01::2 (phạm vi node-local cho tất cả các router địa chỉ multicast).
FF02::2 (phạm vi link-local cho tất cả các router địa chỉ multicast).
FF05::2 (phạm vi site-local cho tất cả các router địa chỉ multicast).
2.2.4 Cấu trúc của gói IPv6
Một gói IPv6 gồm một tiêu đề IPv6 (header), các tiểu đề mở rộng, và một khối dữ liệu giao thức lớp cao.
Tiêu đề IPv6
Các tiêu đề mở rộng
Khối dữ liệu lớp trên
Tải tin
Gói IPv6
Hình 2.10 Cấu trúc gói IPv6
IPv6 header có kích thước cố định là 40 byte. Với kích thước cố định thì một router có thể xử lý gói tin một cách hiệu quả. IPv6 header lưu các thông tin cần thiết để định tuyến và phân phát gói tin đến đích. Các header sẽ được xử lý bởi mỗi node trên đường đến đích.
Các header mở rộng có kích thước thay đổi. Một trường Next Header trong IPv6 header biểu thị header mở rộng đầu tiên. Trong mỗi header mở rộng là một trường Next Header kế tiếp khác, biểu thị header mở rộng tiếp theo. Header mở rộng cuối cùng cho biết header của giao thức lớp trên như TCP, UDP, hay ICMPv6 – đã bao gồm trong đơn vị dữ liệu giao thức lớp trên.
IPv6 header và các header mở rộng thay thế IPv4 header và các tùy chọn của nó. Khuôn dạng header mở rộng mới cho phép IPv6 tăng cường khả năng hỗ trợ những nhu cầu cho tương lai. Không giống như các tùy chọn (option) trong IPv4 header, các header mở rộng trong IPv6 không có kích thước giới hạn và có thể mở rộng để cung cấp tất cả dữ liệu mở rộng cần thiết cho truyền thông IPv6
Khối dữ liệu lớp trên (PDU) bao gồm một header giao thức lớp trên và tải tin của nó (ví dụ như một meassage ICMPv6, một segment TCP, hay một message UDP).
Những gói tải tin IPv6 là sự kết hợp của các header mở rộng IPv6 và khối dữ liệu lớp trên. Thông thường nó có chiều dài 65.535 byte. Những gói IPv6 có tải tin lớn hơn 65.535 byte được gọi là jumbograms cũng có thể được gửi đi.
2.2.4.1 IPv6 Header
IPv6 header là một phiên bản được tổ chức hợp lý của IPv4 header. Nó loại bỏ những trường không cần thiết hay ít khi sử dụng, và thêm vào một trường cung cấp khả năng hỗ trợ tốt hơn cho lưu lượng thời gian thực. Cấu trúc cụ thể như sau:
Version
4 bits
Traffic Class
8 bits
Flow Label
20 bits
Payload Length
16 bits
Next Header
8 bits
Hop Limit
8 bits
Source Address
16 octets (128 bits)
Destination Address
16 octets (128 bits)
Hình 2.11 Cấu trúc IPv6 Header
Version: Trường Version chỉ ra phiên bản của IP và được thiết lập là 6. Kích thước của trường này là 4 bit. Trường này cũng được định nghĩa giống như trong IPv4, giá trị của nó không được sử dụng để chuyển gói tới một lớp giao thức IPv4 hay IPv6. Việc định dạng nó được thực hiện thông qua một trường định dạng giao thức trong header của lớp liên kết.
Traffic Class: Trường Traffic Class biểu thị lớp hay quyền ưu tiên của gói IPv6. Kích thước của trường là 8 bit. Trường này cung cấp chức năng tương tự như trường Type of Service (ToS) trong IPv4.
Flow Label: Trường Flow Label cho biết gói đó thuộc về một chuỗi các gói riêng biệt giữa nguồn và đích, yêu cầu xử lý riêng biệt bởi các router trung gian. Trường này có kích thước là 20 bit. Flow label được dùng cho các kết nối không mặc định QoS, như những yêu cầu dữ liệu thời gian thực (voice và video). Với router mặc định, trường Flow Label được xác lập là 0. Có thể có nhiều luồng lưu lượng giữa một nguồn và một đích. Khi một router xác định dòng lưu lượng lần đầu, nó sẽ nhớ dòng lưu lượng đó cũng như xử lý đặc biệt ứng với lưu lượng này. Khi các lưu lượng khác thuộc dòng này đến, nó sẽ xử lý nhanh hơn là xử lý từng gói.
Payload length: Trường này cho biết độ dài của tải tin IPv6. Kích thước của trường này là 16 bit. Trường Payload Lengh bao gồm các tiêu đề mở rộng và đơn vị dữ liệu lớp trên. Với 16 bit, một tải tin IPv6 với 65.535 byte có thể được biểu thị. Với những tải tin có độ dài lớn hơn 65.535 byte, trường Payload Lengh được đặt bằng 0 và tùy chọn Jumbo Payload được sử dụng trong header mở rộng Hop-by-Hop Option.
Next Header: Trường Nex header cho biết loại header mở rộng đầu tiên hoặc giao thức trong đơn vị dữ liệu lớp cao (như TCP, UDP, hay ICMPv6). Trường này có kích thước là 8 bit. Khi biểu thị một giao thức lớp trên, trường Next header sử dụng những giá trị giống như những giá trị được sử dụng trong trường Protocol của IPv4.
Hop Limit: Trường Hop Limit cho biết số lượng liên kết tối đa trên gói IPv6 mà có thể vận chuyển trước khi bị loại bỏ. Kích thước của trường này là 8 bit. Trường Hop Limit tương tự như trường TTL trong IPv4. Khi Hop Limit bằng 0 tại một router, router sẽ gửi một bản tin ICMPv6 trong thông báo vận chuyển tới nguồn và loại bỏ gói.
Source Address (địa chỉ nguồn): Trường Source Address cho biết địa chỉ IPv6 của host nguồn. Kích thước của trường này là 128 bit
Destination Address (địa chỉ đích): Trường Destination Address cho biết địa chỉ IPv6 của node đích. Kích thước của trường này là 128 bit. Trong hầu hết các trường hợp, trường Destination Address được thiết lập cho địa chỉ đích cuối cùng. Tuy nhiên, nếu một heard mở rộng định tuyến hiện diện, trường Destination Address có thể được thiết lập cho địa chỉ đích trung gian kế tiếp.
Những giá trị của trường Next header:
Giá trị
Header
0
Hop-by-Hop Options header
6
TCP
17
UDP
41
Encapsulated IPv6 header
43
Routing header
44
Fragment header
50
Encapsulating Security Payload header
51
Authentication header
58
ICMPv6
59
No next header
60
Destination Options header
Hình 2.12 Giá trị của trường Next Header
2.2.4.2 Các header mở rộng của IPv6
IPv4 header bao gồm tất cả các option. Trường Options này được sử dụng để thêm các thông tin về dịch vụ tùy chọn khác nhau. Vì vậy, chiều dài IPv4 header thay đổi tùy theo tình trạng. Do sự thay đổi đó, mỗi router trung gian phải kiểm tra tình trạng của các option và xử lý khi chúng hiện diện. Điều này có thể làm giảm khả năng vận chuyển các gói IPv4. Với IPv6, việc phân phát và vận chuyển các option được rời đến cá
Các file đính kèm theo tài liệu này:
- do_an_giao_thuc_dinh_tuyen_ospf_cho_ipv6.doc