Bài giảng Mạng Viễn thông (33BB) Trần Xuân Nam Khoa Vô tuyến Điện tư Học viện Kỹ thuật Quân sự Bài 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 Network Services and Internal Network Operation Network Layer Network Layer: Lớp phức tạp nhất Yêu cầu các điều phối của các phần tử mạng phân tán theo địa lý (switches & routers) Cần phải làm việc với phạm vi rất rộng Hàng tỉ người dùng (người & thiết bị liên lạc) Các thách thức lớn nhất Addressing: thông tin cần chuyển tới đâu? Routing: sử dụng đường nào để đưa thông tin tới đích? Trần Xuân Nam, Học viện Packet Switching t1 t0 Network Truyền thông tin ở dạng một gói đơn hay nhiều gói nho Truyền gói đơn yêu cầu về độ chính xác và trễ truyền Truyền nhiều gói nho, ngoài yêu cầu độ chính xác, trễ truyền còn yêu cầu thêm về thứ tự các gói và đảm bảo quan hệ thời gian giữa các gói nho Trần Xuân Nam, Học viện Network Service Messages Messages Segments Transport layer Transport layer Network service Network service Network layer Network layer Network layer Network layer Data link layer Data link layer Data link layer Data link layer layer Physical layer Physical layer Physical layer End system Physical α Network layer có thể cung cấp nhiều dịch vụ cho transport layer Connection-oriented service hay connectionless service Best-effort hay delay/loss guarantees Trần Xuân Nam, Học viện End system β Connection Oriented Service Transport layer không thể yêu cầu truyền cho đến đã thiết lập xong kết nối Network layer được thông báo trước về luồng dữ liệu gửi vào mạng Trong quá trình thiết lập kết nối có thoa thuận về sử dụng và QoS, và trao đổi tài nguyên mạng Yêu cầu có ngắt kết nối Phức tạp connectionless service Trần Xuân Nam, Học viện Connectionless Service Đơn giản Chỉ cần hai thao thác giữa network layer va transport layer Phía phát: yêu cầu gửi packet Phía thu: chỉ thị đã có gói tới Giao trách nhiệm về kiểm soát lỗi, thứ tự packets, điều khiển luồng cho E2E transport layers Trần Xuân Nam, Học viện Network Internal Operation Connectionless operation Packets truyền qua mạng ở dạng datagram Mỗi packet được định tuyến độc lập Các packets có thể được truyền qua các đường khác và có thể đến không theo thứ tự Connection-oriented operation Packet qua các đường ảo (virtual circuits) đã được thiết lập từ nguồn tới đích Virtual circuit được thiết lập một lần và các packet được chuyển tiếp qua đường thiết lập đo Có thể đảm bảo băng thông, trể và tổn hao Trần Xuân Nam, Học viện Network Service vs Operation Network Service Connectionless Datagram Transfer Connection-Oriented Internal Network Connectionless Tin cậy và có thể truyền ứng dụng có tốc độ bít không đổi (constant bit rate) IP Connection-Oriented Telephone connection ATM Các kết hợp có thể có Connection-oriented service over Connectionless operation Connectionless service over Connection-Oriented operation Tùy trường hợp & yêu cầu xác định Trần Xuân Nam, Học viện 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 53 4 Hạ Long Nút có thể chọn là nút tiếp theo có cự ly Trần Xuân Nam, Học viện 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 2 Nút có thể chọn nút là nút kề có cự ly bằng Trần Xuân Nam, Học viện Hạ Long 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 5 6 Hạ Long 2 Nút có thể chọn nút là nút kề có cự ly bằng Trần Xuân Nam, Học viện 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) … … … … Trần Xuân Nam, Học viện 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 Trần Xuân Nam, Học viện 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 Trần Xuân Nam, Học viện 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 Trần Xuân Nam, Học viện 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 ' 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 z w s Trần Xuân Nam, Học viện x w " z' x' x 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 nho 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 Trần Xuân Nam, Học viện Cự ly tối thiểu từ s tới j qua nút i N Execution of Dijkstra’s algorithm 4 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} Trần Xuân Nam, Học viện Shortest Paths in Dijkstra’s Algorithm 2 3 1 5 2 3 Trần Xuân Nam, Học viện 5 2 2 5 2 3 1 1 2 1 Reaction to Failure If a link fails, Router sets link distance to infinity & floods the network with an update packet All routers immediately update their link database & recalculate their shortest paths Recovery very quick But watch out for old update messages Add time stamp or sequence # to each update message Check whether each received update message is new If new, add it to database and broadcast If older, send update message on arriving link Trần Xuân Nam, Học viện Why is Link State Better? Fast, loopless convergence Support for precise metrics, and multiple metrics if necessary (throughput, delay, cost, reliability) Support for multiple paths to a destination Algorithm can be modified to find best two paths Trần Xuân Nam, Học viện Source Routing Source host selects path that is to be followed by a packet Strict: sequence of nodes in path inserted into header Loose: subsequence of nodes in path specified Intermediate switches read next-hop address and remove address Source host needs link state information or access to a route server Source routing allows the host to control the paths that its information traverses in the network Potentially the means for customers to select what service providers they use Trần Xuân Nam, Học viện Example 3,6,B 1,3,6,B 6,B B A B Source host Trần Xuân Nam, Học viện Destination host ... 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. .. Học viện Chapter Packet- Switching Networks Packet Network Topology Đặc điểm mạng chuyển mạch gói Packet networks rất khác biệt so với telephone networks Các dòng packet riêng rất... thích hợp cho lưu lượng tương tác Trần Xuân Nam, Học viện Packet Packet Packet Packet Packet Trễ Packet Switching Giả thiết packets message qua cùng đường t t t Delay Minimum Delay =