CS 지식 공부 - 006

변우영·2024년 9월 11일
0

CS지식

목록 보기
6/7

<목표>

  • OSI 계층 중 전송 계층 이해

전송 계층 (Transport Layer)

OSI 7계층 모델의 네 번째 계층으로, 장치 간 데이터를 안전하고 효율적으로 주고받는 것을 담당.
컴퓨터 A에서 컴퓨터 B로 데이터를 보낼 때 이 데이터를 잘게 나누고, 오류 없이 정확히 전달되게 해주는 역할.


전송 계층의 역할

  1. 데이터 나누기와 재조립: 데이터를 작은 조각으로 나눠서 보내고, 받은 쪽에서는 다시 조립한다
  2. 흐름 제어: 데이터를 너무 많이 보내서 네트워크가 과부하되지 않게 조절한다.
  3. 오류 제어: 전송 중 문제가 생긴 데이터가 있으면 다시 요청해서 받는다
  4. 다중화: 여러 프로그램이 동시에 데이터를 주고받을 수 있게 관리한다.

TCP와 UDP

대표적인 두 가지 프로토콜이 TCPUDP을 알아보자. 데이터 전송 방법이 서로 다르다.

1. TCP (Transmission Control Protocol)

  • 연결 지향형 프로토콜: 데이터를 보내기 전에 먼저 연결을 하고. "나 지금 보낼 준비 됐어!" 하고 신호를 주고받은 후에 데이터를 전송.

  • 신뢰성 보장: 보내는 데이터가 제대로 도착했는지 계속 확인하고, 만약 중간에 데이터가 빠졌다면 그 부분만 다시 보낸다.

  • 순서 보장: 데이터를 보내는 순서 그대로 받게 한다. 데이터가 순서대로 도착하지 않으면 다시 정리해서 원래 순서대로 보여준다.

  • 흐름 제어혼잡 제어: 네트워크 상태를 확인하면서 속도를 조절을 한다. 너무 빠르면 네트워크가 막히니까, 적당히 맞춰서 보냄.

    사용 예시: 웹사이트 접속(HTTP), 이메일 전송(SMTP), 파일 다운로드(FTP) 등 중요한 데이터를 전송할 때 사용.

2. UDP (User Datagram Protocol)

  • 비연결형 프로토콜: TCP처럼 연결을 먼저 하지 않음. 그냥 데이터만 쏴버림.

  • 빠른 속도: 데이터를 확인하거나 순서를 보장하는 절차가 없기 때문에 아주 빠르다.

  • 신뢰성 낮음: 데이터가 중간에 빠지거나 순서가 뒤죽박죽이 되어도 별로 신경 쓰지 않는다. 대신 속도가 중요한 곳에서 사용됨.

    사용 예시: 실시간 스트리밍, 온라인 게임, 화상 통화 같은 속도가 중요한 서비스에서 사용


포트 (Port)란?

네트워크에서는 포트(Port)가 매우 중요한 역할을 한다. 쉽게 말하자면, IP 주소는 인터넷 상에서 "어디"로 데이터를 보낼지 알려주는 주소이고, 포트는 그 장치 안에서 "어떤 프로그램"이 데이터를 받을지 지정하는 번호이다.

포트 번호의 종류

  • 0번 ~ 1023번: "잘 알려진 포트(Well-known Ports)"라고 불리며, 주로 유명한 서비스들이 사용. 웹 브라우저에서 사용하는 HTTP는 80번 포트를 사용하고, HTTPS는 443번을 사용.
  • 1024번 ~ 49151번: "등록된 포트(Registered Ports)"는 특정 애플리케이션이 사용할 수 있는 번호이다.
  • 49152번 ~ 65535번: "동적 포트(Dynamic Ports)"는 주로 임시 연결이나 개인적인 용도로 사용.

정리

전송 계층은 데이터를 안전하고 효율적으로 주고받기 위한 중요한 계층!!. TCP는 신뢰성을 보장하고, UDP는 빠른 전송 속도를 자랑한다. 그리고 포트는 데이터가 정확히 어느 프로그램으로 가야 하는지 알려주는 역할을 한다.

  • TCP: 신뢰성 있는 연결, 순서 보장, 데이터 재전송
  • UDP: 빠른 전송, 연결 및 순서 보장 없음
  • 포트: 데이터를 주고받을 때 프로그램을 식별하는 번호

네트워크를 이해하는데 많은 도움이 되셨길 바랍니다. 😄

profile
개발자로 한걸음!

0개의 댓글