2020. 10. 16. 20:55ㆍ네트워크
지금 생각하면 졸라 간단한건데 잘 몰라서 계속 헷갈렸던것..ㅎㅎ
www.netmanias.com/ko/?m=view&id=blog&no=5502
이 글이 제일 정리가 잘 되어있다.
svr1에서 svr3으로 통신을 하고 싶으면 어떻게 할까?
일단 svr1은 자신의 routing 테이블을 참조할 것이다.
(테이블은 총
routing 테이블
arp 테이블
mac 테이블이있다.)
routing테이블에는 당연히 svr3의 정보가 없으니 default gateway인 1.1.1.1로 패킷을 보내게 된다. 이때의 패킷은 이렇게 생겼다.
smac dmac sip dip
m1 ff:ff:ff:ff:ff:Ff 1.1.1.10 1.1.1.1
(dmac이 ff:ff... 인 이유는 브로드 캐스트이기 때문이다. arp 패킷을 송신하려면 dmac을 알아야 하는데 모르니까 들어온 포트를 제외한 모든 포트로 브로드캐스트를 플러딩한다.브로드캐스트는 무조건 수신하게 되어있다.)
이 패킷을 수신한 switch1은 mac learning을 한다. -->아하! fe1번에 m1이 있구나~
이 패킷을 수신한 svr2는 패킷에서 dip가 자신의 것이 아님을 확인하고 버린다(drop).
R1은 이 패킷을 받고 IP주소 1.1.1.1이 자신의 것임을 확인하고 MAC주소에 자신의 m1을 적어넣는다. R1은 1.1.1.1에 대한 MAC 주소 m1을 넣고 arp reply 패킷을 1.1.1.10으로 보낸다.
그때의 패킷은 다음과 같다
.smac dmac sip dip
a1 m1 1.1.1.1 1.1.1.10
이때는 브로드캐스트가 아닌 목적지가 확실한 유니캐스트로 보낸다!
이 패킷을 수신한 switch1은 mac learning을 한다. --> 앟! fe3번에 a1이 있군~!
그럼 이제 svr1은 svr3으로 ip 패킷을 보낸다. 그 패킷은 이렇게 생겼다.
smac dmac sip dip
m1 a1 1.1.1.10 2.1.1.30
이 패킷을 수신한 switch1은 자신의 mac 테이블을 살피는데 세상에~~ 이미 learning 되어잇자나~ a1이 있는 포트 f3을 패킷을 보낸다.
이 패킷을 수신한 R1은 자신의 Routing 테이블에 dip 2.1.1.30이 자신과 connection되어있다는 사실을 안다. 따라서 R1은 2.1.1.30에 대한 MAC 주소만 있으면 통신할 수 있다! 따라서 R1은 ARP Request 패킷을 ge2/1로 보낸다.
그 때의 패킷은 다음과 같다.
smac dmac sip dip
a2 ff:ff:ff:ff:ff:ff 2.1.1.1 2.1.1.30
이 패킷을 수신한 Switch2는 MAC learning을 하게 된다. --> fe3에 a2가 있넹!
브로드 캐스트이므로 들어온 포트를 제외한 모든 포트로 플러딩을 한다! 이 패킷은 svr3과 svr4에게 간다.
svr3은 패킷을 보고 2.1.1.30인 자신을 찾는 패킷임을 알게 된다! 그래서 이 패킷에 자신의 mac주소를 넣는다.
svr4는 자신의 ip가 아니므로 drop 시킨다.
svr3는 arp reply를 보낸다. 응답 패킷은 이렇게 생겼다.
smac dmac sip dip
m3 a2 2.1.1.30 2.1.1.1
이 패킷을 수신한 switch2는 mac learning을 수행한다. --> fe1에 m3가 있어!
그리고 이 패킷을 2.1.1.1에게 전달한다.
이제 svr3의 mac주소를 알게 되었으므로 R1은 svr1이 보낸 패킷을 svr3로 라우팅 시킬 수 있다.
smac dmac sip dip
a2 m3 1.1.1.10 2.1.1.30
이러면 이제 svr1과 svr3의 통신이 가능해진다 야호~
'네트워크' 카테고리의 다른 글
네트워크 통신 방식 (0) | 2020.10.21 |
---|---|
OSI 7 Layer (0) | 2020.10.21 |
네트워크 기초 (0) | 2020.10.16 |
2강- 네트워크 모델과 표준 프로토콜 (0) | 2020.09.28 |
1강- 네트워크 구조와 종류 (0) | 2020.09.28 |