Tài liệu Đề tài Giao thức OSPF: THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT
APIs
Application Programming Interfaces
Giao diện lập trình ứng dụng
ARP
Address Resolution Protocol
Giao thức phân giải địa chỉ
ASBR
Autonomous System Boudary Router
Router biên giới độc lập
BDR
Backup Designated Router
Router được đề cử dự phòng.
BOOTP
Boot Programe
Chương trình khởi động
CIDR
Classless Internet Domain Routing
Định tuyến tên miền không phân lớp.
CSMA/CD
Carrier Sense Multiple Access/Collision Detect
Đa truy nhập cảm nhận sóng mang/Phát hiện xung đột
DD
Database Description
Mô tả cơ sở dữ liệu
DR
Designated Router
Router được đề cử.
EGP
Exterior Gateway Protocol
FDDI
Fiber Distributed Data Interface
FTP
File Transfer Protocol
Giao thức truyền tệp
ICMP
Internet Control Message Protocol
Giao thức thông điệp điều khiển Internet.
IE
Input Event
Biến cố đầu vào
IETF
Internet Engineering Task Force
Nhóm đặc trách kĩ thuật Internet.
IGP
Interior Gateway Protocol
IP
Internet Protocol
Giao thức Intern...
106 trang |
Chia sẻ: hunglv | Lượt xem: 1939 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Giao thức OSPF, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT
APIs
Application Programming Interfaces
Giao diện lập trình ứng dụng
ARP
Address Resolution Protocol
Giao thức phân giải địa chỉ
ASBR
Autonomous System Boudary Router
Router biên giới độc lập
BDR
Backup Designated Router
Router được đề cử dự phòng.
BOOTP
Boot Programe
Chương trình khởi động
CIDR
Classless Internet Domain Routing
Định tuyến tên miền không phân lớp.
CSMA/CD
Carrier Sense Multiple Access/Collision Detect
Đa truy nhập cảm nhận sóng mang/Phát hiện xung đột
DD
Database Description
Mô tả cơ sở dữ liệu
DR
Designated Router
Router được đề cử.
EGP
Exterior Gateway Protocol
FDDI
Fiber Distributed Data Interface
FTP
File Transfer Protocol
Giao thức truyền tệp
ICMP
Internet Control Message Protocol
Giao thức thông điệp điều khiển Internet.
IE
Input Event
Biến cố đầu vào
IETF
Internet Engineering Task Force
Nhóm đặc trách kĩ thuật Internet.
IGP
Interior Gateway Protocol
IP
Internet Protocol
Giao thức Internet
IS-IS
Intermediate System to Intermediate System
ISPs
Internet Service Providers
Nhà cung cấp dịch vụ Internet.
LAN
Local Area Network
Mạng cục bộ
LDP
Label Distribute Protocol
Giao thức phân bổ nhãn.
LLC
Logical Link Control
Điều khiển liên kết luận lý
LSA
Link State Advertisement
Gói quảng cáo trạng thái liên kết.
LSR
Label Switch Router
Router chuyển mạch nhãn.
MAC
Media Access Control
Điều khiển truy xuất môi trường
MPLS
Multiprotocol Label Switching
Chuyển mạch nhãn đa giao thức.
MS
Master/Slave
Chủ/Tớ
NAT
Network Address Translation
Biên dịch địa chỉ mạng
NBMA
Non Broadcast Multiaccess
Đa truy nhập không quảng bá
NGN
Next Generation Network
Mạng thế hệ tiếp theo.
OSI
Open Systems Interconnection
Mô hình liên kết hệ thống đấu nối mở
OSPF
Open Shortest Path First
Giao thức ưu tiên đường đi ngắn nhất.
PDU
Protocol Data Unit
Đơn vị số liệu giao thức
PPP
Point to Point Protocol
Giao thức điểm điểm
RARP
Reverse Address Resolution Protocol
Giao thức phân giải địa chỉ ngược
RIP
Routing Information Protocol
Giao thức thông tin định tuyến.
RIP-2
RIP version 2
RIP phiên bản 2
SPF
Shortest Path First
Thuật toán ưu tiên đường đi ngắn nhất.
TCP
Transport Control Protocol
Giao thức điều khiển truyền dẫn
UDP
User Datagrame Protocol
Giao thức dữ liệu người dùng.
VLSM
Variable Length Subnet Mask
Mặt nạ mạng con có chiều dài biến đổi
WAN
Wide Area Network
Mạng diện rộng.
Lời nói đầu
Trong những năm gần đây, công nghệ IP đang ngày càng được sử dụng rộng rãi trong các lĩnh vực truyền thông. Nó không chỉ được sử dụng để truyền dữ liệu mà còn dùng để truyền các dịch vụ khác như thoại, audio, video, các dịch vụ đa phương tiện.... Do vậy, các nhà nghiên cứu viễn thông đã tích cực nghiên cứu phát triển công nghệ IP để đáp ứng kịp thời cho các nhu cầu thực tế. Trong đó vấn đề phát triển các giao thức định tuyến trong mạng IP là một vấn đề hết sức quan trọng. Một trong những phát minh gần đây nhất về vấn đề này là giao thức OSPF được phát triển bởi nhóm đặc đặc trách kĩ thuật Internet IETF. OSPF được phát triển để khắc phục những hạn chế của giao thức định tuyến RIP được phát triển trước đó.
Đề tài tốt nghiệp “Giao thức OSPF” tìm hiểu các kiến thức cơ bản về giao thức OSPF và các ứng dụng của nó trong mạng IP ngày nay. Ngoài ra đề tài cũng nhắc lại những kiến thức cơ bản nhất về mạng IP để giúp người đọc dễ dàng hơn trong việc tiếp cận với giao thức OSPF. Đề tài bao gồm những nội dung sau:
Chương 1: Nhắc lại các kiến thức cơ bản về chồng giao thức TCP/IP. Trong đó có tóm tắt các chức năng cơ bản nhất của các lớp, so sánh mô hình TCP/IP với mô hình OSI, và có trình bày một số giao thức thuộc chồng giao thức TCP/IP.
Chương 2: Trình bày các kiến thức quan trọng nhất về định tuyến trong mạng IP. Trong đó có nói rõ về định tuyến tĩnh và định tuyến động. Trong phần định tuyến động, tài liệu có trình bày sơ qua về một số các giao thức định tuyến quen thuộc nhất là RIP, RIP-2, và OSPF.
Chương 3: Đây là chương chính của đề tài. Chương này sẽ trình bày một cách tương đối toàn diện tất cả các vấn đề về OSPF. Đọc xong chương này bạn sẽ có một kiến thức đầy đủ và sâu rộng về giao thức định tuyến OSPF.
Chương 4: Nêu lên một số ứng dụng của OSPF trong các mạng IP cỡ lớn đồng thời cũng trình bày các ứng dụng của nó trong mạng NGN của Việt Nam.
Do thời gian hạn chế nên nội dung của đồ án không thể tránh khỏi nhữn sai sót, vì vậy em rất mong nhận được sự quan tâm đóng góp ý kiến của các thầy cô và các bạn.
Em xin chân thành cảm ơn thầy Nguyễn Đình Long đã tận tình hướng dẫn em trong quá trình hoàn thành đồ án tốt nghiệp này. Em chân thành cảm ơn các thày cô giáo và bạn bè, những người đã giúp đỡ em trong suốt thời gian qua.
Hà Nội, ngày 25 tháng 10 năm 2005
Sinh viên: Phan Trùng Hưng
CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG GIAO THỨC TCP/IP
1.1 Hệ thống giao thức TCP/IP.
Hệ thống giao thức TCP/IP được phân thành các lớp, mỗi lớp thực hiện các nhiệm vụ riêng biệt (xem hình 1.1).
Lớp ứng dụng
Lớp vận chuyển
Lớp internet
Lớp truy cập mạng
Hình 1.1 Các lớp giao thức của mô hình TCP/IP
Chức năng các lớp:
Lớp truy cập mạng (Network Access layer): Cung cấp một giao tiếp với mạng vật lý. Các định dạng dữ liệu cho môi trường truyền và các địa chỉ dữ liệu cho mạng con (subnet) được dựa trên các địa chỉ phần cứng vật lý. Cung cấp kiểm soát lỗi cho dữ liệu phân bố trên mạng vật lý.
Lớp Internet (Internet layer): cung cấp chức năng đánh địa chỉ luận lý, độc lập phần cứng mà nhờ đó dữ liệu có thể di chuyển giữa các mạng con có các kiến trúc vật lý khác nhau. Cung cấp các chức năng định tuyến để giảm lưu lượng và hỗ trợ phân bố dọc theo Liên mạng (internetwork). (Thuật ngữ liên mạng nói đến một mạng lớn hơn, liên kết giữa các LAN). Liên kết các địa chỉ vật lý (sử dụng ở lớp Truy cập mạng) với các địa chỉ luận lý.
Lớp vận chuyển (Transport layer): Cung cấp các chức năng điều khiển luồng, kiểm soát lỗi và dịch vụ báo nhận cho liên mạng. Hoạt động như một giao tiếp cho các ứng dụng mạng.
Lớp ứng dụng (Application layer): Cung cấp các ứng dụng cho việc xử lý sự cố mạng, truyền tập tin, điều khiển từ xa, và các hoạt động Internet. Lớp này cũng hỗ trợ cho các giao tiếp lập trình ứng dụng (Application Programming Interfaces - APIs) cho phép các chương trình viết trên một môi trường cụ thể để truy cập mạng.
Khi phần mềm giao thức TCP/IP chuẩn bị một đoạn dữ liệu để truyền qua mạng, mỗi lớp của máy phát sẽ thêm thông tin điều khiển liên quan với lớp tương ứng trên máy nhận. Ví dụ, lớp Internet của máy tính gửi sẽ thêm một phần tiêu đề với một số thông tin có ý nghĩa liên qua đến lớp Internet của máy tính nhận thông điệp. Tiến trình này thường được xem là quá trình đóng gói (encapsulation). Ở đầu nhận, các phần tiêu đề này sẽ được loại bỏ khi dữ liệu được đưa lên các lớp bên trên.
1.2 TCP/IP và mô hình OSI.
Lớp ứng dụng
Lớp vận chuyển
Lớp Internet
Lớp truy cập mạng
Lớp ứng dụng
Lớp trình bày
Lớp phiên
Lớp vận chuyển
Lớp mạng
Lớp liên kết dữ liệu
Lớp vật lý
Hình 1.2 TCP/IP và mô hình OSI
TCP/IP OSI
Công nghệ kết nối mạng có một mô hình 7 lớp chuẩn cho kiến trúc giao thức mạng được gọi là mô hình Liên kết các hệ thống mở (Open Sysstems Interconnection - OSI). Mô hình OSI là một nỗ lực của tổ chức tiêu chuẩn thế giới ISO (International Standards Orrgnization), một tổ chức tiêu chuẩn quốc tế, nhằm tiêu chuẩn hoá thiết kế các hệ thống giao thức mạng để làm tăng tính liên kết và truy cập mở đến các chuẩn giao thức cho các nhà phát triển phần mềm.
VÌ TCP/IP ra đời và phát triển trước khi có kiến trúc chuẩn OSI nên TCP/IP hoàn toàn không tuân theo mô hình OSI. Tuy nhiên, hai mô hình đã có những mục tiêu tương tự nhau, và có sự ảnh hưởng lẫn nhau giữa các nhà thiết kế các tiêu chuẩn này nên chúng được đưa ra với tính tương thích nào đó. Mô hình OSI rất có ảnh hưởng trong sự phát triển của các giao thức, và hiện nay thuật ngữ OSI áp dụng cho TCP/IP là khá phổ biến. Hình 1.2 cho thấy mối quan hệ giữa 4 lớp chuẩn TCP/IP và mô hình OSI 7 lớp. Chú ý rằng mô hình OSI chia các nhiệm vụ của lớp ứng dụng thành 3 lớp: lớp ứng dụng (Application), lớp Trình bày (Presentation) và lớp Phiên (Session). OSI tách các hoạt động của lớp Giao tiếp mạng (Network Interface) thành một lớp Liên kết dữ liệu (Data Link) và một lớp vật lý (Physical). VIệc chia lớp nhỏ hơn này làm tăng độ phức tạp, nhưng cũng làm tăng tính linh hoạt cho các nhà phát triển bằng việc đưa ra các lớp giao thức đến nhiều dịch vụ cụ thể hơn.
1.3 Các gói dữ liệu.
Điều quan trong cần nhớ về chồng giao thức TCP/IP là mỗi lớp đóng một vai trò trong toàn bộ quá trình truyền thông. Mỗi lớp đòi hỏi các dịch vụ cần thiết để thực hiện vai trò của nó. Khi truyền, dữ liệu đi xuyên qua từng lớp của chồng giao thức từ trên xuống dưới, mỗi lớp sẽ có một số thông tin thích hợp gọi là tiêu đề (header) gắn vào dữ liệu, tạo thành đơn vị dữ liệu giao thức PDU (Protocol Data Unit) của lớp tương ứng. Khi PDU được đưa xuống các lớp thấp hơn, nó lại trở thành dữ liệu đối với lớp này và lại được đóng gói cùng phần tiêu đề của lớp này.
Tiến trình này được thể hiện trong hình 1.3, khi gói dữ liệu đến máy nhận thì tại đây sẽ có một tiến trình ngược lại. Khi dữ liệu đi lên qua tứng lớp của chồng giao thức thì các lớp sẽ bỏ phần tiên đề tương ứng và sử dụng phần dữ liệu.
Hình 1.3
Lớp Internet trên máy nhận sẻ sử dụng thông tin trong phần tiêu đề lớp Internet. Lớp Vận chuyển sẻ sử dụng thông tin trong phần tiêu đề lớp Vận chuyển. Ở mỗi lớp, gói dữ liệu ở dưới dạng thích hợp sẽ cung cấp thông tin cần thiết cho lớp tương ứng trên máy nhận. Bởi vì mỗi lớp đảm nhận những chức năng khác nhau nên định dạng của gói dữ liệu cơ bản khác nhau ở mỗi lớp.
1.4 Lớp truy cập mạng
1.4.1 Các giao thức và phần cứng
Lớp Truy cập mạng là lớp khó giải thích nhất và đa dạng nhất của TCP/IP. Lớp Truy cập mạng quản lý tất cả các dịch vụ và các chức năng cần thiết để chuẩn bị dữ liệu cho mạng vật lý. Các nhiệm vụ này bao gồm :
Giao tiếp với bộ tương thích mạng (card mạng) của máy tính.
Phối hợp việc truyền dữ liệu với các quy ước của phương thức truy cập thích hợp. Bạn sẽ biết rõ hơn về các phương thức truy cập ở các phần trong chương này.
Định dạng dữ liệu vào một đơn vị được gọi là một khung và chuyển đổi khung đó thành luồng các xung điện hoặc tương tự để đi qua môi trường truyền.
Kiểm tra lỗi trong các khung đến.
Thêm thông tin kiểm tra lỗi vào các khung đi để máy tính nhận có thể kiểm tra các lỗi của khung.
Báo nhận các khung dữ liệu và truyền lại các khung nếu không nhận được báo nhận.
Dĩ nhiên, ở phía nhận cũng phải thực hiện việc định dạng các khung nhận được bới máy tính mà nó được đánh địa chỉ.
Lớp Truy cập mạng định nghĩa các thủ tục để giao tiếp với phần cứng mạng và truy cập môi trường truyền. Trong lớp Truy cập mạng của TCP/IP, có thể thấy sự tác động qua lại phức tạp giữa phần cứng, phần mềm và các chi tiết kỹ thuật môi trường truyền. Không may có nhiều loại mạng vật lý khác nhau mà đều có những quy ước riêng của chúng, và bất kỳ mạng vật lý nào cũng có thể trở thành nền tảng cho lớp Truy cập mạng, ví dụ :
Ethernet
Token Ring
FDDI
PPP (Point - to – Point Protocol, thông qua modem)
Wireless network
Điều đánh mừng là lớp Truy cập mạng hầu như hoàn toàn vô hình đối với người sử dụng. Bộ phận điều khiểu bộ tương thích mạng, kết hợp với các thành phần mức thấp quan trọng của hệ điều hành và phần mềm giao thức, quản lý hầu hết các thao tác được giao cho lớp Truy cập mạng, và người sử dụng chỉ cần thực hiện một số bước cấu hình đơn giản. Các bước thao tác này đang ngày càng trở nên đơn giản do các tính năng plug-and-play của các hệ điều hành ngày càng được nâng cao.
Hệ thống giao thức yêu cầu các dịch vụ bổ sung để phân phối dữ liệu qua một hệ thống LAN cụ thể và đi ngược lên qua bộ tương thích mạng của một máy tính đích. Các dịch vụ này hoạt động trong phạm vi lớp Truy cập mạng.
1.4.2 Lớp Truy cập mạng và mô hình OSI
Như hình 1.4 cho thấy, lớp Truy cập mạng TCP/IP rất phù hợp với các lớp Vật lý và Liên kết dữ liệu OSI. Lớp vật lý OSI đảm nhiệm việc chuyển các khung dữ liệu thành luồng bit phù hợp với môi trường truyền, Nghĩa là lớp Vật lý OSI quản lý và đồng bộ các xung điện và xung tương tự tạo thành truyền thông thực sự. Ở đầu nhận, lớp Vật lý tập hợp các xung này thành một khung dữ liệu.
Hình 1.4
Lớp Liên kết dữ liệu OSI thực hiện hai chức năng riêng biệt và được phân nhỏ vào hai lớp con tương ứng sau :
Điều khiển truy cập môi trường truyền – Media Access Control (MAC) - lớp con này cung cấp một giao tiếp với bộ tương thích mạng. Bộ điều khiển bộ tương thích mạng, trên thực tế thường được gọi là bộ điều khiển MAC, và địa chỉ phần cứng được ghi vào tấm thẻ ở xưởng sản xuất thường được xem là địa chỉ MAC.
Điều khiển liên kết luận lý – Logical Link Control (LLC) – Lớp con này thực hiện các chức năng kiểm tra lỗi cho các khung được phân phối trên mạng con và quản lý các liên kết giữa các thiết bị đang giao tiếp trên mạng con.
1.4.3 Kiến trúc mạng
Trong thực tế khi nói đến khái niệm mạng cục bộ thì người ta thường quan tâm kiến trúc mạng LAN hay kiến trúc mạng chứ không phải các lớp giao thức. (Đôi khi một kiến trúc mạng được xem như là một loại LAN hay một cấu trúc liên kết (topology) LAN). Một kiến trúc mạng như Ethernet, cung cấp một gói các đặc tả chi phối truy cập môi trường, đánh địa chỉ vật lý, và sự tương tác của các máy tính với môi trường truyền thông. Khi quyết định chọn một kiến trúc mạng, là đang quyết đinh về một phác thảo cho lớp truy cập mạng.
Một kiến trúc mạng là một thiết kế cho mạng vật lý và một tập hợp các đặc tả định nghĩa các truyền thông trên mạng vật lý đó. Các chi tiết truyền thông phụ thuộc vào các chi tiết vật lý, vì vậy các đặc tả thường đi cùng với nhau thành một gói hoàn chỉnh. Các đặc tả này bao gồm các vấn đề sau :
Phương thức truy cập: Một phương thức truy cập là một tập các luật định nghĩa các máy tính sẽ chia sẻ môi trường truyền thông như thế nào. Để tránh các đụng độ dữ liệu (Data Collision), các máy tính phải tuân theo các luật này khi truyền dữ liệu.
Định dạng khung dữ liệu: Datagram mức IP từ lớp Internet được đóng gói trong một khung dữ liệu với một định dạng được định nghĩa trước. Dữ liệu trong phần tiêu đề phải cung cấp thông tin cần thiết để phân phối dữ liệu trên mạng vật lý.
Loại cáp (cable): loại cáp sử dụng cho một mạng có ảnh hưởng trên các thông số thiết kế nào đó như là các đặc tính điện của luồng bit được truyền bởi bộ tương thích.
Các luật đi cáp: Các giao thức, loại cáp, và các đặc tính điện truyền dẫn có ảnh hưởng đến chiều dài tối đa và tối thiểu của cáp và các chi tiết kỹ thuật kết nối cáp.
Các chi tiết như là loại cáp và loại bộ nối không phải là nhiệm vụ trực tiếp của lớp Truy nhập mạng, nhưng để thiết kế các thành phần phần mềm của lớp Truy cập mạng, các nhà phát triển phải thừa nhận một tập cụ thể các đặc điểm của mạng vật lý. Do đó, phần mềm Truy cập mạng phải đi cùng với thiết kế phần cứng cụ thể.
1.4.4 Đánh địa chỉ vật lý
Lớp Truy cập mạng cần phải gắn liền với địa chỉ IP luận lý được cấu hình thông qua phần mềm giao thức với địa chỉ vật lý cố định thực sự của bộ tương thích mạng. Địa chỉ vật lý được ghi vào card mạng ở xí nghiệp sản xuất. Các khung dữ liệu truyền qua LAN phải sử dụng địa chỉ vật lý này để xác định các bộ tương thích nguồn và đích, nhưng địa chỉ vật lý dài dòng (48 bit trong trường hợp sử dụng ethernet) không được thân thiện với con người. Ngoài ra, việc mã hoá địa chỉ vật lý ở các mức cao hơn làm ảnh hưởng đến kiến trúc module linh hoạt của TCP/IP, nó đòi hỏi các lớp trên duy trì các chi tiết vật lý liên quan.
TCP/IP sử dụng giao thức phân giải địa chỉ (Address Resolution Protocol_ARP) và giao thức phân giải địa chỉ ngược (Reverse Address Resolution Protocol_RARP) để liên kết các địa chỉ IP với các địa chỉ vật lý của các bộ tương thích mạng trên mạng cục bộ. ARP và RARP cung cấp một liên kết giữa các địa chỉ IP luận lý mà người dùng nhìn thấy và các địa chỉ phần cứng (thực sự không thể trông thấy được ) được sử dụng trên LAN.
1.4.5 Các công nghệ LAN
a. Ethernet
Ethernet và những người anh em mới hơn của nó Fast Ethernet và Gigabit Ethernet là các công nghệ LAN thông dụng nhất được sử dụng hiện nay. Ethernet đã trở nên phổ biết vì giá cả phải chăng của nó; cáp Ethernet không đắt và dễ cài đặt. Các bộ tương thích mạng Ethernet và các thành phần phần cứng Ethernet cũng tương đối rẻ.
Trên các mạng Ethernet, tất cả các máy tính chia sẻ một đường truyền thông chung, Ethernet sử dụng một phương thức truy cập được gọi là Đa truy cập cảm nhận sóng mang (Carrier Sense Multiple Access) với Dò tìm đụng độ (Collision detect) – CSMA/CD để quyết định khi nào một máy tính có thể truyền dữ liệu trên môi trường truy cập. Sử dụng CSMA/CD. Tất cả các máy tính quan sát môi trường truyền thông và chờ đến khi môi trường truyền thông sẵn sàng mới truyền. Nếu hai máy tính cố truyền cùng một lúc thì sẽ xảy ra đụng độ. Các máy tính sẽ dừng lại, chờ một khoảng thới gian ngẫu nhiên, và thử truyền lại.
Ethernet truyền thống làm việc tốt trong trường hợp tải bình thường nhưng tỉ lệ đụng độ sẽ cao khi mức độ sử dụng tăng. Một số biến thể của Ethernet có thể bao gồm các hub thông mình hoặc switch, hỗ trợ cho các mức lưu lượng cao hơn.
Ethernet có khả năng hoạt động trong nhiều môi trường khác nhau. Các mạng Ethernet tiêu biểu hoạt động ở các tốc độ bằng tần cơ sở 10Mbps, hay 100Mbps. Các hệ thống Ethernet 1000Mbps (Gigabit) hiện nay đã sẵn sàng và có thể sớm trở nên phổ biến. Ethernet không dây cũng đang trở nên phổ biến.
Hình 1.5 Mạng Ethernet
Kiến trúc Ethernet linh hoạt thậm chí thích hợp với hoạt động mạng không dây. Ethernet không dây đang trở nên phổ biến, và sẽ trở nên phổ biến hơn nữa trong những năm sắp tới khi phần cứng mạng phát triển hỗ trợ cho cuộc cách mạng không dây. Bạn có thể tự hỏi làm thế nào một kiến trúc quá tập trung trong việc đặc tả các loại, chiều dài, và cấu hình cáp của Ethernet lại có thể hoạt động trong môi trường không dây. Khi nghĩ về Ethernet thì ta thấy tính chất thông tin quảng bá khá tương thích với hệ thống không dây có đặc tính là truyền dẫn tự do và lưu động.
b. Token Ring
Kỹ thuật Token Ring sử dụng một khái niệm hoàn toàn khác hẳn với Ethernet trong quy trình truy cập môi trường. Phương thức truy cập này gọi là chuyển token.
Với phương thức truy cập chuyển token, các máy tính trên LAN được kết nối với nhau sao cho dữ liệu được truyền vòng quanh mạng trong một vòng luận lý. Việc cấu hình Token ring đòi hỏi các máy tính phải được nối vào một hub trung tâm được gọi là MAU hay MSAU.. Chỉ máy tính giữ token mới có thể truyền một thông điệp lên vòng.
Token ring về kỹ thuật thì phức tạp hơn Ethernet, và nó bao gồm một số chuẩn đoán và sửa lỗi được thiết lập sẵn sàng bên trong và có thể hỗ trợ cho việc khắc phục sự cố mạng. Ngoài ra, việc dữ liệu được truyền có thứ tự hơn, trong Token ring không xảy ra trường hợp tải nặng. Hầu như mọi thứ liên quan đến Token ring đều đắt tiền hơn Ethernet khi so sánh giữa chúng .
Token ring điển hình hoạt động ở tốc độ 4Mbps hoặc 16Mbps. Nó cũng có thể hoạt động ở tốc độ 100Mbps.
Token ring đã không còn phổ biến trong những năm gần đây, mặc dù vậy cấu trúc liên kết mạng vùng trong token ring vẫn được sử dụng trong các kỹ thuật đỉnh cao như FDDI.
Hình 1.6 Mạng Token Ring
c. FDDI
Fiber Distributed Data Interface (FDDI) là một kỹ thuật LAN đắt tiền hai vòng cáp quang. Một vòng được coi là vòng chính và vòng thứ hai để thay thế vòng chính nếu xảy ra sự cố. FDDI sử dụng một phương thức truy cập chuyển token tương tự như token ring.
Giống như Token ring, FDDI cũng có khả năng dò tìm và sửa lỗi. Trong một vòng FDDI hoạt động thông thường, token luôn truyền bởi mỗi máy. Nếu không thấy token trong thời gian tối đa luân chuyển quanh một vòng, thì có nghĩa là đã xảy ra một vấn đề gì đó, chẳng hạn như đứt cáp.
Cáp sợi quang được sử dụng với FDDI có thể cho phép tải một lượng dữ liệu lớn trên các khoảng cách lớn.
Hình 1.7 Mạng FDDI
1.5 Lớp Internet
1.5.1 Đánh địa chỉ và phân phối
Một máy tính thông tin với nhau thông qua một thiết bị giao tiếp mạng như card tương thích mạng. Thiết bị giao tiếp mạng có một địa chỉ vật lý duy nhất và được thiết kế để nhận dữ liệu gửi đến địa chỉ vật lý đó. Địa chỉ vật lý này được ghi vào card mạng khi nó được chế tạo. Một thiết bị như một card ethernet không biết bất kỳ chi tiết nào của các lớp giao thức bên trên. Nó không biết địa chỉ IP của nó và cũng không biết một khung đến được gửi đến từ đâu. Nó chỉ lắng nghe các khung đang tới, chờ một khung có địa chỉ là điạ chỉ vật lý của chính nó, và chuyển khung đó ngược lên trên chồng giao thức.
Sự phân phối địa chỉ vật lý này làm việc rất tốt trên một đoạn LAN riêng biệt. Một mạng bao gồm chỉ một ít máy tính trên một môi trường liên tục có thể hoạt động mà không cần gì khác ngoài các địa chỉ vật lý. Dữ liệu có thể chuyển trực tiếp từ bộ tương thích mạng này đến bộ tương thích mạng khác mà chỉ cần sử dụng các giao thức mức thấp liên quan với lớp Truy cập mạng. Không may, trên một mạng định tuyến không thể phân phối dữ liệu bằng địa chỉ vật lý. Các thủ tục tìm ra đích đến dùng cho việc phân phối bằng địa chỉ vật lý lại không hoạt động được thông qua giao tiếp Router. Cho dù chúng có thực hiện được thì việc phân phối bằng địa chỉ vật lý sẽ cồng kềnh vì địa chỉ vật lý cố định ghi vào trong thẻ mạng không cho phép bạn áp đặt một cấu trúc luận lý trên không gian địa chỉ.
Vì thế TCP/IP sẽ làm cho địa chỉ vật lý trở nên vô hình và thay vào đó nó tổ chức mạng theo một sơ đồ đánh địa chỉ phân lớp và luận lý. Sơ đồ đánh địa chỉ luận lý được duy trì bởi giao thức IP ở lớp Internet . Địa chỉ luận lý được gọi là địa chỉ IP
Một giao thức lớp internet khác được gọi là giao thức phân giải địa chỉ (address resolution protocol-ARP) hình thành tập hợp một bảng ánh xạ các địa chỉ IP vào các địa chỉ vật lý.
Trên một mạng định tuyến, phầm mềm TCP/IP sử dụng chiến lược sau để gửi dữ liệu trên mạng :
Nếu địa chỉ đích trên cùng một đoạn mạng với máy tính nguồn, máy tính nguồn gửi gói trực tiếp đến đích. Địa chỉ IP được phân giải sang một địa chỉ vật lý sử dụng ARP và dữ liệu được hướng tới bộ tương thích mạng đích.
Nếu địa chỉ đích trên một đoạn mạng khác với máy tính nguồn, các tiến trình sau bắt đầu :
Datagram được đưa tới Gateway. Gateway là thiết bị trên đoạn mạng cục bộ có thể chuyển tiếp một datagram đến các đoạn mạng khác. Địa chỉ Gateway được phân giải sang địa chỉ vật lý sử dụng ARP, và dữ liệu được gửi đến bộ tương thích mạng của Gateway.
Datagram được định tuyến qua Gateway đến một đoạn mạng mức cao hơn (xem hình 1.8) ở đó tiến trình được lập lại. Nếu địa chỉ đích nằm trên đoạn mạng mới này, dữ liệu được truyền tới đích của nó. Nếu không, datagram được gửi đến một gateway khác.
Datagram đi qua chuỗi các Gateway đến đoạn đích, ở đó địa chỉ IP đích được ánh xạ đến một địa chỉ vật lý sử dụng ARP và dữ liệu được hướng đến bộ tương thích mạng đích.
Do đó, các giao thức lớp Internet phải có thể :
Xác định được bất kỳ máy tính nào trên mạng.
Cung cấp một phương tiện để xác định khi nào thông điệp phải được truyền qua một Gateway.
Cung cấp một phương tiện để xác định đoạn mạng đích độc lập sao cho datagram sẽ đi qua các Router đến đúng đoạn mạng một cách hiệu quả.
Cung cấp một phương tiện để chuyển đổi một địa chỉ IP luận lý của máy tính đích sang địa chỉ vật lý để dữ liệu có thể được phân phối đến bộ tương thích mạng của máy tính đích.
Hình 1.8
1.5.2 Giao thứcInternet IP
Giao thức Internet – Internet Protocol (IP) cung cấp một hệ thống đánh địa chỉ có phân cấp, độc lập phần cứng và đưa ra các dịch vụ cần thiết cho việc phân phối dữ liệu trên một mạng định tuyến phức tạp. Mỗi bộ tương thích mạng trên một mạng TCP/IP có một địa chỉ IP duy nhất.
Một địa chỉ IP là một địa chỉ nhị phân 32 bit. Địa chỉ 32 bit này được phân chia thành 4 đoạn 8 bit được gọi là các octet.
Một phần của địa chỉ IP được sử dụng để định danh mạng, và một phần của địa chỉ được sử dụng cho định danh host. Có 5 lớp địa chỉ sau :
Các địa chỉ lớp A – 8 bit đầu tiên của địa chỉ IP được sử dụng cho định danh mạng. 24 bit cuối cùng được sử dụng cho định danh host.
Các địa chỉ lớp B – 16 bit đầu tiên của địa chỉ IP được sử dụng cho định danh địa chỉ mạng, 16 bit tiếp theo định danh host.
Các địa chỉ lớp C – 24 bit đầu tiên của địa chỉ IP được sử dụng định danh mạng và 8 bit cuối định danh host.
Các địa chỉ lớp D – 4 bit đầu tiên bên trái của địa chỉ mạng lớp D luôn bắt đầu với dạng nhị phân 1110. Địa chỉ lớp D sử dụng cho truyền multicasting.
Các địa chỉ lớp E – 5 bit bên trái đầu tiên của một mạng lớp E luôn bắt đầu với mẫu nhị phân 11110. Địa chỉ lớp E dùng để dự phòng trong tương lai.
Hình 1.9 Cấu trúc của các lớp địa chỉ IP
1.5.3 Giao thức phân giải địa chỉ ARP
Như trong phần trước chương này, các máy tính trên một mạng cục bộ sử dụng giao thức lớp Internet được gọi là giao thức phân giải địa chỉ - Adddress Resolution Protocol (ARP) để ánh xạ các địa chỉ IP vào các địa chỉ vật lý. Một host phải biết địa chỉ vật lý của bộ tương thích mạng đích để gửi bất kỳ dữ liệu nào đến nó. Vì lý do này mà ARP là một giao thức rất quan trọng. Tuy nhiên, TCP/IP được thực hiện theo cách thức sao cho ARP và tất cả các chi tiết của việc chuyển đổi địa chỉ hầu như vô hình đối với người sử dụng. Bộ tương thích mạng được xác định bởi địa chỉ IP của nó. Địa chỉ IP phải được ánh xạ đến một địa chỉ vật lý để một thông điệp đến đích của nó.
Mỗi host trên một đoạn mạng duy trì một bảng trong bộ nhớ được gọi là bảng ARP hay bộ nhớ nhanh ARP (ARP cache). ARP cache liên kết các địa chỉ IP của các host khác trên đoạn mạng với các địa chỉ vật lý. Khi một host cần gửi dữ liệu đến một host khác trên đoạn, host kiểm tra bảng ARP để xác định địa chỉ vật lý của nơi nhận. Bản ARP được hình thành một cách tự động. Nếu địa chỉ nhận dữ liệu hiện không được liệt kê trong bảng ARP, host gửi một broadcast được gọi là một khung yêu cầu ARP.
Khung yêu cầu ARP chứa địa chỉ IP chưa được phân giải. Khung yêu cầu ARP cũng chứa địa chỉ IP và địa chỉ vật lý của host gửi yêu cầu. Các host khác trên đoạn mạng nhận yêu cầu ARP, và host có điạ chỉ IP chưa phân giải hồi đáp bằng cách gửi địa chỉ vật lý của nó đến host gửi yêu cầu. Ánh xạ địa chỉ IP và địa chỉ vật lý được thêm vào bảng ARP của host yêu cầu.
Thông thường, các mục trong bảng ARP sẽ hết hạn sau một khoảng thời gian định trước. Khi thời gian sống của một mục ARP kết thúc , mục đó sẽ bị loại khỏi bảng. Tiến trình phân giải bắt đầu lại khi mà host cần gửi dữ liệu đến địa chỉ IP của mục đã bị loại bỏ.
1.5.4 Giao thức phân giải địa chỉ ngược RARP
RARP là viết tắt của Reverse ARP, nó trái ngược với ARP, ARP được sử dụng khi biết địa chỉ IP nhưng không biết địa chỉ vật lý, RARP được sử dung khi biết địa chỉ vật lý nhưng không biết địa chỉ IP, RARP thường được sử dụng kết hợp với giao thức BOOTP để khởi động các trạm làm việc không có ổ đĩa.
BOOTP (boot PROM) - Nhiều bộ tương thích mạng có một khe cắm trống để thêm một mạng tích hợp được gọi là một Rom boot. Chương trình bootPROM bắt đầu ngay khi máy tính được bật nguồn. Nó tải một hệ điều hành vào máy tính bằng cách đọc từ một máy chủ mạng thay vì một ổ đĩa cục bộ. Hệ điều hành được tải tới thiết bị BOOTP được cấu hình trước một địa chỉ IP cụ thể.
1.5.5 Giao thức thông điệp điều khiển Internet ICMP
Dữ liệu gửi đến một máy tính ở xa thường đi qua một hay nhiều Router; các Router này có thể gặp một số vấn đề trong việc gởi thông điệp đến đích cuối cùng của nó. Các Router sử dụng các thông điệp ICMP (Internet Control Message Protocol) để thông báo cho IP nguồn về các vấn đề này. ICMP cũng được dùng cho các chức năng chuẩn đoán và xử lý sự cố khác.
1.5.6 Phân mạng con
a. Cách thức phân chia mạng con
Các chuyên viên quản trị mạng đôi khi cần chia các mạng, đặc biệt là các mạng lớn thành các mạng nhỏ hơn. Các mạng nhỏ hơn này được gọi là các mạng con (subnet) và được thực hiện đánh địa chỉ khá linh hoạt.
Hình 1.10 Địa chỉ mạng con
Để tạo ra một địa chỉ mạng con, người quản trị mạng mượn các bít từ phần host gốc và gán chúng như là subnet ID. Số bit tối thiểu có thể mượn là 2. Số bit tối đa có thể mượn sao cho còn để lại ít nhất 2 bit cho chỉ số host.
b. Mục đích của việc phân mạng con
Lý do chính cần dùng mạng con là để giảm kích thước một miền quảng bá. Hoạt động quảng bá gửi đến tất cả các host trên mạng hay mạng con. Khi tải quảng bá bắt đầu tiêu thụ quá nhiều băng thông có sẵn, các chuyên viên quản trị mạng có thể chọn phân mạng con để giảm kích thước của miền quảng bá.
1.5.7 Định tuyến tên miền Internet không phân lớp.
Các địa chỉ lớp A đã không còn, còn các địa chỉ lớp B thì nhanh chóng cạn kiệt. Nhiều địa chỉ lớp C vẫn còn, nhưng không gian địa chỉ nhỏ của một mạng lớp C (tối đa là 254 host) là một giới hạn nghiêm trọng trong cuộc chạy đua nâng cao số lượng thuê bao của các nhà cung cấp dịch vụ Internet (ISPs). Có thể cấp một dãy các địa chỉ mạng lớp C cho một mạng cần hơn 254 địa chỉ. Tuy nhiên việc xử lý nhiều mạng lớp C này như là các thực thể riêng rẽ khi chúng cùng ở một nơi chỉ làm rắc rối các bảng định tuyến một cách không cần thiết.
Định tuyến tên miền không phân lớp (Classless Internet Domain Routing - CIDR) là một kỹ thuật cho phép một khối các định danh mạng được xem như là một thực thể đơn trong bảng định tuyến. CIDR nhóm một dãy các định danh mạng vào một mục địa chỉ đơn sử dụng một khái niệm được gọi là supernet mask. Bạn có thể nghĩ về một supernet mask như là một thứ gì đó ngược lại với subnet mask. Thay vì chỉ định các bit thêm vào để nhận dạng mạng, supernet mask thực ra tách các bit ra khỏi định danh mạng. Do đó, các địa chỉ trong dãy được nhận dạng bởi các bit địa chỉ mạng mà các mạng trong dãy cũng có như nhau. VÍ dụ, một ISP có thể được cấp tất cả các địa chỉ lớp C trong dãy.
204.21.128.0 (11001100000101011000000000000000)
đến 204.21..255.255 (1100110000010101111111111111111).
Trong trường hợp này, các địa chỉ mạng giống nhau chính xác đến bit thứ 17 bắt đầu từ bên trái, Supernet mask sẽ là
11111111111111111000000000000000, tương ứng với mặt nạ chấm thập phân là 255.255.128.0.
Khối địa chỉ này được nhận diện bằng cách sử dụng địa chỉ thấp nhất trong dãy theo sau bởi supernet massk. Một dạng thông thường của cặp địa chỉ/mask CIDR cho thấy số bit mặt nạ sau địa chỉ với một dấu phân cách (/) giữa địa chỉ và mặt nạ. Do đó, dãy CIDR trong ví dụ trước sẽ được viết là 204.21.128.0/17.
1.5.8 VLSM
Trước đây, khi chia subnet cho địa chỉ mạng IP, subnet đầu tiên và subnet cuối cùng được khuyến cáo là không sử dụng. Điều này dẫn đến làm lãng phí địa chỉ trong hai subnet này. Với VLSM, chúng ta có thể tận dụng subnet đầu tiên và subnet cuối cùng này. VLSM cho phép một tổ chức có thể sử dụng chiều dài subnet mask khác nhau trong một địa chỉ mạng lớn. VLSM còn được gọi là “chia subnet trong một subnet lớn hơn” giúp tận dụng tối đa không gian địa chỉ.
1.5.9 NAT
Thiết bị chuyển đổi địa chỉ mạng (NAT) sẽ làm ẩn đi những chi tiết của mạng cục bộ và che dấu sự tồn tại của mạng cục bộ. Thiết bị NAT có vị trí như là một Gateway kết nối các máy tính trong mạng cục bộ với Internet. Đằng sau thiết bị NAT, mạng cục bộ có thể sử dụng bất kì không gian địa chỉ nào. Thiết bị NAT hoạt động như một sự uỷ quyền của mạng cục bộ trên mạng Internet. Khi một máy tính cục bộ cố gắng thực hiện kết nối đến một địa chỉ Internet, thiết bị NAT sẽ thực hiện việc kết nối đó.
Hình 1.11 Một thiết bị chuyển đổi địa chỉ mạng
Một thiết bị NAT sẽ làm tăng tính bảo mật của mạng bởi nó có thể ngăn chặn sự tấn công từ bên ngoài vào mạng cục bộ. Đối với mạng bên ngoài, thiết bị NAT giống như một máy tính đơn được kết nối Internet. Nếu kẻ tấn công biết được địa chỉ của một máy trong mạng cục bộ, hắn cũng không thể mở một kết nối đến mạng cục bộ được vì sơ đồ gán địa chỉ cục bộ độc lập khác với không gian địa chỉ của Internet. Một thiết bị NAT cũng sẽ tiết kiệm được số lượng địa chỉ Internet cần thiết cho một tổ chức. Tất cả những ưu điểm trên làm cho thiết bị NAT trở nên ngày càng phổ biến trong các mạng cục bộ và mạng Internet.
1.6 Lớp vận chuyển
1.6.1 Giới thiệu về lớp vận chuyển
Như đã trình bày ở trên, lớp Internet TCP/IP đã bao hàm đầy đủ các giao thức cơ bản, cung cấp thông tin địa chỉ cần thiết để dữ liệu có thể được truyền trên mạng. Tuy nhiên việc gán địa chỉ và định tuyến chỉ là một phần bức tranh tổng thể. Các nhà phát triển TCP/IP biết rằng cần phải có một lớp cao hơn lớp Internet có thể kết hợp với IP bằng cách bổ xung những tính năng cần thiết. Cụ thể hơn, họ mong muốn các giao thức lớp vận chuyển có thể cung cấp :
Một giao tiếp cho các ứng dụng mạng – nghĩa là, một con đường để các ứng dụng có thể truy cập vào mạng. Những nhà thiết kế mong muốn dữ liệu không chỉ được truyền đến máy đích mà phải truyền đến được những ứng dụng riêng biệt đang chạy trên máy đích.
Một cơ chế đa hợp/ giải đa hợp. Trong trường hợp này, đa hợp có nghĩa là cho phép dữ liệu từ các ứng dụng và các máy tính khác nhau được truyền đến cùng ứng dụng tương ứng trên máy nhận. Hay nói cách khác, lớp vận chuyển phải có khả năng hỗ trợ đồng thời nhiều ứng dụng mạng và quản lý luồng dữ liệu đến lớp Internet. Ở đầu nhận, lớp vận chuyển phải có khả năng nhận dữ liệu từ lớp Internet và chuyển lên các ứng dụng. Khả năng này gọi là giải đa hợp và nó cho phép nhiếu ứng dụng mạng có thể được chạy đồng thời trên một máy tính, như duyệt web, mail và chia sẻ tập tin. Một khía cạnh khác của khả năng đa hợp/ giải đa hợp là một ứng dụng đơn lẻ có thể thực hiện được nhiều kết nối đồng thời với các máy tính khác nhau.
Kiểm tra lỗi, điều khiển luồng, và nhận thực. Hệ thống giao thức phải có lược đồ tổng quát để có thể đảm bảo dữ liệu được truyền đúng giữa các máy.
Yếu tố cuối cùng (kiểm tra lỗi, điều khiển luồng, nhận thực) thu hút sự nghiên cứu nhất, Những yêu cầu về đảm bảo chất lượng luôn cân đối với các vất đề lợi ích và chi phí. Hệ thống đảm bảo chất lượng phức tạp cho phép tăng khả năng thành công trong việc phân phối qua mạng, nhưng kèm theo đó ta phải trả giá về lưu lượng tăng cao và thời gian xử lý chậm hơn. Đối với nhiều ứng dụng thì việc đảm bảo này không nhất thiết phải có. Do đó lớp vận chuyển cung cấp hai cách để truy nhập mạng, mỗi cách đều có tính năng giao tiếp đa hợp/ giải đa hợp cần thiết cho các ứng dụng, nhưng lại đảm bảo chất lượng theo hai cách tiếp cận khác nahu, đó là :
Transport Control Protocol (TCP): có khả năng điều khiển luồng và kiểm soát lỗi bao quát để đảm bảo dữ liệu được phân phối thành công. TCP là giao thức hướng kế nối.
User datagram Protocol (UDP): có khả năng điều khiển lỗi đơn giản và được thiết kế thay thế cho TCP khi tính năng điều khiển lỗi của TCP không cần thiết. UDP là giao thức không kết nối.
1.6.2 Cổng và socket
Lớp vận chuyển đóng vai trò như là một giao tiếp giữa các ứng dụng mạng với mạng và đưa ra một phương pháp gửi dữ liệu đến từ mạng cho các ứng dụng cụ thể. Trong hệ thống TCP/IP, các ứng dụng có thể gửi dữ liệu qua giao thức TCP và UDP bằng cách sử dụng số hiệu cổng. Một cổng là một địa chỉ nội được xác đinh trước hay đóng vai trò như là một con đường từ ứng dụng đến lớp vận chuyển và từ lớp vận chuyển ngược về ứng dụng. Chẳng hạn như một máy khách liên lạc với một ứng dụng FPT trên máy chủ qua cổng 21 của giao thức TCP (hình 1.12).
Hình 1.12
Tiếp cận sát hơn lược đồ định vị ứng dụng cụ thể của lớp vận chuyển thì ta sẽ thấy dữ liệu TCP và UDP thực sự được gửi tới một socket. Một socket là một địa chỉ bao gồm IP và số hiệu cổng. Chằng hạn như socket 111.121.131.141.21 tham chiếu đến cổng 21 của máy tính có địa chỉ 111.121.131.141.
1.6.3 Đa hợp và giải đa hợp
Hệ thống gán địa chỉ socket làm cho TCP và UDP có thể thực hiện một nhiệm vụ quan trọng khác của lớp vận chuyển: đa hợp và giải đa hợp. Như đã mô tả ở phần trước, đa hợp hay ghép là kỹ thuật tổ hợp nhiều nguồn đầu vào thành một đầu ra duy nhất, và giải đa hợp, hay tách, là việc nhận dữ liệu từ một nguồn duy nhất rồi phân phối cho nhiều đầu ra.
Kỹ thuật đa hợp/giải đa hợp làm cho các lớp thấp hơn của mô hình TCP/IP xử lý dữ liệu mà không quan tâm đến ứng dụng nào đã khởi tạo dữ liệu đó. Tất cả các liên kết với ứng dụng đều được giải quyết ở lớp vận chuyển, theo đó, dữ liệu đi và đến từ lớp Internet chỉ là một luồng đơn, độc lập với ứng dụng.
Chìa khoá của kỹ thuật đa hợp/giải đa hợp là địa chỉ socket. Vì địa chỉ socket bao gồm địa chỉ IP và số hiệu cổng nên nó cung cấp khả năng nhận dạng một ứng dụng cụ thể đang chạy trên một máy tính cụ thể.
1.6.4 TCP và UDP
Như đã đề cập ở phần trước của chương, TCP là một giao thức hướng kết nối, cung cấp khả năng điều khiển lỗi và điều khiển luồng bao quát. UDP là giao thức không kết nối với chức năng điều khiển lỗi đơn giản hơn nhiều. Có thể nói rằng, TCP đảm bảo độ tin cậy và UDP đảm bảo về tốc độ. Những ứng dụng có hỗ trợ các phiên làm việc tương tác như Telnet hay FTP thì có khuynhh hướng sử dụng TCP, trong khi những ứng dụng có thể tự kiểm tra lỗi hoặc không quan trọng vấn đề kiểm tra lỗi thì có khuynh hướng sử dụng UDP.
a. TCP
Các tính năng quan trọng của TCP :
TCP là một giao thức hướng kết nối.
Xỷ lý định hướng luồng: TCP xử lý dữ liệu trong một luồng. Hay nói cách khác, ở một thời điểm, TCP có thể chấp nhận dữ liệu một byte hơn là một khối dữ liệu được định dạng trước. TCP chia dữ liệu thành nhiều đoạn và có chiều dài khác nhau trước khi chuyển qua lớp Internet.
Sắp xếp lại thứ tự: Nếu dữ liệu đến không theo thứ tự, TCP phải có khả năng sắp xếp lại dữ liệu theo đúng thứ tự ban đầu.
Điều khiển luồng: Chức năng điều khiển luồng của TCP đảm bảo việc truyền dữ liệu không bị sai hoặc bị tràn quá dung lượng máy nhận. Việc này đặc biệt được chú trọng trong điều kiện môi trường thay đổi với nhiều sự khác biệt về tốc độ xử lý các CPU và kích thước bộ đệm.
Thứ tự ưu tiên và sự bảo mật: Mức độ ưu tiên và bảo mật có thể được thiết lập cho các kết nối TCP. Tuy nhiên nhiều trình tự thực thi TCP không cung cấp những tính năng này.
Đóng kết nối an toàn: Việc đóng kết nối của TCP cũng được thực hiện cẩn thận như lúc khởi tạo kết nối. Chức năng này đảm bảo tất cả các đoạn dữ liệu được gửi và nhận trước khi kết nối bị đóng.
TCP còn đưa ra một hệ thống phức tạp các thông báo và báo nhận để hỗ trợ cấu trúc hướng kết nối. Việc thảo luận về TCP còn được nhấn mạnh thêm rằng một giao thức không chỉ dừng lại ở việc định dạng dữ liệu mà đó là một hệ thống các tiến trình tương tác và các thủ tục được xây dựng để thực hiện những mục đích xác định.
Phần mềm TCP liên lạc với phần mềm TCP trên máy mà nó muốn thiết lập kết nối. Trong bất kỳ cuộc thảo luận nào về TCP, khi nói “máy tính A thiết lập kết nối với máy tính B” thì có nghĩa là phần mềm TCP trên máy A thiết lập kết nối với phần mềm TCP trên máy tính B, cả hai đều đang hoạt động nhân danh ứng dụng cục bộ. Sự phân biệt tinh tế này mang lại những thảo luận hấp dẫn xung quanh khái niệm xác thực điểm cuối.
Cần nhắc lại rằng các thời điểm cuối chịu trách nhiệm xác thực những sự liên lạc trong mạng TCP (điểm cuối là những node mạng cố gắng thực hiện sự liên lạc – trái với những điểm trung gian là node chuyển tiếp bản tin). Trong tình huống liên mạng, thông thường, dữ liệu được chuyển từ subnet nguồn đến subnet đích qua các Router. Đa số những Router này hoạt động ở lớp Internet – bên dưới lớp vận chuyển. Điểm quan trọng là các Router không liên quan gì với thông tin ở lớp vận chuyển. Nó chỉ đơn giản chuyển tiếp dữ liệu tới TCP đóng trong các datagram IP đã gắn thông tin tiêu đề và gửi các datagram theo đúng đường đi của nó. Thông tin điều khiển và xác thực đã được mã hoá trong các đoạn RCP (segment) chỉ được sử dụng bởi phần mềm TCP của máy đích. Việc này làm tăng tốc độ trong mạng TCP/IP (vì các Router không tham gia vào quá trình đảm bảo chất lượng rất tỉ mỉ của TCP) và làm cho TCP có thể thực hiện đầy đủ vai trò của nó bằng cách cung cấp việc giám sát kết nối trong hoạt động mạng.
.
b. UDP
UDP đơn giản hơn nhiều so với TCP, nó không thực hiện bất kỳ phương thức nào đã được liệt kê trong phần trước. Tuy nhiên, có một vài chú ý về UDP mà chúng ta nên quan tâm tới.
Đầu tiên, mặc dù đôi lúc UDP được mô tả không có khả năng kiểm soát lỗi, nhưng thực tế, nó vẫn có khả năng thực hiện việc kiểm tra lỗi đơn giản. Nói đúng hơn, khả năng kiểm tra lỗi của UDP có giới hạn. Bản thân datagram UDP cũng có giá trị checksum mà máy nhận có thể sử dụng để kiểm ra tính đúng đắn của dữ liệu (thông thường việc kiểm tra checkssum là một tuỳ chọn và có thể vô hiệu hoá trên máy nhận để tăng tốc độ xử lý dữ liệu đến). Datagram UDP cũng có một tiêu đề giả (pseudo-header) chứa địa chỉ đích của datagram, và đó là phương tiện để kiểm tra những datagram truyền sai địa chỉ. Nếu máy UDP nhận một datagram được truyền đến một cổng không hoạt động hoặc không được xác định thì nó sẽ gửi một bản tin ICMP báo cho máy nguồn biết rằng không đến được cổng.
Thứ hai, UDP không sắp xếp dữ liệu như TCP. Việc sắp xếp lại thứ tự dữ liệu là rất quan trọng trong những mạng lớn như là Internet do các đoạn dữ liệu đi theo những đường khác nhau và có độ trì hoãn khác nhau trên các bộ đệm của Router. Trong các mạng cục bộ, việc thiếu tính năng này của UDP vẫn có thể đảm bảo được độ tin cậy dữ liệu.
Mục đích chính của giao thức UDP là chuyển các datagram lên lớp ứng dụng. Bản thân UDP rất đơn giản nên cấu trúc tiêu đề của nó cũng không phức tạp. Như đã đề cập ở phần đầu, UDP không truyền lại những datagram đã loại bỏ hoặc bị hỏng không sắp xếp các datagram nhận được theo trình tự, không loại bỏ các datagram trùng, không báo nhận cho các datagram đã nhận, và cũng không thực hiện quá trình thiết lập hoặc ngắt kết nối. UDP là kỹ thuật được các chương trình ứng dụng sử dụng để gửi và nhận datagram mà không cần một kết nối TCP nào. Các ứng dụng có thể cung cấp bất kỳ hay tất cả những chức năng này nếu nó có cần thiết cho mục đích của ứng dụng.
CHƯƠNG 2 ĐỊNH TUYẾN TRONG MẠNG IP
2.1 Vài nét về định tuyến IP
Cả Host và Router đều có bảng định tuyến , nhưng bảng định tuyến của Host đơn giản hơn nhiều so với Router. Bảng định tuyến của những máy tính đơn lẻ có thể chỉ có hai dòng: một là lộ trình mạng cục bộ và hai là lộ trình mặc định của những gói tin không thể phân phối trong mạng cục bộ. Nếu gói tin thuộc mạng cục bộ, phần mềm TCP/IP sẽ sử dụng ARP để phân giải địa chỉ IP thành địa chỉ vật lí bên trong mạng cục bộ. Nếu gói tin không được phân phối trong mạng cục bộ, việc chuyển tiếp gói tin sẽ diễn ra như sau:
Máy Host sẽ trích ra trong bảng định tuyến địa chỉ IP của giao diện của Router liên kết với mạng cục bộ này. Sau đó, địa chỉ IP này được phân giải thành địa chỉ vật lí của giao diện nhận bằng giao thức ARP.
Tiếp theo, datagram được chuyển qua lớp truy cập mạng cùng với địa chỉ vật lí này.
Bộ tương thích mạng của Router sẽ nhận frame vì thấy địa chỉ vật lí đích của frame chính là địa chỉ vật lí của nó.
Ruoter mở frame và chuyển datagram lên lớp Internet.
Router kiểm tra địa chỉ IP của datagram. Sau đó, Router sẽ kiểm tra bảng định tuyến của nó để tìm ra đường đi thích hợp với địa chỉ đích của datagrram và chuyển tiếp datagram này.
2.2 Phân loại định tuyến
2.2.1 Định tuyến tĩnh
Ở phương pháp này, thông tin định tuyến được cung cấp từ người quản trị mạng thông qua các thao tác bằng tay vào trong cấu hình của Router. Ngưòi quản trị mạng phải cập nhật bằng tay đối với các mục chỉ tuyến tĩnh này bất cứ khi nào topo liên mạng bị thay đổi.
2.2.2 Định tuyến động
Ở phương pháp này, thông tin định tuyến được cập nhật một cách tự động. Công việc này được thực hiện bởi các giao thức định tuyến được cài đặt trong Router. Chức năng của giao thức định tuyến là định đường dẫn mà một gói tin truyền qua một mạng từ nguồn đến đích. Ví dụ giao thức thông tin định tuyến RIP (Routing Information Protocol) , RIP2 (RIP version 2), OSPF (Open Shortest Path First).
a. Các thuật toán định tuyến
Định tuyến Vector khoảng cách
Định tuyến vector khoảng cách (còn được gói là định tuyến Bellman Ford) là một phương pháp định tuyến đơn giản , hiệu quả và được sử dụng trong nhiều giao thức định tuyến như RIP (Routing information Protocol), RIP2 (RIP version 2), OSPF (Open Shortest Path First).
Vector khoảng cách được thiết kế để giảm tối đa sự liên lạc giữa các Router cũng như lượng dữ liệu trong bảng định tuyến. Bản chất của định tuyến vector khoảng cách là một Router không cần biết tất cả các đường đi đến các phân đoạn mạng, nó chỉ cần biết phải truyền một datagram được gán địa chỉ đến một phân đoạn mạng đi theo hướng nào. Khoảng cách giữa các phân đoạn mạng được tính bằng số lượng Router mà datagram phải đi qua khi được truyền từ phân đoạn mạng này đến phân đoạn mạng khác. Router sử dụng thuật toán vector khoảng cách để tối ưu hoá đường đi bằng cách giảm tối đa số lượng Router mà datagram đi qua. Tham số khoảng cách này chính là số chặng phải qua (hop count).
Định tuyến theo trạng thái liên kết
Định tuyến vector khoảng cách sẽ không còn phù hợp đối với một mạng lớn gồm rất nhiều Router. Khi đó mỗi Router phải duy trì một mục trong bảng định tuyến cho mỗi đích, và các mục này chỉ đơn thuần chứa các giá trị vector và hop count. Router cũng không thể tiết kiệm năng lực của mình khi đã biết nhiều về cấu trúc mạng. Hơn nữa, toàn bộ bảng giá trị khoảng cách và hop count phải được truyền giữa các Router cho dù hầu hết các thông tin này không thực sự cần thiết trao đổi giữa các Router.
Định tuyến trạng thái liên kết ra đời là đã khắc phục được các nhược điểm của định tuyến vector khoảng cách.
Bản chất của định tuyến trạng thái liên kết là mỗi Router xây dựng bên trong nó một sơ đồ cấu trúc mạng. Định kỳ, mỗi Router cũng gửi ra mạng những thông điệp trạng thái. Những thông điệp này liệt kê những Router khác trên mạng kết nối trực tiếp với Router đang xét và trạng thái của liên kết. Các Router sử dụng bản tin trạng thái nhận được từ các Router khác để xây dựng sơ đồ mạng. Khi một Router chuyển tiếp dữ liệu, nó sẽ chọn đường đi đến đích tốt nhất dựa trên những điều kiện hiện tại.
Giao thức trạng thái liên kết đòi hỏi nhiều thời gian sử lí trên mỗi Router, nhưng giảm được sự tiêu thụ băng thông bởi vì mỗi Router không cần gửi toàn bộ bảng định tuyến của mình. Hơn nữa, Router cũng dễ dàng theo dõi lỗi trên mạng vì bản tin trạng thái từ một Router không thay đổi khi lan truyền trên mạng (ngược lại, đối với phương pháp vector khoảng cách, giá trị hop count tăng lên mỗi khi thông tin định tuyến đi qua một Router khác).
b. Giao thức định tuyến
Các giao thức IGP và các giao thức EGP
Các EGP định tuyến dữ liệu giữa các hệ thông tự trị (autonomous systems). Một ví dụ của EGP là BGP (Border Gateway Protocol), là giao thức định tuyến bên ngoài chủ yếu của Internet.
Các IGP định tuyến dữ liệu bên trong một hệ thống tự trị. Các ví dụ của IGP là RIP, OSPF, IS-IS ... Sau đây sẽ trình bày một số giao thức định tuyến IGP thông dụng.
Một số giao thức định tuyến IGP thông dụng
Giao thức thông tin định tuyến (RIP)
Giao thức định tuyến RIP phiên bản 1 nhận được từ giao thức định tuyến của hệ thống mạng Xerox, mà cũng được gọi là RIP, RIP được gắn vào với BSP UNIX như là một phần của giao thức TCP/IP và trở thành nhân tố chuẩn cho giao thức IP. Như đã đề cập ở trước đây. RIP sử dụng một thuật toán Vector khoảng cách mà đường xác định đường tốt nhất bằng sử dụng metric bước nhảy. Khi được sử dụng trong những mạng cùng loại nhỏ, RIP là một giao thức hiệu quả và sự vận hành của nó là khá đơn giản. RIP duy trì tất cả bảng định tuyến trong một mạng được cập nhật bởi truyền những lời nhắn cập nhật bảng định tuyến sau mỗi 30s. Sau một thiết bị RIP nhận một cập nhật, nó so sánh thông tin hiện tại của nó với những thông tin được chứa trong thông tin cập nhật.
Vào giữa năm 1988, IETF đã phát hành RFC 1058 mô tả hoạt động của hệ thống sử dụng RIP. Tuy nhiên RFC này ra đời sau khi rất nhiều hệ thống RIP đã được triển khai thành công. Do đó, một số hệ thống sử dụng RIP không hỗ trợ tất cả những cải tiến của thuật toán véc-tơ khoảng cách cơ bản (ví dụ như cập nhật có điều kiện và đầu độc ngược).
Hạn chế của RIP:
Giới hạn độ dài tuyến đường: Trong RIP, cost có giá trị lớn nhất được đặt là 16. Do đó, RIP không cho phép một tuyến đường có cost lớn hơn 15. Tức là, những mạng có kích thước lớn hơn 15 bước nhảy phải dùng thuật toán khác. Lưu lượng cần thiết cho việc trao đổi thông tin định tuyến lớn.
Tốc độ hội tụ khá chậm
Không hỗ trợ mặt nạ mạng con có độ dài thay đổi (VLSM): Khi trao đổi thông tin về các tuyến đường, RIP không kèm theo thông tin gì về mặt nạ mạng con. Do đó, mạng sử dụng RIP không thể hỗ trợ mặt nạ mạng con có độ dài thay đổi.
Giao thức thông tin định tuyến phiên bản 2 (RIP-2)
Tổ chức IETF đưa ra hai phiên bản RIP-2 để khắc phục những hạn chế của RIP-1. RIP-2 có những cải tiến sau so với RIP:
Hỗ trợ CIDR và VLSM: RIP-2 hỗ trợ siêu mạng và mặt nạ mạng con có chiều dài thay đổi. Đây là một trong những lý do cơ bản để thiết kế chuẩn mới này. Cải tiến này làm cho RIP-2 phù hợp với các cách thức địa chỉ hoá phức tạp không có trong RIP-1.
Hỗ trợ chuyển gói đa điểm: Đây là cải tiến để RIP có thể thực hiện kiểu chuyển gói đa điểm chứ không đơn thuần chỉ có kiểu quảng bá như trước. Điều này làm giảm tải cho các trạm không chờ đợi các bản tin RIP-2. Để tương thích với RIP-1, tuỳ chọn này sẽ được cấu hình cho từng giao diện mạng.
Hỗ trợ nhận thực: RIP-2 hỗ trợ nhận thực cho tất cả các node phát thông tin định tuyến. Điều này hạn chế những thay đổi có ảnh hưởng xấu đối với bảng định tuyến.
Hỗ trợ RIP-1: RIP-2 tương thích hoàn toàn với RIP-1.
Những hạn chế của RIP-2
RIP-2 đã được phát triển để khắc phục rất nhiều hạn chế trong RIP-1. Tuy nhiên những hạn chế của RIP-1 như giới hạn về số hop hay khả năng hội tụ chậm vẫn còn tồn tại trong RIP-2.
Giao thức OSPF
Giao thức OSPF (Open Shortest Path First) là một giao thức cổng trong. Nó được phát triển để khắc phục những hạn chế của giao thức RIP. Bắt đầu được xây dựng vào năm 1988 và hoàn thành vào năm 1991, các phiên bản cập nhật của giao thức này hiện vẫn được phát hành. Tài liệu mới nhất hiện nay của chuẩn OSPF là RFC 2328. OSPF có nhiều tính năng không có ở các giao thức vec-tơ khoảng cách. Việc hỗ trợ các tính năng này đã khiến cho OSPF trở thành một giao thức định tuyến được sử dụng rộng rãi trong các môi trường mạng lớn. Trong thực tế, RFC 1812 (đưa ra các yêu cầu cho bộ định tuyến IPv4) - đã xác định OSPF là giao thức định tuyến động duy nhất cần thiết. Sau đây sẽ liệt kê các tính năng đã tạo nên thành công của giao thức này:
Cân bằng tải giữa các tuyến cùng 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.
Phân chia mạng một cách logic: điều này làm giảm bớt các thông tin phát ra trong những điều kiện bất lợi. Nó cũng giúp kết hợp các thông báo về định tuyến, hạn chế việc phát đi những thông tin không cần thiết về 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 với mục đích xấu.
Thời gian hội tụ nhanh hơn: OSPF cho phép truyền các thông tin về thay đổi tuyến mộtcách tức thì. Điều đó giúp rút ngắn thời gian hội tụ cần thiết để cập nhậtothong tin cấu hình 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.
OSPF là một giao thức dựa theo trạng thái liên kết. Giống như các giao thức trạng thái liên kết khác, mỗi bộ định tuyến OSPF đều thực hiện thuật toán SPF để 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 tạo ra một cây đường đi ngắn nhất mô tả cụ thể các tuyến đường nên chọn dẫn tới mạng đích.
CHƯƠNG 3 GIAO THỨC OSPF
3.1 Giới thiệu chung về OSPF
OSPF (Open Shortest Path First) được phát triển bởi IETF (Internet Engineering Task Force – nhóm đặc trách kĩ thuật internet). OSPF là giao thức trạng thái liên kết sử dụng thuật toán SPF (Shortest Path First) của Dijktra và là một giao thức mở tức nó hoàn toàn mở đối với công cộng , không có tính độc quyền.
Ư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 đổ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 đối với các thông tin định tuyến tồi.
Một số đặc điểm khác của OSPF là:
Sử dụng chi phí (cost) làm thông số định tuyến để chọn đường đi trong mạng.
Thực hiện cập nhật khi có mạng có sự thay đổi.
Mọi Router sử dụng sơ đồ cấu trúc mạng của riêng nó để chọn đường.
Hỗ trợ CIDR (Classless Interdomain Routing) và VLSM (Variable length subnetmask).
Hoạt của OSPF được mô tả một cách tổng quát như sau:
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 Neighbor của nhau.
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ụ thuộ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 để các gói Hello truyền trên đó.
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. 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.
Mỗi Router nhận một LSA từ mộ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 tới tất cả các Neighbor khác của nó.
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.
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 (đường đi có cost thấp nhất) tới tất cả các đích đã biết. Sơ đồ này gọi là cây SPF.
Mỗi Router xây dựng bảng định tuyến từ cây SPF của nó.
3.2 Một số khái niệm sử dụng trong OSPF
3.2.1 Láng giềng (Neighbor) và mối quan hệ thân mật (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 trong bảng các Neighbor cùng với các 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.
3.2.2 Giao thức Hello
Giao thức Hello thực hiện các chức năng sau:
Dùng để khám phá các Neighbor
Dùng để 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.
Các gói Hello hoạt động như các Keepalive giữa các Neighbor.
Dùng để bầu cử DR và BDR trong mạng Broadcast và Nonbroadcast Multiaccess (NBMA).
Các Router OSPF gửi các gói Hello định kỳ 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 một 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 bị Down.
Khi một Router nhận một gói Hello từ một Neighbor, nó sẽ kiểm tra xem các trường Area ID , Authentication, Network Mask, Hello Interval, Router Dead Interval và Option trong gói Hello có phù hợp với các giá trị đã được cấu hình ở giao diện đang nhận hay không. Nếu không phù hợp, gói sẽ bị huỷ và Adjacency không được thiết lập. Nếu tất cả phù hợp, gói Hello đượ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 được reset. Nếu không, nó ghi Router ID này vào bảng Neighbor.
Khi một Router gửi một gói Hello, gói Hello sẽ chứa Router ID của tất cả các Neighbor cần thiết trong liên kết mà gói truyền đi. Nếu một Router nhận được một gói Hello hợp lệ có chứa Router ID của nó, Router này sẽ biết rằng thông tin hai chiều đã được thiết lập.
3.2.3 Các loại mạng
OSPF định nghĩa năm loại mạng:
Mạng điểm - điểm.
Mạng quảng bá.
Mạng đa truy nhập không quảng bá.
Mạng điểm – đa điểm.
Các liên kết ảo.
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 điểm - điểm luôn thiết lập Adjacency. Địa chỉ đích của các gói OSPF trong mạng này luôn là địa chỉ lớp D 224.0.0.5 gọi là AllSPF Routers.
Mạng quảng bá: Ví dụ như Ethernet, Token Ring, FDDI.
Là mạng có khả năng kết nối nhiều hơn hai thiết bị và các thiết bị này đều có thể nhận các gói gửi từ một thiết bị bất kì trong mạng. Các Router OSPF trong mạng quảng bá sẽ bầu cử DR và BDR. Các gói Hello được phát multicast với địa chỉ đích là 224.0.0.5 ( AllSPF Routers). Ngoài ra các gói xuất phát từ DR và BDR cũng được phát multicast với địa chỉ này. Các Router khác 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 với địa chỉ lớp D là: 224.0.0.6 gọi là All DRouters.
Mạng NBMA (Nonbroadcast - Multiaccess): ví dụ như X25, Frame relay, ATM.
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. Tức là một gói gửi bởi một Router trong mạng không được nhận bởi tất cả các Router khác của mạng. Các Router trong NBMA bầu cử DR và BDR. Các gói OSPF được truyền theo kiểu unicast.
Mạng điểm – đa điểm: là trường hợp đặc biệt của NBMA. Nó có thể coi là một tập hợp các kết nối điểm - điểm. Các Router trong mạng không phải bầu cử DR và BDR. Các gói OSPF được truyền theo kiểu multicast.
Các liên kết ảo: là một cấu trúc đặc biệt được Router hiểu như là các mạng điểm - điểm không đánh số. Các gói OSPF được phát unicast trên các liên kết ảo.
3.2.4 DR và BDR
Các mạng đa truy nhập tồn tại hai vấn đề sau liên quan đến quá trình tràn lụt LSA như sau:
Thông tin của một Adjacency giữa các Router sẽ tạo ra nhiều LSA không cần thiết. Nếu một mạng đa truy nhập có n Router thì có thể có n(n-1)/2 Adjacency (Hình 3.1). Mỗi Router sẽ tràn lụt n-1 LSA cho các Neighbor của nó cộng với một LSA cho mạng dẫn đến có n(n-1) + 1 = n2 LSA được tạo ra trong mạng.
Hình 3.1
Quá trình tràn lụt có thể gây xung đột. 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 dẫn đến tạo ra nhiều bản copy của LSA trong mạng.
Để tránh các vấn đề trên, DR được bầu ra trong mạng đa truy nhập. DR có các nhiệm vụ sau:
Mô tả mạng đa truy nhập và các Router gắn vào mạng cho phần còn lại của liên mạng.
Quản lý quá trình tràn lụt trong mạng đa truy nhập.
Mỗi Router trong mạng thiết lập Adjacency với DR (hình 3.2). Chỉ có DR gửi các LSA tới phần còn lại của liên mạng. Một Router có thể là DR đối với mạng này nhưng không là DR đối với mạng khác. Nói cách khác DR chỉ là một đặc tính của giao diện của Router, không phải toàn bộ Router.
Hình 3.2
DR đại diện cho mạng đa truy nhập. Các Router khác chỉ thiết lập Adjacency với DR.
Nếu DR bị hỏng, một DR mới phải được bầu ra. Các Adjacency mới phải được thiết lập, các Router phải đồng bộ cơ sở dữ liệu của chúng với DR mới. Trong khi các quá trình này diễn ra, mạng sẽ không khả dụng để truyền gói.
Để tránh vấn đề này, BDR được bầu cử. Tất cả các Router thiết lập Adjacency với cả DR và BDR. DR và BDR cũng có thể thiết lập Adjacency với nhau. Nếu DR hỏng, BDR sẽ trở thành DR mới.
Tóm lại việc bầu cử diễn ra như sau: Khi một Router OSPF được kích hoạt, nó 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ầu cử BDR được tiến hành và Router 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 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.
Chú ý: Priority có thể ảnh hưởng đến quá trình bầu cử DR và BDR nhưng không ảnh hưởng đến các DR và BDR đã được bầu cử. Nếu có một Router có Priority cao hơn các DR và BDR đã được kích hoạt, nó cũng không thể thay thế các DR và BDR này.
3.3 Giao diện OSPF
3.3.1 Cấu trúc dữ liệu giao diện
Các thành phần của cấu trúc số 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à 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: là loại của 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 là một Metric OSPF, được diễn tả bởi 16 bit nguyên không dấu có giá trị từ 1 đến 65535.
Inf Trans Delay: là số giây 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 được trình bày ở phần sau.
Router Priority: 8 bit nguyên không dấu này có giá trị từ 0 đến 255 dùng để bầu cử 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 theo 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 theo giây mà Router sẽ chờ để nghe các gói Hello từ một Neighbor trước khi nó coi rằng Neighbor này bị Down.
Wait Time: là khoảng thời gian Router sẽ chờ DR và BDR được quảng cáo trong gói tin Hello trước khi bắt đầu lựa chọn DR và BDR. Chu kì Wait Time bằng Router Dead Interval.
Rxm Interval: 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.
Hello 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ệ (có gói Hello được nhìn thấy trong thời gian Router Dead Interval).
Autype: Mô tả loại nhận thực sử dụng trong mạng. Autype có thể là Null (không nhận thực), Simple Password, hoặc Cryptographic (Mesage 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 khoá trên một giao diện.
3.3.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.
Hình 3.3 Sự chuyển đổi giữa các trạng thái giao diện OSPF
Biến cố vào
Ý nghĩa các biến cố
IE1
IE2
IE3
IE4
IE5
IE6
IE7
IE8
IE9
IE10
Các giao thức mức thấp chỉ báo rằng giao diện mạng đã sẵn sàng hoạt động.
Các giao thức mức thấp chỉ báo rằng giao diện mạng chưa sẵn sàng hoạt động.
Ngưòi quản lý mạng hoặc các giao thức mức thấp hơn chỉ ra rằng giao diện được loop up.
Người quản lý mạng hoặc các giao thức mức thấp hơn chỉ ra rằng giao diện được loop down.
Gói Hello nhận được chỉ ra rằng Neighbor gốc (Neighbor gửi gói Hello này) muốn trở thành DR hoặc BDR và trong mạng chưa có BDR.
Wait timer đã hết hiệu lực.
Router được bầu cử là DR trong mạng này.
Router được bầu cử là BDR trong mạng này.
Router không được bầu cử là DR hoặc BDR trong mạng này.
Một thay đổi xảy ra trong tập các Neighbor hợp lệ của mạng. Thay đổi này có thể là:
Thiết lập kết nối hai chiều với một Neighbor.
Mất kết nối hai chiều với một Neighbor.
Nhận một gói Hello chỉ ra rằng Neighbor gốc muốn trở thành DR hoặc BDR.
Nhận được gói Hello từ DR chỉ ra rằng Router này không muốn làm DR nữa.
Nhận được gói Hello từ BDR chỉ ra rằng Router này không muốn làm BDR nữa.
Thời gian Router Dead Interval kết thúc mà không nhận được gói Hello từ DR hoặc BDR.
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 lập bằng giá trị ban đầu và không có lưu lượng được 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 tới giao diện.
3.4 Neighbor OSPF
3.4.1 Cấu trúc dữ liệu Neighbor
Các thành phần của cấu trúc dữ liệu Neighbor là:
Neighbor ID: là Router ID của Neighbor.
Neighbor IP address: là địa chỉ IP của giao diện nối tới mạng của Neighbor. Khi một gói OSPF được truyền unicast tới Neighbor, địa chỉ này sẽ là địa chỉ đích.
Area ID: Để hai Router trở thành các Neighbor của nhau, Area ID trong gói Hello nhận được 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: là trạng thái chức năng của Neighbor sẽ được trình bày ở phần sau.
Poll Interval: Giá trị này chỉ sử dụng đối với các Neighbor trong mạng NBMA. Vì các Neighbor không thể được tự động khám phá trong mạng NBMA nếu các Neighbor này ở trạng thái Down, do vậy gói Hello sẽ được gửi tới các 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 OSPF tuỳ chọn được hỗ trợ bởi Neighbor. Các tuỳ chọn này được trình bày ở phần sau.
Inactivity Timer: là Timer có chu kỳ là 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, Neighbor sẽ được khai báo là Down.
Designated Router: Địa chỉ này chứa trong trường DR của gói Hello.
Backup Designated Router: Địa chỉ này chứa trong trường BDR của gói Hello.
Master/Slave: Quan hệ chủ-tớ (được thoả thuận trong trạng thái Exstart) thiết lập Neighbor nào sẽ điều khiển việc đồ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: Các bít Initialize, More, Master, các Option và số trình tự của gói DD nhận được cuối cùng được ghi trong cơ sở dữ liệu Neighbor. Thông tin này 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.
Link State Retransmission List: là danh sách các LSA đã được tràn lụt trên Adjacency nhưng chưa được công nhận. Các LSA sẽ được truyền lại sau khoảng thời gian RxmtInterval cho đến khi chúng được công 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. Các LSA tạo nên cơ sở dữ liệu trạng thái liên kết khi Router chuyển sang trạng thái Exchange.
Link State Request List: Là danh sách các LSA trong cá gói DD của Neighbor “mới” 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 các bản copy của các LSA này. Khi nhận được cá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 rút dần cho đến hết.
3.4.2 Các trạng thái Neighbor
Một Router sẽ chuyển Neighbor qua một số trạng thái trước khi Neighbor được coi là Full Adjacency. Các trạng thái đó bao gồm: Down, Attemt, Init, 2-Way, Extart, Exchange, Loading, và Full.
Down: là trạng thái đầu tiên của Neighbor khi cuộc hội thoại (giữa Router và Neighbor) chỉ ra rằng không có gói Hello nào được gửi từ Neighbor trong Router Dead Interval cuối cùng. 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. Nếu Neighbor chuyển xuống trạng thái Down từ trạng thái cao hơn thì danh sách truyền lại trạng thái liên kết, mô tả cơ sở dữ liệu, và yêu cầu trạng thái liên kết bị xoá bỏ.
Attempt: Trạng thái này chỉ ứng dụng cho các Neighbor trong mạng NBMA, ở đây các Neighbor được cấu hình bằng tay. Một Router (đủ khả năng để trở thành DR) sẽ chuyển một Neighbor sang trạng thái Attempt khi giao diện nối tới Neighbor được kích hoạt đầu tiên hoặc khi Router là DR hoặc BDR. Một Router sẽ gửi các gói tới một Neighbor ở trạng thái Attempt theo chu kỳ HelloInterval thay vì PollInterval.
Hình 3.4 Sự chuyển đổi trạng thái từ Down sang Full
Init: Trạng thái này chỉ ra rằng đã nhận được gói Hello từ Neighbor trong Router Dead Interval cuối cùng 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 hoặc trạng thái cao hơn trong trường Neighbor của gói Hello.
2-Way: Trạng thái này chỉ ra rằng Router đã “nhìn thấy“ Router ID của nó 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 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ệ Masterr/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 nhất sẽ là Master.
Exchange: 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 đang ở trạng thái Exchange. 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 ở trạng thái này để 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 ở trạng thái này để 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: Neighbor ở trạng thái này là Adjacent hoàn toàn và các Adjacency sẽ xuất hiện trong các Router LSA và Network LSA.
Hình 3.5 Sự chuyển đổi trạng thái từ Init sang Full
Biến cố vào
Ý nghĩa
IE1
IE2
IE3
IE4
IE5
IE6
IE7
IE8
IE9
IE10
IE11
IE12
IE13
IE14
IE15
IE16
Chỉ xảy ra đối với các Neighbor kết nối với mạng NBMA. IE1 xảy ra bởi một trong các điều kiện sau:
Giao diện nối tới mạng NBMA được kích hoạt đầu tiên, và Neighbor đủ điều kiện tham gia bầu cử DR.
Router là DR hoặc BDR, và Neighbor không đủ điều kiện tham gia bầu cử để trở thành DR.
Một gói Hello hợp lệ được nhận từ Neighbor.
Neighbor không thể liên lạc được nữa.
Router nhận nhìn thấy Router ID của nó đầu tiên trong gói Hello của Neighbor hoặc nhận được gói DD từ Neighbor.
Neighbor không thể thiết lập Adjacency.
Xảy ra bởi một trong các điều kiện sau:
Trạng thái Neighbor chuyển trước tiên sang trạng thái 2-way.
Trạng thái giao diện thay đổi.
Adjacency sẽ được hình thành với Neighbor này.
Quan hệ chủ tớ được thiết lập và số trình tự DD được trao đổi.
Việc trao đổi các gói DD được hoàn thành.
Các khoản mục còn tồn tại trong danh sách yêu cầu trạng thái liên kết.
Danh sách yêu cầu trạng thái liên kết rỗng.
Adjacency sẽ được phá vỡ và được reset lại. IE12 xảy ra bởi một trong các điều kiện sau:
Nhận được gói DD có số trình tự DD không đúng.
Nhận được gói DD có trường Option khác với trường Option của gói DD cuối cùng.
Nhận được gói DD khác ngoài gói đầu tiên có bit Init được lập.
Nhận được gói yêu cầu một LSA không có trong cơ sở dữ liệu.
Nhận được một gói Hello từ Neighbor trong đó Router ID của Router nhận không có trong trường Neighbor.
Xảy ra khi trạng thai giao diện thay đổi.
Adjacency với Neighbor này sẽ tiếp tục tồn tại hay tiếp tục hình thành.
Adjacency với Neighbor này sẽ không tiếp tục tồn tại hay không tiếp tục hình thành.
Quyết định
Ý nghĩa
DP1
DP2
DP3
Một Adjacency sẽ được thiết lập với Neighbor hay không? Một Adjacency sẽ được hình thành nếu một trong các điều kiện sau xảy ra:
Loại mạng là Point to Point.
Loại mạng là Point to Multipoint.
Loại mạng là liên kết ảo.
Router là DR trong mạng của Neighbor.
Router là BDR trong mạng của Neighbor.
Neighbor là DR.
Neighbor là BDR.
Danh sách yêu cầu trạng thái liên kết đối với Neighbor này rỗng không?
Adjacency với Neighbor có tiếp tục tồn tại hay không?
3.5 Thiết lập mối quan hệ thân mật (Adjacency)
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ừ phi các tham số trong các gói Hello của chúng không phù hợp.
Trong các mạng quảng bá 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.
Quá trình xây dựng Adjacency sử dụng ba loại gói OSPF sau:
Gói mô tả cơ sở dữ liệu DD (loại 2).
Gói yêu cầu trạng thái liên kết (loại 3).
Gói cập nhật trạng thái liên kết (loại 4).
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 để quyết định xem liệu nó đã có bản copy mới nhất của LSA trong cơ sở dữ liệu của nó. Ngoài ra gói DD còn chứa ba cờ được sử dụng để quản lí quá trình xây dựng Adjacency. Ba cờ đó là:
Bit I (Initial bit): I = 1 chỉ ra rằng gói DD đầu tiên gửi.
Bit M (More bit): M = 1 chỉ ra rằng đây không phải gói DD cuối cùng được gửi.
Bit MS (Master/Slave bit): MS = 1 chỉ ra rằng 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 và số trình tự DD được 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 các bản tóm tắt LSA. Khi cuộc đàm phán Master/Slave hoàn thành, trạng thái Neighbor sẽ chuyển sang Exchange.
Ở trạng thái Exchange, các Neighbor sẽ tiến hành đồng bộ cơ sở dữ liệu của chúng. Danh sách tóm tắt cơ sở dữ liệu được ghi cùng với các Header của tất cả các LSA 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 rằng Neighbor của nó có một LSA không có trong cơ sở dữ liệu của nó, hoặc rằng Neighbor có bản copy của một LSA (đã biết) mới hơn, nó đặ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 vận chuyển các LSA được yêu cầu. Khi nhận được các LSA yêu cầu, Router sẽ xoá 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 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 đã được truyền được ghi vào danh sách truyền lại trạng thái liên kết. Khi một LSA được xác nhận, nó sẽ được xoá khỏi danh sách này. LSA có thể được xác nhận theo hai cách:
Xác nhận rõ ràng: Khi nhận được gói xác nhận trạng thái liên kết chứa LSA Header.
Xác nhận ngầm: 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 với phiên bản đã gửi. (Cả hai LSA đều mới hơn các LSA khác).
Master điều khiển quá trình đồng bộ và đảm bảo chỉ có gói DD được truyền đ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 này 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 của gói này 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ỉ để đáp lại 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 gửi gói DD 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 đó, gói xác nhận được truyền lại.
Khi quá trình đồng bộ hoàn tất, một trong hai sự chuyển đổi trạng thái sau sẽ xảy ra:
Nếu vẫn còn các mục trong danh sách yêu cầu trạng thái liên kết, 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 là rỗng, Router sẽ chuyển trạng thái của Neighbor sang trạng thái Full.
Master biết rằng quá trình đồng bộ đã hoàn tất khi nó gửi tất cả các gói DD cần thiết để diễn tả đầy đủ 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. 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 = 0. Hình dưới đây chỉ ra ví dụ về một quá trình đồng bộ cơ sở dữ liệu cùng với sự chuyển đổi trạng thái Neighbor.
Hình 3.6 Ví dụ một quá trình đồng bộ cơ sở dữ liệu
Quá trình đồng bộ cơ sở dữ liệu ở hình trên gồm các bước sau:
RT1 được kích hoạt trong mạng đa truy nhập và gửi một gói Hello. Do nó chưa biết được về một Neighbor nào, nên trường Neighbor của gói là rỗng, trường DR và BDR được lập bằng 0.0.0.0.
RT2 nhận được gói Hello từ RT1, nó tạo một cấu trúc dữ liệu Neighbor cho RT1 và chuyển trạng thái của RT1 thành Init. RT2 gửi một gói Hello chứa Router ID của RT1 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ừ RT2, RT1 sẽ biết được Router ID của mình. RT1 tạo một cấu trúc dữ liệu Neighbor cho RT2 và chuyển trạng thái của RT2 sang trạng thái Exstart để chuẩn bị cho việc đàm phán Master/Slave. Sau đó nó tạo một gói DD rỗng (không chứa các Header của các LSA) có số trình tự là x, bit I = 1 (chỉ ra rằng đây là gói DD đầu tiên của RT1), bit M = 1 ( chỉ ra rằng đây không phải là gói DD cuối cùng), bit MS = 1 (chỉ ra rằng RT1 muốn là Master).
RT2 chuyển trạng thái của RT1 sang trạng thái Exstart trong lúc nhận gói DD. Sau đó nó gửi một gói DD phản hồi có số trình tự là y. RT2 có Router ID cao hơn RT1 nên nó đặt bit MS = 1. Do gói DD này dùng cho quá trình đàm phán Master/Slave nên nó cũng rỗng như gói đầu tiên.
RT1 chấp nhận RT2 là Master và chuyển trạng thái của RT2 sang Exchange. RT1 tạo một gói DD có số trình tự bằng y, bit MS = 0 (chỉ ra rằng nó là Slave). Gói này sẽ chứa các LSA Header từ danh sách tóm tắt trạng thái liên kết của RT1.
RT2 chuyển trạng thái của RT1 sang trạng thái Exchange trong khi nhận gói DD của RT1. Nó gửi một gói DD chứa các LSA Header từ danh sách tóm tắt trạng thái liên kết của nó và tăng số trình tự DD lên y + 1 .
RT1 gửi một gói xác nhận với số trình tự là y + 1 tới RT2. Quá trình cứ tiếp tục như vậy. Khi RT2 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ó đặt bit M = 0.
RT1nhận được gói cuối cùng này và biết rằng quá trình Exchange đã hoàn tất. Khi này nó đã có các khoản mục 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 RT2 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 này của RT1, RT2 chuyển trạng thái của RT1 sang Full vì nó không còn khoản mục nào trong danh sách yêu cầu trạng thái liên kết.
RT1 gửi các gói yêu cầu trạng thái liên kết và RT2 gửi các gói cập nhật trạng thái liên kết có chứa các LSA yêu cầu cho đến khi danh sách yêu cầu trạng thái liên kết của RT1 rỗng. Sau đó RT1 sẽ chuyển trạng thái của RT2 sang Full.
3.6 Tràn lụt
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 node phải có một “bản đồ nhận dạng” cấu hình. Bản đồ này gọi là cơ sở dữ liệu cấu hình.
Hình 3.7 Các Router liên kết với nhau bởi các liên kết số liệu được mô tả như là một nhóm các node liên kết với nhau bởi các Adjacency
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 node được cập nhật và duy trì sự đồng nhất với các node 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 (loại 4).
Gói xác nhận trạng thái liên kết (loại 5).
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 node thông qua Adjacency.
Hình 3.8 Các LSA được truyền qua Adjacency trong các gói cập nhật trạng thái liên kết
Trong mạng Point to Point: Các gói cập nhật được gửi tới địa chỉ multicast AllSPFRouters (224.0.0.5).
Trong mạng Point to Multipoint và liên kết ảo: Các gói cập nhậ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ó.
Hình 3.9 Tràn lụt gói trong mạng quảng bá
3.6.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 node 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ề node 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 LSA Header đủ để 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.
3.6.2 Tràn lụt tin cậy sử dụng số trình tự, tổng kiểm tra, và tuổi
Mỗi LSA chứa ba giá trị là: số trình tự, tổng kiểm tra, và tuổi.
Số trình tự: Sử dụng 32 bit có giá trị từ số trình tự đầu tiên (0x80000001) đến số trình tự lớn nhất (0x7fffffff). 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 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ì phiê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: Là một số nguyên 16 bit được tính toán dựa trên thuật toán Fletcher. 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ừ node tới node do đó phải yêu cầu tính lại tổng kiểm tra tại mỗi node). Tổng kiểm tra của mỗi LSA cũng được tính lại năm phút một lần 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: Là một số nguyên 16 bit không dấu để chỉ ra tuổi của LSA tính theo giây. 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 (InfTransDelay giây). 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. Nếu chỉ có một LSA có tuổi là MaxAge, nó được coi là gần mới nhất. Ngược lại:
Nếu tuổi của LSA khác nhau hơn mười năm phút (Max Age Diff), LSA có tuổi thấp hơn được chọn. Nếu không có điều kiện nào như trên xảy ra, hai LSA được coi là giống hệt nhau.
3.7 Vùng (Area)
Khi mạng phát triển, cơ sở dữ liệu của mạng tăng theo dẫn đến phải tăng dung lượng bộ nhớ Router. Để giải quyết vấn đề này, người ta sử dụng giải thuật SPF. Nhưng điều này lại tăng gánh nặng sử lí cho CPU.
Lợi ích của việc sử dụng Area: OSPF sử dụng các Area để giảm các ảnh hưởng bất lợi trên. OSPF định nghĩa Area là một nhóm logic các Router và các liên kết giúp phân chia hiệu quả một miền OSPF thành các miền con. Các Router trong một Area sẽ không biết chi tiết cấu hình bên ngoài Area của nó. Do vậy:
Một Router sẽ chỉ phải chia sẻ cơ sở dữ liệu trạng thái liên kết với các Router khác trong Area của nó. Việc giảm kích thước của cơ sở dữ liệu sẽ làm giảm sự va chạm trong bộ nhớ của Router.
Cơ sở dữ liệu nhỏ hơn dẫn đến các LSA phải xử lí ít hơn và làm giảm sự va chạm trong CPU của Router.
Các quá trình tràn lụt gói được giới hạn trong Area.
Area ID: Area được nhận dạng bởi 32 bit Area ID. Area ID có thể được viết dưới dạng số thập phân hoặc số thập phân được ngăn cách bởi các dấu chấm (ví dụ như 0 và 0.0.0.0 là tương đương, hoặc16 và 0.0.0.16; 271 và 0.0.1.15 là tương đương).
Backbone: Area ID 0 được sử dụng cho mạng Backbone. Mạng Backbone là mạng chịu trách nhiệm thông báo các thông tin về cấu hình tổng quát của mỗi Area cho các Area khác.
3.7.1 Area có thể phân chia
Hình 3.10 Sự phân chia của Area
Area có thể phân chia: là Area trong đó một lỗi liên kết sẽ phân chia Area thành hai phần tách biệt nhau. Nếu một Area (không phải là Backbone) bị phân chia, và tất cả các Router ở hai bên phân chia vẫn có thể nhìn thấy ABR (hình 3.10) thì sẽ không có sự phá vỡ nào xảy ra. Backbone sẽ xem các Area phân chia như là hai Area tách biệt.
Khi Area Backbone được phân chia, nó sẽ tạo ra các Area tách biệtvà tạo ra hai miền OSPF tách biệt nhau (hình 3.11).
Hình 3.11 Sự phân chia của Area Backbone
3.7.2 Liên kết ảo
Liên kết ảo là một liên kết nối tới Backbone thông qua một Area khác (không phải là Backbone). Liên kết ảo sử dụng cho các mục đích sau:
Liên kết một Area tới một Backbone thông qua một Area khác (không phải là Backbone) (xem hình 3.12).
Kết nối hai phần của Backbone bị phân chia thông qua một Area (không phải là Backbone) (xem hình 3.13).
Hình 3.12 Liên kết ảo kết nối Area 1 với Area 0 thông qua Area 12
Hình 3.13 Liên kết ảo kết nối hai phần của Backbone thông qua Area 3
Liên kết ảo không gắn với một liên kết vật lí đặc biệt nào. Nó là một đường hầm mà thông qua nó, các gói được định tuyến trên đường đi ngắn nhất từ nguồn đến đích.
3.8 Các loại Router
Hình 3.14 Các loại Router
Có bốn loại Router OSPF là : Router nội, Router biên giới Area, Router Backbone, và Router biên giới hệ thống độc lập (hình 3.14) .
Router nội (Internal Router): là Router mà tất cả các giao diện của nó thuộc về cùng một Area. Các Router này có cơ sở dữ liệu trạng thái liên kết đơn.
Router biên giới Area (Area border Router-ABR): Kết nối một hay nhiều Area tới Backbone và hoạt động như một Gateway đối với lưu lượng liên Area. ABR luôn có ít nhất một giao diện thuộc về mạng Backbone, và phải duy trì cơ sở dữ liệu trạng thái liên kết tách biệt cho mỗi Area liên kết với nó. Vì vậy, ABR thường có bộ nhớ lớn hơn và bộ vi xử lí mạnh hơn so với 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ẽ phổ biến lại cho các Area khác.
Router Backbone: là 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 giới hệ thống độc lập (Autonomous System Boundary Router-ASBR): hoạt động như là một Gateway đối với lưu lượng ngoài.
3.9 Cơ sở dữ liệu trạng thái liên kết
Các LSA nhận bởi Router được lưu trong cơ sở dữ liệu trạng thái liên kết của nó. Các LSA này sẽ diễn tả sơ đồ cấu hình Area. Vì mỗi Router trong Area tính toán đường đi ngắn nhất từ cơ sở dữ liệu này, do đó điều kiện tiên quyết để định tuyến chính xác là cơ sở dữ liệu của tất cả các Router trong một Area phải giống nhau.
Khi LSA cư trú trong cơ sở dữ liệu của Router, tuổi của nó sẽ tăng lên tuỳ thuộc vào thời gian cư trú. Nếu tuổi của nó đạt đến MaxAge (1h), nó sẽ bị đào thải khỏi miền OSPF. Để tránh việc các LSA phù hợp bị đào thải do quá tuổi, người ta sử dụng cơ chế “làm tươi trạng thái liên kết”. Cứ sau thời gian LSRefreshtime (30’), Router sẽ tràn lụt bản copy mới của LSA (do nó tạo ra) với số trình tự tăng lên và tuổi bằng không. Trong lúc nhận, các Router khác sẽ thay thế các bản copy LSA cũ và bắt đầu tính tuổi cho bản copy LSA mới.
3.10 Các loại LSA
Bảng sau đây liệt kê các loại LSA được sử dụng trong OSPF.
Type code
Description
1
2
3
4
5
6
7
8
9
10
11
Router LSA
Network LSA
Network Summary LSA
ASBR Summary LSA
AS External LSA
Group Membership LSA
NSSA External LSA
External Attribute LSA
Opaque LSA (link – local scope)
Opaque LSA (Area local scope)
Opaque LSA (As scope)
Router LSA: được tạo ra bởi mọi Router. LSA này chứa danh sách tất cả các liên kết của Router cùng với trạng thái và chi phí (cost) đầu ra của mỗi liên kết. Các LSA này chỉ được tràn lụt trong Area tạo ra nó.
Hình 3.15 Router LSA mô tả tất cả các giao diện của Router
Network LSA: được tạo ra bởi DR trong các mạng đa truy nhập. Network LSA chứa danh sách tất cả các Router gắn với DR và cả DR. Các LSA này được tràn lụt trong Area tạo ra nó.
Hình 3.16 Network LSA mô tả mạng đa truy nhập và tất cả các Router gắn vào mạng
Network Summary LSA: Được tạo ra bởi các ABR. Chúng được gửi vào Area để quảng cáo cho các đích bên ngoài Area đó. Thực tế, các LSA này như một phương tiện mà ABR dùng để nói cho các Router bên trong Area biết các đích bên ngoài mà ABR có thể tiếp cận được. ABR cũng quảng cáo các đích bên trong Area gắn với nó cho các Router bên trong Backbone bằng các LSA này.
Hình 3.17 Các Network Summary LSA mô tả các đích liên miền
LSA gồm cost từ ABR tới đích. Mỗi đích chỉ được quảng cáo bởi một LSA cho dù ABR biết được nhiều đường tới đích đó. Do vậy, nếu ABR biết được nhiều đường tới một đích nào đó trong Area gắn với nó, nó sẽ tạo một Network Summary LSA có cost thấp nhất trong các đường nó biết để gửi vào mạng Backbone. Tương tự như vậy, nếu một ABR nhận được nhiều Network Summary LSA từ các ABR khác thông qua Backbone, nó sẽ chọn LSA có cost thấp nhất và quảng cáo nó vào trong Area (không phải là Backbone) gắn với nó. Khi một Router khác nhận được một Nework Summary LSA từ một ABR, nó không chạy giải thuật SPF. Đúng hơn, nó cộng cost của tuyến tới ABR và cost chứa trong LSA. Tuyến tới đích được quảng cáo bởi ABR được lưu trong bảng định tuyến cùng với cost đã được tính toán. Kiểu định tuyến này ( sử dụng Router trung gian thay vì xác định đường đi đầy đủ tới đích) gọi là định tuyến theo kiểu vector khoảng cách.
Như vậy, OSPF là giao thức trạng thái liên kết trong một Area nhưng lại sử dụng giải thuật vector khoảng cách để định tuyến liên vùng (inter - Area).
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..
Hình 3.18 ASBR Summary LSAquảng cáo các tuyến nối tới ASBR
AS External LSA (Autonomous System External LSA): Được tạo ra bởi các ASBR. Các LSA này dùng để quảng cáo cho các đích bên ngoài hệ thống độc lập OSPF hoặc các tuyến mặc định bên ngoài vào hệ thống độc lập OSPF.
Hình 3.19 AS External LSA quảng cáo các đích bên ngoài vào hệ thống độc lập
AS External LSA là LSA duy nhất trong cơ sở dữ liệu không liên kết với một Area nào. Nó được tràn lụt thông qua hệ thống độc lập OSPF.
LSA hội viên nhóm (Group Membership LSA): Sử dụng trong Multicast OSPF (MOSPF). MOSPF định tuyến các gói từ một nguồn tới nhiều đích hay một nhóm thành viên chia sẻ địa chỉ multicast lớp D.
NSSA External LSA: được tạo ra bởi các ASBR trong các not – so – stubby Area (NSSAs). NSSA External LSA hầu như giống hệt với AS External LSA ngoại trừ việc NSSA External LSA được tràn lụt chỉ trong NSSA tạo ra nó.
External attributes LSA (LSA thuộc tính ngoài): được đề xuất để chạy internal BGP (iBGP) hợp lệ để truyền tải thông tin BGP qua miền OSPF. Tuy nhiên, nó chưa được triển khai.
Opaque LSA (LSA mờ): gồm phần Header tiêu chuẩn và trường thông tin. Trường thông tin có thể sử dụng cho OSPF hoặc bởi các ứng dụng khác để phân phối thông tin qua miền OSPF. LSA này cũng chưa được triển khai.
Khuôn dạng chi tiết của các LSA được trình bày ở phần phụ lục.
3.11 Area cụt (Stub Area)
ASBR quảng cáo cho các đích bên ngoài bằng cách tràn lụt các External LSA qua hệ thống độc lập OSPF. Các LSA này chiếm tỉ lệ lớn trong cơ sở dữ liệu của mỗi Router.
Hình 3.20 Có thể tiết kiệm được bộ nhớ và cải thiện hoạt động bằng cách cấu hình Area 2 là một Stub Area
Ở hình vẽ trên, không phải mọi Router đều cần biết tất cả các đích bên ngoài. Các Router trong Area 2 đều phải gửi các gói đến ABR để biết về ASBR bất kể đích bên ngoài là gì. Vì lí do này Area 2 được cấu hình như một Stub Area.
Stub Area là Area mà trong đó các gói AS External LSA và ASBR LSA không được tràn lụt vào. Các ABR gắn với Stub Area sẽ sử dụng các Network Summary LSA để quảng cáo một tuyến mặc định 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. Vì tuyến mặc định được quảng cáo bởi Network Summary LSA nên nó sẽ không được quảng cáo ngoài Area.
Hoạt động của các Router trong Stub Area có thể được cải thiện và bảo tồn được bộ nhớ nhờ giảm được kích thước cơ sở dữ liệu của chúng.
3.12 Area cụt hoàn toàn (Totally Stubby Area)
Area cụt hoàn toàn sử dụng các tuyến mặc định để định tuyến các đích bên ngoài đến không chỉ hệ thống độc lập mà còn đến Area. ABR của Area cụt hoàn toàn 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.
3.13 Not - So – Stubby Area
Ở hình vẽ dưới (hình 3.21), một Router gắn với một số mạng cụt được nối với mạng OSPF thông qua một Router thuộc Area 2. Router chỉ hỗ trợ RIP do đó Router trong Area 2 cũng phải chạy RIP và chia sẻ thông tin định tuyến về các mạng ngoài vào miền OSPF. Cấu hình này làm cho Area 2 có một Router là ASBR và do đó Area 2 không thể là Stub Area.
Router chạy RIP không cần biết về các tuyến bên trong miền OSPF mà nó chỉ cần biết về tuyến mặc định nối tới ASBR của Area 2. Tuy nhiên, các Router OSPF lại phải biết về các mạng gắn với Router chạy RIP để định tuyến các gói tới chúng.
Hình 3.21
Not – so – stubby Area (NSSA) cho phép các tuyến bên ngoài được quảng cáo vào hệ thống độc lập 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ệ thống độc lập. Để làm được điều này, 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 lại tại ABR.
Hình 3.22
NSSA External LSA có một bit P trong phần Header của nó gọi là cờ. NSSA ASBR có thể điều chỉnh lập hay xoá bit P. Nếu ABR của NSSA nhận được một LSA loại 7 với bit P được lập (bằng một), nó sẽ chuyển LSA này thành LSa loại 5 và tràn lụt chúng vào các Area khác (hình 3.22).
Nếu bit P = 0, không có sự chuyển đổi nào xảy ra, LSA sẽ không được quảng cáo bên ngoài NSSA.
3.14 Bảng định tuyến
Giải thuật SPF của Dijkstra được sử dụng để tính toán cây đường đi ngắn nhất từ các LSA trong cơ sở dữ liệu trạng thái liên kết. Giải thuật SPF được chạy lần thứ nhất để xây dựng các cành của cây SPF. Giải thuật chạy lần thứ hai để thêm lá vào cây. Các lá chính là các mạng cụt gắn với mỗi Router.
OSPF xác định đường đi ngắn nhất dựa trên một metric tuỳ ý gọi là cost (chi phí) gắn với mỗi giao diện. Cost của một tuyến là tổng các cost của tất cả các giao diện đầu ra tới đích. RFC 2328 không chỉ rõ giá trị cho cost.
3.15 Các loại đường
Có bốn loại đường là: đường nội vùng, đường liên vùng, đường ngoài loại 1, và đường ngoài loại 2.
Đường nội vùng: là đường nối tới các đích trong các Area gắn với Router.
Đường liên vùng: là đường nối tới các đích trong các Area khác nhưng vẫn nằm trong hệ thống độc lập OSPF. Đường liên vùng luôn đi qua ít nhất một ABR.
Đường ngoài loại 1(E1): là đường tới các đích bên ngoài hệ thống độc lập OSPF. Khi một tuyến bên ngoài được quảng các vào một hệ thống độc lập, nó phải được gán một metric có ý nghĩa đối với giao thức định tuyến của hệ thống độc lập. Trong OSPF, ASBR chịu trách nhiệm gán cost cho các tuyến bên ngoài mà nó quảng cáo. Các đường ngoài loại 1 có cost bằng tổng của cost bên ngoài này cộng với cost của đường dẫn tới ASBR.
Đường ngoài loại 2 (E2): cũng là đường tới các đích bên ngoài hệ thông độc lập OSPF nhưng nó không tính phần cost của đường tới ASBR.
Hinh 3.23
Ở hình 3.23, Router A có hai đường tới đích bên ngoài 10.1.2.0. Nếu đích được quảng cáo theo kiểu đường E1, đường A-B-D có cost là 35 (5+20+10) sẽ được chọn so với đường A-C-D có cost là 50 (30+10+10). Nhưng nếu đích được quảng cáo theo kiểu đường E2, thì đường A-C-D có cost là 20 (10+10) sẽ được chọn so với đường A-B-D có cost là 30 (20+10).
3.16 Tra bảng định tuyến
Khi một Router OSPF kiểm tra địa chỉ đích của gói, nó sẽ thực hiện các bước sau để lựa chọn đường đi ngắn nhất:
Chọn tuyến phù hợp nhất với địa chỉ đích. Ví dụ nếu có các thực thể định tuyến ứng với địa chỉ 172.16.64.0/18; 172.16.64.0/24; và 172.16.64.192/27 và địa chỉ đích là 172.16.64.205 thì thực thể cuối cùng sẽ được chọn. Thực thể được chọn luôn là thực thể phù hợp dài nhất (tuyến với mặt nạ địa chỉ dài nhất). Nếu không tìm được tuyến phù hợp, một bản tin ICMP sẽ được gửi về địa chỉ nguồn và gói sẽ bị huỷ bỏ.
Bỏ bớt các thực thể đã chọn bằng cách loại bỏ các loại đường dẫn kem phù hợp hơn. Các loại đường dẫn được phân quyền ưu tiên theo thứ tự sau: (1 là mức ưu tiên cao nhất, 4 là mức ưu tiên thấp nhất).
Đường dẫn nội vùng.
Đường dẫn liên vùng.
Đường ngoài loại 1.
Đường ngoài loại 2.
Nếu có nhiều tuyến có cùng cost, cùng loại đường dẫn tồn tại trong tập cuối cùng, OSPF sẽ sử dụng tất cả các đường dẫn này. Lưu lượng được truyền trên các đường dẫn này theo phương pháp cân bằng tải.
CHƯƠNG 4 ỨNG DỤNG CỦA OSPF
4.1 Ứng dụng của OSPF trong mạng IP phân cấp
4.1.1 Phân cấp trong mạng IP cỡ lớn
Ban đầu, các mạng TCP/IP hoạt động dựa trên các giao thức định tuyến vécter khoảng cách đơn giản và cơ chế đánh địa chỉ IP 32-bit có phân lớp. Các công nghệ này giới hạn khả năng phát triển của mạng. Do vậy hiện nay các nhà thiết kế mạng đã phải từ bỏ các công nghệ này để xây dựng các mạng hiện đại khác có khả năng mở rộng để thích ứng với sự phát triển nhanh và những biến đổi liên tục của mạng. Phần này sẽ giới thiệu các công nghệ mạng có khả năng giải quyết các yêu cầu này.
Mô hình mạng phân cấp và các đặc trưng của mạng phân cấp
Mô hình mạng phân cấp giúp phân chia các vấn đề phức tạp của mạng thành các vấn đề nhỏ hơn và dễ quản lý hơn. Mỗi lớp trong mạng phân cấp chỉ tập trung vào một tập các vấn đề khác nhau. Điều này giúp cho người thiết kế mạng có thể sử dụng một cách tối ưu phần mềm và phần cứng mạng trong việc thiết kế mạng. Ví dụ, các thiết bị ở lớp thấp nhất được tối ưu để chỉ thực hiện chức năng truyền tải.
Mô hình mạng phân cấp 3 lớp (hình vẽ)
Hình 4.1 Mô hình mạng phân cấp ba lớp
Trong mô hình này, các thết bị mạng và các liên kết được nhóm lại với nhau theo ba lớp:
Lớp lõi (core Layer).
Lớp phân phối (Distribution Layer)
Lớp truy nhập (Access Layer)
Ưu điểm của mô hình mạng phân cấp là chúng dễ dàng được module hoá. Các thiết bị trong cùng một lớp thực hiện các chức năng tương tự nhau. Điều này cho phép các nhà quản trị mạng dễ dàng thêm hoặc bớt các thành phần đơn lẻ của mạng.
4.1.2 Chức năng các lớp
a. Lớp lõi
Lớp lõi thực hiện chức năng truyền tải lưu lượng với tốc độ cao đảm bảo độ tin cậy. Các thiết bị ở lớp lõi sẽ chuyển các gói tin nhanh nhất có thể được và chúng có thể đáp ứng được tất cả các nhu cầu về chuyển gói tốc độ cao cho mạng. Các thiết bị này sẽ thực hiện các chức năng sau đối với các gói:
Kiểm tra danh sách truy nhập
Mã hoá dữ liệu
Biên dịch địa chỉ
b. Lớp phân phối
Lớp phân phối được đặt ở giữa lớp truy nhập và lớp lõi giúp phân biệt lớp lõi với phần còn lại của mạng. Mục đí
Các file đính kèm theo tài liệu này:
- Ban Word.doc