본문 바로가기

Computer Network study

 네트워크 레이어, IP 프로토콜

네트워크 레이어 (Network Layer) ?

OSI 모델의7 계층 중 세 번째 계층으로, 데이터 패킷의 송수신과 라우팅을 담당한다. 네트워크 레이어는 데이터를 목적지까지 가장 효과적으로 전송하는 경로를 결정하고, 다양한 네트워크 간의 연결을 관리한다.

 

IP 프로토콜 (Internet Protocol) ?

IP 프로토콜은 네트워크 레이어에서 주로 사용되는 프로토콜 중 하나이다. IP는 인터넷 프로토콜 스택, TCP/IP 모델에서 핵심적인 역할을 하는 프로토콜이다. IP는 데이터 패킷을 송수신하는 역할을 담당하며, 각 패킷에는 출발지와 목적지의 IP 주소가 포함되어 있다.

 

IP 주소 (IP Address) ?

IP 주소는 인터넷에 연결된 각 장치를 구별하기 위한 고유한 주소입이다. 현재는 IPv4 IPv6 두 가지 버전의 IP 주소가 사용되고 있다.

IPv4: 32비트 주소로, 점으로 구분된 4개의 10진수로 표현된다. Ex) 192.168.1.1

IPv6: 128비트 주소로, 콜론으로 구분된 8개의 16진수로 표현된다. Ex) 2001:0db8:85a3:0000:0000:8a2e:0370:7334

IPv4 주소는 약 43억 개의 주소만을 지원하기 때문에, 인터넷의 급격한 성장에 따라 주소가 부족하게 되었다. 이 문제를 해결하기 위해 IPv6가 도입되었고, 이는 거의 무한한 수의 주소를 지원할 수 있다.

IP 주소는 일반적으로 고정(static) 또는 동적(dynamic)으로 할당될 수 있다. 고정 IP 주소는 항상 동일한 주소가 장치에 할당되는 반면, 동적 IP 주소는 장치가 네트워크에 연결될 때마다 DHCP(Dynamic Host Configuration Protocol) 서버로부터 임시로 할당받는 주소이다.

요약하면, 네트워크 레이어는 데이터 패킷의 송수신과 라우팅을 담당하며, IP 프로토콜은 이 계층에서 데이터 패킷의 전송을 관리한다. IP 주소는 각 장치를 구별하기 위한 고유한 주소로, IPv4 IPv6 두 가지 형식이 있다.

 

IPV4 IPV6 차이점

IPv4 IPv6는 인터넷 주소 체계에서 사용되는 두 가지 주요 버전이다.

1. 주소 길이

IPv4: 32비트 주소 체계를 사용하며, 점으로 구분된 4개의 10진수로 표현된다. ex) 192.168.1.1

IPv6: 128비트 주소 체계를 사용하며, 콜론으로 구분된 8개의 16진수 그룹으로 표현된다. ex) 2001:0db8:85a3:0000:0000:8a2e:0370:7334

2. 주소 공간

IPv4: 43억 개의 주소를 지원한다.

IPv6: 3.4 x 10^38개의 주소를 지원하며, 이는 거의 무한한 주소 공간으로 간주될 수 있다.

3. 헤더 복잡성

IPv4: 헤더가 복잡하며, 여러 필드가 포함되어 있다.

IPv6: 헤더가 간소화되어 있으며, 필요하지 않은 필드가 제거되고 중요한 필드만 포함되어 있다.

4. 보안

IPv4: 처음에는 보안 기능이 포함되어 있지 않았으나, 나중에 IPSec와 같은 보안 메커니즘이 추가되었다.

IPv6: 처음부터 IPSec를 지원하며, 보안이 기본적으로 통합되어 있다.

IPSec (Internet Protocol Security): 인터넷 프로토콜 스택에서 데이터를 암호화하고 인증하는 데 사용되는 프로토콜 스위트이다. 이는 IP 네트워크에서 통신하는 데이터의 기밀성, 데이터 무결성, 그리고 인증을 보장하기 위해 설계되었다.

5. 설정

IPv4: 주소를 수동으로 할당하거나 DHCP를 사용하여 동적으로 할당할 수 있다.

IPv6: "Stateless address autoconfiguration"을 사용하여 자동으로 주소를 할당할 수 있다.

DHCP (Dynamic Host Configuration Protocol): 네트워크에 연결된 장치들에게 자동으로 IP 주소와 관련 네트워크 설정을 할당해 주는 프로토콜

Stateless Address Autoconfiguration:장치가 네트워크에 연결될 때 자동으로 IP 주소를 구성하는 메커니즘

6. 방송

IPv4: 방송(Broadcast) 통신을 지원한다.

IPv6: 방송 통신을 지원하지 않으며, 대신 멀티캐스트를 사용하여 유사한 기능을 제공한다.

방송 (Broadcast) 통신: 네트워크 내의 모든 장치나 컴퓨터에 메시지나 데이터 패킷을 동시에 전송하는 통신 방식이다.

7. NAT (Network Address Translation)

IPv4: 주소 공간의 부족으로 인해 NAT가 널리 사용된다.

IPv6: 주소 공간이 거의 무한하기 때문에 NAT의 필요성이 크게 줄어들었다.

NAT (Network Address Translation): 하나의 공인 IP 주소를 여러 개의 사설 IP 주소와 매핑하여, 여러 장치가 단일 공인 IP 주소를 사용하여 인터넷과 통신할 수 있게 하는 네트워크 기능이다. NAT IP 주소 부족 문제를 완화하는 데 도움을 주며, 내부 네트워크의 장치들을 외부 공격으로부터 보호하는 추가적인 보안 장벽 역할도 한다.

8. 모빌리티

IPv4: 모빌 IP를 사용하여 모빌리티를 지원한다.

IPv6: 내장된 모빌리티 기능을 가지고 있다.

모빌리티 기능: 장치가 다른 네트워크로 이동하면서도 연결을 유지하고 통신을 계속할 수 있게 해주는 기능이다.

이러한 차이점들로 인해 IPv6는 향후 인터넷의 성장과 발전을 지원하기 위한 주소 체계로 간주되며, IPv4 주소의 부족 문제를 해결하기 위한 주요 방법으로 간주된다.

 

서브넷(subnet)과 서브넷 마스크(subnet mask)

서브넷과 서브넷 마스크는 IP 네트워킹에서 중요한 개념이다. 이들은 큰 네트워크를 작은 네트워크로 분할하거나 구성하는 데 사용되는 방법론과 관련된 것이다.

서브넷 (Subnet)

서브넷은 큰 IP 네트워크를 더 작은 네트워크 단위로 분할하는 것을 의미한다. 이는 네트워크 관리를 더 효율적으로 하고, 트래픽을 분리하며, 보안을 강화하는 데 도움을 준다. 예를 들어, 한 기업이 192.168.1.0/24의 주소 범위를 가지고 있다면, 이를 여러 개의 작은 서브넷으로 분할하여 각 부서나 팀에 할당할 수 있다.

서브넷 마스크 (Subnet Mask)

서브넷 마스크는 IP 주소의 어느 부분이 네트워크 주소를 나타내는지, 그리고 어느 부분이 호스트 주소를 나타내는지를 구분하는 데 사용된다. 이 마스크는 일반적으로 이진수로 표현되며, 네트워크 부분은 '1', 호스트 부분은 '0'으로 표시된다.

예를 들어, 서브넷 마스크가 255.255.255.0 (또는 /24로 표시)인 경우, IP 주소의 처음 24비트는 네트워크 주소를 나타내고, 나머지 8비트는 호스트 주소를 나타낸다.

서브넷 마스크를 사용하면 네트워크 관리자는 IP 주소 공간을 효율적으로 분배하고, 네트워크의 크기를 조절할 수 있다.

왜 서브넷을 사용하는가?

1. 주소 공간의 효율적인 사용

큰 네트워크 블록을 작은 그룹으로 나누어 효율적으로 IP 주소를 할당할 수 있다.

2. 네트워크 성능 향상

네트워크를 여러 서브넷으로 분할하면 브로드캐스트 트래픽이 각 서브넷 내에서만 제한되므로 전체 네트워크의 트래픽이 감소한다.

3. 보안

서브넷을 사용하여 네트워크를 논리적으로 분리하면, 특정 서브넷에 대한 액세스를 제한하여 보안을 강화할 수 있다.

4. 네트워크 구성의 유연성

서브넷을 사용하면 물리적 위치에 구애받지 않고 논리적인 그룹을 형성할 수 있다.

요약하면, 서브넷과 서브넷 마스크는 IP 네트워킹에서 네트워크를 효율적으로 구성하고 관리하는 데 필수적인 도구이다.

 

라우팅(Routing)이란?

라우팅은 네트워크에서 데이터 패킷이 소스에서 목적지까지 전송되는 경로를 결정하는 프로세스이다. 라우팅은 데이터 패킷이 네트워크의 한 부분에서 다른 부분으로 올바르게 이동하도록 하는 핵심 기능이다.

라우팅의 주요 특징 및 구성 요소

1. 라우터 (Router)

라우팅 프로세스를 수행하는 네트워크 장치이다. 라우터는 연결된 네트워크 간에 패킷을 전달하며, 패킷이 목적지까지 가장 효과적인 경로로 전송되도록 한다.

2. 라우팅 테이블

라우터에 저장된 정보 테이블로, 목적지 IP 주소, 다음 홉 주소, 그리고 그 경로까지의 거리나 비용 등의 정보를 포함한다. 라우터는 이 테이블을 참조하여 패킷을 어디로 전송할지 결정한다.

3. 라우팅 알고리즘

라우터가 패킷의 최적 경로를 결정하기 위해 사용하는 로직 또는 방법론이다. 예를 들면, Dijkstra의 알고리즘과 Bellman-Ford 알고리즘이 있다.

Dijkstra의 알고리즘:

시작 노드에서 모든 다른 노드까지의 최단 경로를 찾는 알고리즘이다.

음수 가중치의 간선을 처리할 수 없다.

"우선순위 큐"를 사용하여 현재까지 알려진 최단 거리의 노드를 선택하고, 그 노드를 기반으로 인접한 노드의 거리를 업데이트한다.

Bellman-Ford 알고리즘:

시작 노드에서 모든 다른 노드까지의 최단 경로를 찾는 알고리즘이다.

음수 가중치의 간선을 처리할 수 있지만, 음수 가중치 순환은 감지할 수 있다.

모든 간선을 대상으로 여러 번 반복하여 거리를 업데이트하며, 최악의 경우 시간 복잡도가 높다.

간단히 말하면, 두 알고리즘 모두 그래프에서 최단 경로를 찾는 데 사용되지만, 처리 방식과 적용 가능한 상황에 차이가 있다. Dijkstra는 빠르고 효율적이지만 음수 가중치를 처리할 수 없으며, Bellman-Ford는 더 일반적이지만 느리고 자원을 많이 사용한다.

4. 정적 라우팅 (Static Routing)

네트워크 관리자가 수동으로 라우팅 테이블을 설정하는 방법이다. 이 방법은 네트워크 구성이 자주 변경되지 않는 작은 네트워크에서 적합하다.

5. 동적 라우팅 (Dynamic Routing)

라우터가 자동으로 라우팅 테이블을 업데이트하는 방법이다. 라우터는 라우팅 프로토콜 (: RIP, OSPF, EIGRP, BGP )을 사용하여 인접한 라우터와 정보를 교환하고, 최적의 경로를 동적으로 결정한다.

6. 경로 선택

라우터는 여러 가능한 경로 중에서 최적의 경로를 선택해야 한다. 이 선택은 라우팅 알고리즘, 경로의 비용, 네트워크의 지연 시간, 대역폭 등의 요소를 기반으로 한다.

라우팅은 복잡한 네트워크 환경에서 효율적인 데이터 전송을 가능하게 하며, 인터넷의 기본 작동 원리 중 하나이다.

728x90