본문 바로가기
개념/Study

IP 와 Port

by Hwanii_ 2023. 11. 26.
728x90

1. IP 이란 ?

 

IP (Internet Protocol)

 

인터넷을 통해 데이터를 주고 받을 때 사용 되는 통신 규칙 이다.

 

OSI 7계층 중 레이어 3에 위치 하는 프로토콜 이다.

 

IP는 데이터를 패킷 단위로 나누어 전송 한다.

받는 쪽 에서는 그 패킷들을 다시 조립 해서 원래의 데이터로 변환 하는 과정을 거친다.

 

이러한 IP 통신 규칙을 통해 전송 되는 데이터는 인터넷 상의 다양한 기기들과 통신이 가능 하다.

 

 

 

[ 참고 ]

 

패킷 이란 ?

 

더보기

 

패킷은 네트워크에서 데이터를 전송할 때 사용 되는 작은 데이터 조각을 의미 한다.

 

네트워크 통신은 일반적으로 여러 개의 패킷으로 나누어져 있다.

 

패킷은 데이터 전송의 기본 단위 이다.

 

큰 데이터를 작은 데이터 조각으로 나누어 보낸다.

 

각 패킷은 헤더 (Header) 와 페이로드 (Payload) 로 구성 되어 있다.

 

1) 헤더 == Header

 

패킷의 제어 정보를 담고 있다.

출발지 / 목적지 / IP 주소 / 포트 번호 / 전송 제어 정보 / 등등 이 헤더에 담겨져 있다.

 

2) 페이로드 == Payload

 

실제로 전송 되는 데이터를 의미 한다.

이메일 / 웹 페이지 주소 / 음성 데이터 / 이미지 데이터 / 등등 이 페이로드에 담겨져 있다.

 

정리

 

패킷 기반으로 통신을 하는 이유는 데이터를 효율적으로 전송 하기 위함 이다.

또한, 데이터가 손상 됬더라도 손상된 패킷을 다시 보낼 수 있도록 한다.

인터넷 또는 로컬 네트워크에서 데이터가 안정적으로 전송되도록 하는 중요한 역할 이라고 할 수 있다.

 

이렇게 패킷 기반으로 통신을 구현하는 대표적인 프로토콜은 TCP 와 UDP 가 있다.

 

TCP : Transmission Control Protocol

 

UDP : User Datagram Protocol

 

 

 

2. IP 주소 이란 ?

 

 

IP 주소는 인터넷에 연결된 각 기기를 구별 하기 위해 사용 되는 고유한 번호 이다.

 

IP는 인터넷 통신 규칙 (프로토콜) 그 자체를 의미 하고,

IP 주소는 통신을 하기 위해, 각 기기들을 구분 하는 고유 번호 이다.

 

IP 주소는 네트워크 내에서 특정한 기기를 찾아 데이터를 전송 할 수 있도록 도와 주는 역할을 한다.

따라서, 기기들이 서로 인터넷 상에서 통신 할 수 있도록 하는 필수적인 요소 이다.

 

 

 

3. IPv4 와 IPv6 이란 ?

 

 

1) IPv4

 

IPv4는 32비트로 구성된 IP 주소 이다.

 

대략 43억 개의 고유한 주소를 생성 할 수 있다.

 

IPv4 주소는 4개의 0 ~ 255 사이의 숫자로 이루어져 있다.

각 숫자는 점 ( . ) 으로 구분 된다.

 

예) 255.255.255.0

 

 

 

2) IPv6

 

IPv6은 128비트로 구성된 IP 주소 이다.

 

거의 무한한 수의 고유한 주소를 생성 할 수 있다.

 

IPv6 주소는 8개의 4자리 16진수로 이루어져 있다.

각 진수는 콜론 ( : ) 으로 구분 된다.

 

예) 1996:0ab1:06c3:0000:0000:2d8e:1126:2023

 

 

 

기본적으로 IP 주소를 말하면, IPv4 를 이야기 한다.

그런데, IPv4는 자리 수의 한계가 존재 한다고 했다.

따라서, 더 이상 할당 되지 않고 있다.

 

그러면 앞으로 새롭게 등장하는 기기에 대해서는 IPv4를 사용한 인터넷 통신이 불가능 한것일까 ?

 

답은 가능 하다.

 

이 부분은 유동 IP와 고정 IP라는 개념이 존재 한다.

 

이 세상의 모든 인터넷 웹사이트는 IP 주소를 가지고 있다.

 

예를 들어,

우리는 네이버를 이용 할 때, 주소창에 www.naver.com  이라고 입력 해서 서비스를 이용 한다.

하지만, 네이버는 223.130.200.104 IP 주소로 접속이 가능 하다.

 

구글은 142.250.76.142 IP 주소로 접속이 가능 하다.

 

 

 

4. 고정 IP 주소와 유동 IP 주소 

 

1) 고정 IP 주소 :

 

기기에 할당된 IP 주소가 변하지 않고 항상 동일한 주소를 사용 한다.

고정 IP 주소는 웹 서버 / 이메일 서버 / 등등 인터넷 서비스를 제공 하는 기기에 사용 된다.

따라서, 안정적인 통신을 위해 사용 될 때 고정 IP 주소가 필요 하다고 보면 된다.

 

2) 유동 IP 주소 :

 

동적 IP 주소 라고도 한다.

기기에 할당된 IP 주소가 일정 시간이 지나면 동적으로 변경 된다.

유동 IP 주소는 인터넷 서비스 제공자에 의해서 임시로 할당 된다.

일반 가정 또는 회사에서 사용하는 인터넷 접속에 주로 사용 된다.

유동 IP 주소는 IP 주소의 효율적인 관리와 부족한 IPv4 주소 자원의 활용에 있어서 큰 도움이 된다.

 

위에서 인터넷 서비스 제공자가 유동 IP 주소를 임시로 할당해 준다고 했는데,

쉽게 말하면 인터넷 회사 이다.

즉, KT 등 이다.

 

인터넷 회사는 인터넷을 사용 하는 사람들 에게만 IP를 할당 한다.

사용 하지 않는 사람들에게는 IP를 할당 하지 않는다.

 

바로 이러한 개념이 유동 IP 이다.

 

즉, IP의 수는 가입자의 수가 아니라, 한번에 인터넷에 연결될 수 있는 사람의 숫자 이다.

 

 

 

5. IP 주소의 역할

 

끝으로 IP 주소가 무슨 역할을 하는지 이미 위에서 정리했지만, 마지막으로 정리해 보려고 한다.

 

IP 주소가 있어야만 인터넷 상에서 통신이 가능 하다고 했었다.

 

1) 기기 식별

 

IP 주소를 통해 인터넷에 연결된 모든 기기를 구별 할 수 있게 된다.

이 고유한 주소가 있기 때문에, 데이터를 주고 받을 수 있는 것이다.

 

2) 데이터 전송

 

IP == Internet Protocol 가 데이터를 전송 할 때, 패킷 이라는 것을 통해 전송 한다고 했었다.

데이터를 패킷 단위로 나누어 전송 하고,

받는 쪽 에서는 패킷을 재조립 해서 원래의 데이터로 변환 하는 과정을 거친다.

 

3) 라우팅

 

IP 주소는 네트워크 상에서 데이터 패킷의 경로 (가야할 길) 를 결정하는데 사용 된다.

라우터가 IP 주소를 통해 패킷이 어디로 가야할지 길을 판단 하고, 최적의 경로를 찾아서 데이터 (패킷) 를 전송 하게 된다.

 

 

 

6. Port == 포트 이란 ?

 

1) 포트 번호 범위

 

포트 번호는 16비트의 부호 없는 정수로 표현 된다.

범위는 0부터 65535 까지 이다.

 

0부터 1023 까지의 포트는 잘 알려진 포트 (Well-Known Ports) 로 예약 되어 있다.

 

이 잘 알려진 포트는 특정 서비스에 이미 할당 되어 있다.

 

예를들어, HTTP 포트는 80번 포트 이고, HTTPS 포트는 443번 포트 이다.

 

 

 

1024부터 49151 까지의 포트는 등록된 포트 (Registered Ports) 로 사용 된다.

 

특정 프로그램 또는 서비스에 할당 되서 사용 된다고 보면 된다.

 

(테스트 할 때, 8080 포트를 주로 사용 하는데, 웹 서버가 기본적으로 80번 포트를 사용 해서 유사한 8080 포트를 사용)

 

 

 

49152부터 65535 까지는 동적이거나 또는 사설 포트로 클라이언트가 임시로 사용 할 수 있는 포트 이다.

 

 

 

2) 포트의 역할

 

컴퓨터 내부의 여러 프로세스는 네트워크를 통해 통신 하게 된다.

이때, 서로 다른 포트를 사용 하게 된다.

 

이것이 무엇을 의미할까 ?

바로, 서로 다른 포트를 사용함으로써, 여러 프로그램들이 동시에 네트워크 통신을 수행 할 수 있게 된다.

 

또 달리 말하면, 각각의 서비스 또는 어플리케이션이 다른 목적이나 기능 수행을 위한 개별적인 통신이 필요 하면,

각각에게 고유한 포트를 할당하고, 서로 다른 통신을 독립적으로 수행 할 수 있게 된다.

 

즉,

서로 다른 포트 사용을 해서,

하나의 시스템에서 여러 서비스가 동작하면서 각각의 서비스가 목적에 맞게 독립적으로 통신 한다.

>> 효율적인 네트워크 관리 및 서비스 분리 가능.

 

예)

 

1) 웹서버 >> 80번 포트 >> HTTP 트래픽 처리

2) 웹서버 >> 443번 포트 >> HTTPS 트래픽 처리

3) FTP 서버 >> 21번 포트 >> 파일 전송

..

 

 

 

포트는 IP 주소와 같이 사용 된다.

특정한 프로세스를 구별 하게 되고, 이를 통해 데이터가 어떤 프로세스로 전달 되어야 하는지를 식별 한다.

 

프로세스는 쉽게 말하면 실행 중인 프로그램의 인스턴스를 의미 한다.

그냥 실행 중인 프로그램 이라고 생각 하면 된다.

 

 

 

3) TCP (Transmission Control Protocol) 과 UDP (User Datagram Protocol) 의 포트 사용

 

TCP == 전송 제어 프로토콜 과 UDP == 사용자 데이터그램 프로토콜 은 모두 포트를 사용 한다.

 

TCP는 연결 지향적이고 신뢰성 있는 통신을 위한 프로토콜 이기 때문에,

연결을 위한 포트 (대표적으로 HTTP의 80번 포트) 와 함께 데이터를 주고 받게 된다.

 

UDP는 연결이 없는 프로토콜 인데, 목적지 포트만 사용 해서 데이터를 전송 한다.

DNS 서비스의 53번 포트가 이에 해당 한다.

 

 

 

결국, 포트는 네트워크 통신에서 중요한 역할을 하는 아이 이다.

 

서버와 클라이언트 간의 통신에서 프로세스를 구분 하는데 사용 된다.

 

 

 

 

 

더보기

 

검색어 : 

인터넷 제공자 (ISP) / DHCP / 유동 IP / DHCP 서버 / DHCP Discover 메세지 / 브로드캐스트 / DHCP 클라이언트 

 

댓글에 개념 작성 해놓음 (24.03.15)
반응형