Đồ án Giao thức định tuyến trong mạng máy tính - Phùng Văn Đông
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Giao thức định tuyến trong mạng máy tính - Phùng Văn Đông", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- do_an_giao_thuc_dinh_tuyen_trong_mang_may_tinh_phung_van_don.pdf
Nội dung text: Đồ án Giao thức định tuyến trong mạng máy tính - Phùng Văn Đông
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính MỞ ĐẦU Sự kết hợp của máy tính với các hệ thống truyền thông đã tạo ra sự chuyển biến có tính chất cách mạng trong vấn đề tổ chức, khai thác và sử dụng các hệ thống máy tính. Các máy tính đƣợc kết hợp với nhau để cùng thực hiện công việc, chia sẻ thông thông tin, tài nguyên dùng chung từ nhiều vị trí địa lí khác nhau. Ngày nay quy mô mạng máy tính không ngừng đƣợc mở rộng, các mạng đƣợc kết nối với nhau thành liên mạng. Định tuyến là chức năng không thể thiếu trong bất kỳ mạng nào. Định tuyến giúp cho việc vận chuyển các gói tin giữa các mạng một cách hiệu quả nhất. Vì vậy việc tìm hiểu và nghiên cứu các kĩ thuật định tuyến là rất quan trọng đối với nhà thiết kế mạng. Có thể coi đây là chức năng quan trọng nhất trong kiến trúc mạng máy tính. Đồ án tốt nghiệp “Giao thức định tuyến trong mạng máy tính” trình bày những kiến thức cơ bản về các kĩ thuật định tuyến. Đồ án gồm 3 chƣơng: + Chƣơng 1: tổng quan về mạng, kiến trúc mạng máy tính + Chƣơng 2: trình bày về các kĩ thuật định tuyến véc tơ khoảng cách, kĩ thuật định tuyến trạng thái đƣờng liên kết. Tìm hiểu sự hoạt động, cấu trúc gói tin của các giao thức định tuyến thƣờng dùng RIP, IGRP, OSPF, BGP + Chƣơng 3: mô phỏng giao thức định tuyến Em xin chân thành cảm ơn thầy Nguyễn Trọng Thể đã tận tình chỉ bảo, giúp đỡ em trong quá trình làm đồ án và bảo vệ đồ án tốt nghiệp. Hải Phòng, ngày 15 tháng 6 năm 2010 Sinh viên thực hiện PHÙNG VĂN ĐÔNG Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 1/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính MỤC LỤC CHƢƠNG I. MẠNG MÁY TÍNH 3 1.1. Tổng quan về mạng máy tính 3 1.1.1 Khái niệm mạng máy tính 3 1.1.2 Tác dụng của mạng máy tính 3 1.2. Phân loại mạng máy tính 4 1.2.1 Phân loại theo khoảng cách địa lý 4 1.2.2 Phân loại theo kỹ thuật chuyển mạch 5 1.3 Topo mạng máy tính 6 1.3.1 Mạng Bus 7 1.3.2 Mạng Star (mạng Sao) 8 1.3.2 Mạng Ring (Mạng vòng) 9 1.4 Các phƣơng pháp truy nhập đƣờng truyền vật lý 10 1.4.1 CSMA/CD 10 1.4.2 Token Bus 11 1.4.3 Token Ring 12 1.5 Kiến trúc và giao thức mạng máy tính 12 1.5.1 Mô hình OSI 13 1.5.2 Các giao thức chuẩn của OSI 15 1.5.3 Mô hình TCP/IP 16 CHƢƠNG II. CÁC GIAO THỨC ĐỊNH TUYẾN TRÊN MẠNG 21 2.1 Các khái niệm 21 2.1.1 Định tuyến, bảng định tuyến 21 2.1.2 Giao thức định tuyến, giao thức đƣợc định tuyến 23 2.1.3 Khoảng cách quản lý (Administrative Distance (AD)) 24 2.2 Phân loại giao thức định tuyến 24 2.2.1 Thuật toán tìm đƣờng đi ngắn nhất 25 2.2.2 Giao thức định tuyến Véc tơ khoảng cách (Distance Vector) 27 2.2.3 Giao thức định tuyến trạng thái đƣờng liên kết (Link State) 34 2.2.3 So sánh 2 loại giao thức định tuyến 36 2.3 Các giao thức định tuyến trên mạng 38 2.3.1 Khái niệm AS (Autonomous System - Hệ tự quản) 38 2.3.2 Các giao thức định tuyến nội vùng IGP 40 2.3.2.1 RIP (Routing Information Protocol) 40 2.3.2.2 IGRP (Interior Gateway Routing Protocol) 42 2.3.2.3 OSPF (Open Short Path First) 46 2.3.3 Các giao thức định tuyến ngoại vùng EGP 56 CHƢƠNG III. MÔ PHỎNG CÁC GIAO THỨC ĐỊNH TUYẾN 64 3.1 Giới thiệu chƣơng trình packet tracer 64 3.2 Mô phỏng và cấu hình các giao thức định tuyến 65 3.2.1 Lƣu đồ giải thuật của thuật toán định tuyến véc tơ khoảng cách 65 3.2.2 Mô phỏng giao thức định tuyến RIP 67 Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 2/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính CHƢƠNG I. MẠNG MÁY TÍNH 1.1. Tổng quan về mạng máy tính 1.1.1 Khái niệm mạng máy tính Mạng máy tính gồm nhiều máy tính điện tử và thiết bị đầu cuối đƣợc kết nối với nhau bằng đƣờng truyền hữu tuyến hoặc vô tuyến nhằm trao đổi thông tin và chia sẻ phần cứng, phần mềm, dữ liệu với nhau. 1.1.2 Tác dụng của mạng máy tính - Sử dụng chung tài nguyên: những tài nguyên của mạng (nhƣ thiết bị, chƣơng trình, dữ liệu) khi trở thành các tài nguyên chung thì mọi thành viên của mạng đều có thể tiếp cận đƣợc mà không quan tâm tới những tài nguyên đó ở đâu. - Tăng độ tin cậy của hệ thống: ngƣời ta có thể dễ dàng bảo trì máy móc và lƣu trữ (backup) các dữ liệu chung và khi có trục trặc trong hệ thống thì chúng có thể đƣợc khôi phục nhanh chóng. Trong trƣờng hợp có trục trặc trên một trạm làm việc thì ngƣời ta cũng có thể sử dụng những trạm khác thay thế. - Nâng cao chất lƣợng và hiệu quả khai thác thông tin: khi thông tin có thể đƣợc sử dụng chung thì nó mang lại cho ngƣời sử dụng khả năng tổ chức lại các công việc với những thay đổi về chất nhƣ: o Ðáp ứng những nhu cầu của hệ thống ứng dụng kinh doanh hiện đại. o Cung cấp sự thống nhất giữa các dữ liệu. o Tăng cƣờng năng lực xử lý nhờ kết hợp các bộ phận phân tán. o Tăng cƣờng truy nhập tới các dịch vụ mạng khác nhau đang đƣợc cung cấp trên thế giới. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 3/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính 1.2. Phân loại mạng máy tính 1.2.1 Phân loại theo khoảng cách địa lý * Mạng cục bộ LAN (Local Area Network) Mạng Lan là mạng đơn giản nhất trong thế giới mạng, gồm nhiều máy tính kết nối với nhau trong phạm vi tƣơng đối nhỏ nhƣ: trong một tòa nhà, trƣờng học, cơ quan với khoảng cách giữa các máy tính khoảng vài chục km. Mạng Lan có đặc điểm: - Toàn bộ mạng đƣợc đặt tại một vị trí duy nhất - Tốc độ truyền dữ liệu lớn: 100Mb/s Kết nối đƣợc thực hiện qua các môi trƣờng truyền thông tốc độ cao, ví dụ nhƣ cáp đồng trục hay cáp quang. * Mạng đô thị MAN (Metropolitan Area Network) MAN là mạng đƣợc cài đặt trong phạm vi một đô thị hoặc một trung tâm kinh tế - xã hội có bán kính khoảng 100 km trở lại. MAM đƣợc coi là giải pháp hữu hiệu trong trƣờng hợp LAN có hàng ngàn ngƣời sử dụng và không giới hạn trong phạm vi một địa điểm mà bao gồm nhiều trụ sở khác nhau với sự phân bố không cách xa nhau nhiều. Khi đó, MAN đƣợc sử dụng một đƣờng truyền thê bao tốc độ cao qua mạng điện thoại hoặc phƣơng tiện khác bởi nó cho phép truy cập tài nguyên mạng từ nhiều vị trí địa lý khác nhau. * Mạng diện rộng WAN (Wide Area Network) WAN là mạng diện rộng , kết nối máy tính trong nội bộ một quốc gia hay giữa các quốc gia trong cùng một châu lục. Thông thƣờng kết nối này đƣợc thực hiện thông qua mạng viễn thông. Các WAN có thể đƣợc kết nối lại với nhau thành GAN. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 4/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính * Mạng GAN (Global Area Network) Mạng toàn cầu, kết nối máy tính từ các châu lục khác nhau. Thông thƣờng kết nối này đƣợc thực hiện thông qua mạng viễn thông và vệ tinh. 1.2.2 Phân loại theo kỹ thuật chuyển mạch * Mạng chuyển mạch kênh (Cicuit – switched Network) Trong mạng này, khi có 2 thực thể cần trao đổi thông tin với nhau thì giữa chúng sẽ đƣợc thiết lập một kênh (circuit) cố định và đƣợc duy trì cho đến khi một trong hai bên ngắt liên lạc. Các dữ liệu chỉ đƣợc truyền đi trên một đƣờng cố định. Phƣơng pháp chuyển mạch kênh có hai nhƣợc điểm chính: - Tiêu tốn thời gian để thiết lập kênh cố định. - Hiệu suất sử dụng đƣờng truyền không cao khi tại một thời điểm nào đó, kênh bị bỏ không do hai bên đã hết thông tin cần truyền, trong khi các thực thể khác không đƣợc phép sử dụng kênh truyền này. * Mạng chuyển mạch thông báo (Message – swithed Network) Thông báo (Message) là một đơn vị thông tin của ngƣời sử dụng, có khuôn dạng đƣợc quy định trƣớc. Mỗi thông báo đều chứa đƣợc vùng thông tin điều khiển, trong đó chỉ định đích của thông báo. Thông báo sẽ đƣợc các nút trung gian chuyển tiếp đi sau khi lƣu trữ tạm thời để đọc thông tin điều khiển về đƣờng Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 5/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính dẫn tiếp và đích đến của thông báo. Tùy thuộc vào điều kiện của mạng, các thông báo khác nhau sẽ đƣợc gửi đi trên các con đƣờng khác nhau Phƣơng pháp chuyển mạch thông báo có một số ƣu điểm hơn so với phƣơng pháp chuyển mạch kênh: - Hiệu suất sử dụng đƣờng truyền cao do đƣợc phân chia giữa nhiều thực thể. - Mỗi nút mạng có thể lƣu trữ thông báo đến khi đƣờng truyền rỗi mới gửi thông báo đi, do đó giảm đƣợc tình trạng tắc nghẽn mạng. - Có thể điều khiển đƣợc việc truyền tin bằng cách sắp xếp thứ tự ƣu tiên cho thông báo Nhƣợc điểm của phƣơng pháp này là nếu kích thƣớc của thông báo lớn sẽ ảnh hƣởng đến thời gian và chất lƣợng truyền tin do độ trễ lƣu trữ và xử lý thông tin tại mỗi nút. * Mạng chuyển mạch gói (Packet – switched Network) Trong mạng này, dữ liệu đƣợc chia thành nhiều phần nhỏ hơn gọi là các gói tin (packet) có khuôn dạng định trƣớc. Mỗi gói tin cũng chức nhiều thông tin điều khiển cho biết địa chỉ nguồn và địa chỉ đích của các gói tin. Các gói tin có thể đƣợc gửi qua mạng, tới đích bằng nhiều con đƣờng khác nhau. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 6/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính Phƣơng pháp chuyển mạch gói tƣơng tự nhƣ phƣơng pháp chuyển mạch thông báo nhƣng ƣu việc hơn: ở phƣơng pháp chuyển mạch thông báo, các thông báo không bị giới hạn về kích thƣớc còn trong phƣơng pháp chuyển mạch gói, các gói tin đƣợc giới hạn kích thƣớc đối đa sao cho các nút có thể xử lý toàn bộ gói tin trong bộ nhớ mà không phải lữu trữ tạm thời trên đĩa. Vì vậy, thông tin đƣợc chuyển qua mạng nhanh hơn làm tăng hiệu suất truyền tin của mạng. Vấn đề khó khăn nhất của mạng này là việc tập hợp các gói tin để tái tạo lại thông tin ban đầu của ngƣời sử dụng, đặc biệt khi các gói tin đƣợc truyền theo nhiều đƣờng khác nhau. Có thể giải quyết vấn đề bằng cách cài đặt cơ chế đánh dấu gói tin và phục hồi các gói tin bị lỗi hoặc thất lạc trong quá trình truyền. 1.3 Topo mạng máy tính Topo mạng đƣợc hiểu là cách thức đấu nối các máy tính lại với nhau, bao gồm việc bố trí các phần tử mạng theo một cấu trúc hình học nào đó và cách kết nối chúng. Có hai kiểu mạng chủ yếu là điểm - điểm (point to point) và điểm – đa điểm (point to multipoint) hay còn gọi là quảng bá (broadcast). Tuy nhiên đối với mạng cụ bộ thƣờng có 3 cấu hình chính: bus (đƣờng trục), star (hình sao), ring (vòng) Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 7/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính Cấu hình mạng ảnh hƣởng đến khả năng của mạng. Chọn cấu hình có thể tác động đến: - Loại thiết bị mạng cần - Các khả năng của thiết bị - Sự phát triển của mạng - Cách thức quản lý mạng 1.3.1 Mạng Bus Bus là cấu hình thông dụng và đơn giản nhất. Đây là cấu hình theo đƣờng thẳng, với các máy tính đƣợc nối với một trục cáp chính. Mỗi máy trạm đƣợc nối vào Bus thông qua một đầu nối chữ T (T-connection) hoặc một bộ thu phát (transceiver). Khi một trạm truyền dữ liệu, tín hiện đƣợc quản bá trên 2 chiều của bus. Để ngăn không cho tín hiện dội tới lui trong sợi cáp, ngƣời ta gắn một Terminator (điện trở cuối) ở mỗi đầu cáp. Máy tính trên mạng Bus giao tiếp bằng cách gửi dữ liệu đến một máy tính xác định và đƣa dữ liệu đó lên cáp dƣới dạng tín hiệu điện tử. Gửi tín hiệu: Dữ liệu mạng ở hình thái tín hiện điện tử gửi tới mọi máy tính trong mạng, tuy nhiên thông tin chỉ đƣợc máy tính có địa chỉ khớp với địa chỉ mã hóa trong tín hiệu gốc chấp nhận. Mỗi lần chỉ có một máy tính có thể gửi thông điệp. Do đó, hiệu suất thi hành của mạng bị ảnh hƣởng bởi số lƣợng máy tính nối vào đƣờng cáp chính. Số lƣợng máy tính trên bus càng nhiều thì số máy tính chờ đƣa dữ liệu lên bus càng tăng và mạng thi hành càng chậm. Bus là cấu hình mạng thụ động. Máy tính trên bus chỉ lắng nghe những dữ liệu đang truyền đi trên mạng. Chúng không chịu trách nhiệm chuyển dữ liệu từ mày tính này sang máy tính kế tiếp. Nếu một máy tính bị trục trặc, nó sẽ không ảnh hƣởng đến phần còn lại của mạng. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 8/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính Dội tín hiệu: do dữ liệu đƣợc gửi lên toàn mạng nên dữ liệu sẽ đi từ đầu này đến đầu kia của cáp. Nếu tín hiệu không bị chặn lại sau khi đến đƣợc đúng địa chỉ đích, nó sẽ dội tới lui trong dây cáp và ngăn không cho máy tính khắc gửi tín hiệu. Để việc này không xảy ra, một Terminator đƣợc cài đặt ở mỗi đầu cáp hở để hấp thụ các tín hiện tự do, làm thông cáp và cho phép máy tính khác có thể gửi tín hiệu. Trƣờng hợp cáp bị đứt hoặc một đầu cáp bị ngắt kết nối thì một hay nhiều đầu cáp sẽ không đƣợc nối tới terminator, tín hiệu sẽ bị dội và toàn bộ mạng sẽ ngừng hoạt động. Khi đó, những máy tính trên mạng vấn có khẳ năng hoạt động độc lập, nhƣng chúng sẽ không thể giao tiếp với nhau. 1.3.2 Mạng Star (mạng Sao) Trong cấu hình mạng Star, mỗi máy tính đƣợc nối vào một thành phần trung tậm gọi là HUB hoặc SWICTH. Tín hiệu đƣợc truyền từ máy tính gửi, qua thiết bị trung tâm để đến tất cả các máy tính trên mạng. Mạng star cung cấp tài nguyên và chế độ quản lý tập trung nhƣng nếu thiết bị trung tâm hỏng hóc, toàn bộ mạng sẽ ngừng hoạt động. Hub đƣợc dùng để tập trung hóa lƣu lƣợng thông tin trên mạng cục bộ thông qua một điểm kết nối đơn lẻ. Nếu trên mạng dùng Hub có chỗ cáp bị đứt thì chỉ chố đứt bị ảnh hƣởng, phần còn lại của mạng vẫn hoạt động bình thƣờng. Do mỗi máy tính đƣợc nối với thiết bị trung tâm nên cấu hình này cần rất nhiều cáp. Song cũng có thể dễ dàng mở rộng mạng. 1.3.2 Mạng Ring (Mạng vòng) Mạng Ring nối các máy tính trên một vòng tròn cáp, không có đầu nào bị hở. Tín hiệu truyền đi theo một chiều theo chiều kim đồng hồ. Khác với cấu trúc Bus thụ động, mỗi máy tính trong mạng Ring đóng vai trò nhƣ một bộ chuyển Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 9/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính tiếp, khuếch đại tín hiệu và gửi nó tới máy tính tiếp theo. Do tín hiệu đi qua từng máy tính nên một máy tính bị hỏng sẽ ảnh hƣởng tới toàn mạng. 1.4 Các phương pháp truy nhập đường truyền vật lý 1.4.1 CSMA/CD –phương pháp đa truy nhập sử dụng sóng mang có phát hiện xung đột Phƣơng pháp truy cập ngẫu nhiên này đƣợc sử dụng cho topo dạng Bus, là sự cải tiến của phƣơng pháp CSMA hay còn gọi là LBT (Listen Before Talk- nghe trƣớc khi nói). Tƣ tƣởng của nó là: một trạm cần truyền dữ liệu trƣớc hết phải nghe xem đƣờng truyền rỗi hay bận. Nếu rỗi thì truyền dữ liệu đi theo khuôn dạng chuẩn, ngƣợc lại nếu đƣờng truyền đang bận (trạm khác đang truyền dữ liệu) thì trạm phải thực hiện theo 1 trong 3 giải thuật sau đây: (1) Trạm tạm rút lui, chờ một khoảng thời gian ngẫu nhiên nào đó rồi bắt đầu nghe đƣờng truyền. (2) Trạm tiếp tục nghe đến khi đƣờng truyền rỗi thì truyền dữ liệu đi với xác suất bằng 1 (3) Trạm tiếp tục nghe đến khi đƣờng truyền rỗi thì truyền dữ liệu đi với xác suất bằng p Nhƣợc điểm của giải thuật này là các trạm chỉ nghe trƣớc khi nói mà không nghe trong khi nói nên thực tế có xung đột nhƣng các trạm không biết và tiếp tục truyền dữ liệu đi, gây ra việc chiếm dụng đƣờng truyền một cách vô ích. Để có thể phát hiện xung đột, CSMA/CD hay LWT (Listen While Talk – Nghe trong khi nói) bổ xung thêm quy tắc: Khi một trạm đang truyền, nó vấn tiếp tục nghe đƣờng truyền. Nếu phát hiện thấy xung đột thì ngừng ngay việc truyền nhƣng vẫn tiếp tục gửi tín hiệu sóng mang thêm một thời gian nữa để đảm bảo tất cả các trạm trên mạng đều có Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 10/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính thể nghe đƣợc sự kiện xung đột đó. Sau đó, trạm chờ đợi trong một thời gian ngẫu nhiên nào đó rồi thử truyền lại theo quy tắc của CSMA 1.4.2 Token Bus Nguyên lý của phƣơng pháp này là: để cấp phát quyền truy cập đƣờng truyền cho các trạm đang có nhu cầu truyền dữ liệu. Một thẻ bài đƣợc lƣu chuyển trên một vòng logic, thiết lập bởi các trạm đó. Khi một trạm nhận đƣợc thẻ bài thì nó có quyền sử dụng đƣờng truyền trong một thời gian xác định. Trong khoảng thời gian đó, nó có thể truyền một hoặc nhiều đơn vị dữ liệu. Khi đã hết dữ liệu cần truyền hoặc hết thời gian cho phép, trạm phải chuyển thẻ bài tới trạm tiếp theo trong vòng logic. Nhƣ vậy công việc đầu tiên là phải thiết lập vòng logic, bao gồm các trạm đang có nhu cầu truyền dữ liệu đƣợc xác định vị trí theo một chuỗi thứ tự mà trạm cuối cùng của chuỗi sẽ tiếp liền sau trạm đầu tiên. Mỗi trạm đƣợc biết địa chỉ của trạm kề trƣớc và sau nó. Thứ tự của các trạm trên vòng logic có thể độc lập với thứ tự vật lý. Các trạm không hoặc chƣa có nhu cầu truyền dữ liệu không đƣợc đƣa vào vòng logic và chúng chỉ có thể nhận dữ liệu. Việc thiết lập vòng logic trong chƣơng trình là không khó nhƣng duy trì nó theo trạng thái thực tế của mạng mới khó. Cụ thể phải thực hiện đƣợc các chức năng sau: - Bổ xung một trạm vào vòng logic: các trạm nằm ngoài vòng logic cần đƣợc xem xét định kỳ để bổ sung vào vòng logic nếu có nhu cầu truyền dữ liệu. - Loại bỏ một trạm khỏi vòng logic: khi một trạm không còn nhu cầu truyền dữ liệu, cần loại bỏ nó ra khỏi vòng logic để tối ƣu hóa việc điều khiển truy nhập bằng thẻ bài. - Quản lý lỗi: mối số lỗi có thể xảy ra nhƣ trùng địa chỉ (2 trạm đều nghĩ đến lƣợt mình) hoặc đứt vòng (không trạm nào nghĩ đến lƣợt mình) Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 11/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính - Khởi tạo vòng logic: khi cài đặt mạng hoặc sau khi đứt vòng cần phải khởi tạo vòng logic 1.4.3 Token Ring Phƣơng pháp này cũng dựa trên nguyên lý dùng thẻ bài để cấp phát quyền truy nhập đƣờng truyền nhƣng thẻ bài đƣợc lƣu chuyển theo vòng vật lý mà khồng cần thiết lập vòng logic nhƣ phƣơng pháp token bus. Thẻ bài là một đơn vị dữ liệu đặc biệt trong đó có một bit biểu diễn trạng thái sử dụng (bận/rỗi) của nó. Một trạm muốn truyền dữ liệu phải đợi đến khi nhận một thẻ bài rỗi. Khi đó trạm sẽ đổi bit trạng thái của thẻ bài thành bận và truyền một đơn vị dữ liệu cùng với thẻ bài đi theo chiều của vòng. Lúc này, không còn thẻ bài rỗi trên vòng nữa, do đó các trạm có dữ liệu cần truyền phải đợi. Dữ liệu đến trạm đích sẽ đƣợc sao lại, sau đó cùng với thẻ bài đi tiếp cho đến khi quay về trạm nguồn. Trạm nguồn xóa bỏ dữ liệu, đổi bít trạng thái của thẻ bài thành rỗi cho lƣu chuyển tiếp trên vòng để các trạm khác có thể nhận đƣợc quyền truyền dữ liệu. Sự quy về trạm nguồn dữ liệu của thẻ bài nhằm tạo ra cơ chế báo nhận (ACK): trạm đích có thể gửi các thông báo về kết quả tiếp nhận dữ liệu của mình. Trong phƣơng pháp này cần giải quyết 2 vấn đề có thể dẫn đến phá vỡ hệ thống: - Việc mất thẻ bài làm cho trên vòng không còn thẻ bài để chuyển nữa - Thẻ bài bận lƣu chuyển không ngừng trên vòng. 1.5 Kiến trúc và giao thức mạng máy tính Khi mạng máy tính mới ra đời, các nhà thiết kế tự do chọn kiến trúc mạng cho riêng mình. Từ đó dẫn đến tình trạng không tƣơng thích giữa các mạng: phƣơng pháp truy nhập đƣờng truyền khác nhau, sử dụng các giao thức khác nhau Sự không tƣơng thích đó gây trở ngại cho việc kết nối các mạng với Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 12/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính nhau. Khi nhu cầu trao đổi thông tin càng lớn thì trở ngại đó không thể chấp nhận đƣợc đối với ngƣời sử dụng. Điều đó đã khiến các nhà sản xuất và các nhà nghiên cứu thông qua các tổ chức chuẩn hóa quốc tế xây dựng một khung chuẩn về kiến trúc mạng để làm căn cứ cho các nhà thiết kế và chế tạo các sản phẩm về mạng. Do đó năm 1977, tổ chức tiêu chuẩn hóa quốc tế (International Organization for Standarlization – ISO) đã thành lập một tiểu ban nhằm phát triển ra một khung chẩn nhƣ thế. Kết quả năm 1984, ISO đã xây dựng xong một mô hình tham chiếu cho việc kết nối các hệ thống mở (Reference Model for Open Systems Interconnection – OSI Reference model) 1.5.1 Mô hình OSI Mô hình OSI chia mạng thành 7 tầng (layer) Nhóm tầng thấp (physical, data link, network, transport) liên quan đến phƣơng tiện cho phép truyền dữ liệu qua mạng. Các tầng thấp đảm nhiệm việc truyền dữ liệu, thực hiện quá trình đóng gói , dẫn đƣờng, kiểm tra và truyền từng nhóm dữ liệu. Các tầng này không quan tâm đến loại dữ liệu mà nó nhận đƣợc từ tầng trên mà chỉ đơn thuần là gửi chúng đi. Nhóm tầng cao (session, presentation, applicaton) liên quan chủ yếu đến việc đáp ứng các yêu cầu của ngƣời sử dụng để triển khai các ứng dụng của họ Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 13/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính trên mạng thông qua các phƣơng tiện truyền thông cung cấp bởi các nhóm tầng thấp. Hệ thống kết nối mở OSI là hệ thống cho phép truyền thông tin với các hệ thống khác, trong đó có các mạng khác nhau, sử dụng những giao thức khác nhau, có thể thông báo cho nhau thông qua chƣơng trình để chuyển từ một giao thức này sang một giao thức khác. * Chức năng của các tầng trong mô hình OSI - Tầng vật lý: Cung cấp các phƣơng tiện truyền tin, thủ tục khởi động, duy trì và huỷ bỏ các liên kết vật lý. Tầng vật lý chuyển tải các bit thông tin trên các kênh truyền thông, quy định các chuẩn giao diện cơ, điện, thủ tục trên môi trƣờng vật lý. - Tầng liên kết dữ liệu: cung cấp các phƣơng tiện để truyền thông tin qua liên kết vật lý, đảm bảo tin cậy thông tin qua các cơ chế đồng bộ hoá, kiểm soát lỗi và kiểm soát luồng dữ liệu. Tầng liên kết sẽ chuyển đổi các các gói tin ở mức mạng thành từng đoạn gọi là khung tin (frame). Sau đó chuyển liên tiếp các khung tin xuống tầng vật lý, đồng thời xử lý các thông báo từ trạm thu gửi lại. Các trƣờng trong frame gồm có: trƣờng địa chỉ, trƣờng kiểm tra, dữ liệu và trƣờng kiểm tra lỗi. Nhiệm vụ chính của tầng 2 là khởi tạo và tổ chức các frame và xử ký các thông tin liên quan tới frame. - Tầng mạng: có nhiệm vụ gán địa chỉ, chọn đƣờng truyền tin, cung cấp dịch vụ định tuyến (routing) cho các gói dữ liệu trên mạng. Tầng này chỉ ra dữ liệu đi từ nguồn đến đích sẽ đi theo tuyến nào trên cơ sở các điều kiện của mạng, độ ƣu tiên dịch vụ và các nhân tố khác. Tầng mạng còn kiểm soát luồng dữ liệu, khắc phục sai sót, cắp/hợp dữ liệu, giúp loại trừ sự tắc nghẽn cũng nhƣ điều khiển luồng thông tin. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 14/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính - Tầng giao vận: tầng giao vận giúp đảm bảo độ tin cậy và toàn vẹn dữ liệu khi truyền từ nơi gửi đến nơi nhận. Điều này đƣợc thực hiện dựa trên cơ chế kiểm tra lỗi do các tầng bên dƣới cung cấp. Tầng giao vận còn chịu trách nhiệm tạo ra nhiều kết nối cụ bộ trên một kết nối mạng gọi là ghép kênh (multiplexing), phân chia thời gian xử lý ( time sharing), cắt hợp dữ liệu. - Tầng phiên: Thiết lập, duy trì, đồng bộ hoá và huỷ bỏ các phiên làm việc. Liên kết phải đƣợc thiết lập qua đối thoại và trao đổi các thông số điều khiển. Dùng tầng giao vận đển cung cấp các dịch vụ nâng cao cho phiên làm việc nhƣ: kiểm soát các cuộc hội thoại, quản lý thẻ bài (token) - Tầng trình diễn: đảm bảo cho các hệ thống cuối có thể truyên thông có kết quả, ngay cả khi chúng sử dụng các biểu diễn dữ liệu khác nhau - Tầng ứng dụng: là tầng cao nhất trong mô hình OSI, là ranh giới giứ môi trƣờng kết nối các hệ thống mở và các tiến trình ứng dụng 1.5.2 Các giao thức chuẩn của OSI Mỗi thực thể truyền thông với các thực thể ở tầng trên và dƣới nó qua một giao diện (Interface). Giao diện này gồm một hoặc nhiều điểm truy cập dịch vụ. Thực thể tầng N-1 cung cấp dịch vụ cho thực thể tầng N thông qua việc gọi các hàm dịch vụ nguyên thủy. Bốn hàm nguyên thủy đƣợc sử dụng để định nghĩa tƣơng tác giữa các tầng kề nhau nhƣ sau: + Request: Yêu cầu + Indication: Chỉ báo + Response: Trả lời + Confrim: Xác nhận Request đƣợc gửi bởi ngƣời sử dụng dịch vụ ở tầng N+1 trong hệ thống A để gọi thủ tục của giao thức ở tầng N. Yêu cầu này đƣợc cấu tạo dƣới dạng một hoặc nhiều đơn vị dữ liệu (PDU) để gửi tới B. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 15/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính Khi nhận đƣợc PDU, một thủ tục của giao thức ở tầng N của B sẽ thông báo yêu cầu đó lên tầng N+1 bằng hàm nguyên thủy Indication. Sau đó Response đƣợc gửi từ tầng N+1 của B xuống tầng N gọi thủ tục giao thức tần N để trả lời tới A Khi nhận đƣợc trả lời này một thủ tục giao thức tầng N sẽ gửi hàm confirm lên tầng N+1 để hoàn tất chu trình yêu cầu thiết lập liên kết của ngƣời sử dụng ở tầng N+1 của A. 1.5.3 Mô hình TCP/IP a) Giới thiệu mô hình TCP/IP Mô hình TCP/IP bao gồm 4 tầng: 1. Application Layer Tầng Ứng Dụng 2. Transport Layer Tầng Vận Chuyển 3. Internet Layer Tầng Internet 4. Network Access Layer Tầng Truy Cập Mạng b) Một số giao thức quan trọng trong mô hình TCP/IP * Giao thức IP (Internet Protocol) IP là một giao thức hoạt động ở tầng mạng, cung cấp dịch vụ dữ liệu không liên kết cho nhiều giao thức liên kết dữ liệu khác. - Chức năng của giao thức IP + Định nghĩa gói tin, đơn vị dữ liệu cơ bản của việc truyền tin trên mạng. + Đánh địa chỉ cho các gói tin và quản lý các quá trình trao đổi, xử lý các gói tin này. + Chọn đƣờng cho các gói tin + Phân đoạn và tổng hợp các gói tin. - Tính chất của giao thức IP: + Hoạt động theo phƣơng thức không kết nối: IP không chuyển các thông tin điều khiển trƣớc khi truyền dữ liệu. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 16/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính + Không tin cậy: IP không có khả năng phát hiện và khắc phục lỗi, không quan tâm đến vấn đề dữ liệu có đƣợc nhận một cách chính xác hay không. - Khuôn dạng gói tin IP + VER: chứa phiên bản của giao thức IP + IHL (Internet Header length): chiều dài Header của IP + Type of Service: thông tin về quyền ƣu tiên của việc truyền gói tin + Total Length: chiều dài toàn bộ gói tin bao gồm phần Header và phần dữ liệu. Chiều dài tối đa là 65535 byte. + Indentification : chứa định danh do máy gửi gói tin tạo ra. Cùng với các tham số khác nhƣ Source Address và Destination Address, tham số này dùng để định danh duy nhất một gói tin trong khoảng thời gian nó tồn tại trên liên mạng. Số này đƣợc dùng khi cần sắp xếp các gói tin + Flags (cờ): liên quan đến sự phân đoạn các gói tin. + Fragment Offset: dùng để sắp xếp lại các bản tin ban đầu. + TTL (Time to Live – thời gian sống): thời gian tính bằng giây mà một gói tin có thể tồn tại trên mạng trƣớc khi nó bị hủy bỏ. + Transport: số định danh của giao thức tầng vận chuyển đã xử lý gói tin. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 17/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính + Header checksum: Dùng để tính Checksum của trƣờng Header để làm cho quá trình xử lý thông tin đƣợc nhanh hơn. + Source Address: địa chỉ IP của máy gửi + Desteination Address: địa chỉ Ip máy nhận + Option: phần lựa chọn thêm * Giao thức TCP (Transmission Control Protocol) TCP là giao thức hoạt động ở tầng vận chuyển, nhằm đẳm bảo độ tin cậy giữa nơi truyền và nơi nhận. Dòng dữ liệu có chiều dài tùy ý đƣợc giao thức TCP phân thành những đoạn không vƣợt quá 64B, gửi đến đầu bên kia lại đƣợc gộp lại thành bản tin ban đầu. - Chức năng của giao thức TCP + Phát hiện lỗi trong quá trình truyền + Truyền lại các gói tin bị mất hoặc thất lạc. + Đánh số thứ tự các gói tin để bên nhận sắp xếp lại các gói tin theo thứ tự đã định. + Báo nhận và kiểm soát luồng + Phát gói tin đến đúng ứng dụng yêu cầu - Tính chất của giao thức TCP + Tin cậy + Hƣớng kết nối + Dòng dữ liệu: TCP xử lý dữ liệu dƣới dạng một dòng nối tiếp các byte, theo cơ chế đánh số thƣ tự gói tin - Khuôn dạng gói tin TCP Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 18/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính + Source Port : số hiệu cổng nguồn + Destination Port: số hiệu cổng đích + Sequence Number: Số thứ tự của segment + Acknowledgment Number: số hiệu của segment sắp đƣợc truyền tiếp theo mà đích đang chờ để nhận. Dùng để báo nhận + Data offset: vị trí bắt đầu của trƣờng dữ liệu + Reseved: chƣa đƣợc dùng đến (các bít đƣợc đặt giá trị 0) + Control Bits: các bít điều khiển + Windows: cấp phát thẻ dùng để kiểm soát luồng dữ liệu theo cơ chế cửa số. Đây là số lƣợng byte dữ liệu mà phía thu có thể chấp nhận đƣợc. + Checksum: chứa mã kiểm soát lỗi theo phƣơng pháp CRC cho toàn bộ segment + Urgent Pointer: cho phép bên nhận biết đƣợc độ dài của dữ liệu khẩn Ngày nay nhu cầu trao đổi và phân chia các tài nguyên dùng chung đỏi hỏi hoạt động truyền thông không chỉ ở phạm vi cụ bộ mà ở cả khuôn khổ quốc gia và quốc tế. Từ đó dẫn đến sự kết nối các mạng viễn thông đƣợc đặt ở các vị trí địa lý khác nhau và chị sự quản lý của các tổ chức hoặc quốc gia khác nhau. Mỗi mạng sử dụng giao thức, đƣờng truyền, giao diện kết nối, chiến lƣợc quản lý khác nhau Vì vậy việc truyền Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 19/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính thông tin từ mạng này tới mạng khác qua rất nhiều mạng trung gian có thể xảy ra những vấn đề sau: + Các gói tin đi lòng vòng qua các nút rồi mới tới đích. + Các gói tin có thể bị thất lạc trong quá trình truyền + Tắc nghẽn mạng Do đó vấn đề đặt ra là phải có cơ chế dẫn đƣờng để các gói tin có thể truyền đi một cách hiệu quả nhất. Cơ chế này gọi là cơ chế định tuyến sẽ đƣợc trình bày trong chƣơng sau. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 20/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính CHƢƠNG II. CÁC GIAO THỨC ĐỊNH TUYẾN TRÊN MẠNG 2.1 Các khái niệm 2.1.1 Định tuyến, bảng định tuyến * Định tuyến (routing): là phƣơng pháp xác định đƣờng đi cho việc vận chuyển các gói tin từ nguồn đến đích hiệu quả nhất trong mạng Intranet và Internet. Chức năng này do các thiết bị ở lớp 3 (network) của mô hình OSI đảm nhiệm, thƣờng là bộ định tuyến Router. Để thực hiện đƣợc nhiệm vụ này mỗi Router trong mạng phải xây dựng cho mình một bảng chứa các thông tin cần thiết để từ đó tìm đƣợc con đƣờng tối ƣu nhất đến đích, bảng này gọi là bảng định tuyến (routing table). Khi Router nhận đƣợc một packet, nó sẽ gỡ bỏ phần header của lớp 2 để tìm địa chỉ đích lớp 3. Sau khi có đƣợc địa chỉ đích của lớp 3, nó tìm kiếm tuyến đƣờng trong bảng định tuyến: - Nếu có tuyến đƣờng tới đích, Router sẽ chuyển packet ra cổng tƣơng ứng. Tiếp đó packet đƣợc đóng gói xuống lớp 2 tƣơng ứng với loại đƣờng truyền rồi đƣa xuống môi trƣờng truyền dẫn dƣới dạng bit Quá trình này đƣợc tiếp tục cho tới khi packet đƣợc đƣa tới đích thì thôi. - Trong trƣờng hợp không tìm thấy đƣờng đến mạng đích, Router sẽ huỷ packet đó và gửi một gói ICMP network unreachable về nơi đã gửi packet. * Bảng định tuyến (routing table): là một bảng chứa thông tin về các tuyến đƣờng đến các mạng. Bảng định tuyến đƣợc lữu trữ trong Ram của Router và đƣợc xây dựng thủ công bởi ngƣời quản trị (định tuyễn tĩnh) hoặc bằng các giao thức định tuyến (định tuyến động). Bảng định tuyến của mỗi giao thức khác nhau là khác nhau, nhƣng có thể bao gồm những thông tin sau: Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 21/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính + Địa chỉ đích của mạng, mạng con của hệ thống + Địa chỉ IP củauRouter chặng kế tiếp phải đến + Cổng đi đến Router kế tiếp + Mặt nạ mạng của địa chỉ đích + Khoảng cách đến đích + Thời gian từ khi Router cập nhật lần cuối * Metric Metric là một số đo mà giao thức định tuyến sử dụng để từ đó chọn ra con đƣờng tối ƣu nhất. Một giao thức định tuyến có thể sử dụng nhiều metric khác nhau. Các metric đƣợc kết hợp với nhau để thành một metric tổng quát, đặc trƣng cho liên kết. Các metric thƣờng đƣợc sử dụng là: + Path Length (chiều dài tuyến đƣờng): là metric cơ bản, thƣờng dùng nhất. Path length trong Router đƣợc xác định bằng số Hop giữa nguồn và đích. Mỗi Hop đƣợc hiểu là một liên kết giữa 2 router. + Reliability (độ tin cậy): là khái niệm chỉ độ tin cậy của một liên kết. Ví dụ độ tin cậy thể hiện qua tần số bit lỗi Khái niệm này nhằm chỉ khẳ năng hoạt động ổn định của liên kết. + Delay (độ trễ): khái niệm này dùng để chỉ thời gian cần để chuyển một packet từ nguồn tới đích. Delay phục thuộc vào nhiều yếu tố: khoảng cách vật lý, băng thông của liên kết, đụng độ, tranh chấp đƣờng truyền. Chính ví thế yếu tố này là một metric quan trọng trong thuật toán routing. + Bandwith (băng thông): là một metric quan trọng để đánh giá đƣờng truyền. Băng thông chỉ lƣu lƣợng dữ liệu tối đa có thể truyền trên liên kết. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 22/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính 2.1.2 Giao thức định tuyến, giao thức được định tuyến a) Giao thức định tuyến (Routing Protocol): là giao thức mà Router sử dụng để trao đổi thông tin định tuyến với các Router khác. Giao thức định tuyến đƣợc cài đặt tại các Router, chúng đƣợc sử dụng để xây dựng nên bảng định tuyến để đảm bảo rằng tất cả đều có bảng Routing table tƣơng thích nhau cũng nhƣ đƣờng đi đến các mạng phải đƣợc xác định trong Routing table Các giao thức định tuyến đƣợc chi làm 2 loại: + Giao thức định tuyến nội vùng: Rip, OSPF, IGRP, EIGRP + Giao thức định tuyến ngoại vùng: BGP Các chức năng của giao thức định tuyến: - Học thông tin định tuyến về các mạng từ Router kế cận. - Quảng bá thông tin định tuyến về các mạng đến các Router kế cận. - Nếu có nhiều hơn một tuyến đƣờng đến một mạng, chọn tuyến đƣờng tốt nhất dựa vào metric. - Khi sơ đồ mạng có sự thay đổi nhƣ một tuyến đƣờng bị hỏng hoặc bổ xung thêm mạng mới, các router phân tích để xác định điều gì đã xảy ra, quảng bá thông tin về những thay đổi cho tất cả các router khác, và tất cả các router sau đó chọn con đƣờng tốt nhất hiện tại cho mỗi mạng. Chức năng này gọi là hội tụ định tuyến. Khả năng hội tụ nhanh mà không gây ra vòng lặp là một trong những nhân tốt quan trọng khi lựa chọn giao thức định tuyến. b) Giao thức đƣợc định tuyến (Router Protocol): là giao thức đƣợc sử dụng để định hƣớng cho gói dữ liệu của ngƣời dùng. Một giao thức đƣợc định tuyến sẽ cung cấp đầy đủ thông tin về địa chỉ lớp mạng để gói dữ liệu có thể truyền từ host này tới host khác dựa trên cấu trúc địa chỉ đó. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 23/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính Các giao thức đƣợc định tuyến gồm có: + Internet Protocol (IP) + Internetwork Packet Exchange (IXP) 2.1.3 Khoảng cách quản lý (Administrative Distance (AD)) AD là thông số đƣợc sử dụng để đánh giá độ tin cậy của thông tin định tuyến mà Router nhận đƣợc từ Router hàng xóm. AD là một số nguyên có giá trị từ 0 đến 255. Giá trị 0 tƣơng ứng với độ tin cậy cao nhất và giá trị 255 có nghĩa và tuyến đƣờng này không đƣợc sử dụng để vận chuyển thông tin. Khi một Router nhận đƣợc một thông tin định tuyến, thông tin này đƣợc đánh giá và một tuyến hợp lệ đƣợc đƣa vào bảng định tuyến của Router. Thông tin định tuyến đƣợc đánh giá dựa vào AD, giả sử Router cài đặt nhiều hơn 1 giao thức định tuyến thì tuyến đƣờng nào có AD nhỏ hơn sẽ đƣợc Router sử dụng Mỗi giao thức định tuyến có một giá trị AD tƣơng ứng: + Kết nối trực tiếp: 0 + Tuyến đƣờng tĩnh: 1 + Rip: 120 + OSPF: 110 + IGRP: 100 2.2 Phân loại giao thức định tuyến theo thuật toán định tuyến Có 2 loại giao thức định tuyến: giao thức định tuyến véc tơ khoảng các (Distance Vector) và giao thức định tuyến trạng thái đƣờng liên kết (Link State). Việc tìm ra tuyến đƣờng tốt nhất đƣa vào bảng định tuyến của các giao thức định tuyến đƣợc thực hiện dựa trên các thuật toán tìm đƣờng đi ngắn nhất giữa 2 đỉnh trên một đồ thị. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 24/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính 2.2.1 Thuật toán tìm đường đi ngắn nhất a) Bài toán: Cho đồ thị G : V là tập các đỉnh thuộc đồ thị; E là tập các cạnh của đồ thị. Kí hiệu c(u,v) là độ dài của cạnh nối giữa 2 đỉnh u và v. Cho s, t là 2 đỉnh của đồ thị. Tìm đƣờng đi ngắn nhất từ đỉnh s đến đỉnh t b) Ý tưởng chung của các thuật toán tìm đường đi ngắn nhất. - Dò tìm bằng cách thử đi qua các đỉnh trung gian - Nếu phát hiện đƣờng đi qua đỉnh trung gian ngắn hơn đƣờng đi hiện tại thì sẽ cập nhật đƣờng đi mới, đồng thời chỉnh sửa lại các thông số liên quan. - Thƣờng sử dụng 2 mảng để lƣu trữ tạm thời D(v): độ dài đƣờng đi ngắn nhất từ s tới v T(v): lƣu trữ đỉnh nằm trƣớc v trên đƣờng ngắn nhất từ s đến v c) Thuật toán Bellman-Ford * Khởi tạo For (all v thuộc V) do Begin D[v]:=c(s,v); T[v]:=s; End; * Bắt đầu For k:=1 to n-2 do For all v V (khác s) do For all u là lân cận của v do If D[v] > D[u] + c[u,v] then Begin D[v]:= D[u] + c[u,v]; T[v]:=u; End; * Ví dụ minh họa: Cho sơ đồ mạng nhƣ sau. Mỗi nút là 1 Router. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 25/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính Dùng thuật toán Bellman-Ford tìm đƣờng đi từ nút u đến các nút còn lại: Lặp D[v], T[v] D[w], T[w] D[x], T[x] D[y], T[y] D[z], T[z] Khởi tạo 2,u 5,u 1,u ∞, u ∞,u k=1 2,u 4,x 1,u 2,x 4,y k=2 2,u 3,y 1,u 2,x 4,y k=3 2,u 3,y 1,u 2,x 4,y k=4 2,u 3,y 1,u 2,x 4,y Ta có bảng định tuyến của Router tại nút u sẽ nhƣ sau: Network Nethop Cost v v 2 w x 3 x x 1 y x 2 z x 4 d) Thuật toán Dijkstra * Khởi tạo For (all v thuộc V) do Begin D[v]:=c(s,v); T[v]:=s; End; T=V-{s}; “Tập đánh dấu các đỉnh đã chọn” * Vòng lặp While T D[u] + c[u,v] then Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 26/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính Begin D[v]:= D[u] + c[u,v]; T[v]:=u; End; End; * Ví dụ minh họa: Với sơ đồ mạng nhƣ trên. Thuật toán Dijkstra tìm đƣờng đi từ nút u tới các nút còn lại. Lặp T D[v], T[v] D[w], T[w] D[x], T[x] D[y], T[y] D[z], T[z] K.tạo vwxyz 2,u 5,u 1,u ∞, u ∞,u 1 vwyz 2,u 4,x 2,x ∞,u 2 wyz 4,x 2,x ∞,u 3 wz 3,y 4,y 4 w 4,y 5 Ta có bảng định tuyến cho Router tại nút u: Network Nethop Cost v v 2 w x 3 x x 1 y x 2 z x 4 2.2.2 Giao thức định tuyến Véc tơ khoảng cách (Distance Vector) a) Giới thiệu cơ bản về định tuyến Vector khoảng cách Thuật ngữ Distance Vector gồm 2 phần: Distance và Vector. Trong đó: Distance là khoảng cách (metric) để đến đích; Vector là hƣớng để đi đến đích, nó đƣợc xác định bởi next-hop của tuyến đƣờng. Với thuật toán Distance Vector, mỗi Router chỉ cần biết 2 yếu tố khi chọn đƣờng: chọn theo hƣớng nào, khoảng cách tới đích là bao nhiêu. Ví dụ: Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 27/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính Trong ví dụ trên tất cả những gì Router R1 biết về mạng X là 3 vectơ: hƣớng của vectơ chỉ next hop, chiều dài vector chỉ metric. Thuật toán định tuyến Distance Vector nhằm chọn ra tuyến đƣờng tốt nhất đến đích dựa trên thuật toán tìm đƣờng đi ngắn nhất từ một đỉnh tới tất cả các đỉnh trên đồ thị Bellman – Ford. b) Hoạt động của giao thức định tuyến Véc tơ khoảng cách. Các giao thức sử dụng Distance Vector gửi các cập nhật định tuyến theo chu kỳ hoặc khi cấu trúc mạng có sự thay đổi. Đối với định tuyến theo vectơ Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 28/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính khoảng cách thì mỗi Router sẽ gửi toàn bộ bảng định tuyến của mình cho các Router kết nối trực tiếp với nó. Bảng định tuyến bao gồm các thông tin về đƣờng đi tới mạng đích nhƣ: khoảng cách tới mạng đích (metric), địa chỉ của trạm kế tiếp trên đƣờng đi (nexthop). Khi tất cả các Router cập nhật đầy đủ thông tin về các tuyến đƣờng tới các mạng đích thì ta nói mạng đã hội tụ. c) Các giá trị thời gian được sử dụng trong Distance vector - Update time: khoảng thời gian gửi định kỳ thông tin định tuyến của Router tới tất cả các router hàng xóm. - Invalid time: khoảng thời gian trôi qua để xác định một tuyến đƣờng là không hợp lệ. Nó đƣợc bắt đầu nếu thế thời gian Holddown mà không nhận đƣợc update, sau khoảng thời gian route invalid time nó sẽ gửi một bản tin update tới tất cả các Router hàng xóm là tuyến đƣờng đó không hợp lệ. - Holddown time: giá trị này đƣợc sử dụng khi thông tin về tuyến đƣờng bị thay đổi. Ngay khi thông tin mới nhận đƣợc, Router đặt tuyến đƣờng đó vào trạng thái holddown. Điều này có nghĩa là Router không gửi quảng bá hay nhận quảng bá về tuyến đƣờng đó trong thời gian holldown. Sau khoảng thời gian này Router mới nhận và gửi thông tin về tuyến đƣờng đó. Tác dụng của giá trị này là giảm thông tin sai mà Router học đƣợc. - Flush time: là khoảng thời gian đƣợc tính từ khi tuyến đƣờng ở trạng thái không hợp lệ đến khi tuyến đƣờng bị xóa khỏi bảng định tuyến. Giá trị Invalid time phải nhỏ hơn giá trị Flush time vì Router cần thông báo đến Router hàng xóm của nó về trạng thái Invalid của tuyến đƣờng. d) Lỗi vòng lặp định tuyến Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 29/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính Lỗi vòng lặp định tuyến có thể xảy ra khi bảng định tuyến trên các Router chƣa đƣợc cập nhật do quá trình hội tụ chậm. + Trƣớc khi mạng 1 bị lỗi, tất cả các Router trong hệ thống mạng đều có thông tin đúng về cấu trúc mạng và bảng định tuyến là chính xác. Khi đó chung ta nói các Router đã hội tụ. Giả sử Router C chọn đƣờng đến mạng 1 bằng con đƣờng qua Router B và khoảng cách của con đƣờng này từ Router C đến mạng 1 là 3 (hops) + Ngay khi mạng 1 bị lỗi, Router E liền gửi thông tin cập nhật cho Router A. Router A ngay lập tức ngƣng việc định tuyến đến mạng 1. Nhƣng Router B, C, D vẫn tiếp tục việc này vì chúng vẫn chƣa biết gì về mạng 1 bị lỗi. Sau đó Router A cập nhật thông tin về mạng 1 cho Router B và D. Router B, D lập tức ngƣng định tuyến các gói tin tới mạng 1. + Đến thời điểm cập nhật định kỳ của Router C, trong thông tin cập nhật của Router C gửi cho Router D vẫn có thông tin về đƣờng đến mạng 1 qua Router B. Lúc này Router D cập nhật lại bảng định tuyến, khi đó trong D có đƣờng đến mạng 1. Rồi đến lƣợt mình Router D gửi cập nhật cho Router A. A Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 30/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính cập nhật đƣờng tới mạng 1 qua Router D rồi lại gửi cho B và E. Quá trình này tiếp tục xảy ra ở B và E. Khi đó các gói tin từ C tới mạng 1 đều bị gửi lòng vòng từ C -> B -> A -> D-> C. e) Các phương pháp tránh vòng lặp định tuyến trong Distance Vector * Phƣơng pháp định nghĩa giá trị tối đa. Các giao thức Distance vector sử dụng một thông số gọi là số hop trong thông tin cập nhật. Khi Router gửi bảng định tuyến đi thì số hop sẽ đƣợc tăng lên 1. Nếu vòng lặp vô hạn xảy ra thì số hop cũng sẽ tăng vô hạn. Do vậy để trách vòng lặp vô hạn, giao thức định tuyến Distance Vectơ định nghĩa giá trị tối đa cho số hop. Vì vậy vòng lặp sẽ dừng khi số hop vƣợt qua qua giá trị tối đa và khi đó thông tin cập nhật sẽ bị Router huỷ bỏ. Trong bất kỳ trƣờng hợp nào, khi số hop vƣợt qua trí trị tối đa thì xem nhƣ mạng đó là không đến đƣợc. * Phƣơng pháp miền phân tách (split horizone) Một nguyên nhân khác gây ra vòng lặp là Router gửi lại những thông tin định tuyến mà nó vừa nhận đƣợc cho chính Router đã gửi những thông tin đó. Trong ví dụ vừa nêu ở phần trên vì Router A cập nhật thông tin định tuyến từ Router D là có đƣờng đến mạng 1 nên xảy ra vòng lặp. Phƣơng pháp miền phân tách trách vòng lặp bằng cách: Router sẽ không gửi lại thông tin về mạng cho Router hàng xóm mà chính Router hàng xóm đó đã giử những thông tin về mạng sang. * Phƣơng pháp Route Poisoning Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 31/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính Với phƣơng pháp này khi một con đƣờng nào đó bị ngắt, Router sẽ thông báo về con đƣờng bị ngắt với thông số lớp hơn giá trị tối đa tới tất cả các router lân cận. Kết quả là mạng đó sẽ bị xoá khỏi bảng định tuyến. * Phƣơng pháp tránh vòng lặp bằng cơ chế cập nhật tức thời Hoạt động cập nhật bảng định tuyễn giữa các Router lân cận đƣợc thực hiện theo chu kỳ. Ví dụ cứ sau 30 giây Rip thực hiện cập nhật một lần. Ngoài ra còn cơ chế cập nhật tức thời để thông báo về một thay đổi nào đó trong bảng định tuyến. Khi Router phát hiện ra một thay đổi nào đó trong cấu trúc thì lập tức nó gửi thông điệp cập nhật cho các Router lân cận để thông báo về sự thay đổi đó. Nhất là khi có một đƣờng nào đó bị lỗi không truy cập đƣợc nữa thì Router phải cập nhật tức thời thay vì hết chu kỳ. Cơ chế cập nhật tức thời kết hợp với route poisoning sẽ đảm bảo cho tất cả các Router nhận đƣợc thông tin khi có một con đƣờng nào đó bị ngắt trƣớc khi thời gian Holddown kết thúc. * Phƣơng pháp sử dụng thời gian Holddown Khi Router nhận đƣợc từ Router hàng xóm một thông tin cho biết là một mạng X nào đó bây giờ không truy cập đƣợc nừa thì Router sẽ đánh dấu vào con đƣờng tới mạng X đó là không truy cập đƣợc nữa và khởi động thời gian Holddown. Trong khoảng thời gian Holddown này, nếu Router nhận đƣợc thông tin cập nhật từ chính Router đã giử thông báo mạng X bị lỗi là mạng X đã truy cập đƣợc trở lại thì Router mới cập nhật thông tin đó và kết thúc thời gian Holldown. Trong suốt thời gian Holddown nếu Router nhận đƣợc thông tin cập nhật từ một Router hàng xóm khác (không phải là Router đã phát mạng X bị lỗi) là có đƣờng đến mạng X với thông số định tuyến tốt hơn con đƣờng mà Router trƣớc đó thì nó sẽ bỏ qua, không cập nhật thông tin này. Cơ chế này giúp cho Router tránh việc cập nhật nhầm những thông tin cũ do các Router kế cận chƣa hay biết Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 32/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính gì về mạng X đã bị đánh dấu không sử dụng đƣợc. Khoảng thời gian Holddown đảm bảo cho tất cả các Router trong hệ thống mạng đã cập nhật xong về thông tin mới. Sau thời gian Holddown hết thời hạn, tất cả các Router trong hệ thống đều đã đƣợc cập nhật là mạng X không truy cập đƣợc nữa. f) Ưu điểm của kỹ thuật định tuyến Vector khoảng cách Nói chung, giao thức định tuyến Vector khoảng cách là các giao thức định tuyến rất đơn giản. Các giao thức định tuyến này có thể đƣợc cấu hình rất dễ dàng, dễ duy trì và dễ sử dụng. Do vậy chúng chứng minh đƣợc tính hữu dụng của mình trong các mạng nhỏ, những mạng mà có thể có một vài đƣờng dẫn. f) Hạn chế của giao thức định tuyến Vector khoảng cách. Trong một số trƣờng hợp cụ thể, định tuyến Vector khoảng cách có thể thực sự gây ra một số vấn đề ảnh hƣởng tới việc định tuyến của các giao thức định tuyến sử dụng kỹ thuật này. Đó có thể là một sự cố đƣờng truyền hay một sự thay đổi khác trong mạng, làm cho các bộ định tuyến cần một khoảng thời gian để hội tụ, tức là chúng nhận ra đƣợc sự thay đổi trạng thái của mạng và học đƣợc cấu trúc mới của mạng. Trong quá trình mạng hội tụ, mạng có thể gặp sự cố do gặp phải những sự định tuyến mâu thuẫn (các lần định tuyến trƣớc và sau không thống nhất) và có thể gặp những lỗi lặp vô hạn (Infinite Loops). Sự hoạt động và sự duy trì của mạng có thể gặp rủi ro trong suốt quá trình hội tụ. Do vậy những giao thức định tuyến Vector khoảng cách kiểu cũ tỏ ra chậm chạp trong quá trình hội tụ của mạng và có thể không thích hợp với những mạng lớn, những liên mạng phức tạp nhƣ các mạng WAN (Wide Area Network). Trong các mạng nhỏ hơn, các giao thức định tuyến kỹ thuật Vector khoảng cách có thể là dạng giao thức định tuyến ít gây ra vấn đề cho hệ thống mạng nhất, và là dạng giao thức định tuyến tốt nhất. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 33/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính 2.2.3 Giao thức định tuyến trạng thái đường liên kết (Link State) a) Giới thiệu cơ bản về định tuyến trạng thái đường kết nối Giao thức định tuyến theo trạng thái đƣờng liên kết thu thập thông tin về đƣờng đi từ tất cả các Router khác trong cùng hệ thống mạng hay trong cùng một vùng đã đƣợc xác định. Khi tất cả các thông tin đã đƣợc thu thập đầy đủ thì sau đó mỗi Router sẽ tự tính toán để chọn đƣờng đi tốt nhất cho nó đến các mạng đích trong hệ thống. Mỗi Router trong mạng sẽ có chung một cơ sở dữ liệu về trạng thái của mạng (topo mạng). Các giao thức định tuyến theo trạng thái đƣờng liên kết: - Đáp ứng nhanh theo sự thay đổi của hệ thống: các thông tin cập nhật đƣợc gửi ngay khi có sự thay đổi về mạng chứ không cập nhật định kỳ nhƣ các giao thức Distance vector. - Sử dụng các gói tin Hello để xác định và duy trì kết nối đến các router hàng xóm. Gói tin hello mang thông tin về các mạng kết nối trực tiếp vào Router. - Sử dụng các gói tin LSA mang thông tin cập nhật về trạng thái đƣờng liên kết của các Router khác trong mạng. b) Hoạt động của giao thức định tuyến trạng thái đường liên kết. - Sử dụng thông tin từ gói tin Hello và LSA nhận đƣợc từ Router hàng xóm để xây dựng cơ sở dữ liệu về cấu trúc hệ thống mạng. - Sử dụng thuật toán SPF (Dijkstra) để tìm ra đƣờng ngắn nhất đến từng mạng - Lƣu kết quả chọn đƣờng trong bảng định tuyến. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 34/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính Khác với giao thức định tuyến véc tơ khoảng cách trao chỉ đổi thông tin định tuyến với Router kết nối trực tiếp với mình, giao thức định tuyến trạng thái đƣờng kết nối thực hiện trao đổi thông tin định tuyến với tất cả các Router khác trên một vùng rộng lớn. Khi có một sự cố xảy ra trong mạng, giao thức định tuyến theo trạng thái đƣờng liên kết ngay lập tức phát đi các gói tin LSA ra toàn vùng bằng một địa chỉ Multicast đặc biệt 224.0.0.5. Tiến trình này thực hiện gửi thông tin ra tất cả các cổng, trừ cổng nhận đƣợc thông tin. Mỗi Router nhận đƣợc LSA, cập nhật thông tin mới này vào CSDL về cấu trúc hệ thống mạng. Sau đó nó chuyển tiếp LSA tới tất cả các router hàng xóm khác. Nhờ vậy mà các Router cập nhật đƣợc thông tin thay đổi này. Một kết nối tƣơng ứng với một cổng trên Router. Thông tin về trạng thái của liên kết bao gồm : thông tin về một cổng của Router và mối quan hệ với các Router hàng xóm trên cổng đó. Ví dụ nhƣ: thông tin về một cổng trên Router bao gồm : địa chỉ IP, subnet mask, loại mạng kết nối vào cổng đó. Tập hợp tất cả các thông tin này đƣợc lƣu lại thành một cơ sở dữ liệu về trạng thái các đƣờng liên kết hay còn gọi là cơ sở dữ liệu về cấu trúc hệ thống mạng (Link State database – LSDB). Cơ sở dữ liệu này đƣợc sử dụng để tính toán đƣờng tối ƣu nhất. Router áp dụng thuật toán chọn đƣờng ngắn nhất Dijkstra vào LSBD, từ đó xây dựng nên cây SPF (Short path first) với bản thân Router đó là nút gốc. Từ cây SPF này, Router sẽ chọn đƣợc đƣờng ngắn nhất đến từng mạng đích. Kết quả chọn đƣờng đƣợc đặt vào bảng định tuyến của Router. c) Ưu điểm của định tuyến theo trạng thái đường liên kết. - Sử dụng chi phí làm thông số định tuyến để chọn đƣờng đi trong mạng. Thông số chi phí này có thể phản ánh đƣợc dung lƣợng của đƣờng truyền. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 35/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính - Thực hiện cập nhật khi có sự kiện xảy ra, phát LSA ra cho mọi Router trong hệ thống mạng. Điều này giúp cho thời gian hội tụ mạng nhanh hơn. - Mỗi router có một sơ đồ đầy đủ và đồng bộ về toàn bộ cấu trúc hệ thống mạng. Do đó chúng rất khó bị vòng lặp. - Router sử dụng thông tin mới nhất để quyết định chọn đƣờng đi. - Các giao thức định tuyến trạng thái đƣờng liên kết có hỗ trợ chia mạng con và phân vùng. d) Nhược điểm của giao thức định tuyến trạng thái đường liên kết. - Chúng đòi hỏi Router phải có nhiều dung lƣợng bộ nhớ và năng lực xử lý cao hơn so với giao thức định tuyến theo véc tơ khoảng cách - Đòi hỏi hệ thống mạng thiết kế theo mô hình phân cấp, hệ thống mạng đƣợc chia ra nhiều vùng nhỏ để làm giảm bớt độ lớn và độ phức tạp của cơ sở dữ liệu về cấu trúc hệ thống mạng. - Trong suốt quá trình khởi động, các Router thu thập thông tin về cấu trúc hệ thống mạng để xây dựng LSDB, chúng phát các gói LSA trên toàn mạng. Tiến trình này có thể chiếm dụng nhiều dung lƣợng đƣờng truyền. 2.2.3 So sánh định tuyến theo véc tơ khoảng cách và định tuyến theo trạng thái đường liên kết. * Giao thức định tuyến Vectơ khoảng cách: - Các Router định tuyến theo Véc tơ khoảng cách thực hiện gửi toàn bộ bảng định tuyến của mình và chỉ gửi cho Router kết nối trực tiếp . Nhƣ chúng ta đã biết, thông tin trên bảng định tuyến rất ngắn gọn, chỉ cho biết tƣơng ứng với một mạng đích là cổng nào của Router, Router kế tiếp có địa chỉ Ip là gì, metric của con đƣờng này là bao nhiêu. Do đó, các Router định tuyến theo véc tơ Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 36/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính khoảng cách không biết đƣợc đƣờng đi một cách cụ thể, không biết về các Router trung gian trên đƣờng đi và cấu trúc kết nối giữa chúng. - Các Router chọn đƣờng dựa trên dựa trên kết quả của các Router hàng xóm. Mỗi Router nhìn hệ thống mạng theo sự chi phối của các Router hàng xóm. - Cập nhật thông tin định tuyến theo chu kỳ nên tiêu tốn nhiều băng thông. Khi có sự thay đổi xảy ra, Router nào nhận biết sự thay đổi đầu tiên sẽ cập nhật bảng định tuyến của mình trƣớc rồi chuyển bảng định tuyến đã cập nhật cho Router hàng xóm. Router hàng xóm nhận đƣợc thông tin mới này, cập nhật bảng định tuyến của mình rồi lại gửi cho Router kế tiếp. Quá trình cứ tiếp tục cho toàn bộ Router trong hệ thống. Do đó thời gian hội tụ chậm. - Các giao thức định tuyến theo véc tơ khoảng cách dẽ bị lặp vòng. - Các giao thức này không đòi hỏi bộ nhớ lớn, dễ cấu hình và quản trị, chỉ áp dụng cho các hệ thống nhỏ, ít phức tạp. * Giao thức định tuyến theo trạng thái đường liên kết. - Các Router định tuyến theo trạng thái đƣờng liên kết thực hiện gửi thông tin định tuyến cho tất cả các Router khác trong hệ thống bằng địa chỉ Multicast. Kết quả là mỗi Router sẽ có đầy đủ thông tin để xây dựng lên LSDB. Mỗi Router có cái nhìn đầy đủ và cụ thể về cấu trúc hệ thống mạng. Thông tin định tuyến là trạng thái của các đƣờng liên kết giữa các Router. - Các cập nhật định tuyến chỉ đƣợc thực hiện khi có sự thay đổi về cấu trúc mạng chứ không cập nhật định kỳ nhƣ định tuyến véc tơ khoảng cách. Vì vậy tiêu tốn ít băng thông. Thông tin cập nhật đƣợc gửi ra toàn bộ hệ thống. Do đó thời gian hội tụ nhanh. - Các giao thức định tuyến theo trạng thái đƣờng liên kết tránh đƣợc lặp vòng. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 37/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính - Các giao thức này đòi hỏi Router có bộ nhớ lớn, tốc độ cao; phức tạp nên khó cấu hình và quản trị; thƣờng áp dụng cho các hệ thống lớn, phức tạp. 2.3 Các giao thức định tuyến trên mạng 2.3.1 Khái niệm AS (Autonomous System - Hệ tự quản) AS là một tập hợp các mạng hoạt động dƣới cùng một cơ chế quản trị về định tuyến dƣới sự kiểm soát của một tổ chức. Ví dụ mạng đƣợc tạo và trả tiền bởi một công ty, mạng của một chính phủ, mỗi ISP cũng thƣờng là một AS. Những giao thức định tuyến hoạt động trong một AS gọi là IGP (Interior Gateway Protocol). Ngƣợc lại các giao thức định tuyến đƣợc thiết kế để trao đổi các con đƣờng giữa các Router trong nhiều AS khác nhau gọi là EGP (Exterior Gateway Protocol). Mỗi AS đƣợc gán một con số gọi là chỉ số của AS (ASN-AS number). Giống nhƣ địa chỉ IP công cộng, ICANN đảm nhiệm việc gán ASN trên toàn cầu. Hình sau đây cho thấy ba ISP sử dụng IGP (OSPF và EIGRP) bên trong mạng và BGP giữa các AS. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 38/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính * Mục đích của giao thức định tuyến và hệ AS Mục đích của giao thức định tuyến là xây dựng và bảo trì bảng định tuyến. Bảng định tuyến này mang thông tin về các mạng khác và các cổng giao tiếp trên Router đến các mạng này. Router sử dụng giao thức định tuyến để quản lý thông tin nhận đƣợc tử các Router khác. Giao thức định tuyến cập nhật về các con đƣờng, chọn đƣờng tốt nhất đặt vào bảng định tuyến và xoá đi những con đƣờng không còn đƣợc sử dụng nữa. Còn Router thì sử dụng những thông tin trên bảng định tuyến để chuyển các gói tin của các giao thức đƣợc định tuyến. Với hệ tự quản AS toàn bộ hệ thống mạng toàn cầu đƣợc chi ra thành nhiều mạng nhỏ để dễ quản lý hơn. Mỗi AS có một số ASN riêng, không trùng lặp với bất kỳ AS khác và mỗi AS có cơ chế quản trị riêng. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 39/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính 2.3.2 Các giao thức định tuyến nội vùng IGP 2.3.2.1 RIP (Routing Information Protocol) a) Giới thiệu RIP là giao thức định tuyến véc tơ khoảng cách. Rip gửi toàn bộ bảng định tuyến ra tất cả các cổng đang hoạt động đều đặn theo chu kỳ là 30 giây. Rip sử dụng Metric là hop count để tính ra tuyến đƣờng tốt nhất đến đích. Thuật toán mà Rip sử dụng để xây dựng nên bảng định tuyến là Bellman-Ford. Rip đƣợc phát triển vào những năm 1970 bởi Xerox. Năm 1988 đƣợc công bố chính thức trong RFC 1058. b) Các giá trị về thời gian + Update time: 30 giây + Invalid time: 180 giây + Holddown time: 180 giây + Flush time: 240 giây. c) Hoạt động của Rip Tất cả các gói tin của Rip đều đƣợc đóng gói vào UDP segment với cả hai trƣờng source và destination Port là 520. Rip định nghĩa ra hai loại bản tin là: + Request message: đƣợc sử dụng để gửi một yêu cầu tới router hàng xóm để gửi update. + Reponse message: mang thông tin update * Khởi động Rip: Router giử broadcast bản tin Request ra tất cả các cổng đang hoạt động, sau đó đợi Reponse message từ các router hàng xóm. Các router hàng xóm nhận Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 40/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính đƣợc các Request message rồi gửi Response message chứa toàn bộ bảng định tuyến. * Xử lý thông tin update của router: Sau khi xây dựng xong bảng định tuyến lúc khởi động. Khi router nhận đƣợc một thông tin update về tuyến đƣờng tới một mạng nào đó, nếu tuyến đƣờng đó đã tồn tại trong bảng định tuyến, tuyến đƣờng đang tồn tại sẽ bị thay thế bởi tuyến đƣờng mới có hop count nhỏ hơn và nó sẽ bỏ qua tuyến đƣờng mới nếu có hop count lớn hơn. c) Cấu trúc gói tin của Rip (Rip message format) Gói tin của RIP đƣợc mô tả nhƣ hình trên. Mỗi gói tin của RiP đều bao gồm trƣờng command, version và có thể chứa đƣợc tối đa 25 tuyến đƣờng (route entries). Mỗi tuyến đƣờng bao gồm trƣờng: address family indentifier, ip address, metric (hopcount). Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 41/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính Các trƣờng cụ thể trong bản tin của RIP: + Trƣờng command gồm 8 bít: trƣờng này có giá trị là 1 nếu gói tin là Request message, có giá trị 0 nếu là Response message. + Trƣờng version gồm 8 bít: có giá trị 1 nếu là Rip V1, + Trƣờng Family address 16 bít: có giá trị 2 nếu routed protocol đƣợc sử dụng là IP + Trƣờng IP address gồm 32 bít: là địa chỉ đich của tuyến đƣờng + Trƣờng metric gồm 32 bít: là hop count của tuyến đƣờng. Nhƣ vậy: - Kích thƣớc phần header của RIP: 32 bít - Kích thƣớc của mỗi Route: 5*32=160 bít - Kích thƣớc header của UDP là 64 bít - Kích thƣớc tối đa của gói tin là : 32+20*160+64=3296 bit = 412byte d) Cấu hình Rip Vào mode Configure của Router, sau đó dùng lệnh: + Router(config)# Router Rip (cho phép Router sử dụng giao thức Rip) + Router(config-router)# Network x.y.z.w (trong đó x.y.z.w là mạng đang kết nối trực tiếp với Router) 2.3.2.2 IGRP (Interior Gateway Routing Protocol) a) Giới thiệu về IGRP IGRP là giao thức định tuyến véc tơ khoảng cách độc quyền đƣợc phát triển bởi Cisco. IGRP có chu kỳ update là 90 giây, metric là sự tổ hợp của 5 yếu Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 42/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính tố: Bandwith, Delay, Load, Reliability, Maximum transfer unit (MTU); mặc định là Bandwidth và delay. IGRP không sử dụng hopcount trong metric của mình, tuy nhiên nó vẫn theo dõi đƣợc hopcount. Kích thƣớc của mạng cài đặt IRGP có thể lên tới 255 hop. b) Các giá trị thời gian - Update time: 90 giây - Invalid time: 270 giây - Holddown time: 280 giây - Flush timer: 630 giây Mỗi lần tuyến đƣờng đƣợc cập nhật thì thông số này đƣợc khởi động lại. c) Metric của IGRP Metric của IGRP là sự tổ hợp của 5 thành phần: Bandwith, Delay, Load, Reliability, Maximum transfer unit (MTU) - Bandwith: là băng thông của đƣờng truyền, đơn vị là kbps. Đây là thông số tính có thể thay đổi bởi ngƣời quản trị, không liên quan gì tới băng thông thật của đƣờng truyền. - Delay: là độ trễ cần thiết để chuyển một bít tới đích, đơn vị micro giây. Đây cũng là một thông số tĩnh và có thể thay đổi bởi ngƣời quản trị - Load: phần băng thông sử dụng trên đƣờng truyền. Load có giá trị từ 1 255. (giá trị 255 có nghĩa là sử dụng 100%) - Reliability: độ tin cậy, đƣợc tính bằng số lƣợng gói tin đến đích mà không bị hỏng. Reliability có giá trị từ 1 255 (giá trị 255 có nghĩa là 100% gói tin không bị hỏng). Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 43/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính Công thức tính metric của IGRP: Metric = (K1*Bandwith +(K2*Bandwith)/(256-Load)+K3*Delay) * (K5/Reliability +K4) (Trong đó: Ki là các hằng số. Theo ngầm định K1=K3=1; K2=K4=K5=0) c) Hoạt động của IGRP IGRP cũng gửi broadcast Request packet tới tất cả các Router kết nối trực tiếp với nó khi khởi động và cập nhật các thông tin mà nó nhận đƣợc. Nếu nhƣ Rip dùng port 520 của giao thức UDP để trao đổi thông tin định tuyến thì IGRP làm điều này trực tiếp trong gói tin IP với trƣờng Protocol là 9 IGRP sử dụng 3 loại tuyến đƣờng sau trong thông tin cập nhật: + Đƣờng nội bộ (Interior route): đƣờng nối trực tiếp với Router + Đƣờng hệ thống (System route): là những đƣờng đi giữa các mạng trong cùng một AS. Router học về đƣờng hệ thống bằng cách nhận biết các mạng nối trực tiếp vào nó và học từ các thông tin cập nhật từ các router IGRP khác. + Đƣờng ngoại vi (Exterior route): là những đƣờng đi ra ngoài AS. Thông thƣờng thì đây là Gate way của Router để đi ra ngoài. d) Cấu trúc gói tin của IGRP Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 44/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính Gói tin IGRP update mang nhiều thông tin hơn so với RIP. Mỗi gói tin có thể chứa tối đa 104 tuyến đƣờng. - Kích thƣớc của mỗi tuyến đƣờng là 14 byte. - Kích thƣớc Header của IGRP update là 12 byte - Kích thƣớc tối đa của IGRP packet là 12+104*14=1468 byte. Các trƣờng trong gói tin có ý nghĩa nhƣ sau: - Version: luôn có giá trị là 1 - Opcode: bằng 1 cho IGRP request packet và có giá trị là 2 cho IGRP update packet. - Edittion: giá trị đƣợc tăng lên bởi nơi gửi bất cứ khi nào có sự thay đổi về thông tin định tuyến. Giá trị này giúp cho Router tránh update nhầm thông tin update cũ sau khi nhận thông tin update mới. - Autonomous System Number: là ID number của IGRP process - Number of interior Routes: Số tuyến đƣờng kết nối trực tiếp Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 45/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính - Number of System Route: Số tuyến đƣờng đƣợc học bởi Router biên - Number of Exterior Route: Số tuyến đƣờng đƣợc học bởi default route - Checksum: đƣợc tính trên IGRP header và tất cả các mục nhập - Destination: địa chỉ mạng đích - Tiếp theo là các trƣờng: Bandwith, Delay, MTU, Load, Reliability dùng để tính metric - Hopcount: Cho biết số hop của tuyến đƣờng đến đích: giá trị từ 1 – 255. e) Cấu hình IGRP Vào mode Configure của Router, sau đó dùng lệnh: + Router(config)# Router IGRP number process (cho phép Router sử dụng giao thức IGRP) + Router(config-router)# Network x.y.z.w (trong đó x.y.z.w là mạng đang kết nối trực tiếp với Router) 2.3.2.3 OSPF (Open Short Path First) a) Giới thiệu giao thức OSPF Open Shortest Path First (OSPF) đƣợc phát triển bởi IETF nhƣ một sự thay thế những hạn chế của RIP OSPF là một giao thức định tuyến theo trạng thái đƣờng liên kết, sử dụng thuật toán Dijkstra để xây dựng bảng định tuyến. Cũng giống nhƣ các giao thức định tuyến theo trạng thái đƣờng liên kết khác, OSPF có ƣu điểm là hội tụ nhanh, hỗ trợ mạng có kích thƣớc lớn và không xảy ra vòng lặp định tuyến. Bên cạnh đó OSPF còn có những đặc trƣng sau: Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 46/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính + OSPF có thể chia một AS thành nhiều vùng (Area) khác nhau để giảm lƣu lƣợng định tuyến, dễ quản trị. + Là giao thức hỗ trợ chia mạng con + Sử dụng các DR và BDR để gửi các thông tin định tuyến b) Sự hoạt động của OSPF Hoạt động của OSPF gồm ba hoạt động chính: tìm kiếm và xác lập mối quan hệ với Router hàng xóm; trao đổi cơ sở dữ liệu (LSDB exchange); sử dụng thuật toán Dijkstra để tính toán con đƣờng tốt nhất đặt vào bảng định tuyến. * Tìm kiếm và các lập mối quan hệ với Router hàng xóm Khi khởi động Router OSPF gửi các gói tin Hello multicast đến các cổng đang hoạt động và chờ để nhận gói tin Hello từ các Router đang kết nối với cổng này. Các Router học đƣợc nhiều thông tin quan trọng từ các gói tin Hello nhận đƣợc. Thông điệp chức RID của Router gửi, AreaID- mã vùng, Hello Interval- khoảng thời gian phát gói tin Hello, độ ƣu tiên, RID của DR và BDR, danh sách các lân cận mà router đang gửi đã biết về các mạng con. * Trao đổi cơ sở dữ liệu (LSDB) Các Router OSPF trao đổi các nội dung về LSDB của nó với Router hàng xóm để cả hai đều có bản sao chính xác về LSDB. Các bƣớc đƣợc tiến hành nhƣ sau: - Bƣớc 1: Dựa trên loại giao tiếp của OSPE, Router có thể bầu hoặc không bầu chọn DR và BDR. Việc xác định có sử dụng hay không sử dụng DR và BDR dựa trên loại giao tiếp OSPF. Có nhiều loại giao tiếp OSPF, nhƣng chúng ta quan tâm tới 2 loại: điểm - điểm và quảng bá. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 47/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính + Khi không có DR, các Router bắt đầu ngày tiến trình trao đổi LSDB - Bƣớc 2: Mỗi cặp Router là hàng xóm tin cậy của nhau sẽ trao đổi lẫn nhau nội dung LSDB mà mình có. Sau khi hai Router quyết định trao đổi thông tin, chúng không đơn giản gửi nội dung toàn thể CSDL. Trƣớc tiên chúng báo cho nhau danh sách các LSA trong CSDL riêng của nó – không phải tất cả các chi tiết về LSA, chỉ là danh sách. Mỗi Router sau đó so sánh danh sách của Router khác với LSDB của mình. Với bất kỳ LSA mà Router không có bản sao đó, Router yêu cầu lân cận cung cấp cho bản sao LSA đó, và router hàng xóm gửi LSA đầy đủ cho Router. Khi hai Router hoàn tất tiến trình này, chúng đƣợc xem nhƣ là hoàn tất đầy đủ tiến trình trao đổi CSDL. Vì thế OSPF sử dụng trạng thái lân cận đầy đủ để diễn đạt rằng tiến trình trao đổi CSDL đã kết thúc. - Bƣớc 3: Khi hoàn tất, các Router giám sát những thay đổi và gửi lại LSA. Chúng tiếp tục gửi các Hello theo chu kỳ. Số lƣợng Hello vắng mặt trong thời gian bằng với chu kỳ Dead nghĩa là kết nối đến router hàng xóm đã bị lỗi. Tƣơng tự, nếu bất kỳ sơ đồ thay đổi xảy ra, lân cận gửi các bản sao LSA thay đổi mới đến mỗi Router hàng xóm để Router hàng xóm có thể thay đổi LSDB của nó, và đến lƣợt các lân cận khác, cho đến khi hoàn tất cả mọi Router có đƣợc bản sao giống nhau về LSDB. Mỗi Router có thể sau đó sử dụng SPF để tính toán lại bất kì con đƣờng bị ảnh hƣởng bởi mạng con lỗi. Router tạo mỗi LSA cũng đảm nhận việc gửi lại LSA mỗi 30 phút, dù không có thay đổi xảy ra. Tiến trình này khác so với khái niệm chu kỳ trong Distance Vecto. Giao thức Distace Vecto gửi cập nhật đầy đủ trong chu kỳ ngắn hơn, liệt kê tất cả các con đƣờng. OSPF không gửi tất cả các con đƣờng mỗi 30 phút. Thay vào đó, mỗi LSA có một bộ định thời riêng, dựa trên LSA đƣợc tạo ra.Vì thế, không có thời điểm nào mà OSPF gửi nhiều thông điệp để gửi lại tất cả Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 48/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính các LSA. Thay vào đó, mỗi LSA đƣợc gửi bởi Router đã tạo LSA đó, 30 phút mỗi lần. c) Phân vùng trong OSPF Với những hệ thống có nhiều Router, thời gian xử lý yêu cầu để thực hiện SPF có thể làm cho thời gian hội tụ chậm, và Router có thể tốn nhiều bộ nhớ: - Một CSDL lớn hơn sẽ cần nhiều bộ nhớ hơn trên mỗi Router - Xử lý CSDL lơn với giải thuật SPF yêu cầu xử lý nhiều hơn - Một giao tiếp thay đổi khiến cho mọi Router phải chạy SPF lại. Để giải quyết vấn đề này, OSPF chia một AS thành nhiều vùng khác nhau: Area 0, Area 1 Router trong vùng nào chỉ gửi cập nhật cho các router trong vùng đó. Router 3 kết nối 2 vùng Area0 và Area1 đƣợc gọi là OSPE Area Border Router. Nó không quảng bá thông tin đầy đủ về các phần của Area0 sang Router 1,2,4. Thay vào đó, nó quảng bá thông tin tóm lƣợc về các mạng trong Area0 * Lợi ích của việc thiết kế vùng trong OSPF Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 49/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính + LSBD cho mỗi vùng nhỏ hơn, do đó yêu cầu về bộ nhớ ít hơn. + Router yêu cầu ít CPU để xử lý LSDB nhỏ hơn với giải thuật SPF, giảm thiểu tiêu tốn CPU và cải tiến thời gian hội tụ. + Giải thuật SPF phải chạy trên các router trong 1 vùng chỉ khi một LSA bên trong vùng đó thay đổi, vì thế Router phải chạy SPF ít hơn. + Ít thông tin đƣợc quảng bá giữa các vùng, giảm thiểu băng thông yêu cầu để gửi LSA d) Định dạng gói tin của OSPF OSPF packet đƣợc đóng gói trong IP packet tƣơng ứng với trƣờng Protocol number là 89. Kích thƣớc tối đa của OSPF packet là 1500 byte. OSPF packet header là giống đối với các loại OSPF packet khác nhau nhƣng OSPF packet data thì biến đổi tuỳ theo loại OSPF packet. Các loại bản tin trong OSPF packet: + Bản tin Hello: Các gói tin Hello đƣợc sử dụng để thiết lập và duy trì mối quan hệ thân mật (Adjaciency) giữa các bộ định tuyến đƣợc cấu hình chạy định tuyến OSPF trong mạng. + Bản tin Database Description (DBD): Các gói tin DBD chứa một danh sách tóm tắt cơ sở dữ liệu trạng thái kết nối của các bộ định tuyến khi gói tin OSPF đƣợc gửi đi. Và chúng đƣợc sử dụng bởi các bộ định tuyến nhận gói tin OSPF để kiểm tra cơ sở dữ liệu về trạng thái liên kết trong mạng nội bộ xung quanh nó. Bản tin DBD đƣợc sử dụng để kiểm tra tính đồng bộ về cơ sở dữ liệu giữa các bộ định tuyến . + Bản tin Link-State Request (LSR): Các bộ định tuyến sau khi nhận bản tin OSPF có thể yêu cầu bộ định tuyến gửi cung cấp thêm thông tin về bất kỳ một mục nào có trong bản tin DBD bằng việc gửi các bản tin LSR. Bản tin này Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 50/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính thực chất là bản tin yêu cầu việc truyền tải thông tin chi tiết về trạng thái liên kết giữa các bộ định tuyến . + Bản tin Link-State Update (LSU): Các gói tin LSU đƣợc sử dụng để trả lời các gói tin LSR yêu cầu trƣớc đó để cập nhật các thông tin mới về trạng thái của mạng. + Bản tin Link-State Acknowledgement (LSAsk):Các gói tin LSAsk đƣợc sử dụng để gửi xác nhận đã nhận gói tin LSU từ bộ định tuyến nhận đến bộ định tuyến gửi. * Header của OSPF packet: + Version: là phiên bản của OSPF + Type: xác định loại bản tin OSPF packet + Packet length: là độ dài của OSPF packet gồm cả Header + Router ID: là ID của Router gửi + Area ID: là vùng mà mà packet đƣợc gửi + Check sum: kiểm tra toàn bộ packet Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 51/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính + Authentication Type: xác định loại chứng thực đƣợc sử dụng * Bản tin Hello + Network Mask: là address mask của interface mà packet đƣợc gửi từ đó. Nếu mask này không đúng với interface mà packet đƣợc nhận thì packet sẽ bị drop. + Hello Interval: là chu kỳ gửi bản tin Hello, đƣợc tính bằng giây. Nếu router gửi và nhận không có cùng thông số này nó sẽ không thiết lập quan hệ hàng xóm. + Options: trƣờng này trong Hello packet đảm bảo ràng Router hàng xóm có khả năng tƣơng thích. Router có thể từ chối một hàng xóm nếu khả năng này là không tƣơng thích. + Router Priority: đƣợc sử dụng để bình bầu DR và BDR. Nếu nó đƣợc thiết lập giá trị là 0 thì sẽ loại khỏi quá trình bình bầu DR và BDR. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 52/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính + Router Dead Interval: là số giây mà router gửi đợi một Hello packet từ hàng xóm trƣớc khi công bố neighbor dead. Nếu thông số này trong Hello đến không giống với thông số của nó thì packet sẽ bị drop. + Designated Route: là IP address của interface của DR trên mạng (không phải là Router ID của nó). + Backup DR: là IP address của interface của BDR trên mạng. + Neighbor: chứa danh sách tất cả neighbor trên mạng mà router gửi nhận từ các Hello hợp lệ. * Bản tin Database Description (DBD): + Interface MTU: là kích thƣớc lớn nhất của IP packet (đơn vị là octet) mà packet có thể đƣợc gửi đi mà không bị phân mảnh. Trƣờng này đƣợc thiết lập là 0x0000 khi packet đƣợc gửi qua virtual link. + Option: là trƣờng tuỳ chọn, router sẽ không chuyển tiếp LSA nếu không thoả mãn điều kiện trong trƣờng Option. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 53/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính + Có 5 bit không sử dụng và có giá trị là: 00000b. + Ba bit I, M và MS đã giới thiệu trong phần building adjacency. + DD Sequence Number: trƣờng này để đảm bảo rằng DD packet đƣợc nhận đúng thứ tự trong quá trình đồng bộ database. Thông số này luôn luôn đƣợc thiết lập bởi master cho DD packet đầu tiên và tăng dần lên trong các DD packet gửi sau. + LSA Header: danh sách của một vài hay tất cả LSA header trong link state database của router gửi * Bản tin Link-State Request (LSR): + Link State Type: xác định loại LSA (router LSA, network LSA ). + Link State ID: xác định ra LSA header. + Advertising Router: là router ID của router mà gửi LSA. * Bản tin Link-State Update (LSU): Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 54/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính + Number of LSAs: xác định số LSA trong packet này. + LSAs: là full LSA (header + data). Mỗi update có thể mang nhiều LSA tới maximum kích thƣớc của packet cho phép trên link. * Bản tin Link-State Acknowledgement (LSAsk): e) Cấu hình giao thức OSPF Vào mode Configure của Router, sau đó dùng lệnh: + Router(config)# Router OSPF numberprocess (cho phép Router sử dụng giao thức OSPF) Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 55/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính + Router(config-router)# Network x.y.z.w netmark area number (khai báo mạng đang kết nối trực tiếp với Router và vùng) 2.3.3 Các giao thức định tuyến ngoại vùng EGP a) Giới thiệu về giao thức định tuyến ngoại vùng Exterior Gateway Protocol (EGP) là những giao thức đƣợc sử dụng để trao đổi thông tin định tuyến giữa các AS với nhau. Hiện nay chỉ có một giao thức định tuyến ngoại vùng đƣợc sử dụng trong mạng Internet. Đó chính là Border Gateway Protocol (BGP), phiên bản đầu tiên BGPv1 đƣợc đƣa ra vào năm 1989 và phiên bản gần đây nhất là BGPv4 vào năm 1993. BGP là một giao thức véc tơ đƣờng đi (path vector). Khác với giao thức định tuyến khác nhƣ Rip (véc tơ khoảng cách), OSPF (trạng thái liên kết), BGP chọn đƣờng đi tốt nhất bằng một tập các thuộc tính. Ta đã biết Internet đƣợc tạo ra bởi rất nhiều các AS khác nhau. BGP sử dụng giao thức vận chuyển TCP với cổng là 179 để thiết lập các phiên liên kết để trao đổi thông tin định tuyến giữa các AS. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 56/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính b) Hoạt động của giao thức BGP Cũng giống các giao thức định tuyến khác, BGP xây dựng bảng định tuyến, trao đổi thông tin cập nhật và chọn đƣờng đƣờng đi tốt nhất. Khi bắt đầu khởi động, các Router BGP tiến hành thiết lập mối quan hệ với các Router hàng xóm (kết nối TCP phải đƣợc đảm bảo) bằng các gói tin Open. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 57/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính Sau khi thiết lập đƣợc mối quan hệ hàng xóm, các router sẽ trao đổi các thông số kết nối. Tiếp đó chúng trao đổi thông tin về các tuyến đƣờng bằng các bản tin update. Khi hệ thống mạng có sự thay đổi thì các thông tin cập nhật về sự thay đổi đó đƣợc gửi ngay, chứ không cập nhật toàn bộ bảng định tuyến theo chu kỳ. Nếu nhƣ không có thông tin định tuyến nào thay đổi sau khoảng thời gian Keep-alive thì các Router BGP tự động ngắt kết nối. c) Định dạng gói tin Mỗi bản tin của BGP có kích thƣớc nhỏ nhất là 19 byte, lớn nhất là 4096 byte. BGP định nghĩa 4 loại bản tin nhƣ sau: + Bản tin Open + Bản tin Update + Bản tin Notification + Bản tin Keep-alive Tất cả các bản tin của BGP đều có chung phần Header: Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 58/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính - Trƣờng Marker dài 16 byte: đƣợc dùng để chứng thực những bản tin nhận đƣợc. - Trƣờng Length dài 2 byte: xác định tổng độ dài của toàn bộ bản tin BGP - Trƣờng Type dài 1 byte: cho biết loại bản tin đƣợc sử dụng + Giá trị 1: Bản tin Open + Giá trị 2: Bản tin Update + Giá trị 3: Bản tin Notification + Giá trị 4: Bản tin Keep-alive * Bản tin Open: Đây là bản tin đầu tiên đƣợc gửi sau khi kết nối TCP giữa các BGP Router đƣợc thiết lập. Khi bản tin này đƣợc chấp nhận, một bản tin Keep-alive đƣợc gửi trả lại để xác nhận bản tin Open. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 59/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính + Trƣờng Version dài 1 byte: xác lập các phiên bản của BGP. Cả bên gửi và bên nhận phải cùng chung một phiên bản. + Trƣờng Autonomous System dài 2 byte: chứa AS number của bên gửi. + Trƣờng Hold-Time dài 2 byte: thời gian tối đa mà nơi nhận phải đợi một thông điệp từ nơi gửi. + Trƣờng BGP Identifier dài 4 byte: BGP Identifier của bên gửi (là một Ip address). Giá trị này đƣợc xác định 1 lần lúc BGP router khởi động. Mỗi BGP Router có một BGP Identifier khác nhau. + Trƣờng Option Paramater Length dài 1 byte: độ dài của trƣờng Option Paramater. + Trƣờng Option Paramater dài 4 byte: danh sách các tham số trong quá trình đàm phán để thiết lập kết nối. * Bản tin Update Bản tin Update đƣợc sử dụng để trao đổi các thông tin định tuyến giữa các BGP router đã thiết lập kết nối. + Trƣờng Unfeasible Routes Length dài 2 byte: xác định chiều dài của trƣờng Withdrawn Routes. + Trƣờng Withdrawn Routes có độ dài thay đổi: chứa danh sách dạng tiền tố của địa chỉ IP sẽ bị loại bỏ. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 60/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính + Trƣờng Total Path Attribute Length dài 2 byte: xác định độ dài của trƣờng Path Attribute. + Trƣờng Path Attribute có độ dài thay đổi: chứa danh sách các thuộc tính của đƣờng đi. + Trƣờng Network Layer Reachability Infomation có độ dài thay đổi: * Bản tin Notification: Bản tin này đƣợc phát ra khi có lỗi trong một phiên kết nối và khi đó phiên kết nối sẽ bị ngắt. + Trƣờng Error Code dài 1 byte: xác định loại lỗi xảy ra. - Message Header Error - Open message Error - Update message Error - Hold Time expried + Trƣờng Error subcode dài 1 byte: chƣa thông tin về lỗi. + Trƣờng Error data: * Bản tin Keep-alive Bản tin này đƣợc sử dụng để đảm bảo phiên kết nối vẫn tồn tại. Bản tin này chỉ có phần Header của BGP packet. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 61/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính d) Metric của BGP Metric mà BGP sử dụng để chọn ra tuyến đƣờng tốt nhất đặt vào bảng định tuyến là tổ hợp các thuộc tính + AS-Path: danh sách các AS mà thông tin định tuyến đã đi qua. Thành phần AS-Path bao gồm một chuỗi các AS path segment. Mỗi AS path segment đƣợc biểu diễn bằng bộ ba: path segment type, path segment length, path segment value + Origin: xác định nguồn gốc của các tuyến đƣờng học đƣợc trong bảng định tuyến. Giá trị 0: học từ giao thức định tuyến IGP; giá trị 1: học đƣợc từ các giao thức EGP; giá trị 2: học bằng lệnh Redistribution từ IGP đến BGP. + Next-hop: địa chỉ IP của router biên (border router) mà đƣợc sử dụng nhƣ hop tiếp theo để tới đích xác định nào đó. + Local Preference: dùng để thiết lập độ ƣu tiên cho tuyến đƣờng thoát ra khỏi 1 AS. + Weight: thuộc tính này tƣơng tự nhƣ thuộc tính Local preference. Điểm khác biệt là nó chỉ có ý nghĩa trong 1 Router. Ví dụ 1 Router kết nối với 2 ISP bằng 2 cổng khác nhau. Mỗi cổng đƣợc thiết lập thuộc tính Weight. Cổng nào có Weight cao hơn sẽ đƣợc chọn. + Multi_Exit_Disc (MED): nếu có nhiều tuyến đƣờng nối 2 AS, tuyến nào có MED thấp hơn sẽ đƣợc chọn. e) Thuật toán tìm đường đi tốt nhất trong BGP BGP sẽ chọn đƣờng đi tốt nhất từ danh sách các đƣờng đi hợp lệ dựa vào thứ tự ƣu tiên của các luật sau (ƣu tiên từ trên xuống dƣới): 1. Ƣu tiên đƣờng đi có trọng số Weight cao nhất Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 62/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính 2. Ƣu tiên đƣờng đi có Local Preference cao nhất. 3. Ƣu tiên đƣờng đi có AS ngắn nhất 4. Ƣu tiên đƣờng đi có nguồn gốc Origin thấp nhất 5. Ƣu tiên đƣờng đi có giá trị MED nhỏ nhất 6. Ƣu tiên đƣờng đi nhận đƣợc trƣớc 7. Ƣu tiên đƣờng đi có Nexhop có địa chỉ thấp nhất. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 63/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính CHƢƠNG III. MÔ PHỎNG CÁC GIAO THỨC ĐỊNH TUYẾN. 3.1 Giới thiệu chương trình packet tracer Để kiểm nghiệm những kiến thức đã nêu trên, ta sử dụng phần mềm Packet Tracer để xây dựng hệ thống mạng, cấu hình Router và mô phỏng hoạt động của các giao thức định tuyến Packet tracer là một phần mềm của Cisco giúp chúng ta thiết kế một hệ thống mạng ảo với mọi tình huống nhƣ thật . Với packet tracer ta có thể tạo ra một hệ thống mạng ảo với đầy đủ các thiết bị: máy tính, bộ định tuyến, bộ chuyển mạch, các giao tiếp kết nối Giao diện của chƣơng trình nhƣ sau: Để sử dụng các thiết bị ta chỉ cần kéo thả thiết bị đó vào vùng làm việc. Packet tracer có hai chế độ xử lý: - Realtime mode: chế độ này cho phép ta tạo và cấu hình các thiết bị. Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 64/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính - Simulation mode: chế độ này giúp ta có thể thầy đƣợc hệ thống mạng hoạt động từng bƣớc chậm, qua sát các tuyến đƣờng mà gói tin đi quá, sự hoạt động của mô hình OSI và chi tiết thành phần bên trong mỗi gói tin. 3.2 Mô phỏng và cấu hình các giao thức định tuyến 3.2.1 Lƣu đồ giải thuật của định tuyến véc tơ khoảng cách Kí hiệu: Dx(y,z): khoảng cách từ nút x đến nút y qua nút kế tiếp là z x: nút nguồn C(x,v): chi phí từ x đến v Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 65/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính Begin Với nỗi nút v + Dx(v,v)=C(x,v) (v nối trực tiếp với x) + Dx(*,v)=∞ (*: các nút không phải là láng giềng của x) Với mọi nút y x + Tính MinwD (y, w) x + Gửi MinwD (y, w) cho các nút láng giềng y C(x,v) thay n đổi? Với mỗi nút y Nút x nhận đƣợc x v n + Tính D (y,v)= new C(x,v)+D (y, w) update từ nút láng giềng v? y Với mỗi nút y + Tính Dx(y,v)= C(x,v)+new Dv(y, w) Có giá trị x n MinwD (y, w) mới? y x x gửi MinwD (y, w) cho các nút láng giềng End Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 66/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính 3.2.2 Mô phỏng giao thức định tuyến RIP trên Packet tracer Dùng Packet tracer tạo sơ đồ mạng có cấu trúc nhƣ sau: * Cấu hình Interface và các giao thức định tuyến trên Router Để cấu hình cho các Router ta nhấn chuột vào từng Router và chọn CLI (Command Line Interface) Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 67/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính - Router R1: Câu lệnh Ý nghĩa Router>enable - Chuyển cấu hình vào chế độ Privileged Router#configure terminal - Chuyển chế độ cấu hình Router(config)#hostname R1 - Đặt tên cho Router là R1 R1(config)#interface FastEthernet0/0 - Cấu hình cổng Fa0/0 R1(config-if)#ip address 192.168.1.1 255.255.255.0 R1(config-if)#no shutdown R1(config-if)#exit R1(config)#interface FastEthernet1/0 - Cấu hình cổng Fa1/0 R1(config-if)#ip address 192.168.2.1 255.255.255.0 R1(config-if)#no shutdown R1(config-if)#exit R1(config)#router rip - Chọn giao thức định tuyến RIP R1(config-router)#network 192.168.1.0 - Khai báo các mạng kết nối trực tiếp với R1 R1(config-router)#network 192.168.2.0 - Router R2 Câu lệnh Ý nghĩa Router>enable - Chuyển cấu hình vào chế độ Privileged Router#configure terminal - Chuyển chế độ cấu hình Router(config)#hostname R2 - Đặt tên cho Router là R2 R2(config)#interface FastEthernet0/0 - Cấu hình cổng Fa0/0 R2(config-if)#ip address 192.168.1.2 255.255.255.0 R2(config-if)#no shutdown R2(config-if)#exit R2(config)#interface FastEthernet1/0 - Cấu hình cổng Fa1/0 R2(config-if)#ip address 192.168.3.1 255.255.255.0 R2(config-if)#no shutdown R2(config-if)#exit R2(config)#router rip - Chọn giao thức định tuyến RIP R2(config-router)#network 192.168.1.0 - Khai báo các mạng kết nối trực tiếp với R2 R2(config-router)#network 192.168.3.0 R2(config-router)# - Router R3 Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 68/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính Câu lệnh Ý nghĩa Router>enable - Chuyển cấu hình vào chế độ Privileged Router#configure terminal - Chuyển chế độ cấu hình Router(config)#hostname R3 - Đặt tên cho Router là R3 R3(config)#interface FastEthernet0/0 - Cấu hình cổng Fa0/0 R3(config-if)#ip address 192.168.2.2 255.255.255.0 R3(config-if)#no shutdown R3(config-if)#exit R3(config)#interface FastEthernet1/0 - Cấu hình cổng Fa1/0 R3(config-if)#ip address 192.168.3.2 255.255.255.0 R3(config-if)#no shutdown R3(config-if)#exit R3(config)#interface Serial2/0 - Cấu hình cổng S2/0 R3(config-if)#ip address 10.0.0.1 255.0.0.0 R3(config-if)#no shutdown R3(config-if)#clock rate 4000000 R3(config-if)#exit R3(config)#router rip - Chọn giao thức định tuyến RIP R3(config-router)#network 192.168.2.0 - Khai báo các mạng kết nối trực tiếp với R3 R3(config-router)#network 192.168.3.0 R3(config-router)#network 10.0.0.0 - Router R4 Câu lệnh Ý nghĩa Router>enable - Chuyển cấu hình vào chế độ Privileged Router#configure terminal - Chuyển chế độ cấu hình Router(config)#hostname R4 - Đặt tên cho Router là R4 R4(config)#interface Serial2/0 - Cấu hình cổng S2/0 R4(config-if)#ip address 10.0.0.2 255.0.0.0 R4(config-if)#clock rate 4000000 R4(config-if)#exit R4(config)#router rip - Chọn giao thức định tuyến RIP R4(config-router)#network 10.0.0.0 - Khai báo các mạng kết nối trực tiếp với R4 Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 69/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính Để xem kết quả bảng định tuyến trên từng Router ta sử dụng lệnh “Router# show ip route” + Bảng định tuyến của Router R1: + Bảng định tuyến của Router R2 Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 70/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính + Bảng định tuyến của Router R3 Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 71/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính + Bảng định tuyến của Router R4 Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 72/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính - Cấu trúc gói tin Update Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 73/74
- Đồ án tốt nghiệp – Giao thức định tuyến trong mạng máy tính KẾT LUẬN Định tuyến là một bƣớc rất quan trọng trong quá trình truyền thông tin giữa các mạng. Nó giúp cho việc vận chuyển các gói tin đến đƣợc đích nhanh nhất bằng con đƣờng tối ƣu nhất. Đồ án đã giới thiệu tổng quan về kĩ thuật định tuyến véc tơ khoảng cách và trạng thái đƣờng liên kết; hoạt động của các giao thức định tuyến điển hình nhƣ RIP, IGRP, OSPF, BGP. Các giao thức định tuyến này không chỉ đƣợc áp dụng cho mạng truyền thống mà đã và đƣợc triển khai áp dụng cho những công nghệ mạng mới nhƣ: mạng cảm nhận không dây (senso network), mạng 3G, 4G Sinh viên: Phùng Văn Đông, lớp CTL201, trƣờng ĐHDL Hải Phòng Trang 74/74