본문 바로가기
IT/네트워크 기초

네트워크 계층의 역할

by 금소쿠 2021. 12. 28.
반응형

네트워크 간의 연결 구조

다른 네트워크에 있는 목적지로 데이터를 전달하려면 네트워크 계층의 기술이 필요합니다.

데이터 링크 계층에서는 이더넷 규칙을 기반으로 데이터의 전송을 담당합니다. 이 규칙에 따라 같은 네트워크에 있는 컴퓨터로는 데이터를 전송할 수 있지만, 인터넷이나 다른 네트워크로는 데이터를 전송할 수 없습니다.

수많은 네트워크가 연결된 환경에서 데이터 링크 계층의 기능만으로는 다른 네트워크로 데이터를 전송하기 힘듭니다.

그래서 네트워크 간의 통신을 가능하게 하는 것이 네트워크 계층의 역할입니다.

이 계층을 통해 다른 네트워크로 데이터를 전송하려면 라우터(router)라는 네트워크 장비가 필요합니다.

가정에서도 라우터를 설치하면 인터넷에 연결할 수 있고, 멀리 해외로도 데이터를 보낼 수 있습니다.

라우터는 데이터의 목적지가 정해지면 해당 목적지까지 어떤 경로로 가는 것이 좋은지를 알려주는 기능을 합니다.

하지만 데이터를 보내려는 상대가 어디에 있는지 모르면 라우터도 목적지까지의 경로를 알려주지 못합니다.

네트워크에서도 데이터를 보내려면 목적지 주소가 반드시 있어야 합니다.

랜에서는 MAC 주소만으로도 통신할 수 있지만 다른 네트워크에는 데이터를 보낼 수 없습니다.

그래서 MAC 주소가 아닌 네트워크를 식별할 수 있는 다른 주소가 필요합니다. 그 주소를 IP 주소라고 합니다.

IP 주소는 어떤 네트워크의 어떤 장치인지 구분할 수 있도록 하는 주소입니다. 이 IP 주소가 있으면 다른 네트워크에 있는 목적지를 지정할 수 있습니다.

그런데 IP 주소로 목적지를 지정하는 것뿐만 아니라 데이터를 어떤 경로로 보낼지도 결정해야 합니다.

이처럼 목적지 IP 주소까지 어떤 경로로 데이터를 보낼지 결정하는 것을 라우팅(routing)이라고 합니다.

라우팅은 라우터라는 장비가 합니다. 레이어 3 스위치라는 장비도 라우팅을 할 수 있습니다.

라우터를 사용하여 거리에 관계없이 다른 네트워크로 데이터를 보낼 수 있습니다. 또 라우터에는 라우팅 테이블(routing table)이 있어서 경로 정보를 등록하고 관리합니다.

라우터(router)

 

 

IP란 무엇인가?

네트워크 계층에는 IP(Internet Protocol)라는 프로토콜이 있습니다.

데이터를 다른 네트워크에 있는 목적지까지 보내려면 라우터가 필요하다고 했는데 사실은 이 IP가 있어서 가능한 것입니다.

네트워크 계층에서는 캡슐화할 때 IP 헤더를 붙입니다.

헤더의 정보로는 버전(version), 헤더 길이(header length), 서비스 유형(service type), 전체 패킷 길이(total length), ID(indentification, 일련번호), 조각 상태(flags), 조각의 위치(flagment offset), TTL(time to live), 프로토콜(protocol), 헤더 체크섬(header checksum), 출발지 IP 주소(source IP), 목적지 IP 주소(destination IP) 순서로 구성되어 있습니다.

너무 많아서 기억하기 힘들기 때문에 여기에서는 '출발지 IP 주소'와 '목적지 IP 주소' 정도만 기억하면 됩니다.

이처럼 IP 프로토콜을 사용하여 캡슐화할 때는 데이터에 IP 헤더가 추가되는데, 이렇게 만들어진 것을 IP 패킷이라고 합니다.

 

「추가정보 - 나무위키참조」

IPv4

널리 사용되는 IP 주소로, 32비트의 값을 가진다. 보통 8비트씩 끊어 이를 0~255의 10진수 숫자로 나타내며, 각 숫자는 점(.)으로 구분한다.

총 32비트의 정보를 가지므로 최대 232개, 약 43억 개의 고유한 주소를 부여할 수 있다.

예전에는 IP를 할당할 때 클래스를 나누어서 할당하였는데 처음에는 주로 Class-B(128.0.0.0~191.255.255.255)의 영역에서 할당했지만 인터넷이 점점 발달되고 보편화되면서 IP 주소의 소모가 빨라지자 클래스로 나누어 할당하는 방식을 더 이상 사용하지 않고 대신 사이더(CIDR)란 방식으로 할당하기 시작하였다.

사이더는 연속된 IP 주소의 범위를 표기하는 방법 중 하나로, 192.168.0.0/16과 같은 식으로 쓰인다. 사용할 때는 나타내고자 하는 주소 범위에서 앞쪽의 공통부분(접두어)를 표기하고, 슬래시(/) 뒤에 몇 비트가 접두어인지를 쓴다. 앞서 든 192.168.0.0/16의 경우를 예로 들어서 설명하면 앞의 16비트가 접두어임을 의미하며, 이 표기가 나타내는 주소 범위는 192.168.0.0에서 192.168.255.255의 65536개 주소를 포함한다. 가끔 뒤의 .0.0 부분은 생략하고 192.168/16으로 표기하는 경우도 있다. 예시를 몇 개 더 소개하자면 10/8의 범위는 10.0.0.0부터 10.255.255.255까지, 172.16.0.0/12의 범위는 172.16.0.0부터 172.31.255.255까지이다. 이래저래 손으로 계산하기는 번거로운지라, 범위를 자동으로 계산해 주는 프로그램도 많이 나와있다.

 

IPv6

128비트의 값을 가진다. 일반적으로 4자리의 16진수 숫자 8개로 표기하고, 각각은 쌍점(:)으로 구분한다.

IPv6은 IPv4 주소의 고갈을 앞두고 차기 주소 체계로서 고안되었으며, 조금씩 적용 사례가 늘고 있다. IPv4의 이론상 주소 수는 232개인 반면, IPv6의 최대 할당 IP 개수는 2128(약 3.4*1038) 개 주소를 가질 수 있으므로 통신이 가능한 기기마다 공인 IP를 하나씩 할당해도 고갈될 걱정이 없을 정도로 주소가 매우 넘쳐난다.

IPv6 주소를 표기할 때는 보통 0000부터 FFFF까지의 16진수 4자리를 사용하는 8개 필드로 표현한다. 일단 숫자 표현을 10진수가 아닌 16진수로 표기한다는 것이 IPv4와 다른 점이다. 그리고 점(.) 대신 콜론(:)을 사용한다.

IPv6는 필드 전체가 0인 필드가 연속되어 있는 경우 그 연속된 필드를 통째로 생략할 수 있다. 예로 들어서 2606:4700:4700:0000:0000:0000:0000:1111의 경우 0만 있는 4~7번째 필드를 생략하여 2606:4700:4700::1111로 표기할 수 있다. ::으로 생략할 경우 0이 흩어져 있다면 가장 긴 부분만 생략하고 나머지는 명시한다. 왜냐하면 0이 흩어져있다고 각각 따로 ::으로 생략해버리면 각각의 부분에 0이 몇 개씩 들어가는지 특정할 수 없기 때문이다.

다만 ::으로 생략하지 않고 단지 필드 내 가장 높은 자릿수들이 0인 경우에는 따로 생략이 가능하다. 가령 2606:2800:0220:0001:0248:1893:25C8:1946의 경우 2606:2800:220:1:248:1893:25C8:1946으로 표기가 가능하다. 만일 필드에 0000이 오더라도 ::으로 생략한 것이 아니라면 필드마다 0 하나 표기는 해줘야 한다.

 
반응형

'IT > 네트워크 기초' 카테고리의 다른 글

IP 주소의 클래스 구조  (0) 2021.12.29
IP 주소의 구조  (0) 2021.12.28
이더넷의 종류와 특징  (0) 2021.12.27
데이터가 케이블에서 충돌하지 않는 구조  (0) 2021.12.27
스위치의 구조  (0) 2021.12.26

댓글