NETWORK

네트워크(Network)

도원좀비 2025. 3. 17. 21:08

🖥️  네트워크 1강: 컴퓨터들은 어떻게 서로 통신할까?

현대 사회에서 컴퓨터들은 어떤 방식으로 서로 데이터를 주고받을지, 우리는 인터넷을 통해 전 세계의 사람들과 실시간으로 소통하고, 정보를 교환, 이번 강의에서는 네트워크의 기본 개념과 인터넷, IP, 데이터 패킷 등을 정리한다.


1️⃣ 네트워크란?

네트워크(Network)는 컴퓨터 간의 데이터 교환을 가능하게 하는 시스템

과거에는 USB, 직렬 케이블 등을 통해 직접 컴퓨터를 연결해야만 데이터를 주고받을 수 있었습니다. 하지만 이러한 물리적 연결 방식은 확장성이 떨어지고, 거리가 멀어질수록 한계가 있었다.


2️⃣ 인터넷(Internet)이란?

📌 인터넷(Internet) = 전 세계적으로 연결된 컴퓨터 네트워크의 집합

인터넷은 단순히 "컴퓨터끼리 연결된 거대한 네트워크"가 아니라, **특정한 규칙(프로토콜)**에 의해 운영됩니다. 우리가 흔히 사용하는 TCP/IP 프로토콜이 바로 인터넷의 핵심

🌍 인터넷은 어떻게 물리적으로 연결될까?

인터넷은 단순히 "무선으로 연결된다"라고 생각할 수 있지만, 실상은 다음과 같은 방식으로 네트워크가 구성

  1. 해저 광케이블(Undersea Optical Cable)
    • 인터넷의 주요 Backbone(백본, 핵심 네트워크)은 해저 광케이블로 연결
    • 실제로 전 세계를 잇는 수천 개의 해저 케이블이 있으며, 데이터는 광신호로 전달
  2. 인공위성(Satellite)
    • 위성을 이용한 무선 통신도 가능하지만, 대역폭이 낮고 지연 시간이 길어 일반적인 인터넷 통신보다 활용도가 낮다.
    • 그러나 **위성이 필수적인 지역(사막, 오지, 산간 지역 등)**에서는 위성 인터넷이 유용하게 사용

➡ 즉, 인터넷은 유선(해저 케이블)과 무선(위성) 두 가지 방식으로 연결


3️⃣ IP(Internet Protocol)와 데이터 전송

💡 인터넷 프로토콜(IP)이란?
➡ 네트워크 상에서 데이터를 주고받을 때 필요한 통신 규약(Protocol)

우리가 흔히 아는 192.168.0.1 같은 숫자는 **IP 주소(IP Address)**라고 하며, 네트워크 상의 각 장치를 식별하는 "고유한 주소"

📌 IP를 활용한 데이터 전송 과정

  1. 송신 컴퓨터에서 데이터를 패킷(Packet) 단위로 분할
  2. 각 패킷에는 출발지 IP, 목적지 IP 정보가 포함
  3. 네트워크를 통해 목적지 IP를 찾아 데이터 전송

 

4️⃣ 패킷(Packet)이란?

💡 패킷(Packet) = 데이터를 작게 나눈 단위

데이터를 한꺼번에 보내는 것이 아니라, 작은 단위의 패킷으로 쪼개어 전송

📦 패킷 구조

  • 헤더(Header): 출발지 IP, 목적지 IP 등의 메타데이터 포함
  • 페이로드(Payload): 실제 전송되는 데이터
  • 트레일러(Trailer): 오류 검출을 위한 정보

➡ 패킷 단위로 데이터를 전송하면 속도와 안정성을 보장할 수 있다.


5️⃣ IP 방식의 문제점 🚨

IP만으로는 네트워크 통신이 완벽하지 않습니다. 몇 가지 문제점이 존재한다.

1. 애플리케이션 구분 불가능

  • 동일한 IP 주소를 가진 컴퓨터 내에서 여러 개의 프로그램(웹 브라우저, 메일, 게임 등)이 실행될 수 있다.
  • 어떤 프로그램이 데이터를 받아야 하는지 IP만으로는 구분할 수 없다.

2. 비연결성(Connectionless)

  • 패킷을 보내긴 하지만, 수신자가 데이터를 받을 준비가 되었는지 확인하지 않는다.
  • 예를 들어, 상대방 컴퓨터가 꺼져 있어도 패킷이 전송된다.

3. 비신뢰성(Unreliable)

  • 패킷이 중간에서 소실될 가능성이 있다.
  • 패킷이 순서대로 도착하지 않을 수도 있다.

➡ 이런 문제를 해결하기 위해 등장한 것이 TCP 프로토콜
TCP는 패킷의 신뢰성을 보장하는 역할을 합니다.


TCP(Transmission Control Protocol)란?

  • 신뢰성 있는 데이터 전송을 보장하는 프로토콜
  • 패킷 손실, 순서 뒤바뀜을 방지
  • 3-Way Handshake로 연결 확립
  • 데이터 전송 후 수신 여부 확인(ACK)

1️⃣  TCP의 3-Way Handshake 과정

  1. 클라이언트 → 서버 : SYN → "연결 요청"
  2. 서버 → 클라이언트 : SYN + ACK → "요청 수락"
  3. 클라이언트 → 서버 : ACK → "확인 완료"

연결 후 데이터 전송 가능


2️⃣  TCP의 신뢰성 보장 방법

  1. 데이터 수신 여부 확인 : ACK 응답으로 정상 수신 확인
  2. 패킷 순서 보장 : 패킷 번호를 통해 순서 유지
  3. 패킷 손실 복구 : 손실된 패킷 자동 재전송

안정적이지만 속도가 느림


3️⃣  UDP(User Datagram Protocol)란?

  • 비연결형 프로토콜 (3-Way Handshake 없음)
  • 데이터 수신 확인 없음 (ACK X)
  • 패킷 순서 보장 없음 (순서 뒤바뀔 수 있음)
  • 속도가 빠름 (실시간 서비스에 유리)

실시간 스트리밍, 온라인 게임, VoIP에서 많이 사용


4️⃣  TCP vs UDP 비교

연결 방식 연결형 (3-Way Handshake) 비연결형
신뢰성 높음 (패킷 순서 보장) 낮음 (순서 보장 X)
속도 느림 빠름
재전송 있음 없음
사용 사례 웹 서비스, 파일 전송 스트리밍, 게임, VoIP

 


5️⃣  PORT란?

  • 같은 IP에서 여러 프로그램을 구분하는 번호
  • 패킷이 어떤 프로그램으로 가야 하는지 결정

IP = 아파트 주소, PORT = 호수 번호


6️⃣ 주요 PORT 번호

  • 80 : HTTP
  • 443 : HTTPS
  • 21 : FTP
  • 22 : SSH
  • 53 : DNS
  • 3389 : RDP

0~1023번 포트는 예약되어 있음

'NETWORK' 카테고리의 다른 글

Web Application  (2) 2025.03.17
HTTP  (1) 2025.03.17
웹(Web)  (0) 2025.03.17