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

CJY·2023년 8월 18일
0

네트워크

목록 보기
8/11

IP 주소란

IP 주소(Internet Protocol Address)는 컴퓨터 네트워크에서 장치를 식별하고 위치를 결정하기 위해 사용되는 고유한 숫자입니다. IP 주소는 인터넷에서 데이터를 전송하는 동안 송신자와 수신자 간의 통신 경로를 설정하고, 데이터 패킷을 목적지로 전달하기 위해 사용됩니다. IP 주소는 IPv4와 IPv6 두 가지 주요 버전으로 나뉩니다.

IP 주소는 기본적으로 두 가지 주요 클래스로 분류됩니다: 공용 IP 주소와 사설 IP 주소입니다. 공용 IP 주소는 인터넷 상에서 직접 접근 가능한 주소이며, 사설 IP 주소는 개인 네트워크 내에서 사용되는 주소입니다. 네트워크 장비들은 이러한 IP 주소를 사용하여 데이터 통신을 관리하고 정확한 목적지로 데이터 패킷을 전달합니다.

IPv4와 IPv6

IPv4

  • Pv4는 32비트로 구성되며, 보통 네 개의 8비트 숫자로 표현됩니다. 예를 들면 192.168.1.1과 같은 형식입니다.
  • 총 4,294,967,296(약 43억) 개의 고유한 주소가 가능합니다.
  • 그러나 IPv4 주소 부족 문제로 인해 대규모 인터넷 확장에 어려움을 겪고 있습니다.

NAT

NAT(Network Address Translation)은 네트워크에서 사용되는 주소 변환 기술로, 사설 네트워크 내의 장치들이 공용 IP 주소를 공유하도록 도와주는 중요한 메커니즘입니다. NAT는 주로 IP 주소 부족 문제를 해결하고 사설 네트워크의 보안을 향상시키기 위해 사용됩니다.

  1. 로컬 네트워크: 사설 IP 주소로 구성된 로컬 네트워크 내에서 데이터 통신이 이루어집니다. 이 사설 네트워크는 공용 인터넷과는 분리되어 있습니다.

  2. 공용 IP 주소: NAT 장치(라우터나 방화벽)는 인터넷 쪽에서 공용 IP 주소를 가지고 있습니다.

  3. 주소 변환: 로컬 네트워크의 장치가 인터넷과 통신하려고 할 때, NAT 장치는 로컬 장치의 사설 IP 주소를 공용 IP 주소로 변환하여 인터넷 쪽으로 전달합니다.

  4. 포트 변환: 데이터 패킷이 NAT 장치를 통과할 때, 출발지 포트 번호와 목적지 포트 번호를 변경하여 통신을 관리합니다. 이를 통해 하나의 공용 IP 주소를 여러 개의 로컬 장치가 공유할 수 있습니다.

NAT 기능

  • IP 주소 절약
    NAT를 사용하면 로컬 네트워크의 장치들이 한 개의 공용 IP 주소를 공유하므로 IP 주소 부족 문제를 완화할 수 있습니다.

  • 보안 향상
    로컬 네트워크의 장치들은 인터넷에서 직접 접근할 수 없으며, 공격자로부터 보다 안전하게 보호됩니다.

  • 프라이버시 보호
    로컬 장치의 사설 IP 주소는 외부에서 감지되지 않으므로 프라이버시 보호가 강화됩니다.

  • 무선 공유기 등에서 활용
    가정이나 학교, 회사의 무선 공유기에서 NAT를 사용하여 여러 장치가 공유하는 인터넷 연결을 관리할 수 있습니다.

NAT는 네트워크 보안 및 주소 관리에 큰 역할을 하며, IPv4 주소 부족 문제를 해결하기 위한 임시적인 해결책 중 하나로 사용되고 있습니다.

IPv6

  • Pv6는 128비트로 구성되며, 16진수 숫자와 콜론(:)으로 표현됩니다. 예를 들면 2001:0db8:85a3:0000:0000:8a2e:0370:7334와 같은 형식입니다.
  • 총 340,282,366,920,938,463,463,374,607,431,768,211,456(약 340 갈린 2승) 개의 주소가 가능합니다.
  • IPv4 주소 부족 문제를 해결하고 더 많은 장치와 인터넷 확장을 지원합니다.

서브넷과 서브넷 마스크

서브넷(Subnet)은 IP 주소 공간을 더 작은 네트워크로 분할하는 방법입니다. 서브넷은 큰 네트워크를 여러 개의 작은 네트워크로 나누어 관리하고 효율적으로 IP 주소를 할당하는 데 사용됩니다. 서브넷을 구현하려면 서브넷 마스크(Subnet Mask)가 사용됩니다.

서브넷 마스크(Subnet Mask)는 IP 주소의 네트워크 부분과 호스트 부분을 구분하는데 사용되는 비트 패턴입니다. 이 비트 패턴은 IP 주소 내에서 네트워크 ID와 호스트 ID를 구분하여 IP 주소를 서브넷으로 나누는 역할을 합니다. 서브넷 마스크는 IP 주소와 논리적 AND 연산을 수행하여 네트워크 ID를 추출하거나 호스트 ID를 추출하는 데 사용됩니다.

Public IP와 Private IP

Public IP와 Private IP는 IP 주소의 두 가지 주요 유형으로, 네트워크에서 다른 목적을 가지고 있습니다.

  • Public IP (공용 IP 주소)
    공용 IP 주소는 인터넷에서 직접 접근 가능한 IP 주소입니다. 이 주소는 인터넷 상에서 전역적으로 유일하며, 인터넷 서비스 제공자(ISP)에 의해 할당됩니다.
    공용 IP 주소는 인터넷 상에서 서버, 웹 사이트, 네트워크 장치 등에 할당되며, 다른 네트워크나 인터넷 사용자들과의 통신에 사용됩니다.

  • Private IP (사설 IP 주소)
    사설 IP 주소는 개인 네트워크 내에서 사용되는 IP 주소입니다. 이 주소는 해당 네트워크 내에서만 유일하면 됩니다. 따라서 사설 IP 주소는 인터넷에서 직접 접근할 수 없습니다.
    사설 IP 주소는 주로 가정, 회사, 기업의 내부 네트워크에서 컴퓨터, 프린터, 장치들에 할당되며, 네트워크 내의 통신에 사용됩니다.

차이점

  • 유일성
    공용 IP 주소는 인터넷 상에서 전역적으로 유일한 주소이므로 다른 네트워크와 인터넷에서 사용될 수 있습니다. 반면, 사설 IP 주소는 개인 네트워크 내에서 유일한 주소이지만, 외부 네트워크와 인터넷에서는 중복될 수 있습니다.

  • 접근 가능성
    공용 IP 주소는 인터넷 상에서 직접 접근 가능하므로 원격 서버나 웹 사이트 등에 사용됩니다. 사설 IP 주소는 외부에서 직접 접근할 수 없으며, 해당 네트워크 내에서만 사용됩니다.

  • 네트워크 분리
    사설 IP 주소는 네트워크 내의 장치들 간에 통신하는데 사용되며, 내부 네트워크를 분리하는 데 도움을 줍니다. 공용 IP 주소는 다른 네트워크와 통신하는데 사용되므로 분리 역할보다는 외부 연결에 사용됩니다.

  • 주소 범위
    사설 IP 주소는 특정 범위 내에서 할당됩니다. 예를 들어, IPv4에서는 주소 범위가 10.0.0.0 ~ 10.255.255.255, 172.16.0.0 ~ 172.31.255.255, 192.168.0.0 ~ 192.168.255.255 등이 있습니다.

ICMP

ICMP(Internet Control Message Protocol)는 네트워크에서 발생하는 문제를 감지하고 다양한 네트워크 상황에 대한 메시지를 전송하는 프로토콜입니다. ICMP는 주로 네트워크 장비들 사이에서 통신 중 발생하는 문제를 확인하고 해결하기 위해 사용됩니다.

주요 기능

  • 에러 및 상태 메시지 전송
    ICMP는 네트워크 장비들 사이에서 에러와 상태 정보를 전송하기 위해 사용됩니다. 예를 들어, 데이터 패킷이 제대로 도달하지 않았거나 목적지 호스트가 도달할 수 없는 경우 ICMP 에러 메시지를 생성하여 송신측에 알려줍니다.

  • 핑(Ping) 요청 및 응답
    ICMP는 핑 명령을 통해 호스트나 네트워크 장비가 살아 있는지 확인하는데 사용됩니다. 핑 요청을 보내면 해당 장비는 핑 응답 메시지를 보내어 살아 있는 상태임을 알려줍니다.

  • TTL(Time-to-Live) 초과 메시지
    데이터 패킷이 라우터를 거치면서 TTL 값을 감소시키다가 0이 되면 해당 패킷은 폐기됩니다. 이때 ICMP TTL 초과 메시지가 생성되어 송신측에 전송됩니다.

  • 메시지 리다이렉션
    네트워크 장비가 다른 경로로 데이터를 전송할 것을 제안하기 위해 ICMP 리다이렉션 메시지를 사용할 수 있습니다.

  • MTU(Path Maximum Transmission Unit) 크기 조절
    네트워크 경로상의 최대 전송 단위(MTU) 크기를 조절하기 위해 ICMP 경로 MTU 발견 메시지가 사용됩니다.

ICMP는 네트워크의 상태 및 문제를 진단하고 해결하는데 중요한 역할을 합니다. 네트워크 장애나 장비의 문제를 신속하게 파악하고 대응하는 데에 사용되며, 네트워크 관리자들과 네트워크 도구들이 ICMP 메시지를 활용하여 네트워크 상태를 모니터링하고 유지보수할 수 있습니다.

IP 주소 할당 방식

IP 주소는 크게 두 가지 방법으로 할당됩니다. 정적 IP 할당과 동적 IP 할당입니다. 이 방법들은 주로 사설 네트워크 및 인터넷 서비스 제공자(ISP)를 통해 이루어집니다.

  • 정적 IP 할당(Static IP Allocation)
    정적 IP 할당은 네트워크 관리자나 ISP가 수동으로 IP 주소를 할당하는 방법입니다. 주로 서버나 중요한 장치에 사용되며, 한 번 할당되면 변경되지 않습니다.

    • 장점
      IP 주소가 고정되어 있어 서버나 장치가 항상 동일한 IP 주소로 접근 가능합니다.
      특정 서비스를 제공하는 서버에 사용할 때 유용합니다.
    • 단점:
      주소 부족 문제와 관련된 복잡성이 있을 수 있습니다.
      주소를 수동으로 관리해야 하므로 유지보수에 어려움이 있을 수 있습니다.
  • 동적 IP 할당(Dynamic IP Allocation)
    동적 IP 할당은 DHCP(Dynamic Host Configuration Protocol)를 사용하여 IP 주소를 자동으로 할당하는 방법입니다. 클라이언트 장치가 네트워크에 접속할 때 DHCP 서버로부터 유효한 IP 주소를 받아옵니다.

    • 장점:
      IP 주소를 효율적으로 관리하고, 중복할당 문제를 방지할 수 있습니다.
      유동적인 장치(노트북, 스마트폰 등)에 사용하기에 적합합니다.
    • 단점:
      할당된 IP 주소가 변경될 수 있으므로, 항상 같은 주소로 접근할 수 없습니다.
      네트워크 설정이 자동으로 이루어지기 때문에 일부 경우에는 구성 변경이 필요할 수 있습니다.

IP 주소 할당은 ISP, 네트워크 관리자, DHCP 서버 등을 통해 이루어지며, 주소 부족 문제와 관련된 IPv4에서는 주소 할당이 더욱 중요한 이슈가 됩니다. IPv6는 주소 공간이 풍부하여 주소 부족 문제를 해결하고 동적 할당을 더욱 편리하게 지원합니다.

라우팅

라우팅(Routing)은 네트워크에서 데이터 패킷이 출발지에서 목적지까지 전달되는 경로를 결정하는 과정을 의미합니다. 네트워크에서 데이터는 여러 개의 라우터를 거쳐 목적지로 전송되는데, 이때 데이터 패킷이 어떤 경로를 따라 목적지까지 도달할지 결정하는 것이 라우팅입니다.

라우팅은 네트워크 내의 다양한 장치들이 효율적으로 통신하기 위해 중요한 역할을 합니다. 라우터는 데이터 패킷을 수신하여 해당 패킷이 어떤 경로로 전달되어야 하는지 결정하며, 패킷을 올바른 출력 포트나 다음 라우터로 전달합니다.

라우팅은 정적 라우팅과 동적 라우팅이 있습니다.

라우팅 프로토콜

라우팅 프로토콜(Routing Protocol)은 네트워크에서 데이터 패킷의 경로를 결정하고 라우터 간에 경로 정보를 교환하기 위한 규칙과 알고리즘의 모음입니다. 라우팅 프로토콜은 네트워크의 효율성을 최적화하고 데이터를 목적지로 안정적으로 전달하기 위해 사용됩니다.

유형

  • 정적 라우팅 프로토콜(Static Routing Protocol)
    정적 라우팅은 라우터 관리자가 수동으로 라우팅 테이블을 구성하는 방식입니다. 각 라우터에 직접 경로 정보를 입력하여 어떤 경로로 데이터 패킷을 전송할지 결정합니다.
    대규모 네트워크에서는 관리가 번거로울 수 있으며, 변경이나 확장 시에 유연성이 부족합니다. 하지만 간단하고 예측 가능한 경우에는 사용될 수 있습니다.

  • 동적 라우팅 프로토콜(Dynamic Routing Protocol)
    동적 라우팅은 라우터 간에 경로 정보를 자동으로 교환하여 최적의 경로를 동적으로 결정하는 방식입니다. 라우터는 주기적으로 이웃 라우터와 경로 정보를 교환하며, 네트워크 상황에 따라 라우팅 테이블을 업데이트합니다.
    대표적인 동적 라우팅 프로토콜로는 RIP(Routing Information Protocol), OSPF(Open Shortest Path First), BGP(Border Gateway Protocol) 등이 있습니다.
    라우팅 프로토콜은 다양한 알고리즘을 사용하여 최적 경로를 결정합니다. 주요 동적 라우팅 프로토콜인 OSPFBGP는 네트워크의 토폴로지 정보와 경로 메트릭을 고려하여 최단 경로를 찾는 데 사용됩니다. 이런 프로토콜은 네트워크 확장, 변화, 장애 대응 등에 유연하게 대응할 수 있습니다.

라우팅 프로토콜은 네트워크 내에서 데이터의 효율적인 전달과 안정성을 보장하기 위해 중요한 역할을 합니다. 프로토콜의 선택은 네트워크 규모, 복잡성, 확장성, 장애 대응 등을 고려하여 결정되며, 적절한 라우팅 프로토콜을 사용하여 네트워크 성능을 최적화할 수 있습니다.

profile
열심히 성장 중인 백엔드

1개의 댓글

comment-user-thumbnail
2023년 8월 18일

글 잘 봤습니다.

답글 달기