Bài giảng Mạng máy tính - Chương 9: Giao thức định tuyến - Nguyễn Hồng Sơn

Hệ tự trị Tìm đường nội vùng Tìm đường liên vùng Hệ tự trị (Autonomous System) • Vấn đề tìm đường trong một liên mạng lớn có rất nhiều mạng • Internet là mạng của các mạng • Các giải thuật áp dụng với mạng lớn có khó khăn • Mỗi mạng có thể có chiến lược tìm đường riêng • Mỗi mạng có chiến lược tìm đường riêng hình thành một Autonomous System

pdf58 trang | Chia sẻ: candy98 | Lượt xem: 810 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Mạng máy tính - Chương 9: Giao thức định tuyến - Nguyễn Hồng Sơn, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
GIAO THỨC ĐỊNH TUYẾN CHƯƠNG 9 TI M ĐƯỜNG PHÂN CÂ P • Hê tự tri • Tim đường nôi vung • Tim đường liên vung Hê  tự tri  (Autonomous System) • Vâ n đê  ti m đường trong mô t liên ma ng lớn co  râ t nhiê u ma ng • Internet la  ma ng cu a ca c ma ng • Ca c gia i thuâ t a p du ng với ma ng lớn co  kho  khăn • Mô i ma ng co  thê co  chiê n lược ti m đường riêng • Mô i ma ng co  chiê n lược ti m đường riêng hi nh tha nh mô t Autonomous System Hê  tự tri  (tt) • Ca c nu t ma ng trong mô t AS co  cu ng chi nh sa ch ti m đường • Ca c AS được kê t nô i với nhau qua ca c router hay gateway • Mô i AS co  sô  hiê u riêng go i la  ASN, co  chiê u da i 16 hay 32 bit. Kiê n tru c phân câ p cu a Internet Phân câ p giao thức ti m đường • Trong mô t AS: Giao thức ti m đường nô i vu ng; Intra-AS Routing còn gọi là IGP (Interior Gateway Protocol) – RIP: Routing Information Protocol – OSPF: Open Shortest Path First – IS-IS, IGRP, EIGRP... • Giữa ca c AS: Giao thức ti m đường liên vu ng, Inter-AS Routing còn gọi là EGP (Exterior Gateway Protocol) – BGPv4 (Border Gateway Protocol) Lý do có sự phân biệt định tuyến nội vùng và liên vùng (Intra và Inter-AS routing) Chính sách: • Inter-AS cần điều khiển: định tuyến lưu lượng như thế nào và chủ thể nào thực hiện định tuyến qua mạng . • Intra-AS: không cần các quyết định về chính sách Tính mở rộng: • Định tuyến phân cấp giảm kích thước bảng cũng như lưu lượng định tuyến Hiệu năng: • Intra-AS: có thể tập trung vào hiệu năng • Inter-AS: chính sách là ưu tiên hơn MỘT SỐ GIAO THỨC r RIP rOSPF r BGP RIP: Các phiên bản r RIPv1 được đặc tả trong RFC 1058, thuộc dạng định tuyến distance vector r RIPv2 được đặc tả trong RFC 2453, khắc phục một số hạn chế của RIPv1 và hỗ trợ xác thực. RIP: Hoạt động căn bản r Các Node xây dựng các bảng định tuyến bằng cách lấy thông tin từ các thông điệp đáp ứng (RIP response messages) m response messages chứa danh sách các distance vectors r Khi tìm thấy một tuyến ngắn hơn, sẽ thay giá trị cũ trong bảng định tuyến. m Các khoảng cách bằng vẫn giữ nguyên để tiết kiệm thời gian xử lý. RIP:Ví dụ Destination Network Next Router Số chặng (hop) tới đích w A 2 y B 2 z B 7 x -- 1 . . .... w x y z A C D B Routing/Forwarding table trong D RIP: Ví dụ Destination Network Next Router Số chặng (hop) tới đích w A 2 y B 2 z B A 7 5 x -- 1 . . .... Routing/Forwarding table trong D w x y z A C D B Dest Next hops w - 1 x - 1 z C 4 . ... Advertisement từ A đến D Các loại gói RIP r Trong định dạng có trường command để ký hiệu cho một trong hai loại gói: request message hay response message r Request được truyền bởi các router sau khi có timeout hay thông tin bị lạc hậu. r Response được truyền để đáp ứng cho một yêu cầu, cũng được truyền theo qui định của giao thức m response message thường chứa danh sách các vector khoảng cách. Sử dụng RIP Response message r Được gửi: m Đáp ứng một request m Định kỳ • Đặc tả RIP chỉ ra rằng nên thông báo về vector khoảng cách mỗi 30 giây một lần. m Khi có thể đổi • Nếu một láng giềng hay liên kết trực tiếp có thay đổi (ví dụ bị hỏng), một response được gửi cho các tất cả các node láng giềng để cập nhật. Danh sách vector khoảng cách (Distance Vector) r Mỗi gói RIP response có thể chứa đến 25 DV r Gồm 3 phần:Contain 3 parts: m Address family ID: mô tả loại địa chỉ được chỉ định m Address: địa chỉ của node mà vector khoảng cách đề cập m Metric: khoảng cách tính theo metric (ví dụ tính theo chặng (hop count), mặc định 15 hop, 16 hop được xem như giá trị vô cùng lớn) r Một vùng lớn dành cho địa chỉ (14 octet) có thể được sử dụng theo nhiều cách khác nhau. m Ví dụ trong mạng IP có thể đặt 4 octet địa chỉ sau 2 octet trống. command version reserved address family ID address metric 1 1 2 2 14 4 Một vector, có thể có nhiều vector octets RIP: liên kết hỏng và phục hồi Nếu không thấy quảng cáo sau 180 giây thì xem như liên kết/láng giềng đã tắt m Tất cả qua láng giềng đó là bất hợp lệ m Các quảng cáo mới được gửi đến các láng giềng m Đến lượt các láng giềng lại gửi quảng cáo mới (nếu có thay đổi) m Thông tin liên kết hỏng lan truyền nhanh chóng qua toàn mạng Xử lý RIP Table r Các RIP routing table được quản lý bởi quá trình mức ứng dụng được gọi là route-d (daemon) r Các quảng cáo được truyền đi trong các gói UDP, lặp lại theo định kỳ physical link network forwarding (IP) table Transport (UDP) Route-d physical link network (IP) Transport (UDP) Route-d forwarding table Trở ngại phát sinh trong DV Routing : Ví dụ (1/5) r Xem xét mạng đơn giản sau: BA C 12C 11B PortDistDest 21C 11A PortDistDest 11B 12A PortDistDest 1 1 12 r Điều gì xảy ra nếu liên kết BC bị hỏng? r B nhận biết và cố gắng tìm đường khác đến C BA C 12C 11B PortDistDest 21C 11A PortDistDest 11B 12A PortDistDest 1 1 12 X Trở ngại phát sinh trong DV Routing : Ví dụ (2/5) Trở ngại phát sinh trong DV Routing : Ví dụ (3/5) r B sẽ hỏi A liệu có tuyến nào đến C không r A sẽ đáp ứng? m Dò bảng định tuyến và trả lời BA C 12C 11B PortDistDest 11A ??C PortDistDest 1 1 12 X Trở ngại phát sinh trong DV Routing : Ví dụ (4/5) r A cho rằng có thể đến C qua hai chặng và trả lời cho B, đường đó lại qua B nhưng A không biết đây là điều bất hợp lý. r B lấy thông tin này và cập nhật bảng với thông tin có thể đến C qua 3 hop BA C 12C 11B PortDistDest 13C 11A PortDistDest 1 1 12 X Trở ngại phát sinh trong DV Routing : Ví dụ (5/5) r Giả sử B có datagram cần gửi cho C: m B dựa vào bảng định tuyến gửi sang A m A sau đó sẽ gửi trở lại B m A và B sẽ gửi datagram này qua lại, gọi là xuất hiện hiện tượng định tuyến lặp (routing loop) BA C 12C 11B PortDistDest 13C 11A PortDistDest 1 1 12 X Đếm vô hạn (Count to Infinity) (1/7) r Ví dụ một tuyến hướng đến host D (đích) D R1 R2 NetworkR3 Đếm vô hạn (Count to Infinity) (2/7) r Điều gì xảy ra nếu liên kết giữa R1 và D hỏng? m R1 sẽ phát hiện và tìm kiếm tuyến khác D R1 R2 NetworkR3X Đếm vô hạn (Count to Infinity) (3/7) r R2 sẽ quảng cáo rằng nó có một tuyến đến D (với distance = 2 hop) m R1 không nhận thức được tuyến này thông qua chính nó và bất hợp lý m Vì chỉ quảng cáo khoảng cách (không phải trạng thái liên kết) do đó không có cách gì để R1 biết R2 không có tuyến nào đến D. D R1 R2 NetworkR3 ? Đếm vô hạn (Count to Infinity) (4/7) r R1 sẽ cập nhật thông tin định tuyến đến D qua R2 m Khoảng cách tăng lên 3 (2+1) m Một distance vector mới lại gửi đến R2 D R1 R2 NetworkR3 ? D 3 Đếm vô hạn (Count to Infinity) (5/7) r R2 sẽ cập nhật bảng định tuyến với tuyến đến D qua R1 m Khoảng cách tăng lên 4 (3+1) m Distance vector mới được gửi đến R1 D R1 R2 NetworkR3 ? D 4 Đếm vô hạn (Count to Infinity) (6/7) r R1 sẽ cập nhật thông tin định tuyến đến D qua R2 m Khoảng cách tăng lên 5 (4+1) m Một distance vector mới lại gửi đến R2 m ...v.v. (đến vô cùng) D R1 R2 NetworkR3 ? D 5 Đếm vô hạn (Count to Infinity) (7/7) r Một khi giá trị tăng khá lớn, R2 kết luận rằng R1 không thể phân phối các gói đến D. r R2 sẽ dùng distance vector từ R3 để tìm đường đi khác đến D D r Quá trình này sẽ lan truyền ngược về mỗi nguồn của thông điệp D R1 R2 NetworkR3 ? Hội tụ chậm (Slow Convergence) r Hội tụ chậm là tình huống: m Các router trong mạng mất nhiều thời gian ở trạng thái không nhất quán. • Vài router biết hư hỏng, nhưng những router khác thì không. • Trong khoảng thời gian này, thông điệp đến D bị mất hay loop giữa các router. m Các router của mạng chậm nhận thức cấu hình đúng để định tuyến đến D. Cập nhật Split Horizon (1/2) r Một giải pháp cho counting to infinity: m Không gửi distance vector ra cùng với port mà distanve vector nguồn ban đầu đi vào. r Ví dụ m R1 có thể quảng cáo một distance vector đến D (D,1) m R2 sẽ nhận distance vector này và tạo vector (D,2) m R2 sẽ không được gửi vector mới tạo này đến R1 Cập nhật Split Horizon (2/2) r Trở ngại: m Cần phải lưu giữ thông tin cổng nào distance vector đi vào trong bảng định tuyến. m Có thể tạo count to infinity dùng 3 hay nhiều router nối thành vòng. • Do đó split horizon không phải là giải pháp triệt để cho vấn đề count to infinity Hold Down (1/2) r Router đợi một khoảng thời gian (timer) trước khi phát tán thông tin về một mạng nào bị hỏng m Đối với RIP, các distance vectors hết hạn sau 180 giây m Trước khoảng thời gian này, các router sẽ tiếp tục chuyển datgram một cách sai lầm. m Sau khoảng thời gian này, tất cả các router sẽ bỏ tất cả các đường đi có chứa liên kết bị hỏng này trong bảng định tuyến m Distance vector được xem như lỗi thời nếu vector không được truyền lại m Sau khoảng thời gian này, thông tin định tuyến mới được phát tán và các tuyến mới được tạo ra. m Nếu một route đến đích mới không tìm thấy vào thời điểm này, router sẽ không có mục tương ứng trong bảng và không thể đến được đó qua nó. Hold Down (2/2) r Trở ngại: m Các router đợi trong thời gian dài (180s) m Trong khoảng thời gian này, các router ở trong trạng thái không đồng nhất. Route Poisoning và Poison Reverse r Route Poisoning: được du ng đê đanh dâu môt tuyên không thê đi trong môt câ p nhât đi nh tuyê n được gửi đên cac router khac r Poison reverse: Các Router phát hiện một host hay mạng bị hỏng,vẫn giữ mục tương ứng trong bảng, nhưng tăng chi phí lên vô cùng. m Truyền ngay distance vector mới này m Điều này nhắc tất cả các router khác tìm một đường khác nếu có thể. m Nếu không có đường đi khác, router sẽ khẳng định host hay mạng là không thể đến được. Dùng giải pháp r Cho Count to Infinity m Vô cùng (Infinity) trong RIP là 16 • Bằng cách này, số thông điệp trong thời gian count to infinity bị giới hạn • Tuy nhiên, điều này cũng giới hạn độ rộng của mạng, phải nhỏ hơn 16. m Hầu hết các hiện thực của RIP đều dùng split horizon m Tuy nhiên, một vài hiện thực dùng route poisoning hay poison reverse r Cho routing loop m Hold down timer đê ngăn chă n đinh tuyên lă p m Khi nhâ n mô t câ p nhâ t chi ra mô t ma ng không co n truy câ p được, router đa nh dâ u ma ng co  thê down va  khởi đô ng hold-down timer m Nêu co  môt câ p nhâ t chi ra metric tôt hơn, câ p nhâ t la i va  hu y hold-down timer m Nêu câ p nhâ t co  metric giông hay xâ u hơn thi bo qua, va  cứ thê cho đê n khi timer hêt ha n thi tuyên na y xem như down. NỘI DUNG r RIP rOSPF r BGP OSPF (Open Shortest Path First) r Khả dụng, phổ biến r Dùng giải thuật Link State m Truyền các gói LS m Topo mạng tại mỗi node m Tính toán tuyến dùng giải thuật Dijkstra r Trong quảng cáo của OSPF, mỗi router láng giềng được ghi một mục r Các quảng cáo được truyền đến toàn bộ AS (qua biện pháp phát tán kiểu nước lũ) m Được chứa trong thông điệp OSPF trực tiếp qua IP (thay vì TCP hay UDP) Các đặc tính cải tiến của OSPF so với RIP r An ninh: tất cả các bản tin OSPF đều có thể xác thực r Cho phép nhiều đường đi có cùng chi phí (trong RIP chỉ có một) r Trong mỗi liên kết, có thể cấu hình nhiều đại lượng chi phí tùy theo ToS khác nhau (ví dụ chi phí trên liên kết vệ tinh cấu hình mức thấp cho dịch vụ best effort và cấu hình mức cao cho các dịch vụ thời gian thực) r Hỗ trợ tích hợp unicast và multicast: m Multicast OSPF (MOSPF) dùng cơ sở dữ liệu topo tương tự như OSPF r Phân cấp trong các domain lớn. Hierarchical OSPF •Mỗi AS có thể được cấu hình thành nhiều area •Trong mỗi AS, một area được cấu hình thành backone area, chứa tất cả các area border router và chịu trách nhiệm định tuyến gói giữa các area trong AS Hierarchical OSPF r Phân cấp hai mức: local area, backbone. m Các quảng cáo Link-state chỉ gửi trong nội vùng m Mỗi node có topo chi tiết của vùng; chỉ biết hướng (đường ngắn nhất) đi đến các mạng trong các vùng khác. r area border router: “tóm lược” về cự li đến các mạng trong nội vùng, quảng cáo đến các area border router khác. r backbone router: chạy định tuyến OSPF giới hạn trong backbone. r boundary router: kết nối đến các vùng tự trị (AS) khác. NỘI DUNG r RIP rOSPF r BGP BGP (Border Gateway Protocol, RFC 1771) r Hô trợ định tuyến liên vu ng, tao găn kêt liên mang (yêu tô  găn kêt cu a Internet) r Trao đô i thông tin NLRI (Network Layer Reachability Information) m Cho mô t AS biêt thông tin đi đên AS khac m Xac đi nh đường đi tô t nhât dựa trên thông tin va  chinh sach định tuyến r BGP cho phep lâp va  thực thi chinh sach m Qua ng ba m Định tuyến Path vector routing r Giữa ca c AS dung giải thuật na o? m Không thê co cu ng chinh sach m Du ng LS thi  chi phi bât nhât, CSDL qua  lớn m Du ng DV mang qua rô ng, kho hôi tu  r Gia i phap: ti m đường theo giải thuật path vector r RFC 1322 Gia i thuât path vector eBGP session va iBGP session r eBGP session: diê n ra giữa ca c router trong hai AS kha c nhau. Đây la  ca c router kê  cân (adjacency) với router kha c, chia se cung đường truyê n va  mô t mang con. r iBGP session: diê n ra giữa ca c router trong cung AS, được du ng đê kê t hợp va đô ng bô  chinh sa ch định tuyến Lâp chinh sach r BGP co  thê lâ p chi nh sa ch gửi hay nhâ n thông tin định tuyến r Du ng bô  lo c r Du ng ca c thuô c ti nh m AS_PATH m MED m LOCAL_PREF m Và các thuộc tính khác Bô loc r Chi trao đô i cho những đường đi đa đăng ky , loc vao, lo c ra Dung thuôc ti nh AS_PATH Du ng MED (MULTI_EXIT_DISCRIMINATOR) r Trong trường hợp hai AS co  nhiê u liên kêt với nhau r Chon MED nho hơn r A p du ng điêu khiê n lưu lượng Chia ta i với MED • Đặt giá trị MED khác nhau cho mỗi đường Sử dung LOCAL_PREF r Chon gia  tri  lớn hơn cu a LOCAL_PREF r Điêu khiê n lưu lượng upbound BGP: giao thức định tuyến inter-AS trên Internet r BGP (Border Gateway Protocol): tiêu chuẩn phổ biến r BGP cung cấp cho mỗi AS một phương tiện để: 1. lấy thông tin về khả năng đến được subnet nào đó từ các AS láng giềng. 2. phổ biến thông tin về khả năng đến được cho tất cả các router bên trong AS. 3. Căn cứ vào thông tin về khả năng đến được và chính sách xác định các tuyến tốt đến các subnet. r Cho phép mạng con quảng bá về sự tồn tại của nó trên mạng Internet Tìm hiểu thêm r Các giao thức định tuyến IGRP, EIGRP, IS-IS rĐịnh tuyến Broadcast và multicast (PIM) HẾT CHƯƠNG 9