Bài giảng Mạng máy tính - Nguyễn Cao Đạt - Chương 4: Tầng mạng (Bài giảng 2)
sử dụng bởi máy tính và bđt để liên
lạc thông tin tầng-mạng
báo cáo lỗi: máy, mạng, cổng,
giao thức không liên lạc được
yêu cầu/phản hồi gói echo (sử
dụng bởi ping)
nằm ở tầng “trên” IP:
th/điệp ICMP được mang trong
gói tin IP
thông điệp ICMP: loại, mã cùng với
8 byte đầu của gói tin IP mà gây ra
lỗi
ường liên kết Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa Học và Kỹ Thuật Máy Tính © 2011 MẠNG MÁY TÍNH CĂN BẢN Bài giảng 3 - Chương 4: Tầng Mạng 18 Chương 4: Tầng Mạng 4.1 Giới thiệu 4.2 Bên trong bộ định tuyến là gì? 4.3 IP: Internet Protocol Định dạng gói tin Đánh địa chỉ IPv4 ICMP IPv6 4.4 Các giải thuật định tuyến Trạng thái liên kết Véc-tơ Khoảng cách Định tuyến phân cấp 4.5 Định tuyến trong Internet RIP OSPF BGP Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa Học và Kỹ Thuật Máy Tính © 2011 MẠNG MÁY TÍNH CĂN BẢN Bài giảng 3 - Chương 4: Tầng Mạng 19 Một g/thuật trạng thái-liên kết giải thuật Dijkstra tất cả nốt đều biết đồ hình mạng, chi phí liên kết thực hiện bởi “phát tán trạng thái liên kết” mọi nốt có cùng th/tin tính tuyến đường rẻ nhất từ 1 nốt tới tất cả nốt khác tạo bảng chuyển tiếp cho nốt đó lặp: sau k lần lặp, biết được tuyến đường rẻ nhất tới k đích Kí hiệu: c(x,y): chi phí từ nốt x tới y; = ∞ nếu không phải hàng xóm trực tiếp D(v): giá trị hiện tại của chi phí của tuyến đường từ nguồn tới đích v p(v): nốt liền trước trên đường đi từ nguồn tới v N': tập các nốt mà đã biết được đường đi xác định rẻ nhất tới chúng Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa Học và Kỹ Thuật Máy Tính © 2011 MẠNG MÁY TÍNH CĂN BẢN Bài giảng 3 - Chương 4: Tầng Mạng 20 Giải thuật Dijsktra 1 Khởi tạo: 2 N' = {u} 3 với mọi nốt v 4 nếu v kề với u 5 thì D(v) = c(u,v) 6 ngoài ra D(v) = ∞ 7 8 Lặp 9 tìm w không thuộc N' sao cho D(w) là min 10 thêm w vào N' 11 cập nhật D(v) cho tất cả v kề với w và ko thuộc N' : 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* chi phí mới tới v hoặc là chi phí cũ tới v hoặc là chi phí 14 tuyến ngắn nhất tới w cộng với chi phí từ w tới v */ 15 tới khi tất cả các nốt đều thuộc N' Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa Học và Kỹ Thuật Máy Tính © 2011 MẠNG MÁY TÍNH CĂN BẢN Bài giảng 3 - Chương 4: Tầng Mạng 21 Giải thuật Dijkstra: Ví dụ Bước 0 1 2 3 4 5 N' u ux uxy uxyv uxyvw uxyvwz D(v),p(v) 2,u 2,u 2,u D(w),p(w) 5,u 4,x 3,y 3,y D(x),p(x) 1,u D(y),p(y) ∞ 2,x D(z),p(z) ∞ ∞ 4,y 4,y 4,y u y x w v z 2 2 1 3 1 1 2 5 3 5 Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa Học và Kỹ Thuật Máy Tính © 2011 MẠNG MÁY TÍNH CĂN BẢN Bài giảng 3 - Chương 4: Tầng Mạng 22 Giải thuật Dijkstra: ví dụ (2) u y x w v z Kết quả cây đường đi ngắn nhất từ u: v x y w z (u,v) (u,x) (u,x) (u,x) (u,x) đích liên kết Kết quả bảng chuyển tiếp tại u: Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa Học và Kỹ Thuật Máy Tính © 2011 MẠNG MÁY TÍNH CĂN BẢN Bài giảng 3 - Chương 4: Tầng Mạng 23 Giải thuật Dijkstra, thảo luận Độ phức tạp giải thuật: n nốt mỗi lần lặp: phải kiểm tra tất cả n nốt, w, ko thuộc N thực hiện n(n+1)/2 lần so sánh: O(n2) có khả năng hiện thực tốt hơn: O(nlogn) Dạng khác: vd, chi phí liên kết = lượng lưu lượng sử dụng A D C B 1 1+e e 0 e 1 1 0 0 A D C B 2+e 0 0 0 1+e 1 A D C B 0 2+e 1+e 1 0 0 A D C B 2+e 0 e 0 1+e 1 khởi đầu … tính lại định tuyến … tính lại … tính lại Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa Học và Kỹ Thuật Máy Tính © 2011 MẠNG MÁY TÍNH CĂN BẢN Bài giảng 3 - Chương 4: Tầng Mạng 24 Chương 4: Tầng Mạng 4.1 Giới thiệu 4.2 Bên trong bộ định tuyến là gì? 4.3 IP: Internet Protocol Định dạng gói tin Đánh địa chỉ IPv4 ICMP IPv6 4.4 Các giải thuật định tuyến Trạng thái liên kết Véc-tơ Khoảng cách Định tuyến phân cấp 4.5 Định tuyến trong Internet RIP OSPF BGP Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa Học và Kỹ Thuật Máy Tính © 2011 MẠNG MÁY TÍNH CĂN BẢN Bài giảng 3 - Chương 4: Tầng Mạng 25 Giải thuật Véc tơ-Khoảng cách Phương trình Bellman-Ford (lập trình động) Xác định dx(y) := chí phí của tuyến đường rẻ nhất từ x tới y Khi đó dx(y) = min {c(x,v) + dv(y) } với min được lấy trên tất cả hàng xóm v của x v Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa Học và Kỹ Thuật Máy Tính © 2011 MẠNG MÁY TÍNH CĂN BẢN Bài giảng 3 - Chương 4: Tầng Mạng 26 Ví dụ Bellman-Ford u y x w v z 2 2 1 3 1 1 2 5 3 5 Rõ ràng, dv(z) = 5, dx(z) = 3, dw(z) = 3 du(z) = min { c(u,v) + dv(z), c(u,x) + dx(z), c(u,w) + dw(z) } = min {2 + 5, 1 + 3, 5 + 3} = 4 node mà đạt được giá trị min sẽ là node tiếp theo trong tuyến đường ngắn nhất ➜ bảng chuyển tiếp phương trình B-F: Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa Học và Kỹ Thuật Máy Tính © 2011 MẠNG MÁY TÍNH CĂN BẢN Bài giảng 3 - Chương 4: Tầng Mạng 27 Giải thuật Véc tơ-Khoảng cách Dx(y) = chi phí thấp nhất từ x tới y node x biết chi phí tới mỗi hàng xóm v: c(x,v) node x duy trì véc tơ khoảng cách Dx = [Dx(y): y є N ] node x cũng duy trì các véc tơ khoảng cách của hàng xóm Cho mỗi hàng xóm v, x duy trì Dv = [Dv(y): y є N ] Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa Học và Kỹ Thuật Máy Tính © 2011 MẠNG MÁY TÍNH CĂN BẢN Bài giảng 3 - Chương 4: Tầng Mạng 28 Giải thuật Véc tơ-Khoảng cách Ý tưởng căn bản: Qua thời gian, mỗi node gửi đo đạc VTKC của nó tới các hàng xóm Không đồng bộ Khi một node x nhận được DV mới từ hàng xóm, nó cập nhật DV của nó sử dụng p/trình B-F: Với vài điều kiện nhỏ, giá trị của Dx(y) sẽ hội tụ tới giá trị chi phí nhỏ nhất thực tế dx(y) Dx(y) ← minv{c(x,v) + Dv(y)} với mọi node y ∊ N Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa Học và Kỹ Thuật Máy Tính © 2011 MẠNG MÁY TÍNH CĂN BẢN Bài giảng 3 - Chương 4: Tầng Mạng 29 Giải thuật Véc tơ-Khoảng cách (5) Lặp, không đồng bộ: mỗi vòng lặp cục bộ gây ra bởi: thay đổi chi phí liên kết cục bộ thông điệp cập nhật DV từ hàng xóm Phân tán: mỗi node thông báo cho hàng xóm chỉ khi DV của nó thay đổi hàng xóm khi đó sẽ lại thông báo cho hàng xóm của chúng, nếu cần chờ cho (thay đổi trong chi phí của liên kết cục bộ hoặc t/điệp từ hàng xóm) tính lại các đo đạc nếu DV tới bất kì đích nào thay đổi, thông báo cho hàng xóm Mỗi node: Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa Học và Kỹ Thuật Máy Tính © 2011 MẠNG MÁY TÍNH CĂN BẢN Bài giảng 3 - Chương 4: Tầng Mạng 30 x y z x y z 0 2 7 ∞ ∞ ∞ ∞ ∞ ∞ từ c.phí tới từ từ x y z x y z 0 từ c.phí tới x y z x y z ∞ ∞ ∞ ∞ ∞ c.phí tới x y z x y z ∞ ∞ ∞ 7 1 0 c.phí tới ∞ 2 0 1 ∞ ∞ ∞ 2 0 1 7 1 0 t x z 1 2 7 y bảng node x bảng node y bảng node z Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2 Dx(z) = min{c(x,y) + Dy(z), c(x,z) + Dz(z)} = min{2+1 , 7+0} = 3 3 2 Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa Học và Kỹ Thuật Máy Tính © 2011 MẠNG MÁY TÍNH CĂN BẢN Bài giảng 3 - Chương 4: Tầng Mạng 31 x y z x y z 0 2 7 ∞ ∞ ∞ ∞ ∞ ∞ từ c.phí tới từ từ x y z x y z 0 2 3 từ c.phí tới x y z x y z 0 2 3 từ c.phí tới x y z x y z ∞ ∞ ∞ ∞ ∞ c.phí tới x y z x y z 0 2 7 từ c.phí tới x y z x y z 0 2 3 từ c.phí tới x y z x y z 0 2 3 từ c.phí tới x y z x y z 0 2 7 từ c.phí tới x y z x y z ∞ ∞ ∞ 7 1 0 c.phí tới ∞ 2 0 1 ∞ ∞ ∞ 2 0 1 7 1 0 2 0 1 7 1 0 2 0 1 3 1 0 2 0 1 3 1 0 2 0 1 3 1 0 2 0 1 3 1 0 t x z 1 2 7 y bảng node x bảng node y bảng node z Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2 Dx(z) = min{c(x,y) + Dy(z), c(x,z) + Dz(z)} = min{2+1 , 7+0} = 3 Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa Học và Kỹ Thuật Máy Tính © 2011 MẠNG MÁY TÍNH CĂN BẢN Bài giảng 3 - Chương 4: Tầng Mạng 32 VTKC: chi phí liên kết thay đổi Chi phí liên kết thay đổi: node nhận ra sự thay đổi chi phí trong liên kết cục bộ cập nhật t/tin định tuyến, tính lại véc tơ KC nếu DV thay đổi, thông báo hàng xóm “tin tốt truyền nhanh” x z 1 4 50 y 1 tại t0, y phát hiện thay đổi chi phí lk, cập nhật DV của nó, và thông báo hàng xóm. tại t1, z nhận được cập nhật của y và cập nhật bảng của nó. Nó tính chi phí thấp nhất tới x và gửi cho hàng xóm DV của nó. tại t2, y nhận được cập nhật của z và cập nhật DV của nó. tuyến đường chi phí thấp nhất của y không đổi vì vậy nó không gửi thông điệp nào cho z. Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa Học và Kỹ Thuật Máy Tính © 2011 MẠNG MÁY TÍNH CĂN BẢN Bài giảng 3 - Chương 4: Tầng Mạng 33 Véc tơ KC: chi phí liên kết thay đổi Chi phí liên kết thay đổi: tin tốt truyền nhanh tin xấu truyền chậm – vấn đề “đếm tới vô cùng”! 44 vòng lặp trước khi giải thuật ổn định Sự nhiễm độc ngược: Nếu Z đi qua Y để tới X: Z nói Y khoảng cách của nó tới X là vô tận (vậy Y sẽ không đi qua Z để tới X) liệu cách này có giải quyết hoàn toàn vấn đề đếm tới vô cùng không? x z 1 4 50 y 60 Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa Học và Kỹ Thuật Máy Tính © 2011 MẠNG MÁY TÍNH CĂN BẢN Bài giảng 3 - Chương 4: Tầng Mạng 34 So sánh các giải thuật LS và DV Sự phức tạp của th/điệp LS: với n node, E liên kết, O(nE) th/đ được gửi DV: chỉ trao đổi giữa hàng xóm với nhau t/gian hội tụ thay đổi Tốc độ hội tụ LS: O(n2) giải thuật cần O(nE) thông điệp có thể có dao động DV: thời gian hội tụ thay đổi có thể có vòng lặp định tuyến vấn đề đếm-tới-vô-cùng Sức chịu đựng: nếu bđt trục trặc? LS: node có thể quảng bá chi phí liên kết sai mỗi node chỉ tính toán bảng của riêng nó DV: node DV có thể quảng bá chi phí tuyến đường sai mỗi bảng của node được dùng bởi các node khác lỗi lan truyền trong mạng
File đính kèm:
- Bài giảng Mạng máy tính - Nguyễn Cao Đạt - Chương 4 Tầng mạng (Bài giảng 2).pdf