View Full Version : hoi ve Switch: CAM table? Fast forward và fragment free?
friendship
07-11-2003, 09:55 AM
Các anh chị cho em hỏi thuật ngử CAM (content-addressable memory) nghĩa là gì vậy? Làm sao mà Switch có thể learning address và fitering frame? port-based memory và shared memory khác nhau như thế nào?
và sự khác nhau giữa Fast-forward và fragment-free?
em đọc tài liệu rồi nhưng sao thấy mơ huyển (mờ) quá.
Mong các anh chi ai biết chỉ dùm. Xin thành thật cám ơn :( :?:
switch là một thiết bị lớp 2 nên cơ chế filter của nó dựa vào địa chỉ MAC,lúc đầu khi bật switch thì bảng MAC của nó không có thông tin gì cả(vì MAC table được lưu trong RAM).
pc1---|Sw1|----pc3
pc2---| |----pc4
Nếu pc1 gửi 1 message đế cho pc2 chẳng hạn,khi message đến Switch thì nó sẽ add thông tin về pc1 và nó đã biết pc1 ở port nào và do chưa biết pc2 ở đâu nên nó forward gói tin wa,,pc2 khi nhận được message từ pc1 nó sẽ reply lại pc2 ,khi message này đến switch nó sẽ add thông tin về cổng của pc2,và do đã biết port của pc1 nó sẽ chỉ chuyển message đến cho pc1 mà không forward,cứ như vậy sau 1 vài traffic thì bảng MAC của nó sẽ có đầy đủ thông tin về các pc trong mạng.
Còn về các mode của switch thì có 3 mode:cut-through, store-and-forward, fragment-free:
Cut-through thì sẽ forward ngay khi nhận được địa chỉ MAC đích==>không check lỗi nhưng lại nhanh.
Store-and-forward thì sẽ nhận toàn bộ message check lỗi rồi mới forward==> reliable nhưng chậm.
Fragment-free thì kết hợp ưu điểm của cả 2 mode trên: nó sẽ forward khi nhận 64 bytes đầu tiên.Hi vọng giúp được bạn phần nào.
cis_hat
07-11-2003, 08:30 PM
Khi 1 switch nhận được frame ở 1 port và chuyển frame đó đến port đích nhưng port đích chưa sẵng sàng để nhận frame thì switch chuyển frame vào queue ở 1 vùng nhớ nào đó cho đến khi nào port đích rảnh. ( queue hoạt động theo cách frame nào đến trước thì được chuyển đi trước )
Có 2 vùng nhớ để switch queue frame là port-based memory và shared memory
* Port-based memory là vùng nhớ có trên từng port của switch , delay nhieu hơn
ví dụ port 10 nhận được 3 frame theo thứ tự A rồi đến B rồi đến C và cần chuyển đến các port khác . Giả sử switch xác định cần phải chuyển A đến port 1 , B đến port 2 , C đến port 3. Nhưng 3 port trên đang bận nên switch phải chuyển A, B, C vào vùng nhớ của port 10. Khoảng 1 thòi gian sau thì port 3 rảnh nhưng port 1 chưa rảnh nên chưa thể chuyên frame A đi được , mà A chưa đi thì B chưa đi nên C không đi được mặc dù port 3 rảnh ---> tạo delay
* Shared memory : tất cả các port đều dùng chung vùng nhớ
trong ví dụ trên : 3 frame A, B, C sẻ được chuyển lên shared mem , port nào rảnh thì cứ lên shared mem rồi lấy frame thích hợp cho mình và chuyển di
friendship
08-11-2003, 09:12 AM
Cảm ơn các Anh nhiều lắm.
Nhưng còn vấn đề này em muốn hỏi, ở chế độ mode Fragment-free tại sao nó lại chọn 64 byte đầu tiên để forward mà không chọn 65 byte hoặc nhiều hơn, vì em đọc tài liệu thấy nói rằng : "In a properly functioning network. collision fragment must be small than 64 bytes :?: . Anything greater than 64 byte is a valid packet and usually received without error. In fragment-free mode, latency is measured as FIFO :?: "
diendan
08-11-2003, 01:19 PM
64 Bytes bao gồm:
*46 Bytes cho Payload
*4 Bytes CRC
*2 Bytes kiểu MAC
*6 Bytes Địa chỉ MAC nguồn
*6 Bytes địa chỉ MAC đích
Và để dò đường chỉ cần sử dụng 64 Bytes, đủ để đảm bào là gói tin gửi đi là không lỗi định dạng, hoặch là gói tin bị fragment.
Xin bạn xem thêm 802.3 Ethernet Frame.
Câu hỏi mà friendship đưa ra khá thú vị đấy chứ
Theo mình biết thì thời gian mà frame truyền từ lớp data-link xuống lớp physical là 51.2 microsecond. Mà theo chuẩn Ethernet (10M) thì trong khoảng 51.2 microsecond sẽ cần 64byte :shock:
Cảm ơn các Anh nhiều lắm.
Nhưng còn vấn đề này em muốn hỏi, ở chế độ mode Fragment-free tại sao nó lại chọn 64 byte đầu tiên để forward mà không chọn 65 byte hoặc nhiều hơn, vì em đọc tài liệu thấy nói rằng : "In a properly functioning network. collision fragment must be small than 64 bytes :?: . Anything greater than 64 byte is a valid packet and usually received without error. In fragment-free mode, latency is measured as FIFO :?: "
Chào bạn, mạng ethernet sử dụng CSMA/CD, trước khi 1 host truyền frame thì phải xem có collison không nên cần 1 khoảng thời gian để detect and report collisions. Đối với mạng ethernet 10Mbps khoảng thời gian này là 51.2 microsecond như bạn UFO có nói. But why?
Thời gian này là khoảng thời gian tối thiểu được tính dựa trên kích thước frame ethernet nhỏ nhất 64 byte = 512 bit, mỗi bít khi truyền chiếm 0.1 microsecond => slot time = 0.1 x 512 = 51.2 microsecond
http://www.vnpro.org/forum/download.php?id=240
Do đó, mỗi thiết bị cần một khoảng thời gian cơ sở 51.2/2 = 26.6 microsecond để đảm bảo detect and report collision khi truyền frame có kích thước nhỏ nhất.
friendship
10-11-2003, 01:49 AM
Khi em cắm dây và switch thấy đẻn chuyển từ vàng sang xanh rổi chớp chớp rồi lại xanh. Em nghĩ là chắc nó đang chạy STP thì phải !!! Vậy nếu vậy thì có mối liên hệ giử đèn và STP không nhỉ ?
Càm ơn Anh Neo và UFO nha.
(Một màu cam cam, chớp thêm vàng vảng, cánh đồng xanh....)
hihihi khuya quá rồi em đi ngủ đây....[scroll:6b0b490faf][/scroll:6b0b490faf][scroll:6b0b490faf][/scroll:6b0b490faf]
luancb
23-03-2009, 10:24 PM
khi khởi động SW, bạn thấy đèn màu vàng vàng, là sw đang tiến trình bầu chọn STP.
Powered by vBulletin® Version 4.1.9 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.