CS 공부/네트워크

[CS-네트워크] TCPvsUDP란? + 네트워크 기본 개념

winterlove 2024. 9. 13. 01:11

네트워크 기본 개념

1. 네트워크 목적 : 네트워크는 여러 장치들이 서로 연결되어 데이터를 주고받는 시스템이다.
이를 통해 파일 공유, 인터넷 접속, 이메일 등 다양한 작업을 진행한다.

2. 네트워크 장비

  • Server : 서비스 제공 장치. 웹사이트 호스팅, 파일 저장, 데이터베이스 관리 등 담당
  • Client : 서버에서 제공하는 서비스를 요청하는 장치. ex) 웹브라우저 통해 웹사이트에 접근하는 컴퓨터가 클라이언트
  • Switch : 네트워크에서 데이터를 수신하고 목적지에 맞게 전달. 패킷을 수신 후 MAC 주소를 기반으로 적절 포트로 전송
  • Router : 서로 다른 네트워크를 연결하고 패킷을 올바른 경로로 전달. ex) 집안의 인터넷 라우터는 LAN과 인터넷 WAN을 연결한다.
  • Hub : 네트워크의 모든 장치에 데이터를 브로드캐스트하는 장치. 현대는 스위치로 대체됨

3. 네트워크 계층

  • 물리 계층 : 실제 데이터를 전송하는 물리적 매체 ex) 케이블, 무선 주파수 등
  • 데이터 링크 계층 : 네트워크의 인접 장치 간 데이터 전송 관리, 오류 검출 및 수정 기능 제공 ex) 이더넷, 무선 LAN
  • 네트워크 계층 : 데이터가 출발-> 목적지까지 가는 경로 결정 ex) IP주소를 사용하여 패킷을 라우팅
  • 전송 계층 : 데이터 전송의 신뢰성과 흐름 제어 주 프로토콜로 TCP&UDP가 있다.
  • 응용 계층 : 사용자와 애플리케이션이 네트워크 서비스를 사용할 수 있도록 함 ex) HTTP, FTP, SMTP

4. IP주소와 서브넷

  • IP 주소 : 네트워크에 연결된 각 장치에 할당되는 고유한 주소 (IPv4, IPv6)
  • 서브넷 : 네트워크를 여러 작은 네트워크로 나누어 관리할 수 있게한다. 서브넷 마스크를 사용하여 IP 주소의 네트워크와 호스트를 구분

5. 네트워크 프로토콜 : 장치간 통신 규칙을 정의

  • TCP : 연결 지향, 신뢰성 있는 데이터 전송
  • UDP : 비연결성, 속도 중시, 신뢰성 없는 데이터 전송
  • HTTP : 웹 페이지 전송 위한 프로토콜
  • FTP : 파일 전송위한 프로토콜
  • DNS : 도메인 이름을 IP주소로 변환

6. 데이터 전송 방식

  • 패킷 : 네트워크에서 데이터 전송 시 작은 조각으로 나누어 전송. 패킷에는 데이터, 출발지, 목적지가 포함
  • 브로드캐스트 : 네트워크 모든 장치에 데이터 전송
  • 유니캐스트 : 특정 장치에만 데이터 전송
  • 멀티캐스트 : 선택 장치만 데이터 전송

 

TCP와 UDP를 설명하기 전, 간단하게 설명하자면 위에서 나왔듯 TCP는 신뢰성 있는 데이터 UDP는 신뢰성 없는 데이터이다.
TCP의 경우, 수신 여부+데이터 전송 + 응답까지 확인하며
UDP의 경우, 일방적으로 빠르게 전송만하게 된다.

TCP(Transmission Control Protocol)란? 
연결 지향적 프로토콜
신뢰성 보장 연결형 서비스
안정적으로 순서대로 에러 없이 교환 가능

특징

  • 연결형 서비스로 가상 회선 방식 제공
    3-way-handshaking 과정 통해 연결 설정하고 4-way-handshaking 과정 통해 연결을 해제
  • 흐름제어 : 데이터 처리 속도를 조절하여 수신자 버퍼 오버플로우 방지
  • 혼잡 제어 : 네트워크 내 패킷 수가 과도하게 증가하지 않도록 방지
  • 신뢰성 보장 : UDP보다 속도가 느림
  • 전이중(Full-Duplex), 점대점(Point to Point) 
    전이중 : 전송이 양뱡향으로 동시에 일어날 수 있음
    점대점 : 각 연결이 정확히 2개의 종단점을 가짐
  •  

 

 

UDP(User Datagram Protocol)란? 
비연결형 프로토콜
연결 위한 논리적인 경로가 없고 각각 패킷은 다른 경로로 전송되며 독립적인 관계를 지님

특징

  • 비연결형 서비스로 데이터그램 방식 제공 : 전송 순서가 바뀔 수 있다.
  • 데이터 수신여부 확인X
  • 신뢰성이 낮다.
  • 속도가 빠르다
  • 1:1, 1:N, N:N 통신이 가능하다.
  • 실시간 서비스(streaming)에 자주 사용

 

요약하자면 TCP는 연속성보다는 신뢰성이 중요할 때, 
UDP는 빠르고 네트워크 부하가 적기에 연속성이 중요한 실시간 스트리밍 서비스에 사용

 

'CS 공부 > 네트워크' 카테고리의 다른 글

[네트워크] HTTP & HTTPS  (1) 2024.10.03