CS

[네트워크] IP 프로토콜

may_wonhui 2023. 11. 29. 22:38

IP주소?

IP주소(Internet Protocol Address)란 컴퓨터 네트워크에서 각 장치를 식별하는 데 사용되는 고유한 숫자.

 

IP주소는 인터넷이나 로컬 네트워크에서 데이터를 주고 받는 데 필요한 기본 주소 체계이며,

IPv4와 IPv6이 현재 가장 널리 사용됨

 

 

  • IP주소의 역할
    • 고유 식별자
      • 각 장치는 고유한 IP주소를 가지며, 이를 통해 네트워크 상에서 서로를 식별할 수 있다.
    • 라우팅
      • IP 주소는 데이터가 네트워크를 통해 목적지로 전송되는 경로를 결정하는 데 사용된다.
    • 인터넷 통신
      • IP주소는 인터넷에서 데이터를 주고받는 데 사용되며, 통신 프로토콜은 IP주소를 통해 패킷을 라우팅하고 전송한다.

 


IPV4와 IPV6?

 

  • IPv4
    • 주소 형식: 32비트 숫자로 구성. 네트워크와 호스트 부분으로 나눠짐
    • 예시: 192.168.0.1
    • 주요 특징
      • 전체 주소 공간은 2^32개로 제한되어 있어 주소 고갈 문제 발생
      • 표기법은 4개의 0에서 255까지의 10진수로 표현된 숫자로 나뉜다.
  • IPv6
    • 주소 형식: 128비트 숫자로 구성.
    • 예시: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
    • 주요 특징
      • 주소 공간이 확장되어, 주소 고갈 문제를 완화하고 더 많은 장치를 지원
      • 표기법은 16진수로 구성된 여덟 개의 16비트 블록으로 나뉜다.

 

 


서브넷과 서브넷 마스크?

 

  • 서브넷
    • IP 네트워크를 더 작은 네트워크로 분할하는 것을 의미한다.
    • 서브넷은 네트워크를 논리적으로 나누어 효율적인 네트워크 관리를 가능하게 한다.
    • 목적
      • 대규모 네트워크를 여러 작은 세그먼트로 분할하여 네트워크 관리를 쉽게 만든다.
      • 트래픽을 분산시켜 네트워크 성능을 향상시킨다.
    • 예시
      • 192.168.1.0/24 라는 네트워크가 있다면, 여기서 24는 서브넷 마스크의 길이를 나타낸다.
      • 만약 이 네트워크를 서브넷으로 분할하려면, 서브넷 A는 192.168.1.0/26, 서브넷 B는 192.168.1.64/26과 같이 나눌 수 있다.
  • 서브넷 마스크 (Subnet Mask)
    • 서브넷을 정의하고 네트워크의 범위를 결정하는 데 사용되는 32비트 숫자이다.
    • 목적
      • IP 주소의 네트워크 부분과 호스트 부분을 구분하여 어떤 IP 주소가 어떤 네트워크에 속하는지를 결정한다.
      • 서브넷 마스크는 이진수로 표현되며, 주소에서 네트워크 부분은 1로, 호스트 부분은 0으로 표시된다.
    • 예시
      • IP 주소가 192.168.1.100이고, 서브넷 마스크가 255.255.255.0이면, 해당 IP 주소는 192.168.1.0의 네트워크에 속한다.
      • 더 자세한 예시로, 서브넷 마스크가 255.255.255.192(또는 /26)이라면, 해당 IP주소는 192.168.1.0 네트워크의 서브넷 중 하나에 속하게 된다.

 

 

 


 

라우팅?

 

라우팅은 네트워크에서 데이터 패킷이 출발지에서 목적지로 전송되는 경로를 결정하는 과정이다.

 

데이터가 출발지에서 목적지로 이동할 때, 여러 네트워크를 거치며 목적지에 도달하는데, 이 때 데이터 패킷은 다양한 라우터를 통과하며 각 라우터에서 최적의 경로를 선택한다.

 

라우터는 네트워크 간에 데이터를 전송하는 장치로, 다양한 경로 중에서 최적의 경로를 선택하는 역할을 한다. 라우터는 각각의 경로에 대한 정보를 라우팅 테이블이라는 데이터베이스에 저장하고 있으며, 이 테이블을 참고하여 데이터를 전달한다.

 

 

  • 라우팅의 목적
    • 최적 경로 선택
      • 라우터는 여러 경로 중 최적의 경로를 선택하여 데이터를 전달한다. 최적 경로는 대역폭, 지연 시간, 경로의 안정성 등 여러 요소에 의해 결정된다.
    • 네트워크 분리
      • 라우터는 여러 개의 논리적인 네트워크를 분리하여 트래픽이 효율적으로 전달되도록 한다. 각 네트워크는 고유한 IP 주소 범위를 가지며, 라우터는 이를 기반으로 패킷을 전달한다.
    • 에러 처리
      • 라우터는 네트워크에서 발생하는 에러 처리를 수행한다. 만약 특정 경로가 사용 불가능한 경우 다른 경로를 선택하여 데이터를 전달한다.
    • 보안 및 품질 관리
      • 라우터는 보안 정책을 적용하고, 서비스 품질(QoS)을 관리하여 네트워크의 안정성과 성능을 유지한다.

 

 

 


Public IP와 Private IP?

public ip와 private ip는 주소의 범주를 나타낸다. 주로 이너넷에서 사용되는 공용 네트워크와 내부 네트워크에서 사용되는 사설 네트워크를 구분짓기 위해 사용된다.

 

 

  • Public IP (공인 IP)
    • 용도
      • 공인 IP 주소는 전세계적인 인터넷에서 공개적으로 사용 가능한 주소이다.
      • 이 주소는 인터넷 서비스 제공자(ISP)에 의해 할당되며, 모든 인터넷 사용자가 사용 가능한 범위에 속한다.
    • 전역적 사용
      • 공인 IP 주소는 글로벌하게 유일하며, 서로 다른 기관이나 개인이 동시에 같은 공인 IP를 가질 수 없다.
    • 인터넷 통신
      • 외부에서 접속 가능하며, 공인 IP를 사용하는 장치들은 직접 인터넷에 접속할 수 있다.
  • Private IP (사설 IP)
    • 용도
      • 사설 IP 주소는 일반적으로 조직이나 개인의 로컬 네트워크에서 사용하는 주소이다.
      • 이 주소는 사설 네트워크에서만 유효하며, 인터넷에서 직접 접근할 수 없다.
    • 로컬 네트워크 사용
      • 주로 가정이나 기업 내부의 로컬 네트워크에서 사용된다.
      • 로컬 네트워크 내에서는 각 장치에게 고유한 사설 IP 주소를 할당하여 통신한다.
    • NAT(Natwork Address Translation) 활용
      • 사설 IP 주소를 사용하는 네트워크는 NAT을 통해 인터넷과 통신할 수 있다.
      • NAT은 사설 IP 주소를 공인 IP 주소로 변환하여 외부와 통신할 수 있게 한다.
  • Public IP와 Private IP의 차이점
    • 범위
      • Public IP는 글로벌하게 사용 가능한 주소이며, 사설 IP는 로컬 네트워크에서만 사용 가능한 주소이다.
    • 유일성
      • 공인 IP는 전세계적으로 고유하게 사용되어야 하지만, 사설 IP는 로컬 네트워크 내에서만 고유하게 사용된다.
      • 일반적으로, 로컬 네트워크에서는 Private IP를 사용하고, 인터넷과의 통신은 NAT을 통해 Public IP로 중계된다.

 

 

 

 

 


라우팅 프로토콜?

라우팅 프로토콜은 네트워크에서 데이터 패킷이 목적지로 전달되는 경로를 결정하는 규칙과 알고리즘의 집합이다.

 

 

이 규칙은 네트워크 장치인 라우터들이 최적의 경로를 선택하고 효율적으로 데이터를 전달할 수 있게 도와준다.

 

 

라우팅 프로토콜은 크게 내부 라우팅 프로토콜과 외부 라우팅 프로토콜로 나눌 수 있다.

 

 

  • 내부 라우팅 프로토콜
    • 동일한 네트워크 내에서 라우터 간에 경로를 결정하는 데 사용된다.
    • RIP (Routing Information Protocol)
      • 거리 벡터 알고리즘을 기반으로, 라우터 간에 최단 경로 정보를 교환한다.
      • RIP는 주기적으로 라우팅 테이블을 업데이트하여 네트워크의 변경을 반영한다.
    • OSPF (Open Shortest Path First)
      • 링크 상태 알고리즘을 사용하며, 네트워크 내에서 가장 짧은 경로를 찾는다.
      • OSPF는 라우터 간에 링크 상태 정보를 교환하여 더 효율적인 경로를 계산한다.
    • EIGRP (Enhanced Interior Gateway Routing Protocol)
      • 거리 및 대역폭과 같은 다양한 요소를 고려하여 최적의 경로를 계산한다.
      • EIGRP는 효율적인 대역폭 활용과 빠른 수렴을 지원한다.
  • 외부 라우팅 프로토콜
    • 서로 다른 내트워크 간에 경로를 결정하는 데 사용된다. 인터넷과 같은 다른 네트워크와의 통신을 담당한다.
    • BGP (Border Gateway Protocol)
      • 경로 벡터 알고리즘을 기반으로, 인터넷에서 사용되는 프로토콜이다.
      • BGP는 여러 경로 중에서 최적의 경로를 선택하고 AS(Autonomous System) 간의 경계를 정의한다.
  • 라우팅 프로토콜은 네트워크의 토폴로지, 규모, 요구 사항 등에 따라 선택되고 구성된다. 각 라우팅 프로토콜은 특정한 환경에서 가장 효과적으로 동작하도록 설계되어 있다.

 

 


IP 할당?

IP 주소는 네트워크에 연결된 각 장치에 고유한 식별자로 할당된다.

IP 주소 할당은 크게 정적 할당과 동적 할당으로 나눌 수 있다.

 

  • 정적 할당 (Static Allocation)
    • 목적
      • 특정 장치에 항상 동일한 IP주소를 할당하기 위해 사용된다.
    • 특징 및 방법
      • 고정된 주소: 특정 장치에 고정된 IP 주소가 수동으로 할당된다.
      • 네트워크 설정: 관리자가 수동으로 각 장치의 IP주소, 서브넷 마스크 등을 설정한다.
      • 장점: IP 충돌의 위험이 낮고, 특정 장치에 항상 동일한 주소를 사용할 수 있다.
        • 예측 가능성: 각 장치에게 고정된 IP 주소를 할당하므로 관리자는 어떤 장치가 어떤 주소를 사용하는지 예측할 수 있다.
        • 보안: 특정 장치에 대해 고정된 주소를 사용하면 해당 장치에 대한 보안 설정을 쉽게 구성할 수 있다.
        • IP 충돌 최소화: 정적 할당은 각 장치에게 고유한 주소를 부여하므로 IP 충돌의 가능성이 낮다.
      • 단점: 대규모 네트워크에서 유지 관리가 번거로울 수 있다.
        • 유지 관리 어려움: 대규모 네트워크에서 모든 장치에 대한 주소를 수동으로 설정하고 유지 관리하는 것이 번거로울 수 있다.
        • 자원 낭비: 일부 장치가 네트워크를 사용하지 않을 때에도 해당 주소가 사용되므로 IP 주소 자원이 낭비될 수 있다.
        • 이동성 문제: 장치가 다른 네트워크로 이동할 경우 IP 주소 변경이 필요할 수 있따.
    • 사용 예시
      • 회사의 중요한 서버나 네트워크 장치들에 대해 정적 IP 주소를 할당하여 안정적인 연결을 유지할 수 있다.
  • 동적 할당 (Dynamic Allocation)
    • 목적
      • 네트워크에 연결된 장치에 대해 동적으로 IP주소를 할당하여 관리를 편하게 한다.
    • 특징 및 방법
      • 자동 할당: DHCP (Dynamic Host Configuration Protocol)와 같은 프로토콜을 사용하여 IP주소가 자동으로 할당된다.
      • 주소 풀: DHCP 서버는 일정한 주소 범위를 가지고 있고, 요청이 있을 때마다 해당 범위에서 주소를 할당한다.
      • 장점: 유연성이 있고, 관리가 편리하며, 주소 충돌이 줄어든다.
        • 자동화 및 효율성: DHCP를 통해 자동으로 ip주소를 할당하므로 관리가 편리하고 유지보수 비용을 줄일 수 있다.
        • 자원 효율성: 필요한 만큼의 주소만 할당하므로 IP 주소 자원을 효율적으로 활용할 수 있다.
        • 이동성: 장치가 다른 네트워크로 이동하더라도 DHCP를 통해 자동으로 새로운 ip주소를 받아 사용할 수 있다.
      • 단점: DHCP 서버에 장애가 발생하면 새로운 장치가 IP주소를 받을 수 없다.
        • 예측 불가능성: 장치에 할당되는 ip주소는 동적으로 변할 수 있으므로 어떤 주소를 사용하고 있는지 예측하기 어렵다.
        • 보안 고려 사항: 동적 할당된 주소의 경우 보안 구성이 어려울 수 있으며, 특정 주소에서 발생한 문제를 식별하기 어려울 수 있다.
        • DHCP 서버 의존성
    • 사용 예시
      • 대규모 기업에서 수백 대 이상의 장치에 대한 ip 주소를 동적으로 관리하는 것이 효율적일 수 있따.
      • 가정에서 무선 라우터가 DHCP를 통해 가정 내 각 디바이스에 동적으로 ip주소를 할당할 수 있다.
  • 대규모 네트워크에서는 동적 할당이 효율적이며 유지 관리가 쉽다. 작은 규모의 네트워크에서는 정적 할당이나 혼합 방식이 사용될 수 있다.

 

 

 


NAT?

NAT(network address Translation)은 네트워크에서 사용되는 ip주소를 변환하는 프로세스를 의미한다.

 

주로 여러 개의 내부 장치가 하나의 공인 ip주소를 공유하거나, 사설 네트워크에서 공인 네트워크와 통신할 때 사용된다.

NAT은 네트워크의 ip주소 공간을 효율적으로 활용하고 보안을 강화하는 데 도움이 된다.

 

  • NAT의 주요 기능과 특징
    • 주소 변환
      • 내부 네트워크의 사설 IP주소를 공인 IP주소로 변환하여 외부 네트워크와 통신할 수 있게 한다.
      • 여러 내부 장치가 하나의 공인 IP주소를 사용할 수 있도록 한다.
    • 포트 변환
      • NAT는 IP주소 뿐만 아니라 포트 번호도 변환할 수 있다. 이는 여러 내부 디바이스가 동시에 외부 서버와 통신할 수 있도록 한다.
    • 보안 강화
      • 내부 네트워크의 구조를 외부에 감추어 보안을 향상시킨다.
      • 외부에서는 내부의 개별 디바이스들을 직접 식별하기 어렵다.
    • ip주소 부족 대응
      • IPv4 주소 부족 문제를 완화하기 위해 nat가 사용된다. 사설 네트워크 내에서 사용되는 사설 IP주소는 외부 네트워크에서 공인 IP주소로 변환되어 인터넷과 통신한다.
    • 유연한 네트워크 구성
      • NAT는 네트워크의 구성을 더 유연하게 만든다. 내부 네트워크의 구조를 변경하지 않고도 IP주소를 관리하고 외부 네트워크와 통신할 수 있다.
  • NAT의 동작 과정
    • 출발지 주소 변환
      • 내부 디바이스가 외부로 통신할 때, 내부 사설 IP주소가 공인 IP주소로 변환된다.
    • 도착지 주소 변환
      • 외부에서 내부 디바이스로의 통신 요청이 들어올 때, 외부 공인 IP주소가 해당 내부 디바이스의 사설IP주소로 변환된다.
    • 포트 변환
      • 여러 내부 디바이스가 하나의 공인 IP주소를 사용할 때, 각 디바이스의 포트 번호가 변환되어 중복을 방지한다.
  • NAT는 주로 가정이나 기업의 로컬 네트워크에서 사용되며, IPv4 주소 부족 문제를 해결하고 네트워크 보안을 강화하는 데에 중요한 역할을 한다.

 

 

 


ICMP?

ICMP(Internet Control Message Protocol)은, 인터넷에서 발생하는 네트워크 문제를 감지하고 진단하는 데 사용되는 프로토콜.

ICMP는 ip 네트워크에서 메시지를 교환하는 데 사용되며, 네트워크 상태 및 오류에 대한 정보를 제공한다.

 

  • ICMP의 주요 기능
    • 에러 메시지 전송
      • 네트워크에서 발생하는 오류에 대한 메시지를 생성하여 송신자에게 전송한다. 주로 패킷 전달 중에 발생하는 문제
    • 핑(ping)과 트레이스 라우트 (traceroute)
      • 핑은 호스트 간의 네트워크 연결을 테스트하고 응답 시간을 측정하는 데 사용되며, 트레이스 라우트는 패킷이 네트워크를 통과하는 경로를 추적하는 데 사용된다.
      • ICMP는 핑과 트레이스 라우트와 같은 유틸리티를 실행하는 데 사용된다.
    • 도달 불가능 메시지
      • 목적지 호스트에 도달할 수 없는 경우 해당 정보를 송신자에게 알리는 데 사용된다.
    • 리다이렉트 메시지
      • 네트워크 경로를 변경하거나 향상시킬 필요가 있을 때, 해당 정보를 송신자에게 알리는 데 사용된다.

 

 

 

 

'CS' 카테고리의 다른 글

[네트워크] 쿠키, 세션, 토큰 외  (1) 2023.12.06
[네트워크] TCP  (2) 2023.11.22
[네트워크] DNS, UDP  (0) 2023.11.15
[네트워크] HTTPS  (0) 2023.11.13
[네트워크] HTTP 프로토콜  (0) 2023.11.08