3.1.1 Bộ định tuyến
Hình 3.1 Bộ định tuyến (Router)
Các bộ định tuyến (router) làm nhiệm vụ kết nối các mạng ở lớp mạng, và thực hiện chuyển gói tin giữa các mạng. Chúng phải biết đợc cấu trúc địa chỉ lớp mạng, và phải quyết định cách thức, hớng truyền các gói tin. Khi thực hiện chọn đờng truyền cho gói tin, bộ định tuyến tiến hành đọc địa chỉ đích của gói tin và chọn đờng truyền dựa vào bảng định tuyến . Các bộ định tuyến có khả năng chọn ra đờng truyền tốt nhất cũng nh chọn kích thớc gói tin phù hợp nhất.
3.1.2 Hệ thống tự trị - AS ( Autonomous System )
Một số vấn đề về chọn đờng đã nảy sinh chẳng hạn nh việc các core Router sẽ có thể không chọn đợc tuyến đờng tối u khi tuyến đó phải đi qua backbone, hoặc khi các mạng trong một site có cấu trúc phân cấp phức tạp. Vì mục đích chọn đờng, chọn đờng, một nhóm các mạng và các Router đợc điều khiển bởi một nhà chức trách quản lý đơn lẻ đợc gọi là hệ thống tự trị (Autonomous System). Các Router trong một hệ thống tự trị tự do chọn các phơng tiện cho nó để phát hiện, truyền bá, phê chuẩn và kiểm tra sự phù hợp của các tuyến đờng. Phía phát Application Transport Network Network Interface & Physical Phía thu Application Transport Network Network Interface & Physical Network Network Interface & Physical Mạng con Mạng con Router Liên mạng
ý tởng hệ thống tự trị là một sự khái quát hoá không phức tạp và tự nhiên của kiến trúc mạng lõi , với các hệ thống tự trị thay thế cho các mạng cục bộ. Hình sau mô tả ý tởng này:
Hình 3.2 Kiến trúc của một internet với các hệ thống tự trị tại các backbone sites. Mỗi hệ thống tự trị bao gồm nhiều mạng và các Router bên dới một chính quyền quản lý
Để làm cho các mạng ẩn trong các hệ thống tự trị có thể đi tới đợc khắp Internet, mỗi hệ thống tự trị phải đồng ý báo trớc thông tin về khả năng đạt tới mạng, tới các hệ thống tự trị khác. Thông thờng một Router trong một hệ thống tự trị có trách nhiệm báo trớc các tuyến đờng và tơng tác trực tiếp với một trong số các core Router. Dù sao hoàn toàn có khả năng để có vài Router, mỗi cái báo tin trớc một mạng con của các mạng.
Một mạng Internet TCP/IP lớn có cấu trúc bổ sung để làm phù hợp các biên giới quản lý: mỗi tập hợp của các mạng và các Router đợc quản lý bởi một chính quyền quản lý sẽ đợc xem xét để trở thành một hệ thống tự trị. Một hệ thống tự trị tự do lựa chọn một kiến trúc chọn đờng bên trong, nhng phải tập hợp thông tin về tất cả các mạng của nó và chỉ định rõ một hoặc nhiều Router sẽ chuyển thông tin về khả năng có thể đạt tới các hệ thống tự trị khác. Bởi vì Internet đợc kết nối dùng kiến trúc mạng lõi, Nên mọi hệ thống tự trị phải chuyển thông tin về khả năng có thể tới cho các core Router.
Một AS thờng bao gồm một số mạng kết nối với nhau của một tổ chức nào đó. Mỗi AS đợc quản lý theo một chính sách riêng, sử dụng một chiến lợc định tuyến riêng. Nh trong Hình 3.2 một AS có thể kết nối với một AS khác đợc quản lý bởi cùng một tổ chức, nó cũng có thể kết nối với một mạng khác. Phạm Văn Hiến - Đ01VT R1 R2 ... Rn AS 1 AS 2 AS n Backbone Network 86
Hình 3.3 Mối quan hệ giữa giao thức cổng nội và giao thức cổng ngoài.
Có nhiều giao thức định tuyến trong mạng Internet đã đợc đa ra. Một số đợc sử dụng để thực hiện việc định tuyến ở trong một AS, một số khác đợc sử dụng để định tuyến giữa các AS với nhau.
Giao thức cổng nội (IGP - Interior Gateway Protocol): Các giao thức cổng
nội đảm bảo cho các router trong cùng một AS có thể thực hiện trao đổi thông tin với nhau. Các giao thức nh OSPF (Open Shortest Path First) và RIP (Routing Information Protocol) thuộc loại này.
Giao thức cổng ngoài (EGP - Exterior Gateway Protocol): Các giao thức cổng
ngoài cho phép trao đổi thông tin giữa các hệ tự trị. Một ví dụ về giao thức cổng ngoài là BGP (Border Gateway Protocol).
Trong khuôn khổ của đồ án, chúng ta sẽ tìm hiểu hai giao thức định tuyến cổng nội là RIP và OSPF.
3.2 Giao thức thông tin định tuyến RIP
Giao thức thông tin định tuyến RIP (Routing Information Protocol) là một ví dụ của một giao thức cổng trong đợc thiết kế để sử dụng trong các hệ thống tự trị nhỏ. RIP có nền tảng là giao thức định tuyến Xerox XNS. RIP đã đợc sớm triển khai và đợc chấp nhận bởi nó đợc kết hợp trong hệ điều hành BSD dựa trên nền UNIX. RIP thuộc số các giao thức định tuyến theo véc-tơ khoảng cách.
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).
3.2.1 Các loại gói RIP
Giao thức RIP định nghĩa hai loại gói có thể đợc gửi bởi bất cứ thiết bị nào chạy giao thức RIP:
♦ Gói yêu cầu: loại gói này đợc gửi để yêu cầu các node lân cận cung cấp bảng vec- tơ khoảng cách của nó. Trong yêu cầu cũng chỉ rõ node đợc yêu cầu sẽ gửi chỉ một phần hay toàn bộ bảng.
♦ Gói trả lời: loại gói này đợc một node gửi đi để thông báo những thông tin trong bảng vec-tơ khoảng cách của nó. Bảng này đợc gửi trong những tình huống sau:
Bảng đợc gửi 30 giây một lần.
Bảng đợc gửi để trả lời một yêu cầu từ một node RIP khác.
Nếu hệ thống hỗ trợ cập nhật có điều kiện, bảng có thể đợc gửi khi có sự thay đổi trong bảng vec-tơ khoảng cách của chính node đó.
Khi một gói trả lời đợc chuyển tới một node, các thông tin bên trong gói tin cập nhật sẽ đợc so sánh với bảng vec-tơ khoảng cách của node đó. Nếu gói tin cập nhật mang thông tin về một tuyến có cost thấp hơn so với mục tơng ứng trong bảng thì mục đó sẽ đợc cập nhật bởi thông tin này.
3.2.2 Định dạng các gói tin RIP
RIP sử dụng một loại định dạng riêng để chia sẻ thông tin về khoảng cách tới các đích khác nhau trong mạng. Gói tin RIP đợc gửi bên trong bản tin UDP, sử dụng cổng 520.
Gói RIP có kích thớc tối đa là 512 octet. Thông tin cập nhật lớn hơn giá trị này phải đợc chia nhỏ và chuyển đi trong nhiều gói. Trong môi trờng LAN, các gói RIP đợc gửi với địa chỉ quảng bá lớp MAC (tới tất cả các node) và địa chỉ quảng bá IP. Trong các môi trờng điểm đến điểm hay không quảng bá thì các gói sẽ đợc đánh địa chỉ cụ thể tới node cần gửi.
Định dạng gói tin RIP đợc chỉ ra trong Hình 3.4
Hình 3.4 Cấu trúc gói tin RIP
Command: chỉ ra đây là gói tin yêu cầu hay gói tin trả lời. Version: Version của gói RIP (bằng 1)
AFI: Chỉ ra loại địa chỉ đợc sử dụng (Với IP, AFI = 0x0002).
IP Address: Địa chỉ IP của node đích của mục chọn đờng ( định tuyến ).
Metric: Số hop để tới đích. Có thể có các giá trị từ 1 đến 16. Giá trị 16 có nghĩa
là đích tơng ứng không thể tới đợc.
Các trờng AFI, IP Address, Metric mang thông tin về một mục trong bảng chọn đờng (định tuyến ). Một gói tin RIP có thể mang thông tin của tối đa 25 mục.
3.2.3 Các mode hoạt động của RIP
Một node sử dụng RIP có hai mode hoạt động sau:
♦ Mode chủ động: Các node hoạt động trong mode này đồng thời nhận/gửi thông tin định tuyến từ/tới các node lân cận. Thông thờng các router đợc cấu hình để hoạt động trong mode chủ động.
♦ Mode bị động (hay im lặng): Node hoạt động trong mode này chỉ nhận cập nhật từ các node lân cận mà không phát thông tin cập nhật. Các trạm cuối thờng đợc cấu hình để hoạt động trong mode này.
3.2.4 Tính toán các vec-tơ khoảng cách
Bảng vec-tơ khoảng cách mô tả từng mạng đích. Các mục trong bảng này chứa những thông tin sau:
♦ Mạng đích đợc mô tả bởi mục đó trong bảng.
♦ Cost tơng ứng của tuyến tốt nhất tới đích. Nh đã nói, cost ở đây đợc tính theo số b- ớc nhảy (hop). Mỗi link có cost bằng 1.
♦ Địa chỉ IP của node tiếp theo trên con đờng dẫn tới mạng đích.
♦ Mỗi khi một node nhận đợc thông tin cập nhật bảng định tuyến, nó sẽ thực hiện thuật toán định tuyến theo vec-tơ khoảng cách để cập nhật bảng chọn đờng của mình.
Hình 3.5 mô tả bảng vec-tơ khoảng cách cho ba bộ định tuyến trong một liên mạng đơn giản.
Bảng của R2 Bảng của R3 Bảng của R4
Đích Node sau Hop Đích Node sau Hop Đích Node sau Hop
N1 R1 2 N1 R2 3 N1 R3 4 N2 Trực tiếp 1 N2 R2 2 N2 R3 3 N3 Trực tiếp 1 N3 Trực tiếp 1 N3 R3 2 N4 R3 2 N4 Trực tiếp 1 N4 Trực tiếp 1 N5 R3 3 N5 R4 2 N5 Trực tiếp 1 N6 R3 4 N6 R4 3 N6 R5 2 Hình 3.5 Bảng vec-tơ khoảng cách 3.2.5 Hạn chế của RIP
RIP có rất nhiều điểm hạn chế:
♦ Giới hạn độ dài tuyến đờng: Để làm giảm ảnh hởng của việc đếm tới vô cùng, giá trị tối đa mà cost của một tuyến đờng có thể có càng nhỏ càng tốt. Nhng điều đó sẽ đồng nghĩa với việc kích thớc cho phép của mạng sẽ giảm. Theo RIP, cost có giá trị ‘vô cùng’ đợ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.
♦ Lu lợng cần thiết cho việc trao đổi thông tin chọn đờng 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.
3.2.6 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:
♦ RIP phiên bản 1 (RIP-1 hay RIP): Đây là giao thức đợc mô tả trong RFC 1058. ♦ RIP phiên bản 2 (RIP-2): Đây cũng là một giao thức vec-tơ khoảng cách đợc thiết
kế để sử dụng bên trong một hệ thống tự trị AS. Nó đợc thiết kế để khắc phục những hạn chế của RIP-1. RIP-2 đợc mô tả trong RFC1723 và đợc phát hành vào cuối năm 1994.
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ó dụ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.
Tuy nhiên, bởi tơng thích hoàn toàn với RIP-1, RIP-2 vẫn giới hạn chiều dài tối đa của một tuyến đờng là 15.
3.2.6.1 Định dạng bản tin RIP-2
RIP-1 đã đợc thiết kế để hỗ trợ các cải tiến trong tơng lai do vậy RIP-2 có thể lợi dụng đặc điểm này. Bên trong gói tin RIP-1 đã chứa sẵn trờng Version và hơn 50% các octet trong gói còn cha đợc sử dụng.
Hình 3.6 Định dạng gói tin RIP-2
Về cơ bản, gói RIP-2 giống gói RIP-1. Trong gói RIP-2, trờng version mang giá trị là 2. Thêm nữa, 20 octet dành cho mục đầu tiên có thể đợc thay thế bởi thông tin nhận thực.
Authentic Type: nếu bằng 0, coi nh là không có thông tin nhận thực, nếu bằng 2
thì trờng tiếp theo sẽ mang thông tin nhận thực.
Authentication Data: Trờng này chứa 16 byte password.
Route Tag: Trờng này dùng để phân biệt giữa tuyến trong (internal route) và
tuyến ngoài (external route). Tuyến trong là những tuyến biết đợc thông tin nhờ RIP, còn tuyến ngoài là những tuyến có thông tin biết đợc nhờ các giao thức khác.
3.2.6.2 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.
Ngoài ra, còn có những hạn chế trong quá trình nhận thực của RIP-2. Chuẩn RIP-2 không mã hoá mật khẩu nhận thực mà truyền nó dới dạng ký tự thông thờng. Điều này dẫn tới nguy cơ mạng bị tấn công bởi bất kỳ ai có kết nối vật lý trực tiếp tới hệ thống.
3.2.7 RIP thế hệ kế tiếp cho IPv6.
RIP thế hệ kế tiếp RIPng (RIP next generation) đợc phát triển để cho phép các bộ định tuyến bên trong một mạng sử dụng IPv6 trao đổi các thông tin để tính toán tuyến. Chuẩn này đợc nêu trong RFC 2080.
Cũng giống nh các giao thức khác trong tập giao thức RIP, RIPng là một giao thức vec-tơ khoảng cách đợc thiết kế để sử dụng bên trong một hệ tự trị. RIPng sử dụng cùng thuật toán, định thời nh RIP-2.
Trong RIPng vẫn còn những hạn chế thừa hởng của các giao thức vec-tơ khoảng cách nh hạn chế về giá tuyến và thời gian hội tụ.
3.2.7.1 Sự khác biệt giữa RIPng và RIP-2
Có hai điểm cơ bản phân biệt RIP-2 và RIPng:
♦ Hỗ trợ nhận thực: RIP-2 hỗ trợ nhận thực đối với tất cả các node phát thông tin định tuyến. RIPng không hỗ trợ quá trình nhận thực này, thay vào đó, nó sử dụng tính năng an toàn thừa hởng từ IPv6. Ngoài nhận thực các tính năng an toàn đó còn cho phép mã hoá từng gói tin RIPng. Làm cách này có thể khống chế đợc số các thiết bị nhận thông tin định tuyến. Một kết quả của việc sử dụng các tính năng an toàn IPv6 là trờng AFI trong gói tin RIPng đã đợc loại bỏ. Lý do là không cần thiết phải phân biệt giữa các đầu mục nhận thực và các đầu mục định tuyến trong một bản tin quảng cáo.
♦ Hỗ trợ các định dạng địa chỉ IPv6: các trờng chứa trong gói tin RIPng đã đợc thay đổi để hỗ trợ định dạng địa chỉ dài của IPv6.
3.2.7.2 Định dạng gói tin RIPng
Định dạng gói tin RIPng tơng tự nh gói tin RIP-2. Cả hai đều chứa 4 octet tiêu đề lệnh, theo sau là các mục định tuyến, mỗi mục gồm 20 octet.
Việc sử dụng trờng command và trờng version hoàn toàn giống nh trong gói tin RIP-2. Tuy nhiên các trờng chứa thông tin định tuyến đã đợc thay đổi để phù hợp với địa chỉ IPv6 dài 16 octet. Các trờng này đợc sử dụng khác với những trờng tơng đơng trong RIP-1 và RIP-2.
Để chỉ ra con đờng tiếp theo để tới đích, RIPng sử dụng 20 octet mang thông tin về đích (Hình 3.7a), và 20 octet mang thông tin về bớc tiếp theo (Hình 3.7b )
Hình 3.7 Mục chọn đờng trong RIPng
(b) Thông tin về hớng tiếp theo.
Sự kết hợp của trờng IPv6 Prefix và trờng Prefix Length đợc sử dụng để xác định