Bài giảng Mạng Viễn thông (33BB) Chương Packet-Switching Networks Network Services and Internal Network Operation Packet Network Topology Datagrams and Virtual Circuits Routing in Packet Networks Shortest Path Routing Bài Packet-Switching Networks Routing in Packet Networks Định tuyến Packet Networks Có Node (switch or router) tuyến (routes) từ tới 6: 1-3-6, 1-4-5-6, 1-2-5-6 Tuyến nào “tốt nhất”? Trễ nhỏ nhất? Số chặng ít nhất? Băng thông lớn nhất? Chi phí thấp nhất? Tin cậy nhất? 4/96 Yêu cầu về thuật toán định tuyến Đáp ứng nhanh có thay đổi Tối ưu Mức độ sử dụng tài nguyên, độ dài đường Mạnh (robustness) Cấu hình hay băng thông, nghẽn Xác định nhanh các router tạo nên tập hợp các tuyến Làm việc được điều kiện tải cao, nghẽn mạch, hỏng hóc thiết bị, triển khai nhầm… Đơn giản Thực hiện phần mềm hiệu quả, tải xử lý nhỏ 5/96 Định tuyến Virtual-Circuit Packet Networks A Host VCI Switch or router 5 B C 3 D Tuyến xác định quá trình thiết lập kết nối Bảng định tuyến switches thực hiện chuyển tiếp theo tuyến đã chọn 8/96 Bảng Định tuyến VC Packet Networks Node Node Incoming Node VCI A A 3 Outgoing Node VCI 3 A A Incoming Node VCI 4 Outgoing Node VCI 4 1 Node Incoming Node VCI B B Outgoing Node VCI B B 3 Node Node Incoming Node VCI C Outgoing Node VCI C Incoming Node VCI 3 5 Outgoing Node VCI 5 3 Node Incoming Node VCI D Outgoing Node VCI D Example: VCI from A to D From A & VCI → & VCI → & VCI → & VCI → D & VCI Bảng Định tuyến Datagram Packet Networks Node Node Destination Next node 2 3 4 Destination Node Next node 1 5 Destination Next node 4 6 Destination Node Next node Node Destination Next node 3 5 Node Destination Next node 2 4 6 10 Địa chỉ không phân cấp và Định tuyến 0000 0111 1010 1101 0011 0110 1001 1100 0001 0100 1011 1110 R1 0000 0111 1010 … 1 … R2 0001 0100 1011 … 4 … 0011 0101 1000 1111 Không có quan hệ giữa các địa chỉ gần Bảng định tuyến cần 16 số 11/96 Địa chỉ có Phân cấp và Định tuyến 0000 0001 0010 0011 1000 1001 1010 1011 0100 0101 0110 0111 R1 00 01 10 11 3 R2 00 01 10 11 5 1100 1101 1110 1111 Các tiếp đầu chỉ thi mạng trạm nối tới Bảng định tuyến chỉ cần số 12 Iteration Node Node Node Node Node Initial (3,3) (4,4) (6, 1) (3,3) (6,2) (3,3) (4,4) (4, 5) (3,3) (6,2) (3,7) (4,4) (4, 5) (5,5) (6,2) 37 5 23 4 Hạ Long Nút có thể chọn là nút tiếp theo có cự ly 38 Iteration Node Node Node Node Node Initial (3,3) (4,4) (6, 1) (3,3) (6,2) (3,3) (4,4) (4, 5) (3,3) (6,2) (3,7) (4,4) (4, 5) (5,5) (6,2) (3,7) (4,6) (4, 7) (5,5) (6,2) 7 5 46 Hạ Long 2 Nút có thể chọn nút là nút kề có cự ly bằng 39 Iteration Node Node Node Node Node Initial (3,3) (4,4) (6, 1) (3,3) (6,2) (3,3) (4,4) (4, 5) (3,3) (6,2) (3,7) (4,4) (4, 5) (5,5) (6,2) (3,7) (4,6) (4, 7) (5,5) (6,2) (2,9) (4,6) (4, 7) (5,5) (6,2) 79 52 6 Hạ Long 2 Nút có thể chọn nút là nút kề có cự ly bằng 40 Counting to Infinity Problem (a) (b) 1 2 1 3 4 X Nodes believe best path is through each other (Destination is node 4) Update Node Node Node Before break (2,3) (3,2) (4, 1) After break (2,3) (3,2) (2,3) (2,3) (3,4) (2,3) (2,5) (3,4) (2,5) (2,5) (3,6) (2,5) (2,7) (3,6) (2,7) (2,7) (3,8) (2,7) … … … … 41 Problem: Bad News Travels Slowly Giải pháp khắc phục Split Horizon Không thông báo thông tin về tuyến đến đích cho nút kề đã nhận thông tin Poisoned Reverse Thông báo thông tin về tuyến đến đích cho nút kề đã nhận thông tin, với cự ly bằng vô cùng Cho phép phá vỡ các vòng trực tiếp bị lỗi Không có tác dụng ở một số vòng không trực tiếp 42/96 Split Horizon with Poison Reverse (a) (b) 1 2 1 3 X 4 Nodes believe best path is through each other Update Node Node Node Before break (2, 3) (3, 2) (4, 1) After break (2, 3) (3, 2) (-1, ) Node advertizes its route to to node as having distance infinity; node finds there is no route to (2, 3) (-1, ) (-1, ) Node advertizes its route to to node as having distance infinity; node finds there is no route to (-1, ) (-1, ) (-1, ) Node finds there is no route to 43 Link-State Algorithm Ý tưởng chính: cần giao thức hai bước Mỗi nút nguồn lấy một bản đồ của tất cả các nút và link metrics (link state) của toàn bộ mạng Tìm đường ngắn nhất bản đồ từ nút nguồn đến nút đích Quảng bá thông tin trạng thái tuyến (link-state info.) Tất cả các nút i mạng phát quảng bá tới tất cả các nút khác mạng: Các ID của các nút kề: Ni=tập hợp các nút kề của nút i Cự lý tới các nút kề với nó: {Cij | j Ni} Sử dụng đánh tràn để quảng bá packets 44/96 Tìm các đường ngắn nhất bằng thuật toán Dijkstra Tìm các đường ngắn nhất từ nguồn s tới tất cả các đích w ' s Nút kề gần nhất cách s chặng Nút kề gần thứ hai tiếp theo cách s hay w” chặng Nút gần kề thứ cách s một chặng từ s, w”, hay x z w x w " z' x' 45/96 Thuật toán Dijkstra’s N: tập hợp các nút nằm đường shortest path dã chọn Khởi tạo: (Bắt đầu từ nút nguồn s) N = {s}, Ds = 0, “s cách bản thân cự ly bằng không” Dj=Csj với tất cả j s, cự ly s tới các nút kề nối trực tiep Bước A: (Tìm nút có cự ly nhỏ nhất i) Find i N cho Di = Dj for j N Bổ xung vào N Nếu N chứa tất cả các nút thì dừng lại Step B: (cập nhất các chi phí tối thiểu Với mỗi nút j N Dj = (Dj, Di+Cij) Quay về bước A Cự ly tối thiểu từ s tới j qua nút i N 46/96 Execution of Dijkstra’s algorithm 4 3 Iteration N D2 D3 D4 D5 D6 Initial {1} {1,3} {1,2,3} 3 {1,2,3,6} 4 {1,2,3,4,6} 5 {1,2,3,4,5,6} 47 Shortest Paths in Dijkstra’s Algorithm 2 2 3 5 2 3 4 2 3 5 2 3 1 6 5 3 1 3 48 Phản ứng với Hỏng hóc Nếu có tuyến bị lỗi, Bộ định tuyến đặt cự ly tuyến bằng vô cùng & đánh tràn mạng bằng môtk packet cập nhật Tất cả các bộ định tuyến cập nhật sở dữ liệu của chúng & tính toán lại các đường ngắn nhất Cho phép khôi phục rất nhanh Tuy nhiên, cần thận trọng với các bản tin cập nhật cu Cần bổ sung time stamp hay số thứ tự vào mỗi bản tin cập nhật Kiểm tra xem mỗi bản tin cập nhật nhận được có phải mới hay không Nếu mới, bổ sung bản tin vào database và quảng bá Nếu cu, gửi bản tin cập nhật tuyến tới 49/96 Tại thuật toán trạng thái tuyến tốt hơn? Nhanh, hội tụ không cần lặp Hỗ trợ các metrics chính xác, và đa metrics nếu cần thiết (throughput, delay, cost, reliability) Hỗ trợ đa đường tới một đích Thuật toán có thể thay đổi để tìm các đường ngắn nhất 50/96 Source Routing Source host lựa chọn đường cho một packet Strict: chuỗi các nodes đường được chèn vào header Loose: chuỗi các nodes path được xác định Các switch trung gian đọc địa chỉ chặng tiếp theo và loại bỏ địa chỉ Source host cần thông tin trạng thái hoặc truy nhập tới route server Source routing cho phép host điều khiển các đường thông tin qua mạng Là phương tiện tiềm cho khách hàng lựa chọn các dịch vụ của nhà cung cấp 51/96 Example 3,6,B 1,3,6,B 6,B B A B Source host Destination host 52/96 ... Packet- Switching Networks Network Services and Internal Network Operation Packet Network Topology Datagrams and Virtual Circuits Routing in Packet Networks Shortest Path Routing Bài Packet- Switching. .. tuyến VC Packet Networks Node Node Incoming Node VCI A A 3 Outgoing Node VCI 3 A A Incoming Node VCI 4 Outgoing Node VCI 4 1 Node Incoming Node VCI B B Outgoing Node VCI B B 3 Node Node Incoming Node... Không thông báo thông tin về tuyến đến đích cho nút kề đã nhận thông tin Poisoned Reverse Thông báo thông tin về tuyến đến đích cho nút kề đã nhận thông tin, với cự