[CCNA/네트워크] 6. 주소의 종류와 계층 별 네트워크 전송 장비(3)

금방 정리가 될 줄 알았는데 이거 설명하려니 저거 설명부터 해야 하고

이건 그냥 넘어가야 되고.. 하다보니 벌써 같은 챕터가 세 글에

나눠져버렸다..ㅋㅋㅋ

이게 이 챕의 마지막 포스팅이 되길 바라며

이번 포스팅에서는 필요한 개념들을 정리해가면서

3계층의 네트워크 전송 장비를 살피고, 데이터의 전송 과정을 전체적으로 살펴보고자 한다.

이전 포스팅을 읽으면서 알 수 있었던 것은

LAN 환경(주로 이더넷 환경)에서의 데이터 송수신에 사용하는 주소는

MAC Address였다는 것이다.

그럼 현재의 LAN을 벗어나 다른 LAN으로 데이터를 보내고자 할 때

거치는 WAN 영역에서 사용하는 주소는 무엇일까? 그게 바로 IP주소이다.

그리고 3계층 네트워크 전송 장비들은 이 IP주소를 참조하여

데이터가 WAN 환경으로 전송되는 시작부터 끝까지의 전송을 책임지게 된다.

먼저 3계층의 네트워크 전송 장비를 살펴보기 전에, 일단

Broadcast Domain의 개념을 살펴보자.

*Broadcast Domain

3계층에서 사용하는 IP프로토콜의 헤더 내부에 존재하는 IP 주소의 종류에는

3가지가 있었다.

유니캐스트 주소, 멀티캐스트 주소, 브로드캐스트 주소인데

이 중 브로드캐스트 주소는 특정한 수신 호스트의 주소 값을 의미하는 것이

아닌 자신을 제외한 모든 호스트들에게 데이터를 송신하겠다. 라는 의미를 갖는

주소 값이다. 네트워크 환경에 따라서 브로드캐스트를 의미하는 값은 다르지만,

그것은 IP주소를 정리할 때 보기로 하자.

Broadcast Domain이란 바로 자신을 제외한 모든 호스트들의 집합, 즉

브로드캐스트 주소로 데이터를 보냈을 때 수신하게 되는 모든 호스트들에

해당하는 영역을 Broadcast Domain이라 하는 것이다.




이 정도까지만 정리해두고, 3계층 네트워크 전송 장비에 대해서 살펴보자.


  • 라우터

라우터는 대표적인 3계층 네트워크 전송 장비로, 수신한 데이터의 IP 헤더의

IP주소를 참조하여 다른 라우터로 데이터를 보내게 된다.

스위치와 브릿지가 Mac Address Table을 갖는 것처럼, 라우터는

Routing Table(라우팅 테이블)을 가지며, 여기 저장된 정보에 따라서

데이터를 보낼 방향이 결정되게 된다. WAN 구간에서 가장 많이 쓰이는 장비이며

다른 네트워크(주로 LAN)들을 연결하는데 자주 이용하는 장비이다.

써놓고 보니 WAN구간에서 많이 쓰이는 장비라는 표현보다

WAN구간을 실제로 구현하는 장비라고 표현하는 게 더 맞는 것 같다.

또한 라우터는 Broadcast domain을 나눈다라고 표현을 하는데,

이는 아래 두 그림을 살펴보면 무슨 이야기인지 이해를 할 수 있다.


먼저 장비들을 표현하는 그림을 먼저 설명하면

<- : 허브
<- -> : 스위치
십자모양 -> : 라우터

이다. 주로 네트워크 토폴로지(네트워크의 논리적 구성도)에서 이렇게 그림을 그린다.

첫번째 그림을 보면 스위치를 기준으로 호스트들의 Collision Domain이 나누어지고,

라우터를 기준으로 Broadcast Domain이 나누어지는 것을 볼 수 있다.

Broadcast Domain 01 안에 존재하는 호스트가 브로드캐스트 주소를 이용해서

데이터를 보낸다고 생각해보자.

만약 라우터가 없다면, 자신을 제외한 모든 호스트에게 데이터를 보내므로

불필요한 데이터 송수신이 발생할 수 있다.(필요없는 데이터를 다른 호스트들이 받으므로)

하지만 라우터가 그림과 같이 브로드캐스트 도메인을 나누어줌으로서

데이터는 Broadcast Domain 01 안의 자신을 제외한 호스트들에게만 데이터를 보내고,

불필요한 데이터 송수신으로 인한 성능 저하를 막을 수 있다.

두번째 그림은 한 네트워크 토폴로지의 콜리전 도메인과 브로드캐스트 도메인을

다시 한 번 표시해 본 것이다.

이제 네트워크 전송 장비들에 대해 알아보았으니 데이터의 전달이 어떻게 되는지

전체적으로 그림을 살펴보자.

먼저 Local 환경 (LAN) 에서의 데이터 전송 시의 경우는 다음과 같다.

각 장비에 설정되어 있는 주소들이 다음과 같다고 하자.

PC0의 MAC Address      : 0050.3042.6a9b
PC0의 IP Address          : 192.168.1.1

PC1의 MAC Address      : 0030.a287.5d23
PC1의 IP Address          : 192.168.1.2

Router의 MAC Address  : 0090.2b13.7e25
Router의 IP Address      : 192.168.1.232

스위치는 전송 받은 데이터의 수신 Mac Address를 참조하여 전달만 해주기 때문에

자신의 주소를 정하지 않았고, 라우터의 경우 WAN 환경으로 나갈 시에

나가는 문의 주소를 알아야 하기 때문에 주소를 가지고 있다(이를 게이트웨이라고 한다)

아무튼, PC0이 PC1로의 데이터 전송을 요청하게 되면

다음과 같이 데이터의 구성이 일어날 것이다.


| Ethernet 헤더 | 데이터 |

위의 이더넷 헤더 내부의 Source MAC 주소는 PC0의 MAC 주소인 0050.3042.6a9b이고,

Destination MAC 주소는 PC1의 주소인 0030.a287.5d23일 것이다.

데이터가 Switch로 전달되면, 스위치는 목적지의 MAC 주소를 참조하여

PC1이 연결된 포트로 데이터를 전송한다.

Remote 환경(WAN이 끼어있는 환경)에서의 데이터 전송 시의 경우는 다음과 같다.




각 장비에 설정되어 있는 주소들이 다음과 같다고 하자.

PC2의 MAC Address        : 0060.7030.6e19
PC2의 IP Address            : 192.168.1.1

PC3의 MAC Address        : 00e0.f739.d44a
PC3의 IP Address            : 10.1.1.1

Router1의 MAC Address  : 0090.2b13.7e25
Router1의 IP Address      : 192.168.1.254

Router2의 MAC Address  : 0070.5c21.883d
Router2의 IP Address      : 10.1.1.254

End-Point 장비 (토폴로지에서의 끝 단. 여기서는 각 호스트)들은

다른 LAN에 있는 호스트와 통신하기 위해 기본 게이트웨이로 데이터를 전송한다.

PC2가 존재하는 LAN의 기본 게이트웨이는 Router1이고,

PC3가 존재하는 LAN의 기본 게이트웨이는 Router2이다.

이 기본 게이트웨이(라우터)가 LAN에서 WAN환경을 연결하는 기준이 되고,

로컬 환경과 리모트 환경을 연결시켜주는 장비가 되는 것이다.

라우터가 로컬 환경으로부터 데이터를 수신하면, 리모트 환경의 목적지로

데이터로 전송하기 위해서 IP주소를 참조한다.

리모트 환경으로 데이터를 보낼 때, 데이터의 구성은 다음과 같다.

| Ethernet 헤더 | IP헤더 | 데이터 |

이 때에 주의할 점이 있다.

이더넷 헤더에 존재하는 Destination MAC 주소는 실제 데이터를 수신하는

PC3의 MAC 주소가 아닌, 기본 게이트웨이(여기서 Router1)의 MAC주소

0090.2b13.7e25이다.

왜냐하면 Switch1이 PC2로부터 Fa0/1 포트를 통해 데이터를 수신하고,

LAN 환경 내의 다른 호스트가 아닌 WAN 환경으로 나가기 위한

라우터로(Fa0/24 포트를 통해) 데이터를 전송해주어야 하기 때문에

Swtich1이 참조하는 MAC 주소는 Router1의 것이어야만 한다.

그리고 IP 헤더에 존재하는 Destination IP주소는 본래 목적대로 PC3의 IP주소

10.1.1.1가 될 것이다.

이렇게 되면 데이터는 Switch1에 의해 Router1로 전달되고(인터페이스 F0/1f를 통해),

이 후 Router1은 자신의 라우팅 테이블과 데이터 IP 헤더 내부의 IP주소를 참조하여

WAN 환경에 존재하는 다음 라우터로 데이터를 전송하게 된다.(인터페이스 Se0/0/0을 통해)

참고로, Router1을 통해 WAN 환경으로 데이터가 보내지면서, 앞의 Ethernet 헤더는

HDLC라는 WAN용 2계층 프로토콜(기억이 안난다면 앞의 포스팅 참조)로 바뀌어서

붙게 된다.

WAN을 거치는 동안은 2계층 주소(MAC Address)는 필요가 없어 사용하지 않으며

IP주소만을 가지고 참조하면서 데이터의 전송이 일어난다.

여러 라우터를 거쳐 Router2로 데이터가 도착하게 되면(Se0/0/0을 통해),

Destination IP 주소 10.1.1.1 자신의 라우팅 테이블에서 검색한 후,

데이터를 해당 방향으로 출력한다(인터페이스 Fa0/1을 통해)

참고로 이 때, HDLC 헤더가 다시 LAN용 2계층 프로토콜인 이더넷 헤더로 바뀐다.

이 때 전송하는 데이터를 다시 한 번 살펴보자

| 이더넷 헤더 | IP 헤더 | 데이터 |

이런 식으로 구성이 될 텐데, 이 때 이더넷 헤더의 Source MAC 주소는

애초에 데이터를 보낸 MAC 주소가 아닌, Router2의 MAC 주소 0070.5c21.883d이다.

그리고 Destination MAC 주소는 PC3의 MAC 주소 00e0.f739.d44a 로 지정된다.

단, IP 헤더의 Source IP 주소와 Destination IP 주소는

그대로 192.168.1.1(PC2의 IP)와 10.1.1.1(PC3의 IP) 이다.

다시 말해, MAC 주소는 로컬 환경에서만 쓰이는 주소이기 때문에 해당 로컬

환경 안에 존재하지 않는 MAC 주소는 데이터 송수신에 사용하지 않는다는 것이다.

이 후 Switch2이 Router2로부터 데이터를 수신한 뒤(인터페이스 Fa0/24를 통해),

Destination MAC주소 00e0.f739.d44a 를 보고 MAC Address table을 참조하여

최종 목적지인 PC3로 데이터를 보낸다(포트 Fa0/1을 통해).

이렇게, 로컬 환경에서 리모트 환경으로 데이터를 전송할 때에는

각각의 네트워크 환경에서 사용되는 프로토콜(여기서는 Ethernet 혹은 HDLC)

을 이용하여 2계층 주소는 변경되지만

3계층 주소는 절대 변경되지 않는다(Source와 Destination IP)

과정을 최대한 상세하게 쓰느라 길어졌지만, 하나하나씩 읽어보면 이해가 될 것이다.

한 가지 빼먹고 정리하지 않은 것이 있는데, Router2는 목적지의 IP주소만 가지고

있는데 어떻게 PC3의 MAC주소를 알고 그에 맞게 이더넷 헤더를 지정한 것일까?

뿐만 아니라 이렇게 내가 Destination의 IP주소만 알고 있을 때에는

Destination MAC 주소를 어떻게 알고 데이터를 보낼 수 있을까?

이는 ARP라는 Address Resolution Protocol에 대해서 알아야 한다.

간단히 말하자면 ARP는 3계층 주소(IP 주소)를 이용해 2계층 주소(MAC 주소)를

알아오기 위해 사용하는 프로토콜이다. 이 프로토콜을 이용하여 각 장비들은

자신의 ARP Table을 가지고 있으며. 이 테이블의 내용은 로컬 환경에 존재하는

호스트들의 IP 주소와 그에 해당하는 MAC 주소의 맵핑 정보이다.

ARP에 대해서는 따로 포스팅을 하여 정리할 것이니 오늘은 여기까지만 알아두자.

Comments

Popular posts from this blog

[CCNA/네트워크] 3. OSI 참조 모델 ( OSI 7계층 )

[CCNA/네트워크] 1. 네트워크의 의미와 종류

[CCNA/네트워크] 2. 프로토콜과 Encapsulation