2024. 9. 9. 12:14ㆍ[Node.js_6기] 스탠다드반
▶ 네트워크 계층이란?
OSI 7계층 중 3계층으로, 서로 다른 두 네트워크 간 데이터 전송을 용이하게 하는 역할을 한다. 패킷이라는 데이터를 목적지까지 전달하기 위해 IP주소를 이용해 최적의 물리적 경로를 찾는 '라우팅(routing)' 방식을 사용하며, 이를 위해 IP를 관리하고 패킷을 분할해 프로토콜을 식별하고 오류를 탐지하기도 한다. 인터넷 프로토콜 v4(IPv4) 및 IPv6 등을 예로 들 수 있다.
- IP 주소: 각각의 컴퓨터가 인터넷에 접속하기 위해 부여받은 고유한 주소
- 라우팅 (routing) : IP주소를 이용해 데이터에서 대상까지 최적의 경로를 결정한다.
- 논리적 주소 지정: 각 장치를 고유하게 식별하기 위해 네트워크 계층에서 주소 지정 체계를 정의한다. 발신자와 수신자의 IP 주소는 네트워크 계층에 의해 헤더에 배치되며, 이러한 주소는 각 장치를 고유하고 보편적으로 구별한다.
- 데이터 전송 단위 - 패킷
- 프로토콜 - IP, RIP, ARP, ICMP
- 장비 - 라우터
▷ 라우팅(routing)의 개념
여러 개의 네트워크가 연결되어 있을 때, 데이터 패킷을 목적지까지 가장 효율적으로 전달하기 위한 최적의 경로를 결정하는 과정을 라우팅이라고 한다. 위의 그림과 같이 컴퓨터 A에서 컴퓨터 B로 데이터 패킷이 전달하기 위해 네트워크 1, 3, 5를 통과하거나 2, 4를 통과할 수 있다. 이때 라우터라는 하드웨어에 의해 경로가 결정된다. 데이터를 빠르고 정확하게 전달하기 위해서는 단순히 몇개의 네트워크를 거쳐야 하는지 따져보는 것이 아닌 다양한 요소를 고려해야 하는 만큼 다양한 라우팅 프로토콜이 사용되며, 정적 라우팅과 동적 라우팅으로 방식이 갈린다.
▷ IP의 개념
IP(Internet Protocol)는 인터넷을 통해 데이터를 주고받을 때 사용되는 통신 규약이다. IP는 데이터를 패킷 단위로 나누어 전송하고, 받는 쪽에서는 그 패킷들을 다시 조립하여 원래의 데이터로 변환하는 과정을 거친다.
이때 사용되는 것이 IP 주소로, 인터넷에 연결된 각 기기를 구별하기 위해 사용하는 고유 번호이다. IP주소는 IPv4와 IPv6 2가지로 분류된다. 보통 IP주소라고 하면 IPv4를 말하는데, 생성 한계로 인해 더 이상 할당되지 않고 있다. 하지만 이것이 신규 기기는 더 이상 인터넷 통신이 불가능하다는 것을 뜻하지는 않는다. 자세한 내용은 IP 주소 작동 방식에서 확인할 수 있다.
- IPv4 : 32비트로 구성된 IP 주소. 약 43억개의 고유 주소를 생성할 수 있다. 4개의 0~255 사이의 숫자로 조합되며, 각 숫자는 점(.)으로 구분한다.
- IPv6 : 128비트로 구성된 IP 주소. 거의 무한한 수의 고유 주소를 생성할 수 있다. 8개의 4자리 16진수로 이루어져 있으며, 각 16진수는 콜론(:)으로 구분된다.
▷ IP 주소의 작동 방식
IPv4가 더 이상 할당되지 않음에도, 신규 기기로 인터넷을 무리 없이 사용할 수 있는 이유는 인터넷 회사(ISP)로부터 유동 IP를 받아오기 때문이다. 인터넷 회사는 부족한 IPv4 주소 자원의 한계를 극복하기 위해, 인터넷을 사용하고 있는 사람들에게만 유동 IP를 임시로 할당하고, 사용하지 않는 사람들에게는 할당하지 않는 방식을 사용한다.
- 고정 IP 주소 : 기기에 할당된 IP 주소가 변하지 않고 항상 동일한 주소를 사용하는 방식이다. 웹 서버, 이메일 서버 등 인터넷 서비스를 제공하는 기기에 사용되며, 안정적인 통신을 위해 필요하다.
- 유동 IP 주소 : 동적 IP 주소라고도 부른다. 기기에 할당된 IP 주소가 일정 시간이 지나면 변경되는 방식이다. 인터넷 서비스 제공자(ISP)에 의해 임시로 할당되며, 일반적으로 가정이나 회사에서 인터넷에 접속할 때 사용된다. IP 주소의 효율적인 관리 및 부족한 IPv4 주소 자원의 활용에 도움이 된다.
▷ IP 주소 낭비를 막기 위한, 서브넷(Subnet)
제한적인 IP 주소 공간을 더 작은 네트워크로 분할하여 더 효율적으로 관리하는 기술을 서브넷팅(Subnetting)이라고 부른다. 이때 분할된 네트워크를 서브넷(Subnet)이라고 부르며, 더 많은 호스트들을 지원하거나 보안을 강화할 수 있다는 특징이 있다.
위 그림과 같이 IP 주소를 서브넷팅 하게 될 경우, 어디까지가 네트워크 부인지 호스트부인지 구별할 수 있는 식별자가 필요하다. 이때 쓰이는 식별자를 서브넷 마스크라고 한다.
서브넷 마스크는 IP 주소의 비트가 네트워크 부라면 1을, 호스트 부이면 0을 반환한다. 서브넷 마스크를 사용하면 8비트 단위가 아닌, 1비트 단위로 네트워크 부를 구성할 수 있기 때문에 더 세분화된 네트워크를 만들 수 있다.
예를 들어, 60개의 호스트를 연결하는 네트워크를 구축하기 위해 IP 주소 관리 기관에 IP 주소 할당을 신청하면, 가장 적은 수의 호스트(254개)를 연결할 수 있는 클래스 C의 네트워크 부 주소를 할당하게 될 것이다. 254개에서 60개만 사용하고, 나머지 IP 주소는 아무도 사용하지 못한 채 방치되는 것이다.
그러나 서브넷 마스크를 활용하여 호스트 부에서 2비트를 빌려 서브넷팅을 하게 되면, 네트워크를 4개(2의 2승)로 분할하고 각 네트워크 당 62개(2의 6승-2)의 IP 주소를 사용할 수 있게 된다. 따라서 60개의 IP 주소만 필요한 사람에게 서브넷 마스크가 255.255.255.192인 IP 주소의 네트워크 부 주소 하나를 할당하고, 나머지 3개의 네트워크 부 주소를 다른 사람에게 할당하는 방법으로 IP 주소를 낭비하지 않을 수 있다.
참고 자료:
'[Node.js_6기] 스탠다드반' 카테고리의 다른 글
OSI 7계층 자세히 알아보기 - 애플리케이션(응용 프로그램) 계층 (0) | 2024.09.27 |
---|---|
OSI 7계층 자세히 알아보기 - 전송 계층 (2) | 2024.09.23 |
OSI 7계층 자세히 알아보기 - 데이터 링크 계층 (0) | 2024.09.04 |
OSI 7계층 자세히 알아보기 - 물리계층 (0) | 2024.09.02 |
OSI 7계층 기본 개념 알아보기 (0) | 2024.08.28 |