[내일배움캠프] - DAY20 IP와 네트워크 통신에 대해 알아보자

2026. 3. 10. 00:34·TIL & 트러블 슈팅

글을 시작하며..

오늘은 IP와 네트워크에 대해 알아보는 시간을 가져보겠습니다. IP는 네트워크에서 각 장치를 구분하기 위해 사용되는 중요한 개념이며, 우리가 인터넷을 통해 데이터를 주고받을 때 필수적으로 사용됩니다. 또한 이번 글에서는 지난 시간에 공부했던 HTTP와 HTTPS의 개념도 함께 다시 정리해보려고 합니다. IP가 실제로 어떻게 사용되는지 이해하기 위해서는 HTTP와 HTTPS와 같은 통신 방식에 대한 이해도 함께 필요하기 때문입니다.

 

이번 글에서는 IP의 기본 개념을 먼저 살펴보고, 이어서 HTTP와 HTTPS의 차이점 및 네트워크에 대해서도 함께 정리해보겠습니다.

 

IP

IP 주소는 인터넷에 연결된 각 장치(PC, 스마트폰, 서버 등)를 식별하기 위해 부여되는 고유한 숫자 주소입니다. 흔히 사람의 지문에 비유되지만, 사실상 기기 자체의 고유 번호가 아니라, 기기가 접속한 네트워크(인터넷 접속 지점)의 주소를 나타냅니다. 예를 들어 동일한 노트북을 집·카페·회사에서 각각 다른 네트워크에 연결하면 IP 주소도 달라집니다.

 

IP 주소의 구조

집 주소가 “서울/강남구/테헤란로/44길” 처럼 계층적으로 구분되듯이, IP 주소도 일정한 형식을 갖습니다. 현재 가장 널리 쓰이는 IP 주소 체계는 IPv4이며, 123.123.123.123 처럼 0~255 범위의 숫자 4개(옥텟)를 점(.)으로 구분합니다. IPv4 주소는 0.0.0.0부터 255.255.255.255까지 존재하며, 약 42억 개의 고유 주소를 제공할 수 있습니다.


IPv4의 한계와 IPv6

스마트폰, 태블릿, IoT(사물인터넷) 등 다양한 기기가 등장하면서 IPv4 주소가 빠르게 고갈되고 있습니다. 이를 해결하기 위해 등장한 것이 IPv6입니다. IPv6 주소 1234:5678:9ABC:DEF0:1234:5678:9ABC:DEF0처럼 16진수(0~F) 네 자리 블록을 8개, 콜론(:)으로 구분하는 형태를 사용합니다. IPv6는 사실상 거의 무한에 가까운 주소 공간을 제공해 향후 기기 증가에도 대응할 수 있습니다.


그 밖의 특징

  • 공인(Public) IP / 사설(Private) IP: 가정·회사 내부 네트워크에서 쓰이는 IP(사설)와 인터넷에서 직접 식별되는 IP(공인)가 구분됩니다.
  • 고정(Static) IP / 동적(Dynamic) IP: 일부 서버는 변하지 않는 고정 IP를 사용하지만, 일반 사용자에게는 ISP가 주기적으로 바꾸는 동적 IP가 할당됩니다.
  • NAT(Network Address Translation): IPv4 주소 부족 문제를 완화하기 위해, 여러 기기가 하나의 공인 IP를 공유하도록 해 주는 기술입니다.

 

쉽게 말해 IP 주소는 “네트워크에서 기기(혹은 네트워크 종단)를 구분하는 집주소 같은 번호”이고, IPv6는 미래를 위한 새로운 주소 체계입니다.


포트(Port)

포트(Port)는 컴퓨터 네트워크에서 데이터가 들어오고 나가는 논리적인 통신 종단점을 의미하며, 0부터 65535까지의 번호 범위를 가집니다. 네트워크 통신에서 IP 주소가 특정 컴퓨터(서버나 장치)를 식별한다면, 포트 번호는 그 컴퓨터 내부에서 실행 중인 특정 애플리케이션이나 서비스를 구분하는 역할을 합니다. 예를 들어 하나의 서버에는 웹 서버, 데이터베이스, 메일 서버 등 여러 서비스가 동시에 실행될 수 있는데, 이때 포트 번호를 통해 어떤 서비스와 통신할지 구분하게 됩니다.

 

일반적으로 웹 서비스에서는  다음과 같이 잘 알려진 포트 번호를 사용하여 데이터를 주고받습니다.

  • 80번 포트를 사용하는 HTTP
  • 443번 포트를 사용하는 HTTPS

 

쉽게 비유하면 IP 주소는 “서울 / 강남구 / 테헤란로 / 44길”과 같은 건물의 주소라고 볼 수 있고, 포트 번호는 그 건물 안에 있는 특정 호수나 사무실 번호라고 생각할 수 있습니다. 즉, IP 주소가 어떤 컴퓨터로 갈지를 결정한다면, 포트 번호는 그 컴퓨터 안에서 어떤 프로그램과 통신할지를 결정한다고 볼 수 있습니다.


도메인과 DNS

도메인(Domain)과 IP 주소

IP 주소는 123.123.123.123 같은 숫자로 이루어진 인터넷상의 식별자입니다. 그러나 숫자만으로 된 주소는 사람이 기억하기 어렵기 때문에, 이를 대신할 수 있는 도메인(Domain) 개념이 도입되었습니다. 예를 들어 naver.com, google.com과 같은 도메인은 해당 서비스의 이름을 반영하고 있어 훨씬 기억하기 쉽습니다. 도메인은 도메인 등록 대행업체(Registrar) 를 통해 구매할 수 있으며, 국내에는 가비아·후이즈 등이 있고, 해외에는 GoDaddy 같은 업체가 있습니다. 다만 도메인은 그 자체가 웹사이트의 위치를 알려주는 것이 아니라, 사람이 쉽게 기억할 수 있는 이름을 제공하는 역할을 합니다. 실제 통신을 위해서는 여전히 IP 주소가 필요합니다.

 

DNS(Domain Name System)의 역할

도메인과 실제 IP 주소를 연결해 주는 시스템이 바로 DNS입니다. DNS는 전 세계에 분산된 거대한 데이터베이스로, 도메인과 해당 도메인에 대응하는 IP 주소가 저장되어 있습니다. 사용자가 브라우저 주소창에 도메인을 입력하면, 브라우저는 다음과 같은 과정을 거쳐 실제 IP 주소를 알아냅니다.

 

  1. 사용자가 www.naver.com을 입력하면, 브라우저는 먼저 로컬 캐시(브라우저·운영체제 캐시) 에 해당 IP 주소가 저장되어 있는지 확인합니다.
  2. 캐시에 없으면, 리커시브 DNS 서버(ISP나 구글 DNS 같은 공용 DNS) 에 질의가 전달됩니다.
  3. 리커시브 DNS는 순차적으로 루트 네임서버 → TLD(Top-Level Domain) 서버 → 권한 네임서버(Authoritative Server) 를 거쳐 최종적으로 naver.com의 실제 IP 주소를 찾아옵니다.
  4. 찾은 IP 주소를 브라우저에 전달하면, 브라우저는 해당 IP 주소의 웹 서버와 연결해 웹페이지를 가져옵니다.

 

정리

  • 도메인은 사람이 기억하기 쉬운 인터넷 주소(문자 형태)
  • IP 주소는 실제 네트워크에서 기기를 식별하는 숫자 주소
  • DNS는 도메인을 IP 주소로 변환해 주는 시스템

 

즉, 사용자가 naver.com 같은 도메인을 입력하면, DNS가 이를 xxx.xxx.xxx.xxx 형태의 IP 주소로 바꿔 주고, 브라우저는 해당 서버에 접속해 웹사이트를 표시하게 되는 것입니다.


HTTP와 HTTPS

HTTP

HTTP(HyperText Transfer Protocol) 는 웹에서 데이터를 주고받기 위해 사용되는 애플리케이션 계층 프로토콜입니다. 쉽게 말해, 네트워크로 연결된 클라이언트(브라우저 등)와 서버가 어떤 방식으로 대화할지 약속해 놓은 규칙입니다. 명함에서 전화번호 앞에 Tel:이나 Fax:를 붙여 연락 방법을 구분하듯, 인터넷에서는 http://라는 접두사를 붙여 “이 주소는 HTTP 규칙으로 통신한다” 라고 알려줍니다.

 

요청과 응답

HTTP는 기본적으로 클라이언트의 요청(Request) 과 서버의 응답(Response) 으로 이루어집니다.

  • 클라이언트(브라우저)는 서버에 “편지”처럼 요청 메시지를 보냅니다. 이 안에는 “어떤 문서를 달라”, “어떤 작업을 처리해 달라” 같은 명령이 담깁니다.
  • 서버는 이 요청을 확인한 뒤, 허가된 요청이라면 결과(HTML, 이미지, JSON 데이터 등)를 담아 응답하고, 잘못된 요청이라면 오류 메시지를 반환합니다.

HTTP를 편지에 비유하는 이유는, 각각의 요청과 응답이 독립적이고 개별적으로 처리되기 때문입니다.

 

HTTP의 특징

  • Stateless(무상태성): HTTP는 이전 요청의 상태를 기억하지 않습니다. 즉, 매 요청은 서로 독립적입니다. (로그인 상태 유지 같은 기능은 쿠키·세션·토큰 같은 별도 기술이 필요합니다.)
  • 유연한 데이터 전송: HTML, 이미지, 동영상, JSON 등 다양한 형태의 데이터를 교환할 수 있습니다.
  • 확장성: HTTP 요청에는 GET, POST, PUT, DELETE 같은 메서드가 있고, 응답에는 200 OK, 404 Not Found, 500 Internal Server Error 같은 상태 코드가 포함되어 의미를 명확히 전달합니다.

 

정리

  • HTTP는 웹에서 클라이언트와 서버가 대화하는 규칙(프로토콜)
  • 요청과 응답 구조로 동작하며, 각 요청은 독립적
  • 무상태(stateless) 특징을 가지며, 쿠키·세션·토큰으로 보완 가능
  • HTTPS는 HTTP에 보안을 강화한 방식

HTTPS

HTTPS(HyperText Transfer Protocol Secure)는 기존의 HTTP에 보안 계층(SSL/TLS) 을 덧붙인 프로토콜입니다. 즉, 클라이언트와 서버 간에 주고받는 데이터를 암호화하여 도청, 위·변조, 피싱 공격으로부터 안전하게 보호합니다.

 

HTTPS의 동작 원리

HTTPS는 SSL/TLS 암호화 프로토콜을 사용합니다. 그 과정은 대략 다음과 같습니다.

  1. 클라이언트가 접속 요청
  2. 브라우저가 서버에 HTTPS 요청을 보냅니다.
  3. 인증서 교환
  4. 서버는 자신의 SSL/TLS 인증서(공개키 포함) 를 클라이언트에 전달합니다. 이 인증서는 신뢰할 수 있는 기관(CA, Certificate Authority)이 발급한 것입니다.
  5. 키 교환 및 암호화 채널 생성
  6. 클라이언트는 서버의 공개키를 사용해 세션 키(대칭키)를 안전하게 전달하고, 이후 모든 통신은 이 세션 키를 사용한 대칭키 암호화로 이루어집니다.
  7. 보안 통신 시작
  8. 클라이언트와 서버는 암호화된 채널을 통해 요청과 응답을 주고받습니다.

 

HTTPS의 특징

  • 데이터 암호화: 제3자가 네트워크를 가로채더라도 내용을 읽을 수 없음.
  • 데이터 무결성 보장: 중간에 데이터가 변조되면 탐지 가능.
  • 인증(Authentication): 인증서를 통해 클라이언트가 접속한 서버가 신뢰할 수 있는 서버임을 확인.

 

HTTP vs HTTPS 비교

구분 HTTP HTTPS
보안 없음 (평문 전송) SSL/TLS 암호화로 안전한 통신 제공
포트 번호 80 443
속도 빠름 (암호화 과정 없음) 약간 느릴 수 있음 (암호화/복호화 과정 때문)
사용 예시 단순한 웹 테스트, 내부망 용도 온라인 쇼핑, 로그인, 결제, 민감 데이터 전송

 

정리

  • HTTPS = HTTP + SSL/TLS 보안 계층
  • 데이터를 암호화하여 기밀성, 무결성, 인증을 보장
  • 현대 웹 서비스에서는 보안을 위해 사실상 모든 사이트가 HTTPS 사용을 기본으로 하고 있음

네트워크(Network)란?

네트워크는 컴퓨터, 스마트폰, 태블릿, 서버 등 여러 디지털 기기들이 서로 연결되어 데이터를 주고받는 통신 구조를 말합니다. 가장 대표적인 예가 인터넷으로, 전 세계 수십억 개의 장치들이 연결되어 정보를 주고받는 거대한 네트워크입니다.

 

네트워크의 목적

  1. 정보 공유 – 문서, 이미지, 영상 등 데이터를 서로 주고받음
  2. 자원 공유 – 프린터, 저장장치, 소프트웨어 등을 여러 기기가 함께 사용
  3. 통신 – 이메일, 채팅, 전화 등 실시간 의사소통
  4. 원격 접근 – 다른 컴퓨터나 서버에 접속해 작업 수행

네트워크의 기본 구성 요소

호스트(기기) 컴퓨터, 스마트폰, 태블릿, 서버 등 네트워크에 연결된 모든 장치
라우터(Router) 여러 네트워크를 연결해주는 장치 (예: 집 와이파이 공유기)
스위치(Switch) 같은 네트워크 내 여러 기기를 효율적으로 연결해줌
모뎀(Modem) 인터넷 신호를 컴퓨터가 이해할 수 있도록 변환
전송 매체 데이터를 전달하는 통로 (예: LAN 케이블, 와이파이 등)

 

네트워크의 종류

LAN (근거리 통신망) 집, 학교, 사무실 등 좁은 범위 내 연결된 네트워크
WAN (광역 통신망) 도시, 국가, 전 세계를 연결하는 네트워크 (인터넷 포함)
WLAN (무선 LAN) 와이파이를 이용한 무선 네트워크
PAN (개인 영역망) 블루투스, 테더링 등 개인 기기 간 연결

 

네트워크의 작동 방식 (예시)

예: 사용자(수강생)가 내일배움캠프 웹에서 강의 영상을 시청할려고 할 때

 

  1. 사용자가 내일배움캠프 웹사이트에 접속합니다.
  2. 강의 목록에서 원하는 강의를 클릭하여 “이 강의 영상을 보여줘!”라는 요청을 서버에 보냅니다.
  3. 요청은 와이파이 → 라우터 → 인터넷망 → 내일배움캠프 서버로 전달됩니다.
  4. 서버는 요청된 강의 영상을 찾아 사용자에게 응답 데이터를 전송합니다.
  5. 전달된 데이터가 사용자 기기로 도착하면 강의 영상이 화면에 나타나 재생됩니다.

 

이 모든 과정이 네트워크를 통해 이루어집니다.


핵심 요약

  • 네트워크는 기기 간 데이터 통신 시스템
  • 정보 공유와 자원 활용, 실시간 통신을 가능하게 함
  • 유선 또는 무선으로 연결되며, 구성 요소와 통신 규칙(프로토콜)에 따라 작동

 

'TIL & 트러블 슈팅' 카테고리의 다른 글

[내일배움캠프] - 2026.03.30(월)  (0) 2026.03.30
[내일배움캠프] - DAY21 클라우드 아키텍처 설계 & 배포 프로젝트 트러블 슈팅  (0) 2026.03.12
[내일배움캠프] - DAY19 AOP(Aspect Oriented Programming)에 대해 알아보자  (0) 2026.03.06
[내일배움캠프] - DAY18 테스트  (0) 2026.03.04
[내일배움캠프] - DAY17 코드 개선 과제  (1) 2026.03.04
'TIL & 트러블 슈팅' 카테고리의 다른 글
  • [내일배움캠프] - 2026.03.30(월)
  • [내일배움캠프] - DAY21 클라우드 아키텍처 설계 & 배포 프로젝트 트러블 슈팅
  • [내일배움캠프] - DAY19 AOP(Aspect Oriented Programming)에 대해 알아보자
  • [내일배움캠프] - DAY18 테스트
N_HYUN
N_HYUN
안녕하세요! 현이의 개발 공부방입니다.
  • N_HYUN
    현이의 개발 공부방
    N_HYUN
  • 전체
    오늘
    어제
    • 분류 전체보기 (29)
      • FrontEnd (0)
      • BackEnd (0)
        • Java (0)
      • DataBase (1)
      • TIL & 트러블 슈팅 (24)
      • Etc (4)
        • Theoretical Computer Scienc.. (1)
        • Web & CS (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
N_HYUN
[내일배움캠프] - DAY20 IP와 네트워크 통신에 대해 알아보자
상단으로

티스토리툴바