Post

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

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

IP 주소란

OSI 7계층 중에서 3계층인 네트워크 계층에 속하며 컴퓨터 네트워크에서 장치들이 서로 인식하고 통신을 하기 위해서 사용하는 특수한 번호이다. 이번호를 이용하여 발신자를 대신하여 메시지가 전송되고 수신자를 향하여 예정된 목적지로 전달된다.



IPV4와 IPV6의 차이점

IP version 4 주소, 줄여서 IPv4 주소는 오늘날 일반적으로 사용하는 IP 주소이다. 이 주소의 범위는 32비트로 보통 0 ~ 255 사이의 십진수 넷을 쓰고 .으로 구분하여 나타낸다. 0.0.0.0 부터 255.255.255.255 까지가 된다.

IPv6는 모든 단말에 주소를 부여하기에 32비트로는 부족해짐에 따라 IP의 IPv6에서는 주소길이를 128비트를 사용한다.

구분IPv4IPv6
주소길이32비트128비트
표시 방법8비트씩 4부분 10진수 표시16비트 8부분 16진수로 표시
주소 개수약 43억개2^128개 (약 43억 X 약 43억 X 약 43억 X 약 43억)
주소할당 방식A, B, C, D 등의 클래스 단위 비순차 할당네트워크 규모, 단말기수에 따라 순차할당
브로트캐스트1 주소있음없음 (대신, 로컬범위 내에서 모든 노드에 대한 멀티캐스트 주소 사용)
헤더 크기가변고정 (성능향상에 도움이 되지 않는 필드를 줄여 여러 필드를 일일이 조사할 필요가 없어 처리 부하가 줄고 성능이 향상됨)
QoS(Quality of Service)
제공
미흡제공 (우선 제어나 대역 제어, 혼잡제어 등의 기능)
보안IPSec2 프로토콜 별도 설치IPSec 자체 지원
서비스 품질제한적 품질 보장확장된 품질 보장



서브넷과 서브넷 마스크란

서브넷이란 IP 주소에서 네트워크 영역을 부분적으로 나눈 부분 네트워크라는 뜻이다. 그리고 이 서브넷을 만들때 쓰이는 것이 바로 서브넷 마스크이다. 서브넷 마스크는 IP 주소 체계의 Network ID와 Host ID 를 분리하는 역할을 한다.

IPv4 주소는 네트워크 부분과 호스트 부분 2개로 구성되어있다. 네트워크 부분은 어떤 IPv4 네트워크에 있는가이고 호스트 부분은 어떤 단말인가를 나타낸다. 서브넷 마스크는 이 2개를 구분하는 표시와 같은 것으로 1의 비트가 네트워크 부분, 0비트가 호스트 부분을 나타낸다. IPv4와 서브넷 마스크를 조합해 봄으로써, 어떤 IPv4 네트워크에 있는 어떤 단말인가를 식별한다.

클래스리스 어드레싱

8비트 단위의 주소 클래스에 관계없이 IPv4 주소를 할당하는 방식을 클래스리스 어드레싱이라고 한다. 서브네팅이라고도 한다. 클래스리스 어드레싱은 네트워크 부분과 호스트 부분 외에 서브넷 부분이라는 새로운 개념을 도입해, 새로운 네트워크를 만들어낸다. 서브넷 마스크를 8비트 단위가 아니라 1비트 단위로 자유롭게 적요함으로써 이를 구현한다.

출처



라우팅이란

  • 라우터나 L3 스위치는 수신자 IP 주소, 명확히 주어진 수신지 네트워크 정보, IP 패킷을 전송할 근접 기기의 IP 주소를 나타내는 네트워크 홉 3 정보를 관리함으로써 IP 패킷의 전송 대상자를 바꾼다. 이 IP 패킷의 전송 대상자를 바꾸는 기능을 라우팅이라고 한다.
  • 또한 수신지 네트워크와 네트워크 홉을 관리하는 표(테이블)을 라우팅 테이블 4 이라고 부른다.
  • 라우팅은 라우팅 테이블에 따라 수행된다.



Public IP와 Private IP 차이

Public IP는 인터넷 사용자의 로컬 네트워크를 식별하기 위해 ISP(인터넷 서비스 공급자)가 제공하는 IP 주소이다. 공용 IP 주소라고도 불리며 공개되어 있는 IP 주소이다.

  • 공인 IP는 전세계에서 유일한 IP 주소를 갖는다.
  • 공인 IP 주소가 외부에 공개되어 있기때문에 다른 PC로부터의 접그이 가능하다. 따라서 공인 IP 주소를 사용하는 경우에는 방화벽 등의 보안 프로그램이 필요하다.

Private IP 주소는 조직 안에서 자유롭게 할당 할 수 있는 IPv4 주소이다. 주소 클래스별로 정의 되어 사용된다. IPv4는 서브넷팅된 IP이기 때문에 라우터에 의해 로컬 네트워크상의 PC 나 장치에 할당된다. 인터넷에 직접 접속될때 Private IP는 Public IP로 변환해야 한다. IP 주소를 변환하는 기능을 NAT이라고 한다.

차이점

 공인IP (Public IP)사설IP (Private IP)
할당 주체ISP (인터넷 서비스 공급자)라우터(공유기)
할당 대상개인 또는 회사의 서버(라우터)개인 또는 회사의 기기
고유성인터넷 상에서 유일한 주소하나의 네트워크 안에서 유일
공개 여부내/외부 접근 가능외부 접근 불가능

출처



라우팅 프로토콜

  • 라우팅 프로토콜은 패킷이 목적지까지 가는 방법을 결정해주는 프로토콜이다. 라우팅 프로토콜은 그 제어 범위에 따라 IGP(Interior Gateway Protocal), EGP(Exterior Gateway Protocal)의 2가지 종류로 나눌 수 있다. 이 두가지를 나누는 개념이 AS(Autonomous System, 자율 시스템) 이다.
  • AS 내부를 제어하는 라우팅 프로토콜이 IGP, AS와 AS 사이를 제어하는 라우팅 프로토콜이 EGP 이다.

IGP

  • 기업내 근거리 통신망 시스템 내에서 라우터 간에 라우터 테이블 정보를 교환하는데 사용되는 Routing Protocal이다.
  • 단일 시스템의 네트워크에서 사용되는 Protocal로서 RIP(Routing Information Protocal), IGRP(Interior Gateway Routing), OSPS(Open Shortest Path First) 등이 있다.

EFP

  • 외부 통신망 시스템 간에 경로 정보를 교환하기 위한 Routing Protocal이다.
  • 국제 표준으로는 BGP만 사용되고 있으며 ISP와 다른 외부 게이트웨이와 연결하기 위해 만들어졌다.
  • Protocal로는 BGP(Border Gateway Protocal)가 있다.

출처



IP는 어떻게 할당될까

IP가 할당되는 방법에는 정적할당동적할당이 있다.

정적할당

  • IP 주소를 수동으로 설정하는 방법
  • IP 주소를 고정적으로 사용하고 싶을 때 유용하다.
  • 웹 서버나 프린트와 같이 항상 같은 IP 주소로 접속해야 하는 장치에는 정적할당을 사용한다. 정적할당을 하려면 장치의 네트워크 설정에서 IP 주소, 서브넷 마스크, 기본 게이트웨이, DNS 서버 등을 직접 입력해야 한다. IP 주소는 중복되면 안된다.
  • 정적할당은 단말의 수가 적을 때 관리가 가능하다.

동적할당

  • IP 주소를 자동으로 설정하는 방법
  • 동적할당을 위해 DHCP라는 프로토콜을 사용하여 자동화한다.
    • DHCPDynamic Host Configuratiuon Protocal의 약자로 네트워크의 컴퓨터 및 기타 장치에 IP 주소를 할당하기 위한 표준화된 프로토콜이다.
    • DHCP는 일반적으로 새 장치를 네트워크에 연결하거나 기존 장치의 IP 주소를 변경할 때 사용된다.
    • 장치가 네트워크에 연결되면 IP 주소를 얻기 위해 DHCP 요청을 보낸다. 그러면 네트워크의 DHCP 서버가 장치가 사용할 수 있는 IP 주소를 응답한다.
    • IPv4에서는 DHCPv4를 IPv6에서는 DHCPv6를 사용한다.

츨처



NAT란

  • IP 주소를 변환하는 기술을 NAT(Network Address Translation)라 부른다. IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술을 말합니다.
  • NAT을 사용하면 부족한 글로벌 IP 주소를 절약할 수 있고, 같은 네트워크 주소를 가진 시스템 사이에서 통신할 수 있는 등 IP 환경에 내재된 다양한 문제를 해결할 수 있다.
    • 하나의 공인 IP 주소를 사용하여 여러대의 호스트가 인터넷에 접속할 수 있다. 인터넷 회선을 개통하고 인터넷 공유기를 설치해서 여러 PC를 연결하여 사용하므로써 부족한 공인 IP를 절약할 수 있는 효과가 있다.
  • NAT를 이용하는 이유는 대개 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함이다.
  • NAT는 변환 전후의 IP 주소나 포트 번호를 NAT 테이블이라는 메모리상의 테이블로 묶어서 관리한다.

동작원리

  • 패킷 헤더에 출발지와 목적지의 주소를 기록한다. 이때, 출발지는 자신의 사설망 IP 주소를 기록한다.
1
2
3
- PC (호스트) 에서 출발
출발지 IP 주소 : 10.0.0.1
목적지 IP 주소 : 200.100.10.1
  • 기본 게이트웨이(공유기 등) 에서는 외부로 나가는 패킷을 인식하게 되면, 출발지의 IP 주소를 게이트웨이 자신의 공인 IP 주소로 변경한다. 이때 별도의 NAT 테이블을 보관한다.
1
2
3
- 기본 게이트웨이에서 다시 출발
출발지 IP 주소 : 10.0.0.1  -> 150.150.0.1 (재기록하여 변경)
목적지 IP 주소 : 200.100.10.1
  • 데이터 수신시에는 위와는 반대로 라우터에서 처리한다.

주소 할당 방식에 따른 NAT 종류 구분

정적 NAT

  • 정적 NAT는 내부와 외부의 IP 주소를 1:1로 묶어서 변환한다.
  • 정적 NAT는 서버를 인터넷에 공개할 때나 특정 단말이 특정한 IP 주소로 인터넷과 데이터를 교환할 때 사용한다.

NAPT

  • NAPT (Network Address Port Translation)는 내부와 외부의 IP 주소를 n:1로 연결해서 변환한다. PAT(Port Address Translation)이라고도 한다.
  • 내부에서 외부에 엑세스할 때에 송신지 IP 주소뿐만 아니라, 송신지 포트 번호까지 변환한다. 어느 단말이 어느 포트 번호를 이용하는가를 보고 패킷을 구분할 수 있어 n:1로 변환할 수 있다.

출처



ICMP란

ICMPInternet Control Message Protocal의 약자로 네트워크 계층의 프로토콜의 하나로 IP를 돕는 프로토콜이다. ICMP는 IP 레벨의 통신을 확인하거나 다양한 에러를 알리는 등의 방식으로 IP를 돕는다. ICMP는 IPv4 포맷으로 구성된 ICMPv4, IPv6 포맷으로 구성된 ICMPv6으로 나눌수 있다.

대표적인 ICMPv4의 동작으로는 에코 요청/응답, Destination Unreachable (수신지 도달불가), Time-to-live exceeded (패킷 유효기간 초과)가 있고, ICMPv6는 ICMPv4가 가진 기능을 더해, MAC 주소를 학습하는 기능, 네트워크 정로를 제공하는 기능 등이 있어 한층 중요한 역할을 담당하게 되었다.


  1. 브로드케스트 : 로컬 랜 상에 붇어있는 모든 네트워크 장비들에게 보내는 통신이다. 상대편의 MAC Address 를 알기 위해 ARP(Address Resolution Protocal) 이라는 동작을 실행한다. ARP는 브로드캐스트 방식이며, 네트워크의 특정 IP를 가진 컴퓨터를 찾기위해 전체 패킷을 보내 특정 IP를 가진 컴퓨터 장비를 찾는다. ↩︎

  2. IPsec : Security Architectur for internet Protocal의 약자이며 네트워크 계층에서 IP 패킷의 캡슐화나 인증, 암호화하고 인터넷상에 가상의 전용선(터널)을 만드는 가상화 기술이다. 거점 간 VPN원격 액세스 VPN 2가지 종류가 있다. ↩︎

  3. 네트워크 홉 : 홉(Hop)은 컴퓨터 네트워크에서 출발지와 목적지 사이에 위치한 경로의 한 부분이다. 데이터 패킷은 브리지, 라우터, 게이트 웨이를 거치면서 출발지에서 목적지로 경유한다. 패킷이 다음 네트워크 장비로 이동할 때마다 홉이 하나 발생한다. ↩︎

  4. 라우팅 테이블 : 라우팅을 동작하게 하며 라우팅 테이블을 만드는 방법으로 정적 라우팅(static routing), 동적 라우팅(dymanic routing)이라고 한다. ↩︎

This post is licensed under CC BY 4.0 by the author.