Trong những năm gần đây, sự bùng nổ, sự phát triển ồ ạt của các ứng dụng và công nghệ đã dẫn đến tình trạng thiếu địa chỉ IP trầm trọng. IPv4 không đủ khả năng để đáp ứng cho nhu cầu tương lai. Trước tình hình trên, một phiên bản mới của giao thức IP đã được ra đời, đó là IP version 6 (IPv6). Để hỗ trợ cho IPv6, OSPF cũng cần phải thay đổi. Trước thức tế đó, IETF đã nghiên cứu và đưa ra phiên bản mới của OSPF, đó là OSPF version 3 (OSPFv3) cho IPv6. Như vậy, việc nghiên cứu OSPFv3 có ý nghĩa to lớn cho việc định tuyến trong tương lai.
Trang 1MỤC LỤC
MỤC LỤC i
DANH MỤC HÌNH VẼ iv
THUẬT NGỮ VIẾT TẮT v
LỜI NÓI ĐẦU vii
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 7
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 16
1.3.8.1 Cấu trúc dữ liệu Neighbor 16
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 30
2.2.3.2 Địa chỉ Anycast 35
Trang 22.2.3.3 Địa chỉ Multicast 36
2.2.4 Cấu trúc của gói IPv6 37
2.2.4.1 IPv6 Header 38
2.2.4.2 Các header mở rộng của IPv6 40
CHƯƠNG III: GIAO THỨC ĐỊNH TUYẾN CHO IPv6 47
3.1 Giới thiệu về OSPF cho IPv6 (OSPFv3) 47
3.2 Những khác biệt so với OSPFv2 47
3.2.1 Giao thức hoạt động trên mỗi link, thay vì trên mỗi subnet 47
3.2.2 Sự gỡ bỏ ngữ nghĩa địa chỉ 48
3.2.3 Sự mở rộng phạm vi tràn lụt 48
3.2.4 Sử dụng các địa chỉ link-local 48
3.2.5 Những thay đổi trong nhận thực 49
3.2.6 Những thay đổi trong khuôn dạng gói 49
3.2.7 Những thay đổi trong khuôn dạng LSA 49
3.2.8 Quá trình xử lý các loại LSA chưa xác định 50
3.2.9 Hỗ trợ Stub Area 51
3.2.10 Các neighbor được định dạng bởi Router ID 51
3.3 Sự vận hành của OSPFv3 51
3.3.1 Cấu trúc dữ liệu giao diện 52
3.3.2 Cấu trúc dữ liệu Neighbor 53
3.3.3 Các LSA 53
3.3.3.1 LSA Header 54
3.3.3.2 Cơ sở dữ liệu trạng thái liên kết 55
3.3.3.3 Router LSA 55
3.3.3.4 Network-LSA 55
3.3.3.5 Inter-Area-Prefix-LSA 56
3.3.3.6 Inter-Area-Router-LSA 56
3.3.3.7 AS-external-LSA 57
3.3.3.8 Link-LSA 57
3.3.3.9 Intra-Area-Prefix-LSA 57
3.3.4 Quá trình cài đặt các LSA trong cơ sở dữ liệu 58
3.3.5 Virtual link 59
3.4 Khuôn dạng dữ liệu OSPF 59
3.4.1 Quá trình đóng gói các gói OSPF 59
3.4.2 Trường Options 60
3.4.3 Các khuôn dạng gói OSPF 61
3.4.3.1 Tiêu đề gói OSPF 61
3.4.3.2 Gói Hello 62
3.3.4.3 Gói mô tả cơ sở dữ liệu 64
3.3.4.4 Gói yêu cầu trạng thái liên kết 65
3.3.4.5 Gói cập nhật trạng thái liên kết 66
3.3.4.6 Gói xác nhận trạng thái liên kết 67
3.4.4 Khuôn dạng LSA 68
3.4.4.1 LSA header 68
3.4.4.2 Router -LSA 70
3.4.4.3 Network -LSA 72
3.4.4.4 Inter –Area – Prefix - LSA 73
3.4.4.5 Inter – Area –Router -LSA 74
Trang 33.4.4.6 AS-external-LSA 75
3.4.4.7 Link-LSA 77
3.4.4.8 Intra –Area –Prefix – LSA 79
KẾT LUẬN 81
PHỤ LỤC 82
TÀI LIỆU THAM KHẢO 90
Trang 4Hình 1.1 Xác định đường truyền 1
Hình 1.2 Định tuyến động 2
Hình 1.3 Các giao thức định tuyến 4
Hình 1.4 Các Adjacency trong mạng đa truy nhập 8
Hình 1.5 Bình bầu DR 9
Hình 1.6 Các loại Router 10
Hình 1.7 Các loại LSA 11
Hình 1.8 Stub Area 13
Hình 1.9 Not-So-Stubby Area 14
Hình 1.10 Quá trình thiết lập Adjacency 21
Hình 1.11 Tràn lụt gói trong mạng quảng bá 24
Hình 2.1 Cấp phát không gian địa chỉ IPv6 29
Hình 2.2 Cấu trúc địa chỉ aggreatable global unicast 31
Hình 2.3 Sự phân cấp địa chỉ global unicast 32
Hình 2.4 Cấu trúc địa chỉ link-local 33
Hình 2.5 Cấu trúc địa chỉ site-local unicast 33
Hình 2.6 Cấu trúc địa chỉ NSAP 35
Hình 2.7 Cấu trúc địa chỉ subnet-router anycast 35
Hình 2.8 Cấu trúc địa chỉ multicast 36
Hình 2.9 Giá trị các bit trong trường scope 37
Hình 2.10 Cấu trúc gói IPv6 38
Hình 2.11 Cấu trúc IPv6 Header 39
Hình 2.12 Giá trị của trường Next Header 40
Hình 2.13 Cấu trúc Hop-by-Hop Options Header 41
Hình 2.14 Cấu trúc Routing Header 42
Hình 2.15 Cấu trúc Routing Header loại 0 43
Hình 2.16 Cấu trúc Fragment Header 44
Hình 2.17 Quá trình phân mảnh gỏi IPv6 45
Hình 2.18 Cấu trúc Authencation Header 45
Hình 2.19 Cấu trúc ESP Header và Trailer 46
Trang 5THUẬT NGỮ VIẾT TẮT
Từ Chú giải tiếng Anh Chú giải tiếng Việt
BDR Backup Designated Router Router đại diện dự phòngBGP Border Gateway Protocol Giao thức cổng biênCIDR Classless Internet Domain
Protocol
Giao thức cấu hình động
EGP Exterior Gateway Protocol Giao thức cổng ngoàiESP Encapsulating Security Payload Gói gọn bảo mật tải tinFDDI Fiber Distributed Data Interface Giao diện phân phối dữ liệu
sử dụng cáp quang
IANA Internet Assigned Numbers
Authority
Tổ chức cấp phát địa chỉ số
InternetICMP Internet Control Message
nộiIGRP Interior Gateway Routing
Protocol
Giao thức định tuyến cổng
nộiIKE Internet Key Exchange Giao thức trao đổi khóa
Internet
IPng Internet Protocol Next
Generation
Thế hệ giao thức Internet kế
tiếpISP Internet Service Provider Nhà cung cấp dịch vụ
InternetLSA Link State Advertisement Quảng cáo trạng thái liên kết
Trang 6thứcMTU Maximum Transmission Unit Đơn vị truyền tải lớn nhấtNBMA Non Broadcast Multiacces Đa truy nhập không quảng báNSAP Network Service Access Point Điểm truy cập dịch vụ mạngNSSA Not-So-Stubby Area Một loại vùng trong OSPFOSI Open Systems Interconnection Mô hình kết nối các hệ thống
mởOSPF Open Shortest Path First Giao thức đường ưu tiên
ngắn nhấtPDU Protocol Data Unit Đơn vị dữ liệu giao thứcRIP Routing Information Protocol Giao thức thông tin định
tuyến
SA Security Association Kết hợp bảo mật
SPF Shortest Path First Thuật toán đường ngắn nhấtTCP Transmission Control Protocol Giao thức điều khiển truyền
tảiToS Type of Service Trường kiểu dịch vụ trong
IPv4UDP User Datagram Protocol Giao thức gói dữ liệu người
dùngVLSM Variable Length Subnet Mask Mặt nạ mạng con có chiều
dài thay đổi
Trang 7LỜI NÓI ĐẦU
Như chúng ta đã biết, định tuyến là một chức năng không thể thiếu trong mạng viễn thông nói chung cũng như mạng IP nói riêng Mục đích của định tuyến là truyền thông tin từ một điểm trong mạng (nguồn) tới một hoặc nhiều điểm khác (đích) Mỗi khi thực hiện thiết kế, xây dựng một mạng mới hay cải tiến một mạng đã có, người thiết kế mạng phải đặc biệt quan tâm tới vấn đề định tuyến, bởi hoạt động của một mạng có hiệu quả hay không, chất lượng của các dịch vụ cung cấp có thỏa mãn được yêu cầu của người sử dụng mạng hay không phụ thuộc rất nhiều vào việc định tuyến trong mạng
Trải qua một quá trình phát triển lâu dài, rất nhiều phương pháp, kỹ thuật định tuyến đã được đưa ra Nghiên cứu về các kỹ thuật định tuyến là một lĩnh vực nghiên cứu rất rộng bởi mỗi mạng cần có một chiến lược định tuyến cho riêng mình, phù hợp với mục đích truyền dẫn, phù hợp với công nghệ mạng, phù hợp với yêu cầu của người
sử dụng mạng để trao đổi thông tin…Chúng ta không thể áp đặt hoàn toàn một chiến lược định tuyến của một mạng lên một mạng khác Do đó, đối với người thiết kế mạng, khi xác định kỹ thuật định tuyến để sử dụng trong một mạng mới, cần phải biết
kỹ thuật định tuyến được sử dụng trong một số mạng khác.Từ đó có thể định ra chiến lược định tuyến thích hợp cho mạng của mình
Kỹ thuật định tuyến trong mạng IP gồm có kỹ thuật định tuyến nội miền (định tuyến nội) và kỹ thuật định tuyến liên miền (định tuyến ngoại) Trong đó các giao thức định tuyến là nền tảng của các kỹ thuật định tuyến Giao thức định tuyến liên miền chủ yếu được sử dụng hiện nay đó là BGP Các giao thức định tuyến nội miền bao gồm: RIP, IGRP, EIGRP, OSPF, IS-IS Trong các giao thức định tuyến nội, OSPF được biết đến như là một trong những giao thức mạnh, phù hợp với các môi trường mạng lớn, phức tạp
Trong những năm gần đây, sự bùng nổ, sự phát triển ồ ạt của các ứng dụng và công nghệ đã dẫn đến tình trạng thiếu địa chỉ IP trầm trọng IPv4 không đủ khả năng để đáp ứng cho nhu cầu tương lai Trước tình hình trên, một phiên bản mới của giao thức IP
đã được ra đời, đó là IP version 6 (IPv6) Để hỗ trợ cho IPv6, OSPF cũng cần phải thay đổi Trước thức tế đó, IETF đã nghiên cứu và đưa ra phiên bản mới của OSPF, đó
là OSPF version 3 (OSPFv3) cho IPv6 Như vậy, việc nghiên cứu OSPFv3 có ý nghĩa
to lớn cho việc định tuyến trong tương lai
Dưới sự hướng dẫn của TS Dư Đình Viên, em đã mạnh dạn tìm hiểu về giao thức
Trang 8Chương I: Tổng quan về giao thức định tuyến OSPF cho IPv4.
Chương II: Giới thiệu về IPv6.
Chương III: Giao thức định tuyến OSPF cho IPv6
Do hạn chế về kiến thức cũng như thời gian nên chắc chắn đồ án sẽ không thể tránh khỏi những thiếu sót, vì vậy em rất mong được thầy cô và các bạn góp ý để đồ án của em hoàn thiện hơn
Em xin chân thành cảm ơn TS Dư Đình Viên và các thầy cô trong Bộ môn Chuyển mạch Khoa Viễn Thông đã giúp đỡ em hoàn thành đồ án tốt nghiệp này
Hà Nội, ngày 17 tháng 11 năm 2008
Sinh viên:
Nguyễn Mạnh Tùng
Trang 9CHƯƠNG I: TỔNG QUAN VỀ GIAO THỨC ĐỊNH TUYẾN
OSPF
1.1 Khái niệm về định tuyến
Định tuyến là một chức năng không thể thiếu trong mạng viễn thông nói chúng và trong mạng IP nói riêng Nó là một công việc quan trọng trong quá trình truyền tin trong mạng Mục đích của định tuyến là xác định đường đi cho thông tin của người sử dụng từ điểm nguồn đến điểm đích trong môi trường liên mạng Chức năng định tuyến được thực hiện tại lớp mạng (lớp 3 theo mô hình tham chiếu OSI) Trong môi trường liên mạng, định tuyến được thực hiện qua các bộ định tuyến (router)
• Thứ hai là dựa trên các thông tin trạng thái ở trên, chọn ra đường truyền khả dụng nhất cho thông tin cần truyền
Lớp mạng sẽ thực hiện chuyển gói từ đầu cuối tới đầu cuối (end-to-end) theo kiểu
nỗ lực tối đa (best-effort) qua liên mạng Sau khi các router đã quyết định sử dụng đường dẫn nào, nó sẽ tiến hành chuyển gói tới đích
Trang 101.2 Phân loại định tuyến
1.2.1 Định tuyến tĩnh
Trong phương pháp định tuyến tĩnh, thông tin định tuyến được người quản trị mạng tạo lập trực tiếp qua các thao tác bằng tay vào trong cấu hình của router.Bất cứ khi nào cấu trúc mạng thay đổi, người quản trị mạng phải cập nhật lại các tuyến tĩnh một cách thủ công
Định tuyến tĩnh bộc lộ một số nhược điểm như: quyết định định tuyến không dựa trên sự đánh giá lưu lượng và cấu trúc mạng hiện thời, các bộ định tuyến không thể phát hiện ra các bộ định tuyến mới, chúng chỉ có thể chuyển gói tin tới các bộ định tuyến được chỉ định bởi nhà quản trị mạng Như vậy, định tuyến tĩnh không thích ứng được với sự thay đổi cấu trúc và lưu lượng của mạng
Tuy nhiên, phương pháp định tuyến tĩnh lại sử dụng có hiệu quả trong các mạng nhỏ với các tuyến đơn, các bộ định tuyến không cần trao đổi các thông tin tìm đường cũng như cơ sở dữ liệu định tuyến Vì vậy khi sử dụng định tuyến tĩnh sẽ không tốn băng thông cho quá trình trao đổi thông tin định tuyến
1.2.2 Định tuyến động
Ở phương pháp này, thông tin định tuyến sẽ được cập nhật một cách tự động Sau khi người quản trị nhập các lệnh cấu hình để khởi tạo định tuyến động, thông tin về tuyến sẽ được cập nhật một cách tự động mỗi khi nhận được một thông tin mới từ liên mạng Các thay đổi về topo mạng được trao đổi giữa các router
Hình 1.2 Định tuyến động
Trang 11Định tuyến động có ưu điểm trong các mạng phức tạp, nó hết sức linh hoạt trong việc thích ứng với các thay đổi của cấu trúc và lưu lượng mạng Sự thành công của định tuyến động phụ thuộc vào hai chức năng cơ bản của router:
1.2.3 Phân loại các giao thức định tuyến
1.2.3.1 Khái niệm
Giao thức định tuyến là một tập các quy tắc mà router sử dụng khi liên lạc với các router hàng xóm để trao đổi thông tin định tuyến và lựa chọn đường đi tối ưu nhất.Khi một giao thức định tuyến cập nhật bảng định tuyến, mục đích của nó là xác định đâu là thông tin tốt nhất để lưu trong bảng định tuyến thông qua giải thuật định tuyến Mỗi giải thuật định tuyến xác định thông tin tốt nhất theo cách riêng của nó Giải thuật tạo ra một tham số, được gọi là metric cho mỗi đường qua mạng Giá trị metric càng nhỏ thì đường đi càng tối ưu Chúng ta có thể tính toán metric dựa trên một đặc tính đơn lẻ của đường đi, hoặc cũng có thể tính các metric phức tạp hơn bằng cách kết hợp nhiều đặc tính
Các metric được sử dụng phổ biến gồm:
• Số bước nhảy (hopcount)
• Băng thông (bandwith)
Trang 12• Giao thức định tuyến cổng nội (IGP – Interior Gateway Protocol): Được sử dụng để định tuyến trong một hệ tự trị (AS) IGP được chia ra làm 2 loại chính:
Véc tơ khoảng cách (Distance Vector) bao gồm: RIP, IGRP, EIGRP, RIPv2
Trạng thái liên kết (Link state) bao gồm: OSPF, IS – IS
• Giao thức định tuyến cổng ngoại (EGP): Được sử dụng cho quá trình định tuyến giữa các AS với nhau Giao thức cổng ngoại được sử dụng phổ biến hiện nay là BGP (Border Gateway Protocol) Phiên bản đầu tiên của BGP được đưa ra là BGPv1 vào năm 1989, và phiên bản gần đây nhất là BGPv4
Hình 1.3 Các giao thức định tuyến
1.3 Giao thức định tuyến OSPF cho IPv4 (OSPFv2)
1.3.1 Giới thiệu chung về OSPF
OSPF (Open Shortest Path First) là một giao thức định tuyến dạng link-state, được phát triển bởi IETF (Internet Engineering Task Force – Nhóm đặc trách kỹ thuật Internet) OSPF sử dụng giải thuật Dijkstra để xây dựng bảng định tuyến OSPF có nhiều tính năng không có ở các giao thức vector khoảng cách Ưu điểm chính của OSPF so với các giao thức vector khoảng cách là khả năng đáp ứng nhanh theo sự thay
Giao thứcđịnh tuyến động
Giao thức định tuyến cổng nội
Giao thức định tuyến cổng ngoại
Giao thức trạng thái liên
kết
BGP
OSPF EIRP
RIPv2
Giao thức vector khoảng
cách
Trang 13đổi của hệ thống mạng, hoạt động tốt trong các mạng cỡ lớn và ít bị ảnh hưởng bởi các thông tin định tuyến tồi OSPF là một giao thức mở, vì vậy nó được phổ biến rộng rãi
và không có tính độc quyền
Một số tính năng của OSPF:
• Phân chia mạng một cách logic: OSPF sử dụng khái niệm phân vùng Bằng cách này, OSPF có thể giới hạn lưu thông trong từng vùng, thay đổi trong vùng này không ảnh hưởng đến hoạt động của các vùng khác Cấu trúc như vậy cho phép hệ thống mạng có khả năng mở rộng một cách hiệu quả và giảm bớt yêu cầu về bộ nhớ của các router OSPF
• Thời gian hội tụ nhanh hơn: OSPF cho phép truyền các thông tin về những thay đổi tuyến một cách tức thì đến tất cả các router, điều đó sẽ rút ngắn thời gian hội tụ cần thiết để cập nhật kiến trúc mạng
• Hỗ trợ nhận thực: OSPF hỗ trợ nhận thực cho tất cả các node phát thông tin quảng cáo định tuyến, điều này hạn chế được nguy cơ thay đổi bảng định tuyến
• Cân bằng tải giữa các tuyến cùng giá (cost): Việc sử dụng cùng lúc nhiều tuyến cho phép tận dụng có hiệu quả tài nguyên mạng
• Hỗ trợ CIDR và VLSM: Điều này cho phép nhà quản trị mạng có thể phân phối nguồn địa chỉ IP một cách có hiệu quả hơn
• Sử dụng cost làm thông số định tuyến để chọn đường đi trong mạng, vì vậy
có thể phản ánh được dung lượng của đường truyền
• OSPF đảm bảo không bị định tuyến lặp vòng: Mỗi router có một sơ đồ đầy
đủ và đồng bộ về toàn bộ cấu trúc mạng, do đó chúng rất khó bị lặp vòng
• OSPF là một giao thức trạng thái liên kết Vì vậy, cũng giống như các giao thức trạng thái liên kết khác, mỗi router OSPF đều sử dụng thuật toán SPF (Shortest Path First) để xử lý các thông tin chứa trong cơ sở dữ liệu trạng thái liên kết Thuật toán sẽ tạo ra một cây đường đi ngắn nhất mô tả cụ thể các tuyến dẫn tới đích
Hoạt động của OSPF được mô tả một cách tổng quát như sau:
1 Đầu tiên, các router OSPF gửi các gói Hello ra tất cả các giao diện chạy OSPF Nếu hai router chia sẻ một liên kết dữ liệu cùng chấp nhận các tham
số được chỉ ra trong gói Hello, chúng sẽ trở thành các router hàng xóm (neighbor) của nhau
2 Quan hệ mật thiết (Adjacency) có thể coi như các liên kết ảo điểm-điểm, được hình thành giữa các neighbor Việc hình thành một Adjacency phụ
Trang 14thuộc vào các yếu tố như loại router trao đổi các gói Hello và loại mạng sử dụng để truyền các gói Hello.
3 Sau khi các Adjacency được hình thành, mỗi router gửi các LSA (Link State Advertisement) qua các Adjacency cho các neighbor của nó Các LSA mô tả tất cả các liên kết của router và trạng thái của các liên kết đó
4 Mỗi router nhận một LSA từ neighbor, ghi LSA vào cơ sở dữ liệu trạng thái liên kết của nó và gửi bản copy LSA tới tất cả các neighbor khác của nó
5 Bằng cách trao đổi các LSA trong một area, tất cả các router sẽ xây dựng cơ
sở dữ liệu trạng thái liên kết của mình giống với các router khác
6 Khi cơ sở dữ liệu hoàn chỉnh, mỗi router sử dụng giải thuật SPF để tính toán đường đi ngắn nhất (có cost thấp nhất) tới tất cả các đích đã biết Sơ đồ này gọi là cây đường ngắn nhất (SPF)
7 Cuối cùng, mỗi router sẽ xây dựng bảng định tuyến từ cây SPF của nó
1.3.2 Một số khái niệm cơ bản trong OSPF
1.3.2.1 Neighbor và Adjacency
Trước khi gửi các LSA, các router OSPF phải khám phá các neighbor của nó và thiết lập Adjacency với chúng Danh sách các neighbor được ghi vào trong bảng các neighbor cùng với liên kết (hoặc giao diện) nối với mỗi neighbor và các thông tin cần thiết khác để duy trì neighbor
1.3.2.2 Giao thức Hello
Giao thức Hello thực hiện chức năng sau:
• Dùng để khám phá các neighbor: Nó quảng cáo các tham số mà hai router phải chấp nhận trước khi chúng trở thành các neighbor của nhau
• Đảm bảo thông tin hai chiều giữa các neighbor
• Dùng để bình bầu router đại diện DR (Designated Router) và DR dự phòng (Backup DR) trong mạng quảng bá (Broadcast) và mạng đa truy nhập không quảng bá (NBMA)
Các router OSPF đều đặn gửi các gói Hello ra các giao diện OSPF Chu kỳ gửi được gọi là Hello Interval và được cấu hình trong cơ sở dữ liệu giao diện Nếu router không nhận được gói Hello từ neighbor trong một khoảng thời gian gọi là Router Dead Interval, nó sẽ khai báo neighbor này không hoạt động (ở trạng thái Down)
Khi một router nhận một gói Hello từ một neighbor của nó, nó sẽ kiểm tra các trường Area ID, Authentication, Network Mask, Hello Interval, Router Dead Interval
và Option trong gói Hello xem có phù hợp với các giá trị đã được cấu hình ở giao diện nhận hay không Nếu không phù hợp, gói sẽ bị phá hủy và Adjacency không được
Trang 15thiết lập Nếu tất cả phù hợp, gói Hello sẽ được khai báo là hợp lệ Nếu Router ID của router gốc đã có trong bảng neighbor của giao diện nhận, Router Dead Interval sẽ được thiết lập lại Nếu không có, nó sẽ ghi Router ID này vào bảng neighbor.
1.3.2.3 Các loại mạng trong OSPF
OSPF định nghĩa 5 loại mạng như sau:
• Mạng điểm - điểm (point-to-point network)
• Mạng quảng bá (broadcast network)
• Mạng đa truy nhập không quảng bá (NBMA network)
• Mạng điểm - đa điểm (point-to-multipoint network)
• Liên kết ảo (virtual link)
Mạng điểm - điểm: Là mạng nối hai router với nhau Các neighbor hợp lệ trong mạng này luôn thiết lập Adjacency với nhau Địa chỉ đích của các gói OSPF trong mạng này luôn luôn là địa chỉ lớp D 224.0.0.5 (gọi là A11SPF Routers)
Mạng quảng bá: Như là Ethernet, Token Ring, FDDI Đây là mạng đa truy nhập, trong đó có khả năng kết nối nhiều hơn hai router và các router này đều có thể nhận các gói gửi đi từ một router bất kỳ trong mạng Các router trong mạng quảng bá sẽ bình bầu DR và BDR Các gói Hello được phát multicast với địa chỉ đích là 224.0.0.5 Các gói xuất phát từ DR và BDR cũng được phát multicast với địa chỉ đích 224.0.0.5 Các router sẽ phát multicast các gói cập nhật và xác nhận trạng thái liên kết cho DR (hoặc BDR) với địa chỉ đích là địa chỉ lớp D 224.0.0.6 (gọi là A11 DRouters)
Mạng đa truy nhập không quảng bá (NBMA): như là X25, Frame Relay và ATM Đây là mạng có khả năng kết nối nhiều hơn hai router nhưng không có khả năng broadcast Điều đó có nghĩa là một gói được gửi từ một router trong mạng sẽ không được nhận bởi tất cả các router khác trong mạng Các router trong NBMA sẽ tiến hành bình bầu DR và BDR
Mạng điểm - đa điểm: Đây cũng là một trường hợp của mạng không quảng bá, nó được xem như là một tập hợp các liên kết điểm – điểm Các router trong mạng không
có quá trình bình bầu DR và BDR
Liên kết ảo (virtual link): Đây là một cấu trúc đặc biệt trong cấu hình Các router hiểu như là các mạng điểm - điểm Các gói OSPF được truyền unicast qua các liên kết ảo
Trang 16A B C
D
E B
C
A
Hình 1.4 Các Adjacency trong mạng đa truy nhập
Và khi n(n-1)/2 Adjacency này cùng gửi thông tin cập nhật thì việc ảnh hưởng tới hiệu suất của mạng là điều không tránh khỏi Một router gửi một LSA tới tất cả các neighbor của nó Các neighbor này lại gửi bản copy của LSA nhận được tới các neighbor của mình, điều này dẫn đến tạo ra nhiều bản copy của LSA trong mạng
Để tránh vấn đề trên, một router đại diện (DR) được bầu ra trong mạng đa truy nhập Mỗi router trong mạng thiết lập Adjacency với DR Chỉ có DR gửi các LSA tới các router còn lại trong mạng Một router có thể là DR đối với mạng này, nhưng không
là DR với mạng khác Như vậy, thay vì có n(n-1)/2 Adjacency, chúng ta chỉ có (n-1) Adjacency
Trang 17Như vậy, DR sẽ đứng ra làm router trung gian, nhận và phân phối các LSA từ các router thành viên, sau đó phân phối đến các router còn lại BDR chỉ là dự phòng của
DR
Quá trình bình bầu sẽ diễn ra như sau: Khi một router OSPF được kích hoạt, nó sẽ tìm kiếm các neighbor của nó và kiểm tra DR và BDR Nếu DR và BDR đã tồn tại, router sẽ chấp nhận chúng Nếu không có BDR, một cuộc bình bầu BDR sẽ được tiến hành và router nào có priority cao nhất sẽ trở thành BDR Nếu có nhiều hơn một router
có cùng priority cao nhất, router nào có Router ID cao nhất sẽ trở thành BDR Nếu chưa có DR, BDR sẽ trở thành DR và cuộc bầu cử BDR mới lại được thực hiện
Trang 18BGP
Backbone Router
Internal Router ABR
xử lý mạnh hơn so với các router nội ABR có nhiệm vụ thu thập thông tin cấu hình của các area gắn với nó cho mạng Backbone, sau đó Backbone sẽ quảng cáo lại các thông tin đó cho các area khác
Router Backbone: Là những router có ít nhất một giao diện gắn vào mạng Backbone Như vậy, Router Backbone có thể là một ABR hoặc một router nào đó thuộc mạng Backbone (area 0)
Router biên hệ tự trị (ASBR): Là những router hoạt động như một gateway đối với lưu lượng ngoài Một ASBR có thể được xác định ở bất cứ vị trí nào trong hệ tự trị OSPF Nó có thể là router nội, router Backbone hay ABR
Trang 19Network Summary LSA: LSA này được tạo ra bởi các ABR Network Summary LSA mô tả thông tin tóm tắt của một area cho một area khác trong cùng một miền OSPF và ngược lại LSA loại này sẽ được ABR gửi vào area để quảng cáo cho các đích bên ngoài area đó Chúng thông báo cho các router bên trong area biết thông tin
về các đích bên ngoài area mà ABR có thể tiếp cận được Đồng thời, chúng cũng được ABR dùng để quảng cáo các đích bên trong area với các router thuộc các area khác.ASBR Summary LSA: Được tạo ra bởi ABR Nó giống hệt Network Summary LSA ngoại trừ việc nó dùng để quảng cáo cho các đích đến là ASBR
AS External LSA: Cho biết thông tin về các tuyến bên ngoài AS Nó được tràn lụt trong toàn miền OSPF
Group Membership LSA: Được sử dụng trong Multicast OSPF (MOSPF) MOSPF định tuyến các gói từ một nguồn tới một nhóm đích có địa chỉ multicast
Trang 20NSSA External LSA: Được tạo ra bởi các ASBR trong các not-so-stubby area (NSSA) NSSA External LSA gần giống với AS External LSA ngoại trừ việc nó chỉ được tràn lụt trong NSSA tạo ra nó.
External Attribute LSA: Được đề xuất để chạy internal BGP (iBGP) với mục đích truyền tải thông tin BGP qua miền OSPF Tuy nhiên, nó chưa được triển khai
Opaque LSA: Được sử dụng để tính toán các tuyến đường dùng cho kỹ thuật quản
lý lưu lượng của công nghệ MPLS LSA này cũng chưa được triển khai
1.3.5 Các loại vùng cơ bản
OSPF hỗ trợ hai mức độ phân cấp qua khái niệm vùng (area) Vùng 0 là vùng trung tâm Tất cả các vùng khác đều phải kết nối trực tiếp tới vùng 0 hay kết nối qua virtual link Mỗi vùng đều phải có khả năng phát thông tin quảng cáo tới vùng 0 Sau đó, vùng 0 sẽ phát những thông tin này tới các vùng còn lại Việc chia nhỏ ra thành nhiều vùng như vậy có những ưu điểm sau:
• Mỗi router chỉ phải chia sẻ một cơ sở dữ liệu trạng thái liên kết giống hệt với các router trong cùng một area chứ không phải toàn mạng Do đó giảm được kích thước của cơ sở dữ liệu, dẫn tới giảm yêu cầu bộ nhớ của router
• Hạn chế sự tràn lụt của các LSA Phần lớn các LSA chỉ tràn lụt trong phạm vi vùng tạo ra nó
Ngoài vùng backbone, OSPF còn định nghĩa một số loại vùng như: stub area, totally stubby area, not-so-stubby area
a) Stub area
Stub area là area mà trong đó các thông tin External LSA và ASBR LSA không được tràn lụt vào Các ABR gắn với Stub area chỉ sử dụng các Network Summary LSA để quảng cáo thông tin từ các area khác vào Stub area Các router bên trong area
sẽ sử dụng tuyến mặc định nếu như nó không tìm thấy tuyến nào phù hợp trong bảng định tuyến
Trong hình 1.8, area 1 được định nghĩa là stub area Các thông tin từ IGRP router
sẽ bị chặn bởi router I Các thông tin từ RIP router được nhận tại router E, nhưng cũng
sẽ bị chặn tại router F Tuy nhiên, area 1 vẫn nhận các thông tin của area 2 tại router F
Trang 21B C
D
G H
b) Totally Stubby Area
Totally Stubby Area là vùng bị hạn chế nhất Nó sử dụng các tuyến mặc định để định tuyến các đích Totally Stubby Area sẽ ngăn chặn không chỉ các AS External LSA mà còn ngăn chặn tất cả các Summary LSA ngoại trừ các LSA loại 3 dùng để quảng cáo tuyến mặc định Như vậy, vùng Totally Stubby sẽ không nhận các thông tin
từ bên ngoài (external LSA), không nhận các thông tin tóm tắt (summary LSA), nó chỉ nhận các thông tin mặc định (default route) và xem đó như là các thông tin tóm tắt.c) Not-so-Stubby Area (NSSA)
NSSA là area cho phép các tuyến bên ngoài được quảng cáo vào hệ tự trị OSPF trong khi vẫn giữ được các đặc trưng của một stub area đối với phần còn lại của hệ tự trị Cụ thể, ASBR trong NSSA sẽ tạo ra các LSA loại 7 để quảng cáo cho các đích bên ngoài Các NSSA External LSA này được tràn lụt trong NSSA nhưng bị chặn tại ABR NSSA External LSA có một bit P trong phần Header của nó gọi là cờ Nếu ABR của NSSA nhận được một LSA loại 7 với bit P được thiết lập bằng 1, nó sẽ chuyển đổi LSA loại 7 thành LSA loại 5 và tràn lụt chúng vào các area khác Nếu bit P bằng 0, sẽ không có sự chuyển đổi nào xảy ra, LSA sẽ không được quảng cáo ra bên ngoài NSSA Quá trình trên được minh họa dưới hình sau:
Trang 22Area 2 (NSSA) Area 0
Type 5 Type 7
Type 7 Type 7
Type 7 Type 7
Hình 1.9 Not-So-Stubby Area
1.3.6 Các loại gói tin
OSPF có 5 loại gói tin là gói Hello, gói mô tả cơ sở dữ liệu (Database Desciption), gói yêu cầu trạng thái liên kết (Link State Request Packet), gói cập nhật trạng thái liên kết (Link State Update), và gói xác nhận trạng thái liên kết (Link State Acknowledge)
• Gói Hello: Dùng để thiết lập và duy trì adjacency Nó mang những tham số mà hai router phải chấp nhận trước khi chúng trở thành neighbor của nhau
• Gói Database Description (DD): Gói này được sử dụng khi một Adjacency đang được thiết lập Mục đích cơ bản của gói DD là mô tả các LSA trong cơ sở
dữ liệu của router nguồn giúp cho router đích có thể xác định xem nó có LSA phù hợp trong cơ sở dữ liệu của nó hay không
• Gói Link State Request: Trong quá trình đồng bộ cơ sở dữ liệu khi router nhận các gói DD, router sẽ chú ý đến các LSA được liệt kê (trong gói DD) mà không
có hoặc mới hơn các LSA trong cơ sở dữ liệu của mình Các LSA này sẽ được ghi vào danh sách yêu cầu trạng thái liên kết Sau đó router sẽ gửi các gói yêu cầu trạng thái liên kết để yêu cầu neighbor gửi các bản copy của các LSA cần thiết cho nó
• Gói Link State Update: Dùng để tràn lụt (flood) LSA và gửi các LSA được yêu cầu bởi gói yêu cầu trạng thái liên kết Vì các gói OSPF không được đi ra khỏi area tạo ra chúng, do đó các gói cập nhật trạng thái liên kết chỉ mang các LSA
Trang 23xa hơn một hop tính từ router nguồn Neighbor nhận gói có trách nhiệm mở gói
để lấy các LSA thích hợp rồi thực hiện quá trình tràn lụt xa hơn
• Gói Link State Acknowledge: Gói này được sử dụng để đảm bảo độ tin cậy cho quá trình tràn lụt Mỗi LSA nhận được từ Neighbor phải được xác nhận trong gói xác nhận trạng thái liên kết Các LSA đang được xác nhận sẽ có phần header của nó chứa trong gói xác nhận trạng thái liên kết
1.3.7 Giao diện OSPF
1.3.7.1 Cấu trúc dữ liệu giao diện
Các thành phần của cấu trúc dữ liệu giao diện bao gồm:
Địa chỉ IP và mặt nạ: là địa chỉ và mặt nạ được cấu hình cho giao diện
Area ID: là ID của area chứa giao diện
Process ID: dùng để phân biệt các tiến trình OSPF chạy trên một router
Router ID: dùng để nhận dạng router
Network type: loại mạng nối với giao diện
Cost: là cost của các gói đi ra từ giao diện.Cost được diễn tả bởi 16 bit nguyên không dấu có giá trị từ 1 đến 65535
InfTransDelay: là thời gian tính bằng giây mà các LSA ra khỏi giao diện với tuổi bị tăng lên
State: là trạng thái chức năng của giao diện
Router Priority: gồm 8 bit nguyên không dấu, có giá trị từ 0 đến 255, dùng để bình bầu DR và BDR
DR: là DR của mạng mà giao diện gắn vào DR này được ghi bởi Router ID của nó
và địa chỉ của giao diện gắn vào mạng của DR
BDR: là BDR của mạng mà giao diện gắn vào BDR này được ghi bởi Router ID của nó và địa chỉ của giao diện gắn vào mạng của BDR
Hello Interval: là khoảng thời gian tính bằng giây giữa các lần truyền các gói Hello trên giao diện
Router Dead Interval: là khoảng thời gian tính bằng giây mà nếu router không nhận được gói Hello từ neighbor của nó trong khoảng thời gian này thì nó sẽ coi neighbor này không còn hoạt động (ở trạng thái Down)
Wait Timer: là khoảng thời gian router sẽ chờ DR và BDR được quảng cáo trong gói Hello
RxmtInterval: là khoảng thời gian tính theo giây router sẽ chờ giữa các lần truyền lại của các gói OSPF chưa được xác nhận
Trang 24Hello Timer: là bộ định thời được lập bằng Hello Interval Khi nó hết hiệu lực, gói Hello được truyền lại từ giao diện.
Neighboring Routers: Danh sách tất cả các neighbor hợp lệ
Autype: Mô tả loại nhận thực sử dụng trong mạng Autype có thể là Null, Simple Password, hoặc Cryptographic (Message digest)
Authentication Key: Nếu chế độ nhận thực là Simple password, Au key là 64 bit Nếu chế độ nhận thực là Cryptographic, Au key là Message digest Chế độ Cryptographic cho phép cấu hình nhiều khóa trên một giao diện
1.3.7.2 Các trạng thái giao diện
Một giao diện OSPF sẽ chuyển đổi qua một số trạng thái khác nhau trước khi nó đủ khả năng làm việc Các trạng thái đó bao gồm: Down, Point to Point, Waiting, DR, Backup, DRother, và loopback
Down: Đây là trạng thái giao diện đầu tiên Ở trạng thái này, giao diện không làm việc Tất cả các tham số của giao diện được thiết lập bằng giá trị ban đầu và không có lưu lượng truyền hoặc nhận trên giao diện
Point to Point: Trạng thái này chỉ thích hợp với các giao diện kết nối tới các mạng Point to Point, Point to Multipoint và Virtual Link Khi giao diện ở trạng thái này, nó
đã đủ khả năng làm việc Nó sẽ bắt đầu gửi các gói Hello và thiết lập Adjacency với neighbor
Waiting: Trạng thái này chỉ thích hợp với các giao diện nối tới các mạng Broadcast
và NBMA Khi chuyển sang trạng thái này, nó bắt đầu gửi và nhận các gói Hello và lập Wait timer Router sẽ cố gắng xác định DR và BDR trong trạng thái này
DR: Ở trạng thái này, router là DR và sẽ thiết lập Adjacency với các Router khác trong mạng đa truy nhập
Backup: Ở trạng thái này, router là BDR và sẽ thiết lập Adjacency với các router khác
DRother: Ở trạng thái này, router không là DR hay BDR Nó sẽ thiết lập Adjacency với chỉ DR và BDR trong khi vẫn theo dõi tất cả các neighbor khác trong mạng
Loopback: Ở trạng thái này, giao diện được loopback bằng phần mềm hoặc phần cứng Mặc dù các gói không thể truyền, địa chỉ giao diện vẫn được quảng cáo trong Router LSA để các gói kiểm tra có thể tìm đường đến giao diện
1.3.8 Neighbor OSPF
1.3.8.1 Cấu trúc dữ liệu Neighbor
Các thành phần cấu trúc dữ liệu Neighbor gồm có:
Trang 25Neighbor ID: Router ID của neighbor.
Neighbor IP address: là địa chỉ IP của giao diện gắn vào mạng của neighbor Khi một gói OSPF được truyền tới neighbor, địa chỉ này sẽ là địa chỉ đích
Area ID: Để hai router trở thành neighbor của nhau, Area ID trong gói hello của router gửi phải phù hợp với Area ID của giao diện nhận
Interface: là giao diện gắn vào mạng chứa neighbor
Neighbor Priority: là Router Priority của neighbor được chỉ ra trong gói Hello.State: trạng thái chức năng của neighbor
Poll Interval: giá trị này chỉ sử dụng đối với các neighbor trong mạng NBMA.Các neighbor không thể khám phá các neighbor trong mạng nếu như các neighbor này ở trạng thái Down Do vậy, gói hello sẽ được gửi tới neighbor sau mỗi khoảng thời gian nhất định Khoảng thời gian này gọi là Poll Interval
Neighbor Options: là các khả năng tùy chọn cho neighbor
Inactivity Timer: là timer có chu kỳ Router Dead Interval Timer được reset khi nhận được gói Hello từ Neighbor Nếu Inactivity Timer hết hiệu lực mà chưa nhận được gói hello thì neighbor sẽ được khai báo là ở trạng thái không hoạt động (Down).Designated Router: Địa chỉ IP của giao diện gắn với DR trong mạng Nếu trong mạng không có DR thì trường này được đặt bằng 0 Địa chỉ này chứa trong trường DR của gói Hello
Backup designated router: Địa chỉ IP của giao diện gắn với BDR trong mạng Nếu trong mạng không có BDR thì trường BDR trong gói Hello được đặt bằng 0
Master/Slave: quan hệ chủ/tớ (được thiết lập trong trạng thái Exstart) thiết lập xem neighbor nào sẽ điều khiển quá trình đồng bộ cơ sở dữ liệu
DD Sequence Number: là số trình tự của gói Database Description (DD) đang được gửi tới neighbor
Last Received Database Description Packet: thông tin này được dùng để xác định xem gói DD tiếp theo có phải là bản sao của gói trước đó không
Link State Retransmission List: là danh sách các LSA đã được tràn lụt trên Adjacency nhưng chưa được xác nhận Các LSA sẽ truyền lại sau khoảng thời gian RxmtInterval cho đến khi chúng được xác nhận hoặc Adjacency bị phá vỡ
Database Summary List: là danh sách các LSA được gửi tới neighbor trong gói DD trong quá trình đồng bộ cơ sở dữ liệu
Link State Request List: danh sách các LSA trong gói DD của neighbor mà cập nhật hơn các LSA trong cơ sở dữ liệu trạng thái liên kết Các gói yêu cầu trạng thái liên kết được gửi tới neighbor để yêu cầu bản copy của các LSA này Khi nhận được
Trang 26các LSA yêu cầu trong các gói cập nhật trạng thái liên kết, danh sách yêu cầu trạng thái liên kết sẽ được xóa dần cho đến hết.
1.3.8.2 Các trạng thái Neighbor
Một router sẽ chuyển neighbor của nó qua một số trạng thái trước khi neighbor đó được coi là đã thiết lập hoàn toàn quan hệ mật thiết (Full Adjacency) với nó Các trạng thái đó bao gồm: Down, Attemt, Init, 2-Way, Exstart, Exchange, Loading, và Full.Down: đây là trạng thái đầu tiên của neighbor Trong trạng thái này, router sẽ không nhận được các thông tin về các router kế cận Các gói hello không được gửi tới neighbor bị Down trừ trường hợp các neighbor này thuộc mạng NBMA Trong trường hợp này, các gói hello được gửi theo chu kỳ Poll Interval
Attempt: Trạng thái này chỉ có trong các neighbor trong mạng NBMA Ở trạng thái này, neighbor sẽ không nhận được các thông tin từ các router cận kề nhưng vẫn nỗ lực tạo quan hệ với các router cận kề bằng cách định kỳ gửi các gói hello Một router sẽ chuyển một neighbor sang trạng thái attempt khi giao diện gắn với neighbor được kích hoạt đầu tiên hoặc khi router là DR hoặc BDR
Init: Trạng thái này chỉ ra rằng đã nhận được gói Hello từ neighbor nhưng kết nối hai chiều chưa được thiết lập Router sẽ chứa Router ID của tất cả các neighbor ở trạng thái này
2-Way: Ở trạng thái này, router đã thấy Router ID của mình ở trong trường neighbor của gói hello mà neighbor gửi tới Điều này có nghĩa là kết nối hai chiều đã được thiết lập Trong mạng đa truy nhập, neighbor phải ở trạng thái này hoặc trạng thái cao hơn để có thể được chọn là DR hoặc BDR Việc nhận một gói DD từ một neighbor ở trạng thái Init sẽ chuyển neighbor đó này sang trạng thái 2-Way
Exstart: Ở trạng thái này, router và các neighbor của nó thiết lập quan hệ Master/Slave và xác định số trình tự DD đầu tiên để chuẩn bị cho việc trao đổi các gói
DD Neighbor có địa chỉ giao diện cao hơn sẽ là Master
Exchange: Ở trạng thái này, router gửi các gói DD mô tả toàn bộ cơ sở dữ liệu trạng thái liên kết của nó tới các neighbor Router cũng gửi các gói yêu cầu trạng thái liên kết tới các neighbor để yêu cầu các LSA mới nhất
Loading: Router sẽ gửi các gói yêu cầu trạng thái liên kết tới các neighbor để yêu cầu các LSA mới hơn đã được chỉ ra ở trạng thái Exchange nhưng chưa nhận được.Full: Sau khi nhận được gói tin cập nhật trạng thái liên kết, cơ sở dữ liệu của hai router đã được đồng bộ hóa, neighbor hoàn thành quá trình thiết lập adjacency
Trang 271.3.9 Quá trình thiết lập mối quan hệ giữa các neighbor (adjacency)
OSPF thiết lập quan hệ thân mật adjacency giữa các neighbor nhằm mục đích trao đổi thông tin định tuyến Các neighbor trong các mạng Point to Point, Point to Multipoint, và liên kết ảo luôn thiết lập adjacency với nhau trừ khi tham số trong các gói hello của chúng không phù hợp
Trong các mạng broadcast và NBMA, DR và BDR sẽ thiết lập adjacency với tất cả các neighbor còn các DRother sẽ không thiết lập adjacency với các DRother khác.Gói DD đặc biệt quan trọng trong quá trình xây dựng adjacency Các gói DD sẽ chứa header của các LSA trong cơ sở dữ liệu trạng thái liên kết của router gốc Router nhận sẽ nhận các gói DD và kiểm tra các header này xem nó đã có bản copy mới nhất của LSA trong cơ sở dữ liệu của nó chưa Gói DD còn chứa ba cờ dùng để quản lý quá trình xây dựng adjacency, đó là:
• Bit I: I=1 chỉ ra đây là gói DD đầu tiên gửi tới
• Bit M: M=1 chỉ ra đây không phải là gói DD cuối cùng được gửi
• Bit MS: MS=1 chỉ ra gói DD được gửi từ router là master
Khi cuộc đàm phán Master/Slave bắt đầu ở trạng thái Exstart, cả hai neighbor sẽ cùng yêu cầu trở thành Master bằng cách gửi một gói DD rỗng với bit MS=1 Neighbor có Router ID thấp hơn sẽ là Slave và truyền trở lại gói DD có MS=0, số trình
tự DD được thiết lập theo số trình tự của Master Gói DD này sẽ là gói DD đầu tiên chứa bản tóm tắt các LSA Khi cuộc đàm phàn Master/Slave hoàn thành, neighbor sẽ chuyển sang trạng thái Exchange
Ở trạng thái Exchange, các neighbor sẽ tiến hành đồng bộ cơ sở dữ liệu Danh sách tóm tắt cơ sở dữ liệu cùng với các header của tất cả các LSA được ghi vào trong cơ sở
dữ liệu của router Các gói DD chứa danh sách các header của các LSA được gửi tới neighbor
Nếu một router thấy neighbor của nó có LSA không có trong cơ sở dữ liệu của nó, hoặc có bản copy của một LSA nào đó mới hơn, nó sẽ đặt LSA này vào danh sách yêu cầu trạng thái liên kết Sau đó nó gửi gói yêu cầu trạng thái liên kết để yêu cầu bản copy của LSA này Các gói cập nhật trạng thái liên kết sẽ vận chuyển các LSA này tới router Khi nhận được các LSA yêu cầu, router sẽ xóa các header của các LSA nhận được khỏi danh sách yêu cầu trạng thái liên kết
Tất cả các LSA được gửi đi trong gói cập nhật trạng thái liên kết phải được xác nhận Do vậy, các LSA đã gửi đi sẽ được ghi vào danh sách gửi lại trạng thái liên kết Khi một LSA được xác nhận, nó sẽ được xóa khỏi danh sách này LSA có thể được xác nhận theo 2 cách:
Trang 28• Khi nhận được gói xác nhận trạng thái liên kết chứa LSA header
• Khi nhận được gói cập nhật trạng thái liên kết chứa phiên bản LSA giống hệt với phiên bản đã gửi
Master sẽ điều khiển quá trình đồng bộ cơ sở dữ liệu trạng thái liên kết và đảm bảo chỉ có gói DD được gửi đi vào thời điểm đó Khi Slave nhận một gói DD từ Master, Slave xác nhận việc nhận gói DD bằng cách gửi một gói DD có cùng số trình tự tới Master Nếu Master không nhận được xác nhận trong khoảng thời gian RxmtInterval,
nó sẽ gửi tiếp bản copy của gói đó đến Slave Slave gửi các gói DD chỉ để xác nhận các gói DD mà nó nhận từ Master Nếu gói DD nhận được có số trình tự mới, Slave sẽ gửi gói DD xác nhận có cùng số trình tự với gói này Nếu số trình tự của gói nhận được giống với gói xác nhận trước đó thì gói xác nhận được truyền lại
Khi quá trình đồng bộ hoàn tất, sẽ xảy ra một trong hai sự chuyển đổi trạng thái sau:
• Nếu trong danh sách yêu cầu trạng thái liên kết vẫn còn các LSA theo yêu cầu, router sẽ chuyển trạng thái của neighbor sang trạng thái loading
• Nếu danh sách yêu cầu trạng thái liên kết rỗng, router sẽ chuyển trạng thái của neighbor sang trạng thái Full
Đồng thời, Master sẽ gửi tất cả các gói DD cần thiết để mô tả cơ sở dữ liệu trạng thái liên kết của nó tới Slave và nhận được gói DD với bit M=0 Và Slave biết rằng quá trình đồng bộ đã hoàn tất khi nó nhận được gói DD có bit M=0 và gửi một gói DD xác nhận có bit M cũng bằng 0
Trang 29Hình 1.10 Quá trình thiết lập Adjacency
Cụ thể, quá trình đồng bộ cơ sở dữ liệu giữa router R1 và R2 theo hình 1.10 bao gồm những bước sau:
• Router R1 được kích hoạt trong mạng đa truy nhập và gửi một gói Hello Do nó chưa có thông tin về neighbor nào, nên trường neighbor của gói hello là rỗng, trường DR và BDR được thiết lập bằng 0
• R2 nhận được gói Hello từ R1, nó tạo một cấu trúc dữ liệu neighbor cho R1 và chuyển trạng thái của R1 sang Init Sau đó, R2 sẽ gửi một gói Hello chứa Router ID của R1 trong trường neighbor và địa chỉ giao diện của nó trong trường DR
• Khi nhận được gói hello từ R2, R1 sẽ tạo một cấu trúc dữ liệu neighbor cho R2
và chuyển trạng thái của R2 sang Exstart để chuẩn bị cho việc đàm phán Master/Slaver Sau đó nó tạo một gói DD rỗng với số trình tự giả sử là x, bit I =
1 (chỉ ra rằng đây là gói DD đầu tiên của R1), bit M = 1 (chỉ ra đây không phải
là gói DD cuối cùng), bit MS = 1 (chỉ ra rằng R1 muốn là Master)
Trang 30• Trong quá trình nhận gói DD, R2 chuyển trạng thái của R1 sang Exstart Sau
đó, nó gửi một gói DD phản hồi có số trình tự giả sử là y Giả sử R2 có Router
ID cao hơn R1, nó đặt bit MS = 1 Gói DD này cũng rỗng như gói DD đầu tiên
• R1 chấp nhận R2 là Master và chuyển trạng thái của R2 sang Exchange Đồng thời nó tạo ra một gói DD có số trình tự bằng y, bit MS = 0 (chỉ ra nó là Slave) Gói này sẽ chứa các LSA header có trong danh sách tóm tắt trạng thái liên kết của R1
• R2 chuyển trạng thái của R1 sang trạng thái Exchange trong khi nhận gói DD của R1 Sau đó, nó sẽ gửi một gói DD có chứa các LSA header có trong danh sách trạng thái liên kết của nó và tăng số trình tự gói DD lên một đơn vị: y + 1
• R1 gửi một gói xác nhận với số trình tự là y + 1 tới R2 Quá trình cứ tiếp tục như vậy Khi R2 gửi gói DD với các LSA header cuối cùng trong danh sách tóm tắt trạng thái liên kết của nó, nó sẽ đặt bit M = 0 (chỉ ra đây là gói DD cuối cùng được gửi)
• R1 nhận được gói cuối cùng này và biết rằng quá trình Exchange đã hoàn tất Lúc này, R1 đã có các LSA cần thiết trong danh sách yêu cầu trạng thái liên kết của nó Nó chuyển R2 sang trạng thái Loading và gửi gói xác nhận chứa các LSA header cuối cùng của nó
• Khi nhận được gói DD cuối cùng của R1, R2 chuyển trạng thái của R1 sang Full vì nó không còn LSA nào trong danh sách yêu cầu trạng thái liên kết
• R1 gửi các gói yêu cầu trạng thái liên kết đến R2 R2 sẽ gửi các gói cập nhật trạng thái liên kết có chứa các LSA theo yêu cầu của R1 cho đến khi danh sách yêu cầu trạng thái liên kết của R1 rỗng Sau đó, R1 sẽ chuyển trạng thái của R2 sang Full
1.3.10 Tràn lụt (flooding)
Toàn bộ cấu hình mạng OSPF có thể được mô tả như là một nhóm các router liên kết với nhau bởi các Adjacency logic Để định tuyến qua cấu hình logic này, mỗi router phải có một cơ sở dữ liệu cấu hình Cơ sở dữ liệu cấu hình thường được gọi là
cơ sở dữ liệu trạng thái liên kết Nó bao gồm tất cả các LSA mà router nhận được Sự thay đổi trong cấu hình mạng sẽ được diễn tả như là sự thay đổi trong một hay nhiều LSA Tràn lụt là quá trình các gói LSA (mới và cả LSA đã thay đổi) được gửi qua mạng để đảm bảo cơ sở dữ liệu của mỗi router được cập nhật và duy trì sự đồng nhất với các router khác
Quá trình tràn lụt sử dụng hai loại gói OSPF sau:
• Gói cập nhật trạng thái liên kết
Trang 31• Gói xác nhận trạng thái liên kết.
Mỗi gói cập nhật và xác nhận trạng thái liên kết có thể mang nhiều LSA Các LSA được tràn lụt qua liên mạng, nhưng các gói cập nhật và xác nhận chỉ được truyền giữa hai router thông qua Adjacency
Trong mạng Point to Point: Các gói cập nhật trạng thái liên kết được gửi tới địa chỉ multicast A11SPFRouter (224.0.0.5)
Trong mạng Point to Multipoint và virtual link: Các gói cập nhật trạng thái liên kết được truyền unicast tới địa chỉ giao diện của các neighbor kế cận
Trong mạng quảng bá: Các DRother chỉ tạo Adjacency với DR và BDR Do đó các gói cập nhật được gửi tới địa chỉ AllDRoter (224.0.0.6) Sau đó DR sẽ phát Multicast các gói cập nhật tới tất cả các router kế cận trong mạng sử dụng địa chỉ AllSPFRouter
và các router nay đến lượt mình sẽ gửi LSA ra tất cả các giao diện khác chạy OSPF của nó Quá trình trên được minh họa dưới hình sau:
DR (224.0.0.6)
(a)
Drother (224.0.0.5)
Drother (224.0.0.5)
Drother (224.0.0.5)
BDR (224.0.0.6)
DR (224.0.0.6)
(b)
Update
Update
Update Update
Update
Trang 32Drother (224.0.0.5)
Drother (224.0.0.5)
Drother (224.0.0.5)
BDR (224.0.0.6)
DR (224.0.0.6)
(c)
Update
Update Update
Update Update
Hình 1.11 Tràn lụt gói trong mạng quảng bá
1.3.10.1 Tràn lụt tin cậy sử dụng xác nhận
Mỗi LSA được truyền đi phải được xác nhận Có hai kiểu xác nhận là: Xác nhận
tuyệt đối và xác nhận rõ ràng
Xác nhận tuyệt đối: Xác nhận tuyệt đối việc đã nhận một LSA bằng cách gửi một
gói cập nhật chứa một LSA giống hệt trở lại router nguồn Xác nhận tuyệt đối sử dụng hiệu quả trong trường hợp neighbor đang có ý định gửi cập nhật về router gốc
Xác nhận rõ ràng: Bằng cách gửi gói xác nhận trạng thái liên kết có chứa các
header của LSA đủ để nhận dạng các LSA
Khi LSA được gửi, một phiên bản của LSA được lưu trong danh sách truyền lại trạng thái liên kết LSA được truyền lại theo chu kì cho đến khi nhận được xác nhận hoặc khi Adjacency bị huỷ bỏ Các gói cập nhật trạng thái liên kết chứa các LSA truyền lại luôn phát theo kiểu unicast đối với mọi kiểu mạng
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
Số trình tự: Khi router tạo ra một LSA, nó lập số trình tự của LSA đó bằng số trình
tự đầu tiên Mỗi lần router tạo ra một phiên bản của LSA, số trình tự lại tăng lên một đơn vị Nếu số trình tự hiện tại là số trình tự lớn nhất và phải có một phiên bản mới của LSA được tạo ra thì trước tiên router đặt tuổi của LSA cũ đang tồn tại trong cơ sở
dữ liệu của các neighbor bằng tuổi lớn nhất (MaxAge) và tràn lụt nó trên tất cả các Adjacency Khi tất cả các neighbor kế cận biết được tuổi của LSA này là MaxAge thì
Trang 33phiên bản mới của LSA này với số trình tự là số trình tự đầu tiên đã có thể được tràn lụt.
Tổng kiểm tra: Tổng kiểm tra được tính toán dựa trên toàn bộ LSA ngoại trừ trường tuổi (Trường này thay đổi khi LSA chuyển từ router tới router do đó phải yêu cầu tính lại tổng kiểm tra tại mỗi router) Tổng kiểm tra của mỗi LSA cũng được tính lại khi chúng cư trú trong cơ sở dữ liệu để đảm bảo LSA không bị thay đổi khi ở trong
cơ sở dữ liệu
Tuổi: Phạm vi của tuổi là từ 0 đến 3600 s (gọi là tuổi cực đại MaxAge) Khi router tạo ra một LSA, nó lập tuổi của LSA bằng 0 Mỗi khi LSA được chuyển tiếp qua một router, tuổi của nó sẽ tăng lên một số giây nhất định Tuổi cũng được tăng lên khi LSA
cư trú trong cơ sở dữ liệu Khi LSA đạt đến tuổi MaxAge, LSA sẽ được tràn lụt lại sau
đó bị xoá khỏi cơ sở dữ liệu Do vậy khi router cần xoá bỏ một LSA khỏi tất cả cơ sở
dữ liệu, nó sẽ đặt tuổi của LSA bằng MaxAge và tràn lụt lại LSA này Chỉ có router tạo ra LSA mới có thể làm được điều này
Khi nhận được nhiều phiên bản LSA giống nhau, router sẽ xác định LSA mới nhất dựa trên giải thuật sau:
• So sánh số trình tự: LSA có số trình tự cao hơn là LSA mới hơn
• Nếu số trình tự bằng nhau, thì so sánh các tổng kiểm tra LSA có tổng kiểm tra cao nhất là LSA mới nhất
• Nếu tổng kiểm tra bằng nhau thì so sánh tuổi
Trang 34CHƯƠNG II: GIỚI THIỆU VỀ IPv6
2.1 Khái quát về IPv6
2.1.1 Những giới hạn của IPv4
Kể từ khi chính thức được đưa vào sử dụng và định nghĩa trong RFC 791 năm
1981 đến nay, IPv4 đã chứng minh được khả năng dễ triển khai, dễ phối hợp hoạt động và tạo ra sự phát triển bùng nổ của các mạng máy tính Tuy nhiên, đến thời điểm hiện tại, chính việc phát triển ồ ạt các ứng dụng và công nghệ cũng như các thiết bị di động khác đã làm bộc lộ những hạn chế của IPv4:
• Thiếu hụt không gian địa chỉ IPv4: Sự tăng nhanh của các host trên mạng đã dẫn đến tình trạng thiếu địa chỉ IP trầm trọng Mặc dù đã có nhiều công cụ ra đời để khắc phục tình trạng trên như: kỹ thuật subnetting (1985), kỹ thuật VLSM (1987) và CIDR (1993) Tuy nhiên, các kỹ thuật nêu trên cũng không thể khắc phục tình trạng thiếu địa chỉ IP cho nhu cầu tương lai Chỉ có khoảng 4
tỷ địa chỉ IPv4, nhưng khoảng địa chỉ này là không đủ trong tương lai với những thiết bị kết nối vào Internet và các thiết bị gia đình có thể yêu cầu địa chỉ IP
• Có nhiều bảng định tuyến lớn trên các router backbone: Điều này làm chậm quá trình xử lý của router và làm giảm tốc độ của mạng
• An ninh mạng: Đã có nhiều giải pháp để khắc phục vấn đề bảo mật trong IPv4 như IPsec, DES, 3DES… nhưng những giải pháp này đều phải cài đặt thêm vào
và có nhiều phương thức khác nhau đối với mỗi loại chứ không được hỗ trợ trong bản thân giao thức
• Yêu cầu cấu hình đơn giản: Đa số những vận hành của IPv4 hiện nay đều phải cấu hình bằng tay hay sử dụng một giao thức cấu hình địa chỉ tự động như DHCP (Dynamic Host Configuration Protocol).Tuy nhiên, với sự bùng nổ của Internet hiện nay, nhiều máy tình và thiết bị sử dụng IP Điều đó dẫn đến cần có
sự cấu hình địa chỉ tự động và đơn giản hơn, và những cài đặt cấu hình không phụ thuộc vào sự quản lý của một cấu trúc DHCP
• Nhu cầu về các ứng dụng thời gian thực hay vấn đề đảm bảo chất lượng dịch vụ QoS: Các thách thức mới từ việc nảy sinh các dịch vụ viễn thông, các yêu cầu truyền thời gian thực cho các dịch vụ multimedia, video, âm thanh qua mạng…
đã đặt ra việc đảm bảo QoS cho các ứng dụng này QoS trong IPv4 được xác định trong trường ToS và phần nhận dạng của tải tin Tuy nhiên, trường ToS này có ít tính năng
Trang 352.1.2 Những đặc trưng của IPv6
Từ những hạn chế trên của IPv4, một phiên bản mới của giao thức IP đã được giới thiệu Xuất phát điểm của IPv6 có tên gọi là IPng (Internet Protocol Next Generation) Sau đó, IPng được gán với phiên bản 6 và lấy tên chính thức là IPv6 Quan điểm chính khi thiết kế IPv6 là từng bước thay thế IPv4 và không tạo ra sự biến đổi quá lớn với các tầng trên, dưới Những đặc trưng của IPv6 bao gồm:
• Khuôn dạng tiêu đề (header) mới: Header của IPv6 được giảm tới mức tối thiểu bằng việc chuyển tất cả các trường tùy thuộc (Options) và các trường không cần thiết xuống phần header mở rộng nằm ngay sau header IPv6 Việc tổ chức hợp
lý header IPv6 làm tăng hiệu quả xử lý tại các router trung gian Các header của IPv6 và IPv4 là không tương thích Một host hay một router phải sử dụng cả IPv6 và IPv4 mới có thể nhận dạng và xử lý các khuôn dạng header khác nhau này Header IPv6 mới có kích cỡ chỉ gấp 2 lần header của IPv4, mặc dù số bit trong địa chỉ IPv6 gấp 4 lần số bit trong địa chỉ IPv4
• Không gian địa chỉ rộng lớn: IPv6 có 128 bit địa chỉ nguồn và đích Với phạm
vi của địa chỉ IPv6, việc cung cấp địa chỉ trở nên thoải mái hơn Về mặt lý thuyết, 128 bit có thể biểu diễn được 2128 ≈ 3,4.1038 địa chỉ, nhiều hơn địa chỉ IPv4 vào khoảng 8 tỷ tỷ tỷ lần Số lượng địa chỉ này sẽ đáp ứng được sự bùng
nổ của các thiết bị IP trong tương lai
• Kết cấu địa chỉ và định tuyến được phân cấp, hiệu quả: Địa chỉ IPv6 được thiết
kế để tạo ra một kết cấu định tuyến tổng hợp, phân cấp và hiệu quả dựa trên sự phân cấp thành nhiều mức của các nhà cung cấp dịch vụ (ISPs) Nhờ đó, các router backbone có các bảng định tuyến nhỏ hơn nhiều, tương ứng với kết cấu định tuyến của các nhà cung cấp dịch vụ toàn cầu
• Tự động cấu hình địa chỉ: Để đơn giản hóa cho việc cấu hình các host, IPv6 không chỉ cung cấp khả năng cấu hình địa chỉ tự động bởi DHCP, mà IPv6 còn đưa thêm khả năng tự động cấu hình địa chỉ khi không có DHCP server Trong một mạng, các host trên một liên kết (link) có thể tự động cấu hình địa chỉ của
nó bằng cách sử dụng các địa chỉ IPv6 cho link (được gọi là địa chỉ link-local) Ngay cả khi không có router, các host cũng có thể cấu hình tự động địa chỉ link-local Các địa chỉ link-local được cấu hình và liên lạc với các node hàng xóm trên liên kết ngay lập tức Trong khi các host IPv4 sử dụng DHCP phải đợi một thời gian trước khi không cần đến sự cấu hình DHCP
• Tích hợp bảo mật: IPsec được hỗ trợ ngay trong bản thân IPv6 Yêu cầu bắt buộc này là một giải pháp tiêu chuẩn cho an ninh mạng IPsec bao gồm 2 loại
Trang 36tiêu đề mở rộng: Authentication header (AH), Encapsulating Security Payload (ESP) và một giao thức cho truyền thông unicast: giao thức IKE (Internet Key Exchange).
• Hỗ trợ QoS tốt hơn: Những trường mới trong IPv6 header xác định cách thức
xử lý và nhận dạng lưu lượng Trường nhãn luồng (Flow Label) trong IPv6 header cho phép các router nhận dạng và xử lý riêng biệt với các gói thuộc dòng lưu lượng Vì lưu lượng được nhận dạng trong IPv6 header, nên QoS vẫn được đảm bảo ngay cả khi những gói tải tin được mã hóa bởi IPsec và ESP
• Khả năng mở rộng: IPv6 có thể mở rộng một cách dễ dàng cho các chức năng mới bằng cách thêm vào các header mở rộng sau IPv6 header Không giống như trong IPv4, phần tùy chọn (options) chỉ có 40 byte Trong IPv6, kích thước của các header mở rộng chỉ bị hạn chế bởi kích thước của gói tin IPv6
2.2 Địa chỉ IPv6
2.2.1 Không gian địa chỉ IPv6
Đặc điểm dễ nhận ra nhất của IPv6 đó là nó sử dụng một không gian địa chỉ rộng lớn Kích thước của địa chỉ IPv6 là 128 bit, gấp 4 lần kích thước của địa chỉ IPv4 Với kích thước địa chỉ là 128 bit, không gian địa chỉ của IPv6 sẽ là 2128, hay 340,282,366,920,938,463,463,374,607,431,768,211,456 ( hay 3.4 x 1038) địa chỉ Theo tính toán lý thuyết, ước tính có khoảng 665,570,793,348,866,943,898,599 địa chỉ trên 1m2 bề mặt trái đất (với giả thiết diện tích bề mặt trái đất là 511,263,971,197,990 m2) Đây là một không gian địa chỉ vô cùng lớn với mục đích không chỉ cho Internet mà còn cho tất cả các mạng máy tính, hệ thống viễn thông, hệ thống điều khiển và thậm chí cho từng vật dụng trong gia đình Nhu cầu hiện tại theo ước tính chỉ cần 15% không gian địa chỉ IPv6, còn 85% dự phòng cho tương lai Như vậy, khả năng hết địa chỉ IPv6 là một điều không tưởng
Tương tự như cách mà không gian địa chỉ IPv4 được chia thành các địa chỉ unicast
và các địa chỉ multicast, không gian địa chỉ IPv6 được phân chia dựa trên giá trị các bit bậc cao Các bit bậc cao với giá trị cố định này được gọi là tiền tố định dạng (Format Prefix - FP) Sự cấp phát không gian địa chỉ IPv6 dựa trên FP được chỉ ra dưới hình sau:
Phân bố Tiền tố định dạng
(FP)
Tỷ trọng trong không gian địa chỉ
Trang 37Địa chỉ unicast Link-local 1111 1110 10 1/1024
Địa chỉ unicast site-local 1111 111011 1/1024
IPv6 có 2 nguyên tắc để rút gọn việc ghi địa chỉ: thứ nhất là nó cho phép bỏ các số
0 đứng đầu mỗi nhóm số,ví dụ như viết 0 thay vì viết 0000, viết 6 thay vì viết 0006 Thứ hai là nó cho phép thay thế nhiều nhóm số 0 liên tiếp bằng 2 dấu hai chấm (::)
Ví dụ: một địa chỉ IPv6 khi chưa được rút gọn có dạng sau:
Trang 380:0:0:BA98:7654:: nhưng không thể viết là ::BA98:7654:: vì như vậy sẽ gây nhầm lẫn khi dịch ra địa chỉ đầy đủ.
Có một số địa chỉ IPv6 được hình thành bằng cách gắn 96 bit 0 vào trước địa chỉ IPv4 Như vậy, 6 nhóm số đầu của địa chỉ IPv6 sẽ được gán bằng 0, còn 2 nhóm số còn lại dài 32 bit được ghi theo kiểu địa chỉ IPv4
2.2.3 Phân loại địa chỉ IPv6
Địa chỉ IPv4 được chia thành 5 lớp: A, B, C, D, E.Còn địa chỉ IPv6 lại chia thành 3 loại chính sau:
• Địa chỉ Unicast: Một địa chỉ Unicast nhận dạng một giao diện đơn Một gói tin
có địa chỉ Unicast sẽ được chuyển đến một giao diện cụ thể
• Địa chỉ Multicast: Một địa chỉ multicast dùng để nhận dạng một nhóm các giáo diện (thường là những node khác nhau) Một gói tin có địa chỉ multicast sẽ được chuyển đến tất cả các giao diện có gán địa chỉ multicast
• Địa chỉ Anycast: Cũng là địa chỉ dùng để nhận dạng một nhóm các giao diện Những gói tin có địa chỉ Anycast sẽ được chuyển đến giao diện đơn gần nhất trong nhóm các giao diện mang địa chỉ Anycast này Khái niệm gần nhất ở đây dựa trên khoảng cách gần nhất được xác định thông qua giao thức định tuyến Địa chỉ anycast được sử dụng để thực hiện 1 chức năng nhất định
Sự khác nhau giữa địa chỉ Multicast và địa chỉ Anycast ở đây là quá trình chuyển gói dữ liệu Các gói mang địa chỉ Multicast sẽ được chuyển đến tất cả các thành viên trong nhóm giao diện thay vì chỉ gửi đến một giao diện gần nhất như trong Anycast Trong IPv6, không có loại địa chỉ broadcast như trong IPv4, vì chức năng của loại địa chỉ này được bao gồm trong nhóm địa chỉ multicast
Tất cả các loại địa chỉ IPv6 được gán cho các giao diện, không gán cho các node.Một node được nhận dạng bởi bất kỳ địa chỉ unicast nào được gán cho giao diện của node đó
2.2.3.1 Địa chỉ Unicast
Unicast được dùng để định dạng cho các giao diện trên mạng Nó giống như kiểu địa chỉ point-to-point trong IPv4 Một gói có địa chỉ đích là địa chỉ unicast sẽ được
Trang 39chuyển tới giao diện được định dạng bởi địa chỉ đó Địa chỉ unicast có thể được phân loại như sau:
• Địa chỉ Aggregatable global
- Địa chỉ Aggregatable global unicast (phạm vi toàn cầu): Dạng địa chỉ này được
sử dụng để hỗ trợ các nhà cung cấp dịch vụ (ISP) có nhu cầu kết nối Internet toàn cầu Loại địa chỉ này được xây dựng theo kiến trúc phân cấp rõ ràng, cụ thể như sau:
3 bit 13 bits 8 bits 24 bits 16 bits 64 bits
Hình 2.2 Cấu trúc địa chỉ aggreatable global unicast
• FP = 001 (Format Prefix): tiền tố định dạng đối với địa chỉ lọai này
• TLA ID (Top Level Aggregation Identification): Trường này có kích thước
là 13 bit TLA ID định danh mức cao nhất trong phân cấp địa chỉ, tức là nó định danh các nhà cung cấp dịch vụ cao nhất trong hệ thống các nhà cung cấp dịch vụ Các TLA ID được quản lý bởi Internet Assigned Numbers Authority (IANA) và được cấp phát tới cơ quan đăng ký Internet TLA ID
có thể phân biết 213 = 8192 các TLA ID khác nhau
• RES: Trường này gồm 8 bit, các bit này chưa được sử dụng, dự trữ cho tương lai để mở rộng kích thước của trường TLA ID hoặc NLA ID
• NLA ID (Next Level Aggregation Identifier): Trường này gồm 24 bit, định danh nhà cung cấp bậc 2 (sau TLA) trong hệ thống các nhà cung cấp địa chỉ
• SLA ID (Site Level Aggregation Identifier): được sử dụng bởi 1 tổ chức cá nhân để định danh các subnet trong site đó Kích thước của trường này là 16 bit Một tổ chức có thể sử dụng 16 bit trong site để tạo ra 65,536 subnet hay tạo ra nhiều cấp của phân cấp địa chỉ
• Interface ID: Xác định giao diện của một subnet riêng biệt Trường này gồm
64 bit Interface ID trong IPv6 tương đương với node ID hay host ID trong IPv4
Trang 40Như vậy, loại địa chỉ này được thiết kế phân cấp, cấu trúc của nó được chia thành 3 phần:
• 48 bit public topology
• 16 bit Site topology
• 64 bit định danh giao diện
Trong mỗi phần có thể chia làm nhiều cấp con như hình sau:
Hình 2.3 Sự phân cấp địa chỉ global unicast
Như vậy, giá trị TLA ID có ý nghĩa định danh nhà cung cấp địa chỉ cao nhất Để có được một TLA ID, phải yêu cầu xin cấp qua một số tổ chức quốc tế Đối với một ISP, trong mô hình này đóng vai trò là một NLA cần phải xin cấp giá trị NLA ID của mình thông qua các tổ chức TLA Đối với mỗi tổi chức TLA, sau khi có TLA ID, có thể cấp phát đến các tổ chức cấp dưới Với mỗi TLA cho phép định danh tới 224 các tổ chức khác nhau Đối với cấu trúc của NLA ID cũng được phân ra thành các phần nhỏ, sử dụng n bit trong số 24 bit NLA để định danh cho tổ chức đó, 24- n bit còn lại cũng có thể phân cấp tiếp hoặc để cấp cho các host trong mạng Trong mỗi NLA, SLA ID cũng
có thể phân cấp theo quy tắc tương tự như NLA ID để cung cấp cho nhiều site khách hàng
Một site thuộc phạm vi một NLA khi có yêu cầu cấp địa chỉ sẽ nhận được thông tin
về TLA ID, NLA ID, SLA ID để định danh site trong tổ chức đó và xác định subnet trong các mạng con
48 bits public topology 16 bits site
topology 64 bits interface identifier
001 13 bits TLA ID 8 bits
RES 24 bits NLA ID 16 bits subnet
SLA2 (m bits)
Subnet (16 – n –m bits)
Site ID (24 – n – m bits)
NLA2 (m bits)
NLA1 ( n bits)
Site ID (24 – n bits)
SLA1 ( n bits)
Subnet (16 – n bits)