IP주소란?
IP(Internet Protocol)는 인터넷을 통해 데이터를 주고받을 때 사용되는 통신 규약으로서, OSI 7계층 중 3계층에 위치하는 프로토콜이다. IP는 데이터를 패킷 단위로 나누어 전송하고, 받는 쪽에서는 그 패킷들을 다시 조립하여 원래의 데이터로 변환하는 과정을 거친다.
IP 주소는 인터넷에 연결된 각 기기를 구별하기 위해 사용되는 고유한 번호이다. 즉 인터넷에 연결된 기기를 식별하는 값을 말한다. 우편번호가 특정 장소를 가리키듯이, IP 주소는 인터넷에 연결된 특정 기기를 가리킨다. 컴퓨터, 스마트폰 등이 인터넷으로 서로 통신하고 데이터를 교환할 때, 이 iP 주소가 있어야 서로를 식별할 수 있기에 기계가 서로 통신할 수 있다.
즉, IP는 프로토콜 그 자체이고, IP주소는 IP통신을 하기 위해 각 기기들을 구분하는 고유번호인 것이다.
(이 둘은 별개의 개념이다. 혼동하지 않도록 주의해야 한다.)
IP 주소의 종류
IPv4-1983년 출시, 32bit의 주소 체계를 가지고 있어 약 42억 개의 고유 주소를 발급할 수 있다.
IPv6-컴퓨터,스마트폰 뿐만 아니라 IoT 사용이 확대되면서 인터넷을 사용하는 기계 수에 비해 IP 주소가 부족할 것으로 판단되었다. 따라서 1995년에 128bit의 주소 체계를 가지고 있는 IPv6가 나왔다. 아직까지는 IPv4 체계를 사용하는 기계가 더 많지만, 점진적으로 IPv6를 더 많이 사용할 것으로 보인다.
MAC 주소? IP 주소?
참고로, MAC 주소와 헷갈릴 수도 있는데 MAC 주소는 네트워크 인터페이스 계층에 할당된 고유 식별자로서, 하드웨어 주소이다. 네트워크에 연결된 장치에 할당되는 IP주소와 다르다. 즉 MAC 주소는 OSI 7계층에서 레이어 2(데이터 링크 계층)주소이고 물리적 하드웨어적 주소라면, IP주소는 레이어 3(네트워크 계층) 주소이며 소프트웨어적인 주소라고 생각할 수 있다.
PORT란?
PORT포트는 전송 계층(계층 4)에 해당하는 개념으로서, TCP UDP 등 전송 프로토콜에서 패킷이 이동해야 하는 포트를 나타낸다.
IP 주소가 어떤 집으로 갈지를 나타낸다면, PORT 번호는 그 집에서 어느 방(프로그램)과 통신할 지 정하는 역할을 한다. 즉 IP 주소가 집 주소이면 포트 번호는 방 번호와 같은 개념으로 이해하면 될 것 같다.
포트는 네트워크 연결이 시작되고 끝나는 가상 지점이다. 각 포트는 특정 프로세스 또는 서비스와 연결되며, 포트를 사용하면 컴퓨터가 서로 다른 종류의 트래픽을 쉽게 구별할 수 있다.
+) 추가적으로 소켓은 네트워크 통신의 양 끝점을 나타내는 추상화된 개념이다. 네트워크에서 데이터를 주고 받기 위한 통로이며, 서버 측과 클라이언트 측 (양 끝단)에 소켓을 각각 생성하고, 해당 소켓 간에 통신을 하여 데이터를 송수신한다고 생각할 수 있다. 사실 IP주소와 포트 번호만 가지고는 어떻게 데이터를 주고 받을지 결정할 수 없다. 따라서 소켓을 통해 네트워크에서 특정 IP와 포트 번호 기반으로 데이터를 송수신하는 연결 통로를 만드는 것이다. 즉 포트는 주소 역할이라면 소켓은 직접 주고받는 ‘통로’역할이다. 소켓 프로그래밍을 통해서 서버와 클라이언트 간의 직접적인 통신(TCP,UDP통신)을 구현할 수 있다.
CIDR란?
Classless Inter-Domain Routing(CIDR)은 IP 주소를 효율적으로 사용하고 네트워크를 관리하기 위한 주소 표현 방식이다. (인터넷상의 데이터 라우팅 효율성을 향상시킬 수 있다.) 인터넷에 연결되는 모든 컴퓨터, 서버 및 최종 사용자 디바이스에는 IP 주소라는 고유한 번호가 연결있는데, CIDR을 사용하여 네트워크에 유연하고 효율적으로 IP 주소를 할당한다.
과거에는 A,B,C 클래스로 IP 주소를 할당했다. 그런데 이 세 클래스로 고정되다보니 네트워크 크기를 세밀하게 조정할 수 없었다.
클래스 A는 1,600만 7,214개의 호스트를 지원
클래스 B는 6만 5,534개의 호스트를 지원
클래스 C는 254개의 호스트를 지원
이렇게 각 클래스마다 가능한 호스트 수가 매우 달라, 세밀한 조정이 불가했고 낭비되는 공간이 많았다. 따라서 이러한 문제점을 해결하고 더 효율적으로 주소를 할당하고자, CIDR이 탄생했다.
CIDR에서는 IP 주소 + 슬래쉬(/)와 숫자로 서브넷 크기를 나타낸다.
192.168.1.0/24
>> /(슬래시) 전까지는 IP주소, 그 뒤 24는 네트워크 주소 비트 개수이다(24비트).
IP주소(IPv4)는 총 32비트로 고정되어 있기 때문에, 네트워크 비트가 많아질 수록(24비트), 호스트 비트(32-24=8비트)가 줄어들고, 그래서 네트워크 크기가 작아진다.
CIDR을 통해, 클래스 개념 없이 필요한 만큼만 IP를 할당할 수 있게 되었다!
TCP와 UDP 차이는?
TCP, UDP 모두 TCP/IP 계층의 전송계층(layer 3)에서 사용되는 프로토콜이다.
이 두 프로토콜 모두 패킷을 수신 호스트로 전달해주는 IP 프로토콜 기반이다. 하지만 그 과정에서 차이가 있다.
TCP는 3-way handshake 방법을 활용한다. (말 그대로 3번 악수, 인사한다는 뜻). 이 방법을 통해 서로 주고받을 수 있는 상태인지 확인한다.
송신자 : syn(너 받는거 가능?) --> 1
수신자: ack(나 받는거 가능!), syn(너도 받는거 가능?) --> 2
송신자: ack(나도 받는거 가능!) --> 3
UDP는 그에 반해 송신자가 일방적으로 보낸다. 수신자가 따로 답을 안하는 것이다.
따라서 신뢰성이 요구되는 애플리케이션은 TCP를 사용하고, 간단한 데이터를 빠른 속도로 전송해야 될 때는 UDP를 사용한다.
게다가 TCP는 패킷에 순서 정보가 들어있기에 전송 순서를 보장하지만, UDP는 보장하지 않는다는 단점이 있다 (그대신 속도가 빠르겠지요)
또한 TCP는 바이트 스트림을 통해, UDP는 메세지 스트림을 통해 연결한다.
+) 참고로, QUIC이라는 프로토콜도 있다고 한다.
QUIC은 구글에서 개발한 프로토콜로, UDP 기반이지만 TCP의 신뢰성을 어느 정도 포함하고 있다. TCP처럼 패킷 손실 복구, 혼잡 제어, 흐름 제어 같은 기능이 있지만, 기본적으로 UDP 위에서 동작하기 때문에 핸드셰이크 시간이 짧고 멀티플렉싱이 가능해서 성능이 더 좋다고 한다.
지금은 HTTP/3의 기본 전송 프로토콜로 표준화되었고, 크롬이나 파이어폭스 같은 브라우저에서도 사용되고 있어. TCP보다 빠르고, 지연 시간이 중요한 환경에 적합하다. 스터디 팀원 중 한분이, 실시간으로 반응을 주고받아야 하는 게임 서버를 구현하려 했는데 TCP 기반으로 했더니 너무 지연되어서 문제가 있었다는 얘기가 있었다. 상황에 따라 적합하게 골라 써야 할 듯 하다 (그래도 TCP를 보통 많이 쓴다던데)

Web Server와 WAS의 차이는?
웹 서버는 클라이언트의 HTTP 요청을 받아 해당 요청에 맞는 정적 컨텐츠를 반환한다. 웹 서버는 주로 웹 애플리케이션의 비즈니스 로직을 처리하지 않고, 단순히 클라이언트에게 정적인 웹 페이지를 제공하는 데 사용된다.
WS는 정적 컨텐츠를 제공하는 역할을 한다. 웹 서버는 HTML, CSS, Javascript, 이미지와 같은 정적 웹 리소스를 클라이언트에게 전송하는데, 이러한 리소스들이 변하지 않는 고정된 내용, 즉 정적 컨텐츠에 해당한다.
WAS는 웹 애플리케이션을 실행하기 위한 서버 소프트웨어를 의미한다. WAS는 클라이언트의 요청에 따라 동적인 웹 페이지를 생성하고 데이터베이스와의 상호작용, 트랜잭션 처리, 보안, 세션 관리 등 웹 애플리케이션의 핵심 비즈니스 로직을 수행하는 역할을 담당한다. 보통 WAS를 통해서 데이터베이스와 연동해 조회하고 상호작용하는 것으로 알고 있다.
WAS의 기능은 동적 웹 페이지를 생성하고, 데이터베이스를 연동하며, 트랜잭션을 관리하고 세션을 관리하는 역할을 한다.
결국 WS와 WAS의 가장 큰 차이는 역할을 처리하는 내용이다. WAS는 웹 애플리케이션의 비즈니스 로직과 동적인 데이터처리를 담당하여 WS는 정적인 웹 리소스를 서비스한다.
보통은 WS와 WAS를 같이 쓴다고 한다. 사실 WAS에도 WS가 들어있어서, 정적 컨텐츠도 충분히 반환할 수 있다. 다만 WS도 같이 쓰는 것이 더 효율적이라(정적 컨텐츠는 걸러서 먼저 반환해주니), 일단 WS로 처리할 수 있는 부분은 처리하고, WAS로 나머지 필요한 부분만 처리하는 것이다.
출처 )
IP 주소 | 토스페이먼츠 개발자센터
IP(Internet Protocol) 주소란 인터넷에 연결된 기기를 식별하는 값을 뜻해요. 우편번호가 특정 장소를 가리키듯이, IP 주소는 인터넷에 연결된 특정 기기를 가리켜요.
docs.tosspayments.com
IP, IP주소란? 쉽게 알려드려요 IPv4 IPv6
안녕하세요 IT인플루언서 네실입니다. 오늘은 IP와 IP 주소에 대해 알아보는 포스팅을 작성하려 한다...
blog.naver.com
MAC Address (주소)와 IP 주소의 차이점은 무엇인가?
MAC 주소와 IP 주소의 차이점은 무엇인가? MAC 주소와 IP 주소의 차이점이 무엇인지 궁금하신 적...
blog.naver.com
TCP 와 UDP 차이를 자세히 알아보자
TCP와 UDP는 TCP/IP의 전송계층에서 사용되는 프로토콜이다. 전송계층은 IP에 의해 전달되는 패킷의 오류를 검사하고 재전송 요구 등의 제어를 담당하는 계층이다.
velog.io
웹 서버와 애플리케이션 서버 - 기술 서버 간의 차이점 - AWS
웹 서버와 애플리케이션 서버는 인터넷 상에서 데이터와 서비스를 교환할 수 있는 기술입니다. 클라이언트-서버 아키텍처는 인터넷의 기본 메커니즘입니다. 웹 사이트 또는 애플리케이션을 방
aws.amazon.com
https://www.cloudflare.com/ko-kr/learning/network-layer/what-is-a-computer-port/
[Web] Web Server와 WAS의 차이와 웹 서비스 구조 - Heee's Development Blog
Step by step goes a long way.
gmlwjd9405.github.io
MAC Address (주소)와 IP 주소의 차이점은 무엇인가?
MAC 주소와 IP 주소의 차이점은 무엇인가? MAC 주소와 IP 주소의 차이점이 무엇인지 궁금하신 적...
blog.naver.com
CIDR이란?- CIDR 블록 및 표기법 설명 - AWS
Classless Inter-Domain Routing(CIDR)은 인터넷상의 데이터 라우팅 효율성을 향상시키는 IP 주소 할당 방법입니다. 인터넷에 연결되는 모든 컴퓨터, 서버 및 최종 사용자 디바이스에는 IP 주소라는 고유한
aws.amazon.com
'UMC스터디' 카테고리의 다른 글
| JPQL과 QueryDSL (1) | 2025.06.13 |
|---|---|
| 도메인 설계와 N+1 문제 (0) | 2025.06.13 |
| Spring Boot의 핵심 개념 정리 (0) | 2025.04.08 |
| SQL 기본 정리 (0) | 2025.03.27 |
| TCP/IP 4계층 모델을 활용한 홈페이지 접속 방법 설명 (0) | 2025.03.21 |