Như vậy, về lý thuyết và qui định MAC là duy nhất cho tất cả thiết bị
trên toàn thế giới, không thể trùng được. Trừ khi bạn cố tình thay đổi
nó (nhất là SV UIT hay quậy phá thay đổi MAC), đơn giản nhất là dùng
SMAC Professional.khakha.
Quay lại vấn đề đặt ra: trùng MAC (giả định) thì chuyện gì xảy ra?
Do giả định nên tui cũng giải thích theo giả định:
- Thực tế khi làm trên thiết bị thật (Switch Cisco) chẳng hạn, việc
này hoàn toàn không xảy ra, do cơ chế tự học MAC, quá trình cập nhật
bảng CAM,....do đó khi có trùng MAC thì không thể connect được. Huống
hồ chi các bạn đòi PING....Không tin các bạn cứ làm trên thiết bị
thật, tại bảng CAM có hai MAC trùng nhau, dùng debug xem switch xử lý
thế nào.
- Thứ 2: Theo nguyên tắc, anh nào đến trước ưu tiên trước, do đó nếu
có (giả sử) trùng MAC thì anh đến sau sẽ out.
- Thứ 3: Giải thiết các bạn đưa ra chỉ thực hiện trên môi trường ảo
(VMWare), do đó chuyện gì xảy ra chúng ta biết rùi đó, vì đơn giản
VMWare chỉ là phần mềm giả lập --> không giống hoàn toàn thiết bị
thật.
Vấn đề bạn đưa ra là SW L2, đối với Multilayer Switch thì chuyện sẽ
khác.
------------------------------
Còn theo giải thuyết của Nam Thế:
Thầy có một số ý kiến sau:
-Tình huống bạn đưa ra là trong bảng MAC table có 2 port có cùng MAC
address thì switch sẽ xử lý ra sao đúng không?
- Thứ nhất: Các card mạng luôn trao đổi các thông tin về nó đối với
các thiết bị khác theo một chu kỳ nhất định chứ. Chính vì vậy máy nào
reg trước với mạng ( bật máy trước ) thì mới được quyền truyền dữ liệu
trên mạng còn máy vào sau ( bật máy sau và máy kia chưa tắt) thì sẽ
nhận được thông báo MAC conflict và nó sẽ không thể hoạt động được
trên mạng.
- Nếu 2 máy cũng online va ở cùng 1 broadcast domain thi switch se
lien tuc thay đổi giá tri cua bảng theo dõi port-MAC tùy theo máy nào
gửi thông tin đến switch. Còn nếu khác broadcast domain thi địa chỉ
MAC cũng chẳng ý nghĩa gì. Với router thì phải giả địa chỉ IP nhưng
nếu 2 máy có cùng IP address thì cả 2 máy đều bị dissconect (Cái này
thì mình bị thường xuyên). (Theo Vnpro)
- Nếu chỉ 1 máy online thi chẳng có gì để bàn cả.
- Khi nhận thấy có nhiều port cùng MAC của des, switch forword packet
cho tất cả. Ở từng host sẽ tiến hành un-encap theo mô hình OSI. Khi
gói tin ở tất cả các host vượt qua lớp 2(vì giống MAC), ở lớp 3 sẽ
tiến hành kiểm tra IP des. Các gói tin sẽ bị lọc hết (vì không giả mạo
được IP) trừ host duy nhất.
Vài dòng thảo luận
Thầy Chiêu
(tham khảo nguồn: Vnpro)
Hình như đối với MAC thì không có thông bác trùng MAC nhưng IPv4 thì
có:
http://www.networksorcery.com/enp/rfc/rfc5227.txt
Bảng CAM ban đầu chưa có gì hết. A cắm vào port 1 của Switch, B cắm vào port 2 của switch.
A ping cho B:
-IP nguồn : địa chỉ của A
-IP đích: địa chỉ của B.
-Mac nguồn: Mac A
-Mac đích: chưa có
Khi gói tin đến switch, switch sẽ học Mac A từ port 1. Mac B chưa biết sẽ dùng ARP để hỏi địa chỉ Mac B.Gói tin ARP sẽ Broadcast ra tất cả các port trừ port nó nhận vào là Port 1.
Khi thằng B nhận dc, nó sẽ trả địa chỉ Mac B về, khi gói tin đến Switch, switch nhìn vào thấy địa chỉ Mac B (do trùng Mac A) đã có trong bảng CAM rồi?
Vậy ở đây nó có học Mac B từ port 2 không?
Bài này được viết năm 2000. Không biết có chính xác không, vì thấy ở
dưới có tài liệu tham khảo có vẻ chuyên ngiệp :D
Và đây là mình tìm được một member post ở box thảo luận của VNpro
"Chào các bạn!
Tôi cũng đang rất quan tâm đến câu hỏi này. Nơi tôi ở nhà cung cẩp
dịch vụ internet dùng DHCP cấp phát IP thông qua MAC, và tính tiền
thông qua IP này ( tính theo traffic). Trước kia tôi cũng nghĩ MAC là
duy nhất và không thể thay đổi. Nhưng thời gian gần đây xảy ra hiện
tượng ăn cắp-không dùng gì mà traffic của mình rất cao. :x.
Tôi phát hiện ra việc thay MAC khá dễ dàng nếu như biết MAC của máy
khác, tuy nhiên không phải loại card LAN nào cũng làm được
General-> configure->advaced->Network Address-> (và thay MAC của mày
khác vào đây)
(Dùng lệnh nbtstat có thể biết được MAC của máy khác.)
Khi đó tôi nghiễm nhiên dùng chùa thoải mái!!!!!!! "
topic nguyên ở đây:http://vnpro.org/forum/showthread.php/920-
%C4%90%E1%BB%A5ng-%C4%91%E1%BB%99-MAC-address/page2
Nếu vậy thì việc 2 địa chỉ MAC trùng vẫn có trường hợp chạy được.
Hơn nữa việc IP conflict thì ai cũng rõ là nếu reg 2 IP giống nhau sẽ
bị thông báo và ko đc chấp nhận.
Nhưng về việc MAC conflict thì mình chưa bao giờ gặp thông báo như
thầy Dũng nói.
Tìm trên google thì việc MAC conflict hầu như ít tài liệu nói, chỉ có
là thắc mắc của ai đó thôi.
Mình đã thử change MAC máy mình giống với máy khác ở trong LAN ( cùng
cắm SW ) thì ko gặp trở ngại gì.
On Oct 22, 9:01 pm, Sad <sad.fu...@gmail.com> wrote:
> On 10/22/2010 3:42 PM, Dao Nguyen wrote:
>
> > Bảng CAM ban đầu chưa có gì hết. A cắm vào port 1 của Switch, B cắm
> > vào port 2 của switch.
> > A ping cho B:
> > -IP nguồn : địa chỉ của A
> > -IP đích: địa chỉ của B.
> > -Mac nguồn: Mac A
> > -Mac đích: chưa có
> > Khi gói tin đến switch, switch sẽ học Mac A từ port 1. Mac B chưa biết
> > sẽ dùng ARP để hỏi địa chỉ Mac B.Gói tin ARP sẽ Broadcast ra tất cả
> > các port trừ port nó nhận vào là Port 1.
> > Khi thằng B nhận dc, nó sẽ trả địa chỉ Mac B về, khi gói tin đến
> > Switch, switch nhìn vào thấy địa chỉ Mac B (do trùng Mac A) đã có
> > trong bảng CAM rồi?
> > *Vậy ở đây nó có học Mac B từ port 2 không?*
ve viec trung IP, neu ban thiet lap IP tinh cho ca 2 may trong mang
LAN giong nhau thi cung chi co 1 may join vao dc ma thoi, may nao
online truoc se vao dc, tat nhien cung chj co canh bao conflict IP
thoi chu cung chang co gj xay ra !!!
Noi tom lai, MAC chj co y nghia trong1 mang LAN la chu yeu, va viec
trung MAC giua 2 may trong mang LAN la chuyen trong " tri tuong tuong"
ma thoi! ( Di nhien ko cung 1 mang thi co the trung do chung ta thay
doi)
Tat nhien se co van de dat ra la vay thi MAC de lam gj? Tai sao van
phai su dung MAC?
Cac ban hay doc ve ARP va RARP se hieu them !
Than,
--
Sent from my mobile device
Best Regards,
Khương. Lê Huỳnh (Mr,)
-------------------------------------
Nothing is impossible !
----------
---
Skype: lehuynhkhuong
Y! messenger: nevermoresf13
[image: Facebook] <http://www.facebook.com/nevermoresf13>
Vào 22:01 Ngày 22 tháng 10 năm 2010, Khuong Le
<lehuyn...@gmail.com> đã viết:
--
Lương Vĩnh Thảo
Mạng Máy Tính và Truyền Thông
Đại Học Công Nghệ Thông Tin
Phone: 0935894664
Email: luongv...@gmail.com
Còn về việc nguồn tin tham khảo trên vnpro thì bạn Khương coi lại nhé,
mình có đưa topic lên, bạn đọc kĩ hết thì rõ, có lẽ thầy Chiêu cũng
đọc từ topic này mà ra thôi. "cái này mình bị disconnect thường xuyên"
=> không khác gì một câu bên post ở topic mình đưa. Nếu thầy chiêu
tham khảo bên vnpro thì em xin mạn phép thầy đưa link để dẫn chứng.
Chứ nói vnpro thì chung quá.
Mình có đưa cái link web đầu tiên đó, các bạn xem thử phần MAC
duplicating như thế nào. Nó diễn tả cũng khá chi tiết, thấy nó ghi
nguồn thao khảo nhiều trang có vẻ uy tín, nhưng mà nó viết năm 2000,
ko biết lúc đó SW mới ra đời có hoạt động giống giờ ko, vì có thể
khác, nên làm được việc đó.
Mình chỉ xin nói lại là việc báo conflict 2 MAC trùng nhau là ko có,
ko hề nhận được thông báo nào.
Thứ 2 là có thể trong môi trường cấp DHCP thì ko thể làm được, mình sẽ
thử test trên các máy cắm sw ko có dhcp xem sao :)
Còn thực hư 2 mac trùng trên CAM ở 2 port khác nhau thì mình cũng chả
biết đúng hay sai nữa :(
On Oct 22, 10:17 pm, vinhthao luong <luongvinht...@gmail.com> wrote:
> bạn voky nói 2 máy cùng MAC gắn vào SW thì không gặp trở ngại gì là
> sao. Tức là bạn có thể ping được từ máy này sang máy kia à. Bạn có thể
> bắt gói tin và đưa lên đây cho mọi người cùng tham khảo không.
>
> Vào 22:01 Ngày 22 tháng 10 năm 2010, Khuong Le
> <lehuynhkhu...@gmail.com> đã viết:
> Email: luongvinht...@gmail.com
Minh cung xin noi them, chac ai cung biet ve NetCut, no hoat dong theo
cach gia mao MAC cua cac may khac de kickout cac may ra khoi mang LAN,
dieu do xay ra vi ko the co >2 may trung MAC ( cung nhu IP) trong mang
LAN !
Than,
On Oct 22, 11:12 pm, sang cnt <sang...@gmail.com> wrote:
> Tất nhiên trong bản CAM của Switch không thể chứa 2 port có cùng địa chỉ MAC
> được. Trong một thời điểm thì một địa chỉ MAC chỉ ánh xạ đến một port duy
> nhất. Nhưng ánh xạ này sẽ thay đổi liên tục.
> Nói chung mình đồng ý với kết quả của bạn Nam Thế, mặc dù quy trình phân
> tích có thể không hoàn hảo. Hai máy có cùng địa chỉ MAC sẽ không ping thành
> công lẫn nhau, nhưng có thể ping với một máy thứ 3.
> p/s: Bạn Khuong Le lần sau ghi có dấu dùm, đọc đau mắt quá :(
>
> Vào 22:59 Ngày 22 tháng 10 năm 2010, Hưng Võ Trung
> <hungvotr...@gmail.com>đã viết:
>
> > @vokycaca: Nếu 2 máy trùng MAC nhưng mọi chuyện vẫn ổn thì có thể giải
> > thích do switch của bạn chấp nhận có 2 port cùng đc MAC. Lúc đó các
> > gói tin đề được chuyển qua cả 2 port đó (nó hoạt động chẳng khác gì
> > hub cả).
> > Vậy MAC có ý nghĩa gì? MAC giúp xác định frame nào thuộc về host nào
> > vì vậy khi nhận được frame, NIC - bình thường - sẽ kiểm tra xem địa
> > chỉ MAC có phải của nó hay không? nếu đúng nó nhận tiếp tục đi lên các
> > tầng trên. Nếu không --> drop. Việc này do driver của NIC đảm nhiệm.
> > Còn khi NIC đang ở chế độ Promiscuous Mode thì nó sẽ nhận tất tần tật
> > các frame tới - cái này cần sự hỗ trợ của NIC (phần lớn card mạng đều
> > hỗ trợ) + driver.
>
> --
> *Cao Nguyễn Trung Sang*
> *University of Infomation Technology*
> Yh: Sangcnt159
> Email: Sang...@gmail.com
On Oct 22, 11:40 pm, sang cnt <sang...@gmail.com> wrote:
> Bạn Hưng không hiểu ý mình rồi. Hai máy đó cùng nói chuyện với máy thứ 3
> không có nghĩa là 2 port có cùng địa chỉ MAC. Và điều này xảy ra mặc dù có
> hạn chế của nó (sẽ giải thích ở phía dưới).
> Ví dụ như lúc này máy B có cùng địa chỉ MAC (giả sử là 0A) với máy A và join
> vào mạng sau máy A, và lúc này trong bản CAM địa chỉ 0A ứng với port 0/1
> (kết nối với máy A).
> - Lúc này khi ping từ máy B đến máy thứ ba (là C): trong quá trình chuyển
> frame thì switch sẽ lưu lại MAC source của máy B => 0A lúc này sẽ ứng với
> port 0/2 (kết nối với máy B) => trafic trả về thành công.
> - Khi đó ping từ C đến B cũng bình thường. Nhưng ping từ C đến A sẽ không
> thành công, vì trafic sẽ trả về cho port 0/2. Tuy vậy, khi ping từ A đến C
> sẽ thành công (lý giải như khi từ B đến C ở phía trên). => Đó chính là hạn
> chế.
>
> Vào 23:20 Ngày 22 tháng 10 năm 2010, Hưng Võ Trung
> <hungvotr...@gmail.com>đã viết:
Learning
The MAC table must be populated with MAC addresses and their
corresponding ports. The Learning process allows these mappings to be
dynamically acquired during normal operation.
As each frame enters the switch, the switch examines the source MAC
address. Using a lookup procedure, the switch determines if the table
already contains an entry for that MAC address. If no entry exists, the
switch creates a new entry in the MAC table using the source MAC address
and pairs the address with the port on which the entry arrived. The
switch now can use this mapping to forward frames to this node.
Aging
The entries in the MAC table acquired by the Learning process are time
stamped. This timestamp is used as a means for removing old entries in
the MAC table. After an entry in the MAC table is made, a procedure
begins a countdown, using the timestamp as the beginning value. After
the value reaches 0, the entry in the table will be refreshed when the
switch next receives a frame from that node on the same port.
If the switch does not know to which port to send a frame because the
destination MAC address is not in the MAC table, the switch sends the
frame to all ports except the port on which the frame arrived. The
process of sending a frame to all segments is known as flooding. The
switch does not forward the frame to the port on which it arrived
because any destination on that segment will have already received the
frame. Flooding is also used for frames sent to the broadcast MAC address.
Filtering
In some cases, a frame is not forwarded. This process is called frame
filtering. One use of filtering has already been described: a switch
does not forward a frame to the same port on which it arrived. A switch
will also drop a corrupt frame. If a frame fails a CRC check, the frame
is dropped. An additional reason for filtering a frame is security. A
switch has security settings for blocking frames to and/or from
selective MAC addresses or specific ports.
---------------------------------------------------------------------------------------------------------------------------------------------------------------
Như vậy thì 1 địa chỉ MAC trùng không thể tồn tại ở 2 port được. Khi nó
nhận 1 frame nó kiểm tra trong bảng CAM của mình, nếu đã tồn tại thì nó
ko có ghi đè địa chỉ MAC. Thân!
"
Theo mình biết là trong bảng CAM có thể có nhiều mac ở cùng 1 port
nhưng không thể tồn tại 1 mac ở 2 port khác nhau. Nếu switch nhận đc
traffic thì nó sẽ ghi source mac của traffic đó vào bảng cam, nếu
trùng thì nó sẽ ghi đè lên cái cũ, và port tồn tại trên bảng cam là
port vừa nhận được traffic mới nhất.
"
Đoạn này theo mình không chính xác, vì nếu như vậy thì VD nhé:
Máy A nằm ở port 1
Máy B nằm ở port 2
Máy C nằm ở port 3
MAC A = MAC B
A ping đến C: MAC A sẽ được ghi trên bảng CAM ở port 1, gói tin trả về
vẫn đúng với PC A
B ping đến C: MAC B sẽ được ghi trên bảng CAM, và khi đó MAC B = MAC A ở
port 2, gói tin trả về vẫn về PC B. Như vậy việc truyền thông này thành
công.
Đó là mình giả sửa mới mở lên bảng CAM có sẵn địa chỉ của C. Chứ trên
thật tế bảng CAM khi mới khởi động lên là 1 bảng trắng.
Thì đúng là không tồn tại 2 port cùng đi ra 1 địa chỉ MAC nên khi
trùng nó mới phải ghi đè đó.
Thí dụ trong CAM đang là:
aa.aa.aa.aa.aa.aa f0/1
Nếu ở port f0/2 cũng có mac là aa.aa.aa.aa.aa.aa , thì không thể tồn
tại 2 dòng:
aa.aa.aa.aa.aa.aa f0/1
aa.aa.aa.aa.aa.aa f0/2
Mà nó sẽ chỉ có dòng:
aa.aa.aa.aa.aa.aa f0/2
Quá trình từ f0/1 sang f0/2 mình gọi là ghi đè, nhưng bản chất thực sự
của nó là gì mình cũng không rõ, có thể là nó xóa cái dòng
aa.aa.aa.aa.aa.aa f0/1, rồi ghi lại cái aa.aa.aa.aa.aa.aa f0/2 ở
dưới, hoặc là nó sửa trực tiếp lên cái dòng aa.aa.aa.aa.aa.aa f0/1
luôn. Dù làm gì thì bản chất của nó cũng là bỏ cái cũ, học cái mới.
>> 2010/10/23 Sad <sad....@gmail.com <mailto:sad....@gmail.com>>
>>
>> On 10/23/2010 2:05 PM, Dao Nguyen wrote:
>>> "B ping đến C: MAC B sẽ được ghi trên bảng CAM"
>>> Khi bảng CAM đã có địa chỉ MAC của A rồi, làm sao khi B ping đến
>>> C, bảng CAM học được địa chỉ Mac của B.
>>>
>>> 2010/10/23 Sad <sad....@gmail.com <mailto:sad....@gmail.com>>
>>>
>>> On 10/23/2010 10:30 AM, Nam Thế wrote:
>>>
>>> Theo mình biết là trong bảng CAM có thể có nhiều mac ở
>>> cùng 1 port
>>> nhưng không thể tồn tại 1 mac ở 2 port khác nhau. Nếu
>>> switch nhận đc
>>> traffic thì nó sẽ ghi source mac của traffic đó vào bảng
>>> cam, nếu
>>> trùng thì nó sẽ ghi đè lên cái cũ, và port tồn tại trên
>>> bảng cam là
>>> port vừa nhận được traffic mới nhất. Như thầy cũng đã nói
>>> đấy:nếu 2
>>> máy cũng online va ở cùng 1 broadcast domain thi switch
>>> se lien tuc
>>> thay đổi giá tri cua bảng theo dõi port-MAC tùy theo máy
>>> nào gửi thông
>>> tin đến switch.. Nhưng biết thực hư thế nào thì chắc cũng
>>> phải làm như
>>> Andy nói là kiếm con switch thiệt rồi kiểm tra bảng CAM
>>> của nó, chứ
>>> nói ở đây không có TÀI LIỆU THAM KHẢO cũng hơi khó :D.
>>>
>>> On Oct 23, 12:23 am, Hưng Võ Trung<hungvotr...@gmail.com
>> nhatch...@yahoo.com <mailto:nhatch...@yahoo.com>
> Thật sự là về vấn đề này cũng có nhiều vấn đề tranh cãi. Như bạn An nói
> là đã làm ví dụ và nó xảy ra như thế à? Theo tất cả tài liệu mà mình
> tham khảo thì không có sự ghi đè địa chỉ MAC của nhau. VD: MAC AA nằm ở
> port A thì khi gói tin có địa chỉ MAC AA đến từ port B thì nó sẽ drop
> frame đó. Và địa chỉ MAC nằm trong bảng CAM là MAC AA vẫn nằm ở port A.
> Có đoạn trích dẫn mình đưa ra nằm trong giáo trình CCNA đó, các bạn theo
> dõi sẽ thấy. Đoạn ví dụ là mình viết ra rùi không nghĩ ra như thế nào để
> giải thích. Xin lỗi :(
>
--
Có bạn nào có tài liệu thực hành tuần thứ 3 môn VoIP thì share cho anh em với. Hôm đó đi học lại nên hôk có đi học được