Reg. Date: June 09, 2004 By Han Jong Cheol
>질문인대여 ip주소가 있는데 왜 mac주소를 사용하져
>통신을 할떄는 어차피 ip주소로 하는데 mac주소가 필요한 이유가 뭐져 ^^어차피 라우터를 통과하지 못하는 mac주소가 필요한 이유룰 모르겠어요 본인 라우터의 mac 주소를 보낸는데
>이유즘 자세히 설명즘 질문 부탁드립니다..
>
>
PC1------------------------R1-------------------------R2----------------PC2
fe0/1 fe0/0 fe0/1 fe0/0
PC 1 의 mac : 00:00:00:00:00:01
PC 2의 ip : 10.0.0.1/24
R1에서의 fe 0/1의 mac : 00:aa:00:00:00:01
fe 0/1 의 ip : 10.0.0.254/24
R1에서의 fe 0/0의 mac : 00:bb:00:00:00:01
fc0/0의 ip : 20.0.0.1/24
R2에서의 fe 0/1의 mac : 00:cc:00:00:00:01
fe 0/1 의 ip : 20.0.0.254/24
R2에서의 fe 0/0의 mac : 00:dd:00:00:00:01
fc0/0의 ip : 30.0.0.254/24
PC2에서의 mac : 00:ff:00:00:00:01
pc2에서의 ip : 30.0.0.1/24
라고 했을때 ( 종이에 그려 보세요 ㅎㅎ )
pc1에서 pc2로 packet을 보냅니다
그러면 먼저 pc1에서 R1의 fe 0/1로 보내는 packet은
dest mac : 00:aa:00:00:00:01
source mac : 00:00:00:00:00:01
dest ip : 30.0.0.1
source ip : 10.0.0.1
이 됩니다
이때 PC1에서 PC2로의 경로는 L3입니다 즉 Routing 경로를 생각 해야죠
하지만 PC1에서 R1까지는 같은 subnet내의 구간 이므로 L2가 됩니다
즉 PC1에서 packet을 보낼때 destination ip에 대해서는 PC2를 설정 해서
보내지만 그보다도 먼저 PC2로 보내기 위해서는 R1을 경유 해야 하기 때문에
R1으로 보내기 위해서 ( 같은 subnet 내이므로 )
L2 layer를 이용하는거져
그럼 R1에서 해당 packet을 수신 하였다면 어떻게 될까요?
L3는 변하지 않습니다
다만 R1에서는 Routing Table을 검색해서 30.0.0.0/24 network은 fe0/0로 forwarding하면
된다는것을 알기 때문에 수신한 packet의 수정하여 R2로 보내는것이져
이때 R1과 R2사이또한 같은 subnet구간이므로 L2통신을 통해서 보내는것이져
즉
PC1에서 R1으로 보낼때에는
dest mac : 00:aa:00:00:00:01
source mac : 00:00:00:00:00:01
dest ip : 30.0.0.1
source ip : 10.0.0.1
와 같이 보내지만 R1에서 R2로 보낼때에는 Source mac을 R1 자신의 ip로 바꿔서 보내고
dest mac 또한 R2장비의 mac으로 보내는것이져 ( ARP등을 통해서 상대방 interface의 mac은
이미 알고 있을때...)
그러면 R1에서 R2로 보내질때의 packet의 모습은 다음과 같이 되죠
dest mac : 00:cc:00:00:00:01
source mac : 00:bb:00:00:00:01
dest ip : 30.0.0.1
source ip : 10.0.0.1
이렇게 해서 해당 packet은 R2까지 전달 되고 같은 방법으로 PC2까지 Routing 및 스위칭을
통해서 보내지게 됩니다
반대 방향도 마찬가지죠!
즉 L3구간은 전체적인 경로에 대해서 해당 packet을 어떤 interface로 보낼지에 대해서
정의를 하는것이고 L2에서는 장비에서 장비로 보낼때 어떻게 보낼지 등에 대해서
설정 되는것이져
이해가 잘 되실지...
한번 종이에 그려서 해보세요