BÀI VIẾT VỀ ROUTING PROTOCOLS CHO CẤP ĐỘ CCNA
I. SO SÁNH CLASSFUL VÀ CLASSLESS ROUTING PROTOCOLS
Các routing protocols nhóm classful không quảng bá network mask cùng với địa chỉ destination trong các gói routing update. Do đó, khi router nhận được các update này, router phải lấy giá trị network-mask mặc định có cùng với địa chỉ lớp mạng của địa chỉ đích.
Nếu địa chỉ đích là kết nối trực tiếp (connected), network-mask đuợc lấy cùng với mask đuoc cấu hình trên interface kết nối đến mạng đó. Nếu dia chỉ dest khong connected, router sẽ lấy dia chi SM default cua dia chi địch
Các routing protocols nhóm classless cho phép router gởi subnetmask trong các quảng bá routing. Do đó, classless cho phep sử dụng VLSM (là cơ chế cho phép phân chia các subnet có các giá trị netmask khác nhau trên mạng và các subnet này có thể kết nối được với nhau). Ngoài ra, classless cho phép phân biệt các subnet all-zeros và subnet dành cho broadcast (all-ones), trong khi classfull thì không.
Ví dụ 1:
Giả sử chúng ta có một mạng như thế này, mạng này chạy routing protocol là RIP Version 1
Mang A(10.10.0.0)--->Router1<----(192.168.10.0)--->Router2<----Mạng B(10.11.0.0)
Mạng này cấu hình rất dễ nhưng khi config xong thì mạng không chạy: bạn sẽ thấy trong bảng định tuyến Router1 không có đường đến mạng B(10.11.0.0) còn trong bảng định tuyến Router2 không có đường đến mạng A(10.10.0.0). khi đó chúng ta không thể từ ngồi từ Router1 ping sang mạng B được??
Tại sao lại vậy?
Nguyên nhân là: RIP version 1 là classful routing protocol, khi quảng bá thông tin định tuyến đến router khác sẽ không có thông tin về subnet mask.
Router1 có mạng 10.10.0.0 connected thì nó hiểu đó là mạng 10.0.0.0 (lấy subnetmask mặc định là 8), do đó khi Router2 gửi thông tin về mạng B đến Router 1. Router1 nghĩ rằng: Nó đã có mạng 10.10.0.0 (mạng A, có subnet là /16) connected rồi, giờ lại nhận được một thông tin về mạng 10.0.0.0 (thực chất là mạng B) nữa nhưng với mạng này kém chi tiết hơn (/8), thế thì nó sẽ không thêm con đường đến mạng B nữa. Chính vì thế trong routing table của Router1 sẽ không có route nào đến mạng B (10.11.0.0/16).
Để giải quyết vấn đề này, dùng static routing hoặc dùng các routing hỗ trợ VLSM.
Khi này thì cần phải có các routing protocol support VLSM ( như RIP v2, OSPF , hay EIGRP)
Còn RIP v1 chỉ hỗ trợ classfull. Nghĩa là trong 1 topology, tất cả các subnet chỉ được chia cùng một subnet mask duy nhất. Vì khi các routing protocol nhận các routing update về các net khác (các network không kết nối trực tiếp), thì các classfull routing protocol sẽ lấy giá trị subnet mask trên cổng (interface) của router mà nó nhận được routing update về các NET đó.
Ví dụ 2:
Khi gởi update:
Trước khi router1 gởi update cho router2, nó kiểm tra thông tin sau: Thông tin subnet có cùng mạng lớn (major net) với interface (sẽ gởi update) không?
- Không: Router1 tổng hợp đưa mạng về major net và quảng cáo mạng đã tổng hợp này.
- Có: Mạng có cùng subnet mask với interface (sẽ gởi update) không?
+ Có: Router 1 sẽ advertise subnet
+ Không: Router sẽ loại bỏ network, và không advertise nó.
Khi nhận update :
KHi RIP hay IGRP nhận một update, chúng thực hiện kiểm tra trước khi chấp nhận update và sử dụng subnetmask. Quá trình sau sẽ diển ra trước khi Route2 chấp nhận update từ Router 1:
Subnet nhận được trong update có cùng major net với interface nhận update không?
- Có: Router 2 dùng mask của interface nhận update. Nếy mạng được quảng cáo có một bit làm host thỉ Router 2 sẽ dùng host mask /32. Trong trường hợp RIP, nó tiếp tục advertise route /32 tới các router khác, nhưng IGRP thì không.
- Không : Có bất kỷ subnet của major net tồn tại trong bảng định tuyến không (biết từ các interface khác)? Chú ý mạng của upadate
+ Có: router 2 bỏ qua update.
+ Không: Router 2 dùng classful mask.
Ví dụ cụ thể vào hình:
Gởi update:
Router 1 gời update tới router 2, nó thực hiện các kiểm tra:
131.108.5.0/24 có cùng major net với 131.108.2.0/24 không ?
- Có: Mạng 131.108.5.0/24 có cùng subnet mask với 131.108.2.0/24 không?
+ Có: Router 1 advertise network
137.99.88.0/24 có cùng major net với 131.108.2.0/24 không?
- Không: Router 1 summarizes 137.99.88.0/24 thành major net và advertises mạng đó là 137.99.0.0.
Kết quả quá trình này ở Router 1 là gởi 131.108.5.0 và 137.99.0.0 trong update tới Router 2. Có thể dùng lệnh debug ip rip trên Router 1 để kiểm tra:
Nhận update:
Dùng lệnh debug ip rip, có thể thấy các update nhận được trên Router 2 từ Router 1:
Router 2 sẽ thực hiện như sau:
Major net 137.99.0.0 nhận được có cùng với 131.108.2.0 (interface nhận update) không?
- Không: Có bất kỳ subnet nào của major net này trong bảng định tuyến (biết được tử các interface khác) không?
+ Không: Router2 chấp nhận mask mặc định (/16) vì 137.99.0.0 là địa chỉ lớp B.
Subnet 131.108.5.0 có cùng major net với subnet 131.108.2.0 không?
- Có: Router 2 dùng mask /24, là mask nhận của interface nhận update.
Quá trình này dẫn tới kết quả bảng định tuyến Router2 khi dủng lệnh sho ip route như sau:
Tóm tắt:
Classful là cách mà bạn muốn chia một class IP ra bao nhiêu phần cũng được và các phần được cắt ra luôn luôn = nhau . VLSM là cách mà bạn muốn chia một class bao nhiêu phần tùy ý và mỗi phần cắt ra có kích thước lớn nhỏ tùy ý, khác với classful ở chổ khi route nó phài kèm theo SM. CIDR là cách mà bạn có được một subnet lớn (supernet) bằng cách lấy nhiều subnet (C) ghép lại nhưng supernet này đặc biệt khác với 2 subnet trên ở chổ mặc dù có nhiều subnet nhưng nó chỉ có một entry trong routing table
II. SO SÁNH DISTANCE VECTOR VÀ LINK-STATE:
Distance Vector và Link State đều là các giao thức định tuyến động (Dynamic Routing Protocol) cấu hình trên các thiết bị layer 3 nói chung và router Cisco nói riêng.Chúng đều là các Interior Gateway Routing Protocol (IGP), được triển khai bên trong 1 khu vực đặc biệt gọi là Autonomos System (AS,khu vực dùng chung tài nguyên và chịu chung sự quản lý kỹ thuật duy nhất).
Distance vector:
Distance Vector gửi bảng routing của nó cho các router neighbor bằng cách broadcast thông tin trong bản tin cập nhât định tuyến trên các interface được cấu hình chạy giao thức định tuyến mà không quan tâm đến vấn đề các router neighbor có nhận đúng hay không, không cần chạy giải thuật phức tạp để nhận tìm ra route tốt nhất. Vì vậy DV không yêu cầu nhiều tài nguyên hệ thống để chạy.
Tuy nhiên, nhược điểm của DV là cập nhật theo chu kỳ. Các router phải sau một số chu kỳ mới nhận được thông báo về các thay đổi của mạng, từ đó dẫn đến việc loop trên mạng (slow convergence).
Một số giao thức dùng DV, như RIP, dùng hop-count để làm thông số xác định đường đi tốt nhất, nên không thích hơp với mạng lớn, có nhiều link với các tính chất: bandwidth, reliable... khác nhau.
Các routing protocol nhóm distance vector sẽ lấy dữ liệu về topology từ thông tin mạng trên bảng định tuyến của các láng giềng. Sau đó router sẽ cập nhật bảng định tuyến theo định kỳ. Đặc điểm của distance vector là thời gian hội tụ chậm. Đối với các routers đang chạy routing protocol nhóm DV, định kỳ mỗi 30 giây, các routers sẽ trao đổi toàn bộ bảng routing table sang cho các routers kế cận.
Và cho dù topology mạng của bạn không bị thay đổi, các routers vẫn gửi update sau những khoảng thời gian này.
Link state:
Routing protocol nhóm này là sự quan sát tổng thể toàn topology của liên mạng. Mỗi Router làm việc độc lập trong việc tính toán đường dẫn ngắn nhất đi đến mạng đích, cập nhật thường được khởi phát từ các thay đổi của topology, thời gian hội tụ nhanh chuyển các cập nhật định tuyến đến các router khác, sẽ chiếm nhiều traffic khi khởi động và trao đổi các topology bên cạnh với nhau update vào routing table, tính giải thuật đường đi lớn nhất và chiếm nhiều bộ nhớ (link state routing protocols OSPF, NLSP, IS-IS).
Tài liệu tham khảo cho học viên CCNA của VnPro
Máy A muốn liên lạc với máy X,phải biết IP address của nó (hoặc hostname/domainname).Máy A dò trong ARP cache để tìm địa chỉ MAC đích có chưa,nếu chưa sẽ dùng ARP gửi thông điệp (broadcast) đến tòan mạng .
Có 2 trường hợp:
1/ Host X cùng segment với nó :
Host A gửi thông điệp với địa chỉ IP đích (đã biết) và MAC đích là FF-FF-FF-FF-FF-FF để hỏi xem MAC của địa chỉ này là gì.Các host trên segment đều nhận và xử lý gói này ,host nào có địa chỉ IP trùng với yêu cầu sẽ gửi lại thông tin cho host A là "IP này có MAC là : ......".Host A nhập thông tin vào ARP cache (RAM).Khi muốn liên lạc với X thì lại tra trong ARP cache để biết địa chỉ MAC cần đến.
ARP là gì?
Trong protocol TCP/IP có ARP protocol. ARP tự động cập nhật các MAC tương ứng với các IP và xây dựng một bảng ARP table trong máy tính trong cùng mạng subnet.
Khi này , nếu A và X ở trong cùng LAN, thì khi A muốn gửi packet cho X, no' sẽ match IP của X với MAC tương ứng trong bang ARP của no'.
Nếu A biết IP của X , nhưng không match được MAC tương ứng trong bang ARP của no' , thì khi này nó sẽ gứi một packet , gọi là ARP request, với địa chỉ MAC broadcast FFFFFFFFFF . Khi này tất cả máy tính trên cùng một mạng sẽ nhận được gói này và chuyển lên lớp Network; nhưng chỉ có máy có IP match với IP destination address trong ARP request mới gửi trả lại gói tin có chứa dia chỉ MAC tương ứng mà máy A muộn tìm . Gói tin này là ARP reply.
Khi đó gói tin ARP request sẽ có MAC nguồn là MAC của A, MAC đích là FF-FF-FF-FF-FF-FF.
Nếu Host X available trên Segment thì nó sẽ biết là gói tin này gửi cho nó nhờ vào địa chỉ IP mà Host A ghi trong gói tin ARP request và nó sẽ trả lời bằng 1 gói tin ARP reply. Gói tin ARP reply sẽ có MAC nguồn là MAC của Host X, MAC đích là MAC của Host A, khi Host A nhận được gói tin này tự nhiên sẽ biết được MAC của X.
Sau khi A nhận được ARP reply , nó sẽ mở gói và update bảng ARP table của nó: IP và MAC của máy X.
2/ Host X không cùng segment với host A :
lúc đó phải nhờ đến router để forward yêu cầu này đến các segment khác. Trong trường hợp này, router sẽ gửi địa chỉ MAC của interface mà nhận gói ARP request trên Router cho máy gửi ( máy A ).
Một cách khác để liên lạc với một máy tính khác không cùng nằm trên 1 segment là "default gateway". Default Gateway là một phần của một host (máy tính). Nó là một địa chỉ IP của một interface trên router, và được cấu hình cho host. Địa chỉ IP của host và của Default Gateway phải cùng segment mạng. Khì này, máy gửi (A) sẽ kiểm tra xem nó và máy nhận (B) có cùng nằm trên một subnet hay không. Nếu không, nó sẽ đóng gói packet gửi với IP destination address là của máy nhận và MAC address destinaiton là của Router nối với subnet của nó.
Nếu Proxy ARP hay default gateway không được cấu hình, thì không có "traffic" nào có thê rời khỏi một subnet (một mạng cục bộ). Phải có một trong hai cái được cấu hình ( hay cho phép) để có thể giao tiếp với các segment mạng khac được.
"IP source và dest không bao giờ thay đổi, chỉ có MAC source và dest là thay đổi thôi".
Proxy ARP: Theo cách thức hoạt động của proxy ARP, ta có thể thấy rằng client khi muốn biết MAC của một host nào đó, nó chỉ đơn giản là broadcast ARP-Request lên mạng. Router sẽ có trách nhiệm đáp trả lại bằng ARP-Reply nếu nó nhận thấy IP-destination là thuộnc mạng khác. Như vậy, cấu hình IP cho client cực kỳ đơn giản, nhưng gánh nặng lại đè lên router. Thử tưởng tượng cứ sau 1p', ARP-entry bị hủy bỏ, thế là các client thi nhau broadcast lên mạng thì router "tiêu" như chơi. Ngoài ra, proxy ARP còn gặp một bất lợi nếu trong segment có tới hơn 1 router. Chọn router nào, nếu như các router đều có route đến mạng đích?
Default-Gateway: Nếu client biết rằng IP-dest không thuộc mạng của nó, nó dùng MAC của default-gateway để gửi gói tin, router default-gateway nhận lấy gói tin sẽ biết phải xử lý tiếp theo như thế nào (dựa trên IP source/destination). Cách này giảm tải cho router, giải quyết được trường hợp có nhiều router nối vào cùng segment, và đỡ gây nhầm lẫn.
Nếu Host A có cấu hình sử dụng Defaul gateway trong TCP/IP protocol thì gói tin ARP request sẽ không phải dạng Broadcast mà được gửi thẳng đến cho Router ( TCP/IP stack quy định như vậy). Tất nhiên để gửi được gói tin này đến cho Router thì nó cũng phải request MAC của defaul gateway trên Router trước, sau đó khi có MAC của default gateway thì Host A sẽ tạo 1 gói tin ARP request MAC của Host X với IP đích là IP Host X, MAC đích là MAC của default gateway.
Khi Router gateway nhận được gói tin này thì nó sẽ Forward qua interface trên segment thích hợp, tại đây phần Datalink header sẽ được lấy ra (Pull out) và phần Datalink header mới sẽ được gắn vào với mục đích để truyền trên Segment của Host B. Khi Host B nhận được gói tin ARP request thì cũng sẽ trả lời lại bằng gói tin ARP reply được gửi đến DF gateway trên Segment của nó. Khi Router nhận được gói tin này cũng làm việc tương tự như khi gửi đi từ Host A (pull out Datalink header, gắn datalink header mới v.v....)
Nếu Host A không có cấu hình default gateway (tất nhiên sẽ broadcast gói tin ARP request) nhưng nếu Router trên Segment của host A có chức năng ARP Proxy thì căn cứ trên IP mà gói tin ARP request yêu cầu ROUTER sẽ so sánh với Routing Table của nó và nhận gói tin này nếu Match trong Routing table, sau đó sẽ forward qua Segment thích hợp. Quá trình tiếp theo tương tự như trường hợp A.
Như vậy : nếu 1 trong 2 default gateway của 2 segment cấu hình sai thì sẽ dẫn đến việc Host A không thể liên lạc được với Host X và ngược lại. Ngoài ra nếu thời gian tồn tại của ARP cache trong memory quá lâu công với việc có thay đổi MAC của DF gateway sẽ dẫn đến việc tạm thời không thể thực hiện ARP request.
Ví dụ minh họa cho các lý thuyết nêu trên:
xin lưu ý các IP cùa source và destination là không thay đổi chỉ có mac là thay đổi thôi. các bạn xem một ví dụ sau để đễ hiểu hơn nhé
máy A-------Router1--------router2--------router3------máy B
đầu tiên máy A đóng gói gói tin như sau
IP nguồn là IP của máy A. IP đích là IP của máy B xuống đến tầng datalink máy A sẽ xem máy B có trong cùng subnet với mình không, trong truờng hợp này là không.
lúc này máy A sẽ dùng :
MAC nguồn là của máy A. MAC đích là mác của interface trên router1 nối với subnet A.
Router1 sẽ xem IP đích có nằm trong subnet của mình hay không trong truờng hợp này là không, lúc này router sẽ dóng gói địa chỉ MAC nguồn là mác cùa interface mà router này nối với router2, mác đích sẻ là mác trên interface của router2, router2 cũng xử lý giống router 1 và chuyển đến router3.
Router3 sẽ xem IP này có nằm trong subnet của mình không, nếu có thì nó sẽ xem xét địa chỉ mac tương ứng với IP này (router3 biết được vì nó tra trong bảng ARP của nó có chứa máy B vì B cùng subnet) ư1ng với IP này router3 xác định đưọc MAC là máy B lúc này máy B nhưng nó vẩn gửi Brodcast đến tất cả các máy trong subnet có máy B nhưng chỉ máy B nhận gói tin vì nó có MAC trùng với MAC đích trong gói tin.
A sẽ gửi 1 gói tin gọi là ARP request (ARP = Address Resolution Protocol) bằng cơ chế broadcast để tất cả các máy đều có thể nhận được gói tin này
I. SO SÁNH CLASSFUL VÀ CLASSLESS ROUTING PROTOCOLS
Các routing protocols nhóm classful không quảng bá network mask cùng với địa chỉ destination trong các gói routing update. Do đó, khi router nhận được các update này, router phải lấy giá trị network-mask mặc định có cùng với địa chỉ lớp mạng của địa chỉ đích.
Nếu địa chỉ đích là kết nối trực tiếp (connected), network-mask đuợc lấy cùng với mask đuoc cấu hình trên interface kết nối đến mạng đó. Nếu dia chỉ dest khong connected, router sẽ lấy dia chi SM default cua dia chi địch
Các routing protocols nhóm classless cho phép router gởi subnetmask trong các quảng bá routing. Do đó, classless cho phep sử dụng VLSM (là cơ chế cho phép phân chia các subnet có các giá trị netmask khác nhau trên mạng và các subnet này có thể kết nối được với nhau). Ngoài ra, classless cho phép phân biệt các subnet all-zeros và subnet dành cho broadcast (all-ones), trong khi classfull thì không.
Ví dụ 1:
Giả sử chúng ta có một mạng như thế này, mạng này chạy routing protocol là RIP Version 1
Mang A(10.10.0.0)--->Router1<----(192.168.10.0)--->Router2<----Mạng B(10.11.0.0)
Mạng này cấu hình rất dễ nhưng khi config xong thì mạng không chạy: bạn sẽ thấy trong bảng định tuyến Router1 không có đường đến mạng B(10.11.0.0) còn trong bảng định tuyến Router2 không có đường đến mạng A(10.10.0.0). khi đó chúng ta không thể từ ngồi từ Router1 ping sang mạng B được??
Tại sao lại vậy?
Nguyên nhân là: RIP version 1 là classful routing protocol, khi quảng bá thông tin định tuyến đến router khác sẽ không có thông tin về subnet mask.
Router1 có mạng 10.10.0.0 connected thì nó hiểu đó là mạng 10.0.0.0 (lấy subnetmask mặc định là 8), do đó khi Router2 gửi thông tin về mạng B đến Router 1. Router1 nghĩ rằng: Nó đã có mạng 10.10.0.0 (mạng A, có subnet là /16) connected rồi, giờ lại nhận được một thông tin về mạng 10.0.0.0 (thực chất là mạng B) nữa nhưng với mạng này kém chi tiết hơn (/8), thế thì nó sẽ không thêm con đường đến mạng B nữa. Chính vì thế trong routing table của Router1 sẽ không có route nào đến mạng B (10.11.0.0/16).
Để giải quyết vấn đề này, dùng static routing hoặc dùng các routing hỗ trợ VLSM.
Khi này thì cần phải có các routing protocol support VLSM ( như RIP v2, OSPF , hay EIGRP)
Còn RIP v1 chỉ hỗ trợ classfull. Nghĩa là trong 1 topology, tất cả các subnet chỉ được chia cùng một subnet mask duy nhất. Vì khi các routing protocol nhận các routing update về các net khác (các network không kết nối trực tiếp), thì các classfull routing protocol sẽ lấy giá trị subnet mask trên cổng (interface) của router mà nó nhận được routing update về các NET đó.
Ví dụ 2:
Khi gởi update:
Trước khi router1 gởi update cho router2, nó kiểm tra thông tin sau: Thông tin subnet có cùng mạng lớn (major net) với interface (sẽ gởi update) không?
- Không: Router1 tổng hợp đưa mạng về major net và quảng cáo mạng đã tổng hợp này.
- Có: Mạng có cùng subnet mask với interface (sẽ gởi update) không?
+ Có: Router 1 sẽ advertise subnet
+ Không: Router sẽ loại bỏ network, và không advertise nó.
Khi nhận update :
KHi RIP hay IGRP nhận một update, chúng thực hiện kiểm tra trước khi chấp nhận update và sử dụng subnetmask. Quá trình sau sẽ diển ra trước khi Route2 chấp nhận update từ Router 1:
Subnet nhận được trong update có cùng major net với interface nhận update không?
- Có: Router 2 dùng mask của interface nhận update. Nếy mạng được quảng cáo có một bit làm host thỉ Router 2 sẽ dùng host mask /32. Trong trường hợp RIP, nó tiếp tục advertise route /32 tới các router khác, nhưng IGRP thì không.
- Không : Có bất kỷ subnet của major net tồn tại trong bảng định tuyến không (biết từ các interface khác)? Chú ý mạng của upadate
+ Có: router 2 bỏ qua update.
+ Không: Router 2 dùng classful mask.
Ví dụ cụ thể vào hình:
Gởi update:
Router 1 gời update tới router 2, nó thực hiện các kiểm tra:
131.108.5.0/24 có cùng major net với 131.108.2.0/24 không ?
- Có: Mạng 131.108.5.0/24 có cùng subnet mask với 131.108.2.0/24 không?
+ Có: Router 1 advertise network
137.99.88.0/24 có cùng major net với 131.108.2.0/24 không?
- Không: Router 1 summarizes 137.99.88.0/24 thành major net và advertises mạng đó là 137.99.0.0.
Kết quả quá trình này ở Router 1 là gởi 131.108.5.0 và 137.99.0.0 trong update tới Router 2. Có thể dùng lệnh debug ip rip trên Router 1 để kiểm tra:
Code:
RIP: sending v1 update to 255.255.255.255 via Serial0 (131.108.2.2) subnet 131.108.5.0, metric 1 network 137.99.0.0, metric 1
Dùng lệnh debug ip rip, có thể thấy các update nhận được trên Router 2 từ Router 1:
Code:
[COLOR=black]RIP: received v1 update from 131.108.2.2 on Serial0 131.108.5.0 in 1 hops 137.99.0.0 in 1 hops[/COLOR]
Major net 137.99.0.0 nhận được có cùng với 131.108.2.0 (interface nhận update) không?
- Không: Có bất kỳ subnet nào của major net này trong bảng định tuyến (biết được tử các interface khác) không?
+ Không: Router2 chấp nhận mask mặc định (/16) vì 137.99.0.0 là địa chỉ lớp B.
Subnet 131.108.5.0 có cùng major net với subnet 131.108.2.0 không?
- Có: Router 2 dùng mask /24, là mask nhận của interface nhận update.
Quá trình này dẫn tới kết quả bảng định tuyến Router2 khi dủng lệnh sho ip route như sau:
Code:
R 137.99.0.0/16 [120/1] via 131.108.2.2, 00:00:07, Serial0 131.108.0.0/24 is subnetted, 3 subnets R 131.108.5.0 [120/1] via 131.108.2.2, 00:00:08, Serial0 C 131.108.2.0 is directly connected, Serial0 C 131.108.3.0 is directly connected, Ethernet0 --------------------------------------------------------------------------------
Classful là cách mà bạn muốn chia một class IP ra bao nhiêu phần cũng được và các phần được cắt ra luôn luôn = nhau . VLSM là cách mà bạn muốn chia một class bao nhiêu phần tùy ý và mỗi phần cắt ra có kích thước lớn nhỏ tùy ý, khác với classful ở chổ khi route nó phài kèm theo SM. CIDR là cách mà bạn có được một subnet lớn (supernet) bằng cách lấy nhiều subnet (C) ghép lại nhưng supernet này đặc biệt khác với 2 subnet trên ở chổ mặc dù có nhiều subnet nhưng nó chỉ có một entry trong routing table
II. SO SÁNH DISTANCE VECTOR VÀ LINK-STATE:
Distance Vector và Link State đều là các giao thức định tuyến động (Dynamic Routing Protocol) cấu hình trên các thiết bị layer 3 nói chung và router Cisco nói riêng.Chúng đều là các Interior Gateway Routing Protocol (IGP), được triển khai bên trong 1 khu vực đặc biệt gọi là Autonomos System (AS,khu vực dùng chung tài nguyên và chịu chung sự quản lý kỹ thuật duy nhất).
Distance vector:
Distance Vector gửi bảng routing của nó cho các router neighbor bằng cách broadcast thông tin trong bản tin cập nhât định tuyến trên các interface được cấu hình chạy giao thức định tuyến mà không quan tâm đến vấn đề các router neighbor có nhận đúng hay không, không cần chạy giải thuật phức tạp để nhận tìm ra route tốt nhất. Vì vậy DV không yêu cầu nhiều tài nguyên hệ thống để chạy.
Tuy nhiên, nhược điểm của DV là cập nhật theo chu kỳ. Các router phải sau một số chu kỳ mới nhận được thông báo về các thay đổi của mạng, từ đó dẫn đến việc loop trên mạng (slow convergence).
Một số giao thức dùng DV, như RIP, dùng hop-count để làm thông số xác định đường đi tốt nhất, nên không thích hơp với mạng lớn, có nhiều link với các tính chất: bandwidth, reliable... khác nhau.
Các routing protocol nhóm distance vector sẽ lấy dữ liệu về topology từ thông tin mạng trên bảng định tuyến của các láng giềng. Sau đó router sẽ cập nhật bảng định tuyến theo định kỳ. Đặc điểm của distance vector là thời gian hội tụ chậm. Đối với các routers đang chạy routing protocol nhóm DV, định kỳ mỗi 30 giây, các routers sẽ trao đổi toàn bộ bảng routing table sang cho các routers kế cận.
Và cho dù topology mạng của bạn không bị thay đổi, các routers vẫn gửi update sau những khoảng thời gian này.
Link state:
Routing protocol nhóm này là sự quan sát tổng thể toàn topology của liên mạng. Mỗi Router làm việc độc lập trong việc tính toán đường dẫn ngắn nhất đi đến mạng đích, cập nhật thường được khởi phát từ các thay đổi của topology, thời gian hội tụ nhanh chuyển các cập nhật định tuyến đến các router khác, sẽ chiếm nhiều traffic khi khởi động và trao đổi các topology bên cạnh với nhau update vào routing table, tính giải thuật đường đi lớn nhất và chiếm nhiều bộ nhớ (link state routing protocols OSPF, NLSP, IS-IS).
Tài liệu tham khảo cho học viên CCNA của VnPro
Máy A muốn liên lạc với máy X,phải biết IP address của nó (hoặc hostname/domainname).Máy A dò trong ARP cache để tìm địa chỉ MAC đích có chưa,nếu chưa sẽ dùng ARP gửi thông điệp (broadcast) đến tòan mạng .
Có 2 trường hợp:
1/ Host X cùng segment với nó :
Host A gửi thông điệp với địa chỉ IP đích (đã biết) và MAC đích là FF-FF-FF-FF-FF-FF để hỏi xem MAC của địa chỉ này là gì.Các host trên segment đều nhận và xử lý gói này ,host nào có địa chỉ IP trùng với yêu cầu sẽ gửi lại thông tin cho host A là "IP này có MAC là : ......".Host A nhập thông tin vào ARP cache (RAM).Khi muốn liên lạc với X thì lại tra trong ARP cache để biết địa chỉ MAC cần đến.
ARP là gì?
Trong protocol TCP/IP có ARP protocol. ARP tự động cập nhật các MAC tương ứng với các IP và xây dựng một bảng ARP table trong máy tính trong cùng mạng subnet.
Khi này , nếu A và X ở trong cùng LAN, thì khi A muốn gửi packet cho X, no' sẽ match IP của X với MAC tương ứng trong bang ARP của no'.
Nếu A biết IP của X , nhưng không match được MAC tương ứng trong bang ARP của no' , thì khi này nó sẽ gứi một packet , gọi là ARP request, với địa chỉ MAC broadcast FFFFFFFFFF . Khi này tất cả máy tính trên cùng một mạng sẽ nhận được gói này và chuyển lên lớp Network; nhưng chỉ có máy có IP match với IP destination address trong ARP request mới gửi trả lại gói tin có chứa dia chỉ MAC tương ứng mà máy A muộn tìm . Gói tin này là ARP reply.
Khi đó gói tin ARP request sẽ có MAC nguồn là MAC của A, MAC đích là FF-FF-FF-FF-FF-FF.
Nếu Host X available trên Segment thì nó sẽ biết là gói tin này gửi cho nó nhờ vào địa chỉ IP mà Host A ghi trong gói tin ARP request và nó sẽ trả lời bằng 1 gói tin ARP reply. Gói tin ARP reply sẽ có MAC nguồn là MAC của Host X, MAC đích là MAC của Host A, khi Host A nhận được gói tin này tự nhiên sẽ biết được MAC của X.
Sau khi A nhận được ARP reply , nó sẽ mở gói và update bảng ARP table của nó: IP và MAC của máy X.
2/ Host X không cùng segment với host A :
lúc đó phải nhờ đến router để forward yêu cầu này đến các segment khác. Trong trường hợp này, router sẽ gửi địa chỉ MAC của interface mà nhận gói ARP request trên Router cho máy gửi ( máy A ).
Một cách khác để liên lạc với một máy tính khác không cùng nằm trên 1 segment là "default gateway". Default Gateway là một phần của một host (máy tính). Nó là một địa chỉ IP của một interface trên router, và được cấu hình cho host. Địa chỉ IP của host và của Default Gateway phải cùng segment mạng. Khì này, máy gửi (A) sẽ kiểm tra xem nó và máy nhận (B) có cùng nằm trên một subnet hay không. Nếu không, nó sẽ đóng gói packet gửi với IP destination address là của máy nhận và MAC address destinaiton là của Router nối với subnet của nó.
Nếu Proxy ARP hay default gateway không được cấu hình, thì không có "traffic" nào có thê rời khỏi một subnet (một mạng cục bộ). Phải có một trong hai cái được cấu hình ( hay cho phép) để có thể giao tiếp với các segment mạng khac được.
"IP source và dest không bao giờ thay đổi, chỉ có MAC source và dest là thay đổi thôi".
Proxy ARP: Theo cách thức hoạt động của proxy ARP, ta có thể thấy rằng client khi muốn biết MAC của một host nào đó, nó chỉ đơn giản là broadcast ARP-Request lên mạng. Router sẽ có trách nhiệm đáp trả lại bằng ARP-Reply nếu nó nhận thấy IP-destination là thuộnc mạng khác. Như vậy, cấu hình IP cho client cực kỳ đơn giản, nhưng gánh nặng lại đè lên router. Thử tưởng tượng cứ sau 1p', ARP-entry bị hủy bỏ, thế là các client thi nhau broadcast lên mạng thì router "tiêu" như chơi. Ngoài ra, proxy ARP còn gặp một bất lợi nếu trong segment có tới hơn 1 router. Chọn router nào, nếu như các router đều có route đến mạng đích?
Default-Gateway: Nếu client biết rằng IP-dest không thuộc mạng của nó, nó dùng MAC của default-gateway để gửi gói tin, router default-gateway nhận lấy gói tin sẽ biết phải xử lý tiếp theo như thế nào (dựa trên IP source/destination). Cách này giảm tải cho router, giải quyết được trường hợp có nhiều router nối vào cùng segment, và đỡ gây nhầm lẫn.
Nếu Host A có cấu hình sử dụng Defaul gateway trong TCP/IP protocol thì gói tin ARP request sẽ không phải dạng Broadcast mà được gửi thẳng đến cho Router ( TCP/IP stack quy định như vậy). Tất nhiên để gửi được gói tin này đến cho Router thì nó cũng phải request MAC của defaul gateway trên Router trước, sau đó khi có MAC của default gateway thì Host A sẽ tạo 1 gói tin ARP request MAC của Host X với IP đích là IP Host X, MAC đích là MAC của default gateway.
Khi Router gateway nhận được gói tin này thì nó sẽ Forward qua interface trên segment thích hợp, tại đây phần Datalink header sẽ được lấy ra (Pull out) và phần Datalink header mới sẽ được gắn vào với mục đích để truyền trên Segment của Host B. Khi Host B nhận được gói tin ARP request thì cũng sẽ trả lời lại bằng gói tin ARP reply được gửi đến DF gateway trên Segment của nó. Khi Router nhận được gói tin này cũng làm việc tương tự như khi gửi đi từ Host A (pull out Datalink header, gắn datalink header mới v.v....)
Nếu Host A không có cấu hình default gateway (tất nhiên sẽ broadcast gói tin ARP request) nhưng nếu Router trên Segment của host A có chức năng ARP Proxy thì căn cứ trên IP mà gói tin ARP request yêu cầu ROUTER sẽ so sánh với Routing Table của nó và nhận gói tin này nếu Match trong Routing table, sau đó sẽ forward qua Segment thích hợp. Quá trình tiếp theo tương tự như trường hợp A.
Như vậy : nếu 1 trong 2 default gateway của 2 segment cấu hình sai thì sẽ dẫn đến việc Host A không thể liên lạc được với Host X và ngược lại. Ngoài ra nếu thời gian tồn tại của ARP cache trong memory quá lâu công với việc có thay đổi MAC của DF gateway sẽ dẫn đến việc tạm thời không thể thực hiện ARP request.
Ví dụ minh họa cho các lý thuyết nêu trên:
xin lưu ý các IP cùa source và destination là không thay đổi chỉ có mac là thay đổi thôi. các bạn xem một ví dụ sau để đễ hiểu hơn nhé
máy A-------Router1--------router2--------router3------máy B
đầu tiên máy A đóng gói gói tin như sau
IP nguồn là IP của máy A. IP đích là IP của máy B xuống đến tầng datalink máy A sẽ xem máy B có trong cùng subnet với mình không, trong truờng hợp này là không.
lúc này máy A sẽ dùng :
MAC nguồn là của máy A. MAC đích là mác của interface trên router1 nối với subnet A.
Router1 sẽ xem IP đích có nằm trong subnet của mình hay không trong truờng hợp này là không, lúc này router sẽ dóng gói địa chỉ MAC nguồn là mác cùa interface mà router này nối với router2, mác đích sẻ là mác trên interface của router2, router2 cũng xử lý giống router 1 và chuyển đến router3.
Router3 sẽ xem IP này có nằm trong subnet của mình không, nếu có thì nó sẽ xem xét địa chỉ mac tương ứng với IP này (router3 biết được vì nó tra trong bảng ARP của nó có chứa máy B vì B cùng subnet) ư1ng với IP này router3 xác định đưọc MAC là máy B lúc này máy B nhưng nó vẩn gửi Brodcast đến tất cả các máy trong subnet có máy B nhưng chỉ máy B nhận gói tin vì nó có MAC trùng với MAC đích trong gói tin.
A sẽ gửi 1 gói tin gọi là ARP request (ARP = Address Resolution Protocol) bằng cơ chế broadcast để tất cả các máy đều có thể nhận được gói tin này
Tác giả: Đặng Quang Minh