Love Every Moment

〔NETWORK〕 네트워크, IP 주소, 사설 IP, 클래스, 포트포워딩 본문

PROGRAMMING::CORE/Network

〔NETWORK〕 네트워크, IP 주소, 사설 IP, 클래스, 포트포워딩

해 송 2021. 6. 17. 20:14
반응형

 

 

0. 네트워크(Network)

  • 두 대 이상의 컴퓨터가 물리적으로 또는 논리적으로 연결되어 통신 가능한 상태

 

규모에 따른 네트워크의 종류

 

(1) PAN(Personal Area Network)

  • 가장 작은 규모의 네트워크

 

(2) LAN(Local Area Network)

  • 근거리 영역 네트워크 또는 근거리 통신망
  • 집, 학교, 또는 회사처럼 좁은 범위 내에서 고속 통신이 가능한 통신망
  • 여러 기기가 하나의 네트워크(=와이파이 라우터)에 연결되어 있는 것

 

(3) MAN(Metropolitan Area Network)

  • 대도시 영역 네트워크

 

(4) WAN(Wide Area Network)

  • 광대역 통신망으로 LAN 보다 넓은 지역을 하나로 묶는 네트워크
  • 지역과 지역, 지방과 지방, 국가와 국가, 또는 대륙과 대륙을 연결하는 통신망
  • 라우터를 통해 연결되는 외부의 네트워크들이 모여 있는 것
  • 인터넷은 하나의 거대한 WAN

 


 

1. IP 주소

(1) IP(Internet Protocol)

  • 각각의 컴퓨터가 서로 통신하기 위해 가지고 있는 고유의 네트워크 '주소'를 부여해 서로 인식하고 통신하도록 하자는 규약
  • TCP/IP 프로토콜을 사용하는 모든 장비를 구분해주기 위해서 만들어진 것이다.
  • TCP 가 데이터의 효율적인 전달을 담당한다면 IP 는 데이터를 어디로 전달하면 되는지에 대한 규칙을 담당한다.
  • IP 주소: 데이터가 전송되어야 하는 곳의 주소
프로토콜(Protocol) 이란?
컴퓨터가 서로 통신하려면 데이터 송수신 방법이 양쪽 모두 통일되어야 하기 때문에 공통된 약속에 따르도록 하는 규약

 

(2) IP 주소 체계

 

■ IPv4

  • 점(.)으로 구분된  4개의 옥텟(8비트)으로 이루어져 있는 주소 체계
  • 8비트는 10진수로 표현하면 0~255 사이의 값을 가진다.
  • 따라서 0.0.0.0 ~ 255.255.255.255 사이가 주소가 된다.
  • 255.255.255.255 를 2진수로 표현하면 11111111.11111111.11111111.11111111
  • IPv4 는 총 32비트의 숫자로 이루어져 있으므로 약 43억(2^32)개의 주소를 만들 수 있다.
  • 최근 사용 가능한 IPv4 주소가 빠르게 고갈되면서 고안된 것이 IPv6 이다.
127.0.0.1 은 로컬 호스트, 즉 자기 자신을 가리키는 특별한 주소로 예약되어 있다.

 

■ IPv6

  • 콜론(:)으로 구분된 8개의 16비트 숫자로 이루어져 있는 주소 체계
  • 예를 들면  2001:0db8:0000:0000:8a2e:0370:7334
  • IPv6 는 총 128비트의 숫자로 이루어져 있으므로 총 2^128 (43억^4) 개의 IP 주소를 만들 수 있다.

 


 

2. 사설 IP 와 공인 IP

 출처: 생활코딩

 

  • 위의 IPv6 처럼 IPv4 주소가 한정되어 있다는 문제로 인해 고안된 방법
  • 내부에서만 사용할 수 있는 IP 주소라면 외부의 IP 와 중복되더라도 상관 없다.
  • 공인 IP(Public IP): 와이파이 공유기의 주소
  • 사설 IP(Private IP): 공유기에 연결된 각 기기들의 주소
  • 공유기는 고유의 공인 IP 주소를 가지지만 공유기에 연결된 기기들은 다른 네트워크 기기와 같은 사설 IP 주소를 가진다.
  • 보통 집에서 쓰는 컴퓨터의 IP 주소가 192.168.0.~ 인 이유이다.

 

■ 사설 IP 가 사용할 수 있는 대역

A 클래스: 10.0.0.0 ~ 10.255.255.255
B 클래스: 172.16.0.0 ~ 172.31.255.255
C 클래스: 192.168.0.0 ~ 192.168.255.255

 


 

3. 네트워크 클래스(Network Class)

 

  • 클래스: IP 주소의 타입으로, 클래스마다 하나의 IP 주소를 네트워크 ID와 호스트 ID로 나누는 방법이 다르다.
  • 하나의 네트워크에서 몇 개의 호스트 ID까지 가질 수 있는가에 따라 클래스가 나뉜다.
  • 즉, 네트워크 ID의 범위가 커질수록 호스트 ID의 범위는 작아지는 반비례 관계에 있다.
  • IPv4 에는 A, B, C, D, E 총 다섯 개의 클래스가 있지만 A, B, C 만이 주로 사용된다.
  • D 와 E 는 멀티캐스팅이나 정부 차원에서만 사용하는 특수한 클래스이다.
클래스를 나누는 이유: IP 주소를 적절하고 효율적으로 배분하기 위해서

 

네트워크 ID
  • 같은 네트워크 상에 있다면 같은 네트워크 ID를 가진다.
  • 같은 네트워크에 있으면 서로 ping 을 날리거나 공유폴더를 만드는 등의 자유롭게 통신이 가능하다.
  • 하나의 네트워크 ID 아래 여러개의 기기가 존재할 수 있다.
  • 브로드캐스트 영역(Broadcast Domain)으로, 라우터를 거치지 않아도 통신이 가능하다.
  • 라우터가 라우팅을 할 때에 참고하는 부분이다.

 

호스트 ID
  • 해당 네트워크에 속한 사용자에게 부여하는 고유의 번호이다.
  • 호스트: 각각의 PC 또는 장비

 

  • 리눅스 터미널에서 ifconfig 명령어를 통해 나의 IP 주소를 확인 가능하다.
  • 예를 들어 inet 172.16.0.1 이라는 결과가 나왔다면,
  • 172.16 는 네트워크 ID 이고 0.1 은 호스트 ID 이다.
  • 같은 네트워크 ID 를 가지면서 다른 호스트 ID 를 가진다면 서로 통신할 수 있다.
  • 어디까지가 네트워크 ID이고 어디까지가 호스트 ID 인지 알아내려면 클래스의 개념을 알아야한다.

 

출처: 한국 인터넷 정보센터

 

■ 클래스별 IP 주소의 앞자리

(1) A 클래스: 0 ~ 127 (0xxx xxxx. xxxx xxxx. xxxx xxxx. xxxx xxxx)
(2) B 클래스: 128.0 ~ 191.255 (10xx xxxx. xxxx xxxx. xxxx xxxx. xxxx xxxx)
(3) C 클래스: 129.0.0 ~ 223.255.255 (110x xxxx. xxxx xxxx. xxxx xxxx. xxxx xxxx)

 

  • 이들은 각 클래스의 네트워크 ID 를 의미한다.
  • A 클래스에서는 IP 의 첫번째 블락까지만 같으면 같은 네트워크에 속해있다는 의미이다.
  • B 클래스에서는 두번째 블락까지, 그리고 C 클래스에서는 세번째 블락까지 같아야 같은 네트워크에 속해있다.
  • 네트워크 ID 를 제외한 나머지가 호스트 ID 가 되며 해당 네트워크에서 몇 개의 IP 가 만들어질 수 있는지를 결정한다.
  • 127.0.0.1 의 경우 엄밀히 따지면 A 클래스에 속하지만 보통은 로컬 호스트(Local Host) 라고 지칭한다.

 

■ 클래스별 호스트 주소의 개수

(1) A 클래스: (2^24) - 2
(2) B 클래스: (2^16) - 2
(3) C 클래스: (2^8) - 2
  • -2 를 해주는 이유는 모두 0으로 표현되는 네트워크 주소와 모두 1로 표현되는 브로드캐스트 주소 때문이다.
  • 예를 들어 A 클래스로 13.0.0.0 네트워크 주소를 할당 받았다면,
  • 13.0.0.0 은 네트워크 주소가 되고 13.255.255.255 는 브로드캐스트 주소로 사용된다.
  • A 클래스가 가장 많은 호스트를 포함하므로 규모가 큰 기관에서 사용한다.

 

 클래스 첫 고정 비트 네트워크 ID 호스트 ID
A 클래스 0 8 비트(2^7개) 24 비트(2^24-2개)
B 클래스 10 16 비트(2^14개) 16 비트(2^16-2개)
C 클래스 110 24 비트(2^21개) 8 비트(2^8-2개)

 


 

4. 디폴트 게이트웨이(Default Gateway)

  • 다른 네트워크로 통하는 액세스 포인트
  • 라우터의 사설 IP 주소로, 할당 가능한 호스트 중에서 첫번째 주소이다.
  • 예를 들어 나의 사설 IP 주소가 192.168.0.4 라고 한다면, 디폴트 게이트웨이는 192.168.0.1 이 된다.

 


 

5. 포트 포워딩(Port Forwarding)

 

출처: 생활코딩

 

  • 외부에서 LAN 안에 있는 기기에 접근이 가능하도록 하는 기술이다.
  • 포트는 기본적으로 0~65535번으로 구성되어 있다.
  • 네트워크 주소 변환(NAT)의 응용이다.
NAT(Network Address Translation): 컴퓨터 네트워크에서 패킷이 라우터나 방화벽 같은 네트워크 게이트웨이를 통과하는 동안 하나의 IP  주소와 포트 번호 결합의 통신 요청을 다른 곳으로 넘겨주는 것

 

외부의 데이터가 우리집 라우터에 연결된 나의 노트북에 들어오는 과정을 살펴보자.

우선 우리집 라우터에는 휴대폰, 노트북, 컴퓨터가 연결되어 있다.

이렇게 하나의 네트워크(=라우터)에 여러 기기가 연결되어 있는 것을 LAN 이라고 부른다.

라우터의 공인 IP 와 연결된 기기의 사설 IP 가 다르기 때문에 이를 매핑해주는 것이 NAT 이다.

 

하나의 라우터에는 여러 개의 포트가 있는데 해당 포트로 요청이 오면 특정 기기로 연결하라는 이정표를 달아주는 것이다.

예를 들어 라우터의 공인 IP 가 59.6.66.238:8080 이고 외부에서 59.6.66.238:8080 으로 접속할 경우

라우터는 설정된 출발지(포트: 8080)를 확인하고 매칭되는 목적지(포트: 8080)로 연결시켜준다.

여기서는 포트 번호 8080 에 노트북이 설정되어 있으므로 노트북으로 전송되게 된다.

 

 

REFERENCE:

 

IP address 란?

지금 나는 홍대의 한 카페에서 이 글을 정리 중이다. 이 카페의 IPv4 주소는 172.30.1.12 니까, 이 IP는 B클래스임을 알 수 있다. 여기서 네트워크 주소는 172.30 까지고, 1.12는 나만의 호스트 주소이다.

velog.io

 

쉽게 설명하는 네트워크 (IP주소, DNS, 네트워크, 호스트, CIDR, Private IP, 포트포워딩)

IP 주소가 뭔가요? IP 주소는 각각의 컴퓨터 기기가 서로 통신하기 위해 가지고 있는 네트워크 주소입니다. 우리가 우편주소로 집의 위치를 찾는 것처럼, 컴퓨터는 IP주소라는 주소체계를 통해 컴

sjquant.tistory.com

 

오십보백보 netwhat 시작하기

들어가기에 앞서  인터넷은 일상적으로 사용하고 있지만 저는 개인적으로 아래 나오는 각종 네트워크 개념을 거의 처음 접했습니다. 전문적인 입장에서 작성한 글은 아니니, 생략되는 부분이

stitchcoding.tistory.com

 

 

반응형
Comments