Friday, October 22, 2010

Tôi đã ôn thi CCNA như thế nào! [ngày 1]

Bài này tôi đăng ở đây không phải là tutorials gì cả. Chỉ là đang ôn thi CCNA. Học đến đâu, học được chữ nào, hiểu được cái gì thì viết lại theo ý hiểu để lưu trữ. Ngoài ra có thể ai đó đang học CCNA có thể tình cờ tìm thấy một vài chi tiết vụn vặt mà mình quên mất khi đọc bài này. Có thể nói đây như một quyển nhật ký ghi lại quá trình học ôn thi CCNA. Nếu mai kia trượt vỏ chuối thì chắc phải đổi tên thành "Tôi đã thi trượt CCNA như thế nào!". Nếu đỗ thì giữ làm kỷ niệm. Hoặc có thể đổi tên thành "Tôi đã thi đỗ CCNA như thế nào!!!".



TÓM TẮT PHẦN CISCO LAN SWITCHING BASIC
1. Chuẩn 10BASE2, 10 BASE5 và 10 BASET
Để nói về 3 chuẩn này thực chất chỉ có một vấn đề quyết định đó là loại cáp mà chúng sử dụng. Cụ thể là các chuẩn 10BASE2,5 chỉ cho phép sử dụng cáp đồng trục (coaxial cable). Trong khi đó 10BASET cho phép sử dụng cáp chéo (unshield twisted pairs). Cáp chéo này lại là loại có giá thành rẻ hơn và được sử dụng rộng rãi trong mạng điện thoại. CHính điều này đã dẫn đến việc chuẩn 10BASET là chuẩn được ưu thích và phổ biến hơn so với 2 đồng chuẩn còn lại.
2. HUB & SWITCH
Bạn có 4 máy tính nối vào 01 hub băng thông 10MBps. Như vậy vùng collision domain của bạn bao gồm 4 máy tính này.
Thay vào đó bạn nối 2 máy vào 1 hub, 2 hub lại nối vào 1 sw. như vậy vùng collision domain của bạn chỉ gồm 2 máy tính cho mỗi vùng, 2 vùng collision domain riêng biệt. 

Tại sao lại như thế?
Vì đó chính là sự khác biệt của sw và hub. Sw có khả năng ngăn gói tin từ PC1 truyền tới PC2 đi qua sw vì đơn giản chúng đã ở cùng 1 cổng của sw. hub thì không có khả năng này. Vậy nên PC1 và pc2 hợp thành 1 collision domain, pc3 và pc4 hợp thành 1 collison domain. Mỗi collision domain này có băng thông 10MBps. So sánh với việc có 4 Pc trong 1 collision domain chia sẻ 10MBps thì việc có thêm SW làm giảm thiểu số PC trong 1 collision doamin. Như vậy mục đích ra đời của sw là để giảm thiểu collision trong mạng.
3. CHỨC NĂNG CỦA SW
SW làm 3 nhiệm vụ chính:
a. Kiểm tra địa chỉ MAC nguồn của các gói tin nhận được. Theo đó có thể xây dựng bảng sw table.
b. dựa trên địa chỉ đích của gói tin quyết định forward hoặc không forward. Bằng cách đối chiếu với sw table.
c. sử dụng STP để cùng với các sw khác tránh loop trong mạng có các kết nối dư thừa.
Thực ra chức năng của sw rất logic và rất dễ nhớ. Đầu tiên là việc kiểm tra mac nguồn của gói tin mới nhận được. Cái này sẽ giúp sw hoàn thiện bảng sw table của mình. Khi lấy được mac này sw sẽ lưu vào bảng của mình dưới dạng MAC xyz tương ứng với port abc. Như vậy sau này tất cả các máy trong mạng nối vào sw đều có 1 dòng là MAC xyz -> port (INT) abc. Việc này để làm gì. Chính là để thực hiện chức năng thứ 2 của sw.
Giả sử tôi ở PC1 muốn truyền 1 gói tin cho pc3. (coi là gói unicast). Tôi phải truyền qua sw. Vậy sw làm cách nào để truyền tới đúng pc3.?
Đầu tiên gói tin của tôi từ pc1 truyền đến sw. sw sẽ làm nhiệm vụ 1 là cập nhật mac nguồn. Như vậy pc1 đã có 1 port tương ứng chịu trách nhiệm của sw. giả sử là port abc chẳng hạn.
Tiếp theo sw kiểm tra MAC đích xem đã có trong bảng sw chưa. Nếu có rồi thì sẽ có 1 dòng ghi là địa chỉ mac của pc3 -> port def. Công việc còn lại là forward gói tin đến cho pc3 thông qua port def.
Vậy nếu chưa có trong bảng sw. Sw sẽ forward ra tất cả các port của mình trừ port abc mà gói tin vừa gủi đến.
Có một nguyên tắc mà sw luôn tuân theo là không gửi lại đường gói tin đến.
Vậy cuối cùng pc3 cũng nhận được gói tin và quá trình reply lại tương tự như thế.
Chức năng thứ 3 là chức năng sử dụng stp để chống loop trong mạng. Chức năng này sẽ bàn đến riêng sau.
4. CÁC LOẠI GÓI TIN & CƠ CHẾ QUYẾT ĐỊNH CỦA SW
Có các loại gói tin như sau:
a. unicast: chỉ tới 1 diểm.
b. Multicast: tới đa điểm
c. broadcast: tới tất cả các điểm.
Vậy phân loại như thế để làm gì khi ta đang nói về sw. Chính là để xem cơ chế quyết định forward hay không của sw.
Câu hỏi luôn có trong đầu của sw là “có forward hay không?” đại loại như tobe or not tobe vậy. Để trả lời câu hỏi này cách hay nhất là xem khi nào thì được forward. Khi nào broadcast. Khi nào block.
Khi nào broadcast: khi là loại gói tin broadcast, multicast và unknown unicast. Có lẽ đa phần chỉ thắc mắc loại cuối. dịch nôm na là địa chỉ unicast chưa biết (chưa có trong bảng sw). Chính là trường hợp ví dụ ở trên khi PC3 chưa có trong bảng của sw.
Khi nào forward: khi có địa chỉ cụ thể thì sw sẽ forward. Nếu khác port. Nếu không thì sw không forward gói tin đó.
5. CÁC TIẾN TRÌNH XỬ LÝ GÓI TIN
Khi 1 gói tin đến thì việc lưu trữ sẽ như thế nào, có lưu trữ không, lưu trữ bao nhiêu?
Câu trả lời là còn tùy cơ chế. Có 3 loại cơ chế lưu trữ và xử lý gói tin là store ‘n forward, cut through và fragment free. Trong đó cụ thể như sau:
a. store ‘n forward: tức là lấy toàn bộ gói tin về, lưu trong bộ nhớ, đọc mac đích rồi mới truyền gói tin đi. Cách này hay là đảm bảo sửa lỗi nhưng mà nhược là chậm.
b. cut through: lấy vừa đủ địa chỉ MAC đích. Đọc xong MAC đích là truyền luôn. Cách này nhanh nhưng mà không sửa được lỗi.
c. fragment free: Kết hợp 2 cách trên do tận dụng được 1 đặc điểm hay của CSMA/CD là nếu có lỗi do collision thì chắc chắn sẽ phát hiện được trong vòng 64byte đầu tiên. Vậy nên chỉ lấy đủ 64byte đầu tiên đủ để kiểm tra lỗi và đọc mac đích rồi truyền luôn.
6. SPANNING TREE
Lợi ích của spanning tree là gì? Tại sao phải dùng spanning tree.
Điều này do nguyên nhân thực tiễn gây ra. Khi thiết kế hệ thống bao giờ câc nhà thiết kế cũng sẽ thiết kế các đường dư thừa để tránh việc đứt 1 đường là cả mạng toi. Nhưng mà nếu thiết kế dư thừa thì lại bị loop mạng. Vậy để đảm bảo an toàn nhưng không bị loop thì phải dùng spanning tree.
Spanning tree là cơ chế quyết định block port nào, mở port nào, khi đứt 1 đường thì tự động mở đường còn lại như thế nào. Để đảm bảo “an toàn mà không bị loop”.
Vậy cụ thể nó làm như thế nào?
Đầu tiên là việc bỏ phiếu bầu root sw. ví dụ có 3 cái sw nối với nhau như sau:

Kiểu gì cũng có 1 đường thừa. Nếu vậy chắc chắn phải dùng stp. Vậy sw nào sẽ là root sw và làm thế nào để đi bầu cử?
Đầu tiên là bản tin hello bpdu có 3 trường quan trọng sau:
a. BID của root sw
b. Cost: giá từ root cho đến sw này.
c. BID của sw này.
BID là bridge ID gồm có 8 byte trong đó 2 byte đầu là priority, 6 byte sau là địa chỉ MAC của sw đó. Sw nào có BID nhỏ nhất sẽ là root. Cơ chế bầu cử như sau:
Vậy ban đầu chưa có ai là root nên tất cả các sw đều tự coi mình ra root và gửi các bản tin tới các sw khác để báo rằng mình là root. Bản tin ấy sẽ có nội dung ntn?
Với sw1 vì đang tự coi mình là root nên bản tin từ sw1 đi sw2 và 3 có BID của root là BID của sw1, cost = 0.
Với sw2 vì đang tự coi mình là root nên bản tin từ sw1 đi sw1 và 3 có BID của root là BID của sw2, cost = 0.
Tương tự với sw3. Khi sw2 nhận được bản tin từ sw1 nó sẽ so sánh BID của sw1 với BID của nó. Giả sử BID của sw1 nhỏ nhất. Vậy sw2 đã thua sw1 và từ đây sw2 chỉ truyền bản bin báo là sw1 là root. Về phần mình sw1 nhận được của sw2 cũng đem so sách nhưng thấy sw2 thua nên nó lại gửi bản tin báo mình là root. Tương tự với sw3. Cuối cùng chỉ còn 1 bản tin xác nhận sw1 là root. Sw1 đã chiến thắng.
Khi này tất cả các port của sw1 đều gọi là designated port (d-port) và ở chế độ forwarding. Tiếp theo mỗi sw mà không phải là sw root được phép nhận 1 port là root port. Root port là port có cost đến root sw là nhỏ nhất. Các root port này đều được mở ở chế độ forward.
Cuôic sùng mỗi 1 LAN segment sẽ có được 1 port nưa gọi là designated port được phép forwarding. Port này xác định bằng cost nhỏ nhất tới root từ các port cùng segment.
Các thành phần còn lại được block hết.
Khi này mạng đã thiết lập xong và chạy ổn định. Vậy stp làm gì.? Các việc mà stp sẽ làm như sau:
a. đầu tiên root sw sẽ gửi các bản tin hello bpdu tới các sw thành viên.
b. các sw nhận được lại tiếp tục forward bản tin ra cổng designated của sw đó.
c. sau 2s root lại tiếp tục gửi gói tin hello bpdu.
d. Một sw không nhận được gói tin này từ root trong khoang tg > maxage thì sẽ phải có action.
Vậy action đó là gì.

(cái này chưa kịp ghi lại. Sẽ hoàn thiện sau.)

2 comments:

  1. bạn tiếp tục viết nha,mình cũng đang ôn thi ccna ,chúc bạn ôn thi thành công hehe

    ReplyDelete
  2. oh my god.viết tiếp đi cậu.Lười rùi à.Cho tớ tham khảo tí tẹo nào

    ReplyDelete