ABOUT ME

주니어 개발자

Today
Yesterday
Total
  • [Spring] 네트워크 기초
    Spring 2025. 3. 18. 21:29

     

    🌐 인터넷이란?

    • 인터넷 = 전 세계 컴퓨터들이 연결된 거대한 통신망
    • TCP/IP 프로토콜 기반으로 동작
    • 해저 광케이블, 인공위성을 통해 실제 물리적 연결도 되어 있음

     

    🌐 인터넷 프로토콜(IP)이란?

     

    IP(Internet Protocol) = 서로 다른 컴퓨터끼리 데이터를 주고받기 위한 약속

    • 우리가 흔히 아는 192.168.0.1 같은 숫자는 IP 주소
    • IP 주소 = 기기의 전화번호 같은 역할

    패킷(Packet) 전송

    • 데이터는 '패킷'이라는 작은 덩어리로 쪼개져서 전송
    • 패킷 구조: 소스 IP, 목적지 IP, 데이터
    • '누가 누구한테 보내는지' 명확하게 표시

    ❌ 그런데 IP 방식의 한계점

    1. 애플리케이션 구분 불가
      • 어느 프로그램으로 보내야 할지 IP만으론 알 수 없음
    2. 비연결성
      • 상대방이 받든 말든 그냥 던지고 끝
    3. 비신뢰성
      • 패킷이 유실되거나 순서가 섞여도 모름

     

    🔐 TCP(Transmission Control Protocol) - 믿고 쓰는 프로토콜

    IP 방식의 문제를 해결하기 위해 나온 신뢰성 보장 프로토콜

    ✅ 특징

    • 3-way Handshake로 연결 확인 후 전송 시작
    • 데이터 순서 보장
    • 패킷 유실 시 재전송
    • 수신 여부 응답(O) → 신뢰성 확보

    📌 3-way Handshake란?

    1. SYN - 클라이언트가 연결 요청
    2. SYN+ACK - 서버가 응답 후 연결 수락
    3. ACK - 클라이언트가 최종 응답 후 연결 성립

    💬 하지만 속도는 느림 (연결 과정이 필요하기 때문)

     

    🚀 UDP(User Datagram Protocol) - 빠른 게 장점

    • 비연결성, 비신뢰성 프로토콜
    • 3-way Handshake 같은 거 없음 → 빠름
    • 실시간 통신, 스트리밍, 온라인 게임, 음성통화 등에 적합

    ✅ UDP 특징

    • 데이터 전송 속도 빠름
    • 순서 보장 X
    • 수신 확인 X
    • PORT 번호로 프로그램 구분

     

    🔎 PORT(포트)란? - 같은 집에 여러 호수

    • IP는 주소, PORT는 아파트 호수
    • 같은 IP 내에서도 실행 중인 프로그램이 다를 수 있음 → PORT로 구분
    • TCP/UDP 모두 PORT 사용

    📌 TCP/IP Packet 구조

    • 소스 포트 / 대상 포트 포함
    • 정확히 어떤 프로그램에 전송해야 하는지 판단

     

    📌 주요 포트 번호 정리

    서비스 포트 번호 프로토콜 설명
    FTP 20, 21 TCP 파일 전송
    SSH 22 TCP 원격 접속
    SMTP 25 TCP 메일 전송
    DNS 53 TCP/UDP 도메인 이름 해석
    HTTP 80 TCP 웹 통신
    HTTPS 443 TCP 보안 웹 통신
    RDP 3389 TCP/UDP 원격 데스크탑 접속

    ⚠️ 0~1023번은 국제 표준 포트로 예약 → 가급적 사용하지 말기

     

     

     

    'Spring' 카테고리의 다른 글

    [Spring] Web Application (1)  (0) 2025.03.19
    [Spring] RESTful API  (0) 2025.03.19
    [Spring] HTTP  (1) 2025.03.18
    [Spring] Web 기초  (1) 2025.03.18
Designed by Tistory.