ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Router가 필요한 이유와 작동 과정 살펴보기
    CS💻/Network🛰️ 2023. 12. 22. 00:16

    Layer 3계층과 Layer 2계층을 연결하기 위해 사용하는 프로토콜이다. 주로 IP 주소만 아는 경우 ARP Request를 통해 해당 IP 주소에 해당하는 기기의 MAC 주소를 알아온다. 이렇게 함으로써 Layer 2계층은 MAC 주소로 Layer 3계층은 IP 주소로 통신이 가능해진다.

    [ARP : IP 주소와 MAC 주소를 매핑해준다.

    허브와 스위치의 작동방식 차이를 OSI 7 Layer 랑 같이 알아보자. 스위치는 기기들 사이에서 데이터의 전달을 중개해주는 기기이다. 서로 연결하고자하는 기기들에 아래와 같이 생긴 이더넷 케이

    people-analysis.tistory.com](https://people-analysis.tistory.com/293)

    라우터가 필요한 이유

    • 이번에는 쿠루루가 본부와 통신을 하려고 한다.
    • 본부는 지금 케로로 소대 스위치와 다른 스위치에 연결되어 있다.
    • 쿠루루와 본부의 통신을 위해서는 그냥 스위치끼리 연결을 하면 안될까?

    케로로 소대
    본부
    스위치끼리 연결

    • 쿠루루가 본부 ip 주소로 ping 을 쐈다. -> ping 23.227.38.65

    • 현재 쿠루루는 본부의 IP 주소만 알고 MAC 주소는 모른 상태이다. -> ARP Table 업데이트 필요
    • 따라서 ARP 요청을 보낸다. ( FFFF.FFFF.FFFF)
    • ARP Packet에 Dest가 쿠루루가 입력한 23.227.38.65가 아닌 10.1.1.1 이 들어와 있다????

    • 쿠루루가 보낸 ARP 요청이 스위치에 도착하면 스위치는 해당 IP 주소를 가진 기기를 찾기 위해서 자신과 연결된 모든 기기에 메시지를 전달한다.
    • 하지만 10.1.1.1에 해당하는 IP 주소를 가진 기기가 없기 때문에 응답이 돌아오질 않는다.

    IP : 10.1.1.1 는 누군데?

    • 케로로 소대 네트워크의 IP 주소의 범위는 10.1.1.0 ~ 10.1.1.255 까지다.
    • 쿠루루가 입력한 본부 IP 주소 23.277.38.65는 위의 범위에 속하지 않는다.
    • 즉 본부는 현재 케로로 소대 네트워크에 안에 없다.
    • 본부를 찾기 위해서는 현재 네트워크 밖으로 나가야한다.
    • 이때 거치는 곳이 바로 Gateway 다른 말로는 라우터이다.
    • 여기서 라우터의 IP 주소가 바로 10.1.1.1이다.

    쿠루루가 Ping을 쏠 때 ARP Request의 IP 주소가 원래 본부의 IP 주소인 23.227.38.65에서 10.1.1.1로 자동으로 바뀐이유가 바로 여기 있다.

    요청을 보내는 IP 주소를 봤을 때 현재 네트워크의 IP 주소 범위를 벋어나는 경우 , 해당 IP에 해당하는 기기는 현재 네트워크 내에서 찾을 수 없다는 것을 알기 때문에 다른 네트워크에서 해당 기기를 찾으려한다.

    이때 다른 네트워크로 넘어가기 위해서는 Gateway인 라우터를 거쳐야한다.

    따라서 다른 네트워크로 넘어가기전에 현재 네트워크와 연결되어 있는 라우터를 먼저 찾아야하고 따라서 라우터의 IP로 주소가 변경된다.

    라우터를 연결 했을 때 쿠루루가 본부와 어떻게 통신이 가능하게되는지 하나하나 살펴보자.

    • 케로로 소대의 스위치와 본부의 스위치를 현재 라우터를 이용해 연결했다.

    • 쿠루루가 다시 본부에 ping을 쏜다. -> ping 23.227.38.65
    • 23.227.38.65는 현재 네트워크 범위를 벋어나므로 라우터를 거쳐야한다.
    • 따라서 IP 주소를 라우터 IP 주소인 10.1.1.1로 변경한다.

    • 일단은 라우터의 IP주소를 들고 라우터의 MAC 주소를 찾아야한다.
    • ARP table에 라우터의 IP 주소와 라우터의 MAC 주소를 업데이트를 먼저해야된다.
    • 라우터의 MAC 주소를 알기 위해 ARP Request를 보내고 스위치는 이를 받아 자신과 연결되어 있는 모든 기기에 이 메시지를 전달한다.
    • 라우터는 메시지를 받아 자신의 IP 주소임을 확인하고 자신의 MAC 주소를 쿠루루에게 다시 응답함으로써 쿠루루의 ARP table에 Router의 IP 주소와 MAC 주소 매핑이 완료되었다.
    • 이제 IP 주소만을 이용해도 MAC 주소를 통한 Layer 2계층에서의 통신이 가능해졌다.

    • 라우터의 MAC 주소를 알았으니 이제 진짜 통신하려고하는 본부의 IP 주소를 넣어 router에게 보낸다.

    • In Layers에 2계층에는 쿠루루의 MAC주소와 라우터의 MAC 주소가 있고
    • In Layers의 3계층에는 쿠쿠루의 IP 주소와 본부의 IP 주소가 있다.

    라우터는 Layer3 계층의 장비이다. 따라서 Layer3의 프로토콜인 IP 주소를 읽고 사용할 수 있다.

    • Out Layers의 2계층이 비어있는 것을 볼 수 있다.
    • 라우터는 현재 도착지의 IP 주소만 알 뿐 도착지의 MAC 주소를 모른다.
    • 네트워크 안에서 IP 주소에 매칭되는 MAC 주소를 찾기위해 ARP Request를 하는 것처럼
    • 반대 네트워크에 대고 ARP를 날린다.

    • Out Layer에 Layer2를 보면 Router의 MAC Address >> Broadcast
    • ARP Packet 을 보면 Router의 IP Address >> 최종 목적지(본부) IP Address

    스위치는 라우터로부터 온 ARP 메시지를 자신과 연결된 모든 기기에게 전달하고
    본부는 메시지를 열어보고 자신 IP가 맞음을 확인하고 라우터에게 자신의 MAC 주소와 함께 응답을 한다.
    라우터는 이제 본부의 IP 주소와 본부의 MAC 주소를 알게 되었다.

    드디어 이제 다시 쿠루루가 메시지를 보내면 바로 본부를 찾아 갈 수 있게 되었다.

    • 이제 쿠루루가 본부에 보낸 패킷을 까보면

    • Layer 3에는 쿠루루 IP 주소 >> 본부 IP 주소
    • Layer 2에는 쿠루루 MAC 주소 >> 라우터 MAC 주소

    메시지를 전할 때 과정이 : 쿠루루 기기 >> 케로로소대 스위치 >> 라우터 >> 본부 스위치 >> 본부 기기
    Layer 2계층에서는 기기에서 라우터까지 스위치를 통해 이동할때 필요한 라우터의 MAC 주소가 써있다.
    Layer 3계층에서는 목적지의 IP주소를 써놓아 IP 주소를 읽을 줄 아는 라우터가 해당 IP 주소를 목적지의 MAC 주소와 매칭시켜 메시지 전달을 가능하게 한다.

     

    일상에서는 IP 주소를 쓴적이 없는데??

    우리가 평소에 인터넷에서 유튜브를 볼 때 유튜브의 IP 주소를 입력해서 접속하지 않는다.
    애초에 유튜브 IP 주소가 뭔지도 모른다. 단지 브라우저에 www.youtube.com을 입력하면 유튜브에 접속할 수 있다. 그러면 이게 어떻게 가능한 것인가?

    1. 현재 내트워크 내에서 이동하기 위해서는 스위치를 통해야하므로 Layer2 이동에 필요한 MAC 주소가 필요하다.
    2. 현재 네트워크 밖으로 이동하기 위해서는 라우터를 통해야하므로 Layer3 이동에 필요한 IP 주소가 필요하다.
    3. 현재 youtube의 URL 만 알뿐 MAC과 IP 주소에 대한 정보가 아무것도 없다.

    DNS (Domain Name System)

    • DNS 란 일반 이용자들이 인터넷 프로톨콜 주소(IP) 대신 인터넷 도메인 이름(ex , youtube.com)을 이용하여 웹사이트에 접속을 가능하게 해준다.
    • 사용자가 도메인 이름을 입력하면 이에 매칭하는 도메인의 현재 IP 주소를 반환해준다.
    • 우리가 핸드폰으로 전화를 걸때 사용자의 번호를 직접 누르는 대신 전화번호부에 등록되어 있는 이름을 누르면 해당 이름에 매칭되는 번호로 전화를 발신하는 것과 같은 개념이다.

     

    • 위에서 현재 네트워크 범위를 벋어나는 IP주소를 입력했을 때는 먼저 라우터의 MAC 주소를 찾기 위해 ARP Request를 라우터의 IP 주소로 보냈다.
    • IP 주소를 모르고 도메인 주소만 입력한 경우 먼저 DNS의 MAC 주소를 찾기 위해 ARP Request를 DNS의 IP 주소로 보낸다.

    • 스위치는 ARP Reqeust를 받아 broadcast하고 DNS 는 자신의 IP임을 확인하고 자신의 MAC 주소와 함께 쿠루루에게 응답함으로써 이제 쿠루루는 DNS의 MAC 주소를 알게된다.
    • 이후 DNS 서버가 쿠루루가 요청한 도메인 주소에 해당하는 IP 주소를 알려주고 쿠루루는 해당 IP 주소를 이용해서 YouTube에 접속할 수 있게된다.

     

    댓글

Designed by Tistory.