TIL

OSI 7계층 네트워크 계층에 대하여 (IP의 개념, 서브넷 마스크, 동적 IP 주소, 라우팅)

추운날_너를_기다리며 2024. 9. 9. 21:21

네트워크 계층이란?

 네트워크 간의 연결이 있으므로 인터넷이 가능합니다. "네트워크 계층"은 별개의 네트워크 간에 데이터 패킷을 주고 받음으로써 이러한 연결이 만들어지는 인터넷 통신 프로세스의 일부입니다.

 네트워크 계층은 OSI 7계층 중 3계층 입니다. 인터넷 프로토콜(IP)는 이 계층에서 이용되는 주요 프로토콜 중 하나이며 라우팅, 검사, 암호화를 위해 다수의 다른 프로토콜도 사용됩니다.

 네트워크 계층에 대한 예로 철수와 영희가 동일한 LAN에 연결되어 있다고 가정하고, 철수가 영희에게 메시지를 보내려 한다고 생각해 보겠습니다. 철수는 영희와 동일한 네트워크에 있으므로 네트워크를 통해 직접 영희의 컴퓨터에 메시지를 보낼 수 있을 것 입니다. 하지만 영희가 다른 지역으로 이사를 가게 되어 다른 LAN에 연결되어 있다면 철수의 메시지에 주소를 붙인 후(영희네 주소) 영희의 네트워크에 보내야 영희의 컴퓨터에 도달할 것입니다. 이것이 네트워크 계층의 프로세스입니다.

 

간단하게 정리해 보겠습니다.

  • 네트워크 계층은 데이터를 목적지까지 가장 안전하고 빠르게 전달합니다.
  • 라우터를 통해 경로를 선택하고 주소(IP)를 정하고 경로(Route)에 따라 패킷을 전달합니다.
  • 이 계층에서 전송되는 단위 : Packet(패킷)
  • 장비 : 라우터

라우터와 라우팅이 계속 나오는데 얘들은 뭘까?

 라우터는 기기입니다. 이 라우터는 라우팅이라는 것을 해주는데 라우팅이란 것은 데이터를 목적지까지 최적의 경로(안전하고 빠르게)로 전달하기 위한 경로 탐색 과정을 라우팅(Routing)이라고 합니다.

 

네트워크 계층이라고 하는데 여기서 네트워크란?

 네트워크는 두 대 이상의 연결된 컴퓨팅( 조직의 자산과 데이터를 구성, 처리, 검색하는 기본 요소를 할줄 아는 )장치의 그룹을 말합니다. 하나의 네트워크에 있는 모든 장치는 중앙에 있는 하나의 허브(ex: 라우터)에 연결된 경우가 많습니다. 네트워크에는 해당 네트워크를 작게 구분한 서브네트워크가 포함되기도 합니다. 서브네트워킹이 있으므로 매우 큰 네트워크(ex: ISP가 제공하는 네트워크)가 수천 개의 IP 주소 및 연결된 장치를 관리할 수 있습니다.

 즉, 인터넷은 네트워크의 네트워크로 생각할 수 있습니다. 이 뜻은 네트워크 내에에서는 컴퓨터들이 서로 연결되어 있고, 이러한 네트워크들은 다른 네트워크에 연결됩니다. 이렇게 함으로써 컴퓨터들은 가까운 데 있거나 먼 데 있거나 관계 없이 다른 컴퓨터에 연결할 수 있습니다.

 쉽게 말해서, 네트워크란 "두 대 이상의 컴퓨터들을 연결하고 서로 통신할 수 있는 어떠한 연결" 이것이 네트워크 입니다.

 

서브네트워킹에 대한 이해

 서브넷, 즉 서브네트워크는 네트워크 내부의 네트워크입니다. 서브넷은 네트워크를 보다 효율적으로 만들어줍니다. 서브넷을 통해 네트워크 트래픽은 불필요한 라우터를 통과하지 않고 더 짧은 거리를 이동하여 대상에 도달할 수 있습니다.

 따라서 서브네트워크는 네트워크에서 다른 네트워크로부터 데이터 패킷을 수신하면 패킷이 대상까지 비효율적인 경로를 사용하지 않도록 서브넷별로 해당 패킷을 정렬하고 라우팅(경로 탐색)합니다.

 

 IP 주소란?

 서브넷을 이해하기 위해서는 IP 주소에 대해 알아야 합니다. IP 주소란 인터넷에 연결되는 모든 장치에는 고유한 인터넷 프로토콜(IP) 주소가 할당 되므로 인터넷을 통해 전송된 데이터가 인터넷에 연결된 수십억 개의 장치 중 올바른 장치에 도달 할 수 있습니다. IP 주소는 이진 코드로 읽지만, IP 주소는 일반적으로 일련의 영숫자로 작성됩니다.

 

IP주소의 종류의 이해

공인IP란 SK브로드밴드, Olleh KT, LG U+와 같은 인터넷 서비스 제공업체(ISP)에 비용을 지불하고 부여받은 IP를 말합니다.

이는 가정에서 사용하는 가정용IP와 기업에서 사용하는 기업용IP로 나눌 수 있는데,

가정용IP는 일반적으로 동적(유동)IP를 부여받게 되고,

기업용IP는 따로 기업회원을 가입하여 고정IP를 부여받게 됩니다.

동적IPDHCP(Dynamic Host Configuration Protocol)라고도 불리는 서비스로, 사용자가 PC를 껐다 켜거나, 인터넷이 재설정될 경우, 사용가능한 IP를 자동으로 새롭게 부여하는 방식을 말합니다.

 

서브넷이 필요한 이유를 다시한번 복기

 IP 주소가 구성되는 방식을 통해 인터넷 라우터는 데이터를 라우팅할 올바른 네트워크를 비교적 간단하게 찾을 수 있습니다. 그러나 예를들어 클래스 A 네트워크에는 수백만 개의 연결된 장치가 있을 수 있으며 데이터가 올바른 장치를 찾는 데 시간이 걸릴 수 있습니다. 이것이 서브넷이 유용한 이유입니다. 서브넷은 IP주소를 장치 범위 내에서 사용하도록 좁혀집니다. 즉, 데이터를 보내야하는 주소 즉, IP주소를 찾는 범위를 줄여주는 것이 서브넷입니다.

 그렇다면 IP 주소는 네트워크 및 장치 주소를 나타내는 것으로 제한되는데 IP 주소를 사용하여 IP 패킷이 이동해야 하는 서브네트워크를 나타낼 수는 없습니다.

 따라서 네트워크 내의 라우터서브넷 마스크라는 것을 사용하여 데이터를 하위 네트워크로 정렬합니다. 위의 이야기로는 아직 감이 안오기 때문에 서브넷 마스크라는 것에 대해 알아보겠습니다.

 

서브넷 마스크에 대한 이해

 서브넷 마스크는 IP 주소와 비슷하지만, 네트워크 내에서 내부적으로만 사용합니다. 라우터는 서브넷 마스크를 사용하여 데이터 패킷을 올바른 위치로 라우팅(경로 탐색)합니다. 서브넷 마스크는 인터넷을 통과하는 데이터 패킷 내에서 표시되지 않으며, 이러한 패킷은 라우터가 서브넷과  일치하는 대상 IP 주소만 나타냅니다.

 예를 들어 철수가 영희에게 편지에 답장을 보냈지만, 철수는 영희의 집이 아닌 영희의 회사로 답장을 보냈다고 가정을 해보겠습니다. 영희의 사무실은 상당히 크고 부서가 많습니다. 영희를 포함한 직원들이 편지를 신속하게 받을 수 있도록 영희의 직장 관리 팀에서는 개별 직원별이 아닌 부서별로 메일을 분류합니다. 철수의 편지를 받은 후 담당 직원은 영희의 부서를 찾아보고 고객 지원팀에서 일하는 것을 확인하게 되었습니다. 담당 직원은 영희가 아닌 고객 지원팀에 편지를 보내고 고객 지원팀에서는 영희에게 편지를 보냅니다.

 여기의 비유에서 영희는 IP 주소와 같고 고객 지원팀은 서브넷 마스크와 같습니다. 

 실졔 예를 들어, IP 패킷의 주소가 192.0.2.15라고 가정을 해보겠습니다. 이 IP 주소는 클래스 C네트워크이므로 네트워크는 "192.0.2"(또는 기술적으로는 정확하게 "192.0.2.0/24"로 식별됩니다. 네트워크 라우터는 패킷을 "192.0.2"라고 표시된 네트워크의 호스트로 전달합니다.

 패킷이 해당 네트워크에 도착하면 네트워크 내의 라우터가 라우팅 테이블을 참조합니다. 서브넷 마스크 255.255.255.0을 사용하여 이진법 계산을 합니다. 장치 주소 "15"(나머지 IP주소는 네트워크를 나타냅니다.)를 확인하고 패킷이 이동해야 하는 서브넷을 계산합니다. 패킷을 해당 서브넷내에서 패킷을 전달하는 라우터 또는 스위치로 전달하고 패킷은 IP 주소 192.0.2.15에 도착합니다.

 

따라서 네트워크 계층이란 컴퓨터 네트워킹의 7계층 OSI 모형 가운데 제 3계층이고 네트워크 계층은 중간 라우터를 통한 라우팅을 포함하여 패킷 포워딩을 담당하며, 이에 따라 기능은 비연결 지향 통신 + 호스트 주소 할당(네트워크 내 모든 호스트는 고유 주소를 갖추어야 한다.) + 메시지 포워딩의 기능을 한다.

 

패킷 포워딩이란? 패킷을 각 라우터의 의사결정 테이블을 만들기 위해 라우팅에 규칙을 적용하고 라우팅 프로토콜을 실행하는 작업으로 라우터 상의 하나의 인터페이스로 패킷이 도착했을 때 라우터가 취하는 행동으로 정의합니다.

라우터가 하나의 네트워워크로부터 패킷을 수신하면 해당 패킷을 다른 하나의 네트워크로 포워딩하거나, 여러 네트워크로 포워딩 합니다. 이런 결정을 위해 라우터는 패킷 헤드에 있는 목적지 주소나 레이블 정보를 사용하여 포워딩 테이블에서 상응하는 출력 인터페이스 번호를 찾습니다.

간단하게 정리하면, 포워딩 테이블을 찾아보고, 올바른 장소로 패킷을 인풋, 아웃풋 하는 작업을 포워딩이라 합니다.