데이터를 위한 C.S 지식 정리_네트워크 공부 : OSI 7계층 이해하기 : [4계층_전송 계층].

post-thumbnail

데이터를 위한 C.S 지식 정리네트워크 공부 : OSI 7계층 이해하기 : [4계층전송 계층].

▽OSI 7계층 이해하기 : [4계층_전송 계층].

목  차

1. OSI 모델 개요.
2, 전송 계층의 정의
    2-1. 전송 계층이란 무엇인가.
    2-2. 전송 계층의 주요 기능.
    
3. 전송 계층의 주요 역할
    3-1. 데이터 분할 및 재조립.
    3-2. 오류 제어 및 흐름 제어.
    3-3. 연결 지향 및 비연결 지향 통신.
    
4. 전송 계층의 프로토콜(TCP & UDP)
    4-1. TCP(Transmission Control Protocol)
    4-2. UDP(User Datagram Protocol)
    
5. 전송 계층과 다른 계층 간의 관계.
    5-1. 응용 계층과의 관계
    5-2. 세션 계층과의 관계
    5-3. 네트워크 및 하위 계층과의 관계
    
6. 실무에서 전송 계층의 역할.
    6-1. 웹 서비스
    6-2. 실시간 스트리밍
    6-3. 네트워크 보안
    
7. 전송 계층 관련 문제 해결 사례.
    7-1. 패킷 손실 문제 해결
    7-2. 실시간 게임에서 높은 지연 시간 문제.

1. OSI 모델 개요.


OSI 모델의 목적과 중요성.

  • OSI 모델은 네트워크 통신을 7개의 계층으로 나누어 각 단계에서 수행되는 작업을 명확히 정의합니다.
  • 이를 통해 개발자와 엔지니어는 네트워크 문제를 체계적으로 분석하고 해결할 수 있습니다.

각 계층의 간략한 역할.

  • 1계층(물리 계층): 데이터 전송을 위한 물리적 매체와 신호 처리.

  • 2계층(데이터 링크 계층): 데이터 프레임 생성 및 오류 감지.

  • 3계층(네트워크 계층): 라우팅 및 IP 주소 관리.

  • 4계층(전송 계층): 데이터 전송 신뢰성 확보(TCP/UDP).

  • 5계층(세션 계층): 연결 설정, 유지, 종료.

  • 6계층(표현 계층): 데이터 암호화, 압축 등 표현 방식 처리.

  • 7계층(응용 계층): 사용자 인터페이스 제공 및 애플리케이션 서비스.

2, 전송 계층의 정의.


전송 계층이란 무엇인가.

  • '전송 계층(Transport Layer)'은 OSI 모델의 네 번째 계층으로, 데이터의 신뢰성 있는 전송을 담당합니다.

    • 이 계층은 "End-to-End 통신"을 지원하며, 응용 프로그램 간 데이터 교환을 안정적으로 관리합니다.
  • '전송 계층'은 데이터를 작은 단위인 '세그먼트(segment)'로 나누어 전송하고,
    수신 측에서 이를 다시 조립하여, 원래의 데이터로 복원합니다.

전송 계층의 주요 기능.

  • 데이터 분할 및 재조립.
    • 데이터를 작은 단위로 나누어 전송하고, 수신 측에서 원래의 데이터로 재조립합니다.
  • 오류 제어 및 흐름 제어.

    • 데이터 전송 중 발생한 오류를 검출하고, 필요한 경우 재전송을 요청합니다.
    • 네트워크의 혼잡을 방지하기 위해 흐름 제어를 수행합니다.
  • 연결 지향 및 비연결 지향 통신.
    • 연결 지향 프로토콜(TCP)을 통해 안정적인 데이터 전송을 보장하거나,
    • 비연결 지향 프로토콜(UDP)을 통해 빠른 데이터 전송을 수행합니다.
  • 주소 지정 및 멀티플렉싱.

    • 데이터를 올바른 응용 프로그램에 전달하기 위해 포트 번호를 사용하며,
    • 여러 응용 프로그램이 동시에 네트워크를 사용할 수 있도록 멀티플렉싱을 지원합니다.
  • 포트번호 관리

    • 포트번호는 하나의 컴퓨터(IP 주소)에서 여러 프로그램이 동시에 통신할 수 있도록 구분해준다.
    • 전송 계층에서 포트번호를 관리해서 들어오는 데이터를 어떤 포트로 전달할지 관리한다.
      .
  • 흐름 제어.

    • 수신 측에서 처리할 수 있는 데이터가 얼마인지 확인하고 그 속도에 맞춰 데이터를 전송한다.
      .
  • 혼잡 제어

    • 패킷 손실이 발생하면 전송 속도를 감소하고, 정상적으로 전송되면 점진적으로 속도를 증가시킨다.

3. 전송 계층의 주요 역할.


데이터 분할 및 재조립.

  • 데이터를 작은 단위인 '세그먼트(Segment)'로 나누어 전송하고,
    수신 측에서 이를 다시 조립하여 원래의 데이터로 복원합니다.

.

  • 이 과정은 네트워크의 대역폭을 효율적으로 사용하고,
    데이터 전송의 신뢰성을 높이는 데 기여합니다.

오류 제어 및 흐름 제어.

  • 오류 제어.
    • 데이터 전송 중 발생한 오류를 검출하고, 필요한 경우 재전송을 요청합니다.
    • 이를 통해 데이터의 무결성을 보장합니다.

.

  • 흐름 제어.
    • 송신자가 너무 많은 데이터를 빠르게 보내는 경우, 수신자가 처리할 수 있도록 속도를 조정합니다.
    • 이는 네트워크 혼잡을 방지하고, 데이터 전송의 안전성을 유지하는 데 중요합니다.

연결 지향 및 비연결 지향 통신.

  • 연결 지향 통신

    • TCP를 사용하여 데이터가 순서대로 도착하도록 보장합니다.
    • 이는 데이터 전송의 신뢰성을 높이고, 안정적인 통신을 제공합니다.
  • 비연결 지향 통신.

    • UDP를 사용하여 빠르고 간단한 데이터 전송을 수행합니다.
    • 이는 실시간 스트리밍이나 VoIP같은 응용 분야에서 유용합니다.

전송 계층이 없다면??

  • 신뢰성 있는 데이터 전송이 불가능하다.

  • 포트 번호 관리가 불가능해서
    하나의 컴퓨터에서 여러 애플리케이션이 동시에 네트워크 통신을 할 수 없다.

  • 흐름 제어와 혼잡 제어가 불가능해져서 데이터 전송 속도를 조절할 수 없게 되어
    네트워크 혼잡이 발생한다.

  • 연결 관리 기능이 상실되어, 안정적인 통신 세션을 보장할 수 없다.

4. 전송 계층의 프로토콜(TCP & UDP).


TCP (Transmission Control Protocol)

  • 연결 지향 프로토콜로, 데이터가 순서대로 도착하도록 보장합니다.

  • 안전하고 신뢰성 있는 전송을 보장합니다.

  • 주요 기능

    • 연결 지향성:

      • 3-way handshake를 통해 통신을 시작하고 싶다고 알리고
        상대방 측에서 준비가 되었다는 연락을 받고, 통신을 시작하겠다고 알리는 과정이 있다.
    • 신뢰성 보장:

      • 데이터 조각을 보낼 때마다 수신 확인을 하고, 누락된 것이 발견되면 재전송 요청을 한다.
    • 순서 보장:

      • 데이터 조각마다 번호를 부여해서 수신 측에서 올바른 순서로 재조립한다.

UDP (User Datagram Protocol)

  • 비연결 지향 프로토콜로, 빠르고 간단한 데이터 전송에 적합합니다.

  • 빠르게 전송할 수 있지만, 신뢰성은 TCP보다 낮습니다.

  • 주요 특징

    • 비연결성:
      • 사전 연결 설정 없이 바로 전송한다.
    • 빠른 전송 속도:
      • 확인 응답도 없고 순서 보장도 없다.
    • 실시간성 중시:
      • 영상 스트리밍, 온라인 게임에 적합하다.

5. 전송 계층과 다른 계층 간의 관계.


응용 계층과의 관계.

  • 응용 프로그램이 요청한 데이터를 처리하기 위해 전송 계층이 데이터를 전달합니다.
  • ex) 웹 브라우저가 서버에 요청한 데이터 전송 시 전송 계층이 TCP/UDP를 사용하여 데이터를 전달합니다.

세션 계층과의 관계.

  • 세션 계층에서 설정된 연결을 기반으로 전송 계층이 데이터를 전송합니다.
  • ex) 세션 계층에서 설정된 대화(session)를 통해 전송 계층이 데이터를 안정적으로 전달합니다.

네트워크 및 하위 계층과의 관계.

  • 전송 계층에서 처리된 세그먼트는 네트워크 계층에서 패킷으로 변환되어 IP 주소를 통해 전달됩니다.
  • 데이터 링크 및 물리 계층에서는 실제 데이터의 물리적 전달을 담당합니다.

6. 실무에서 전송 계층의 역할.


웹 서비스.

  • TCP를 사용하여 HTTP 요청과 응답을 안정적으로 주고받습니다.

  • 예: 웹 브라우저에서 서버에 요청을 보내면 TCP가 데이터를 신뢰성 있게 전달합니다.

실시간 스트리밍.

  • UDP를 사용하여 빠른 데이터 전달과 낮은 지연 시간을 제공합니다.

  • 예: 실시간 스트리밍 서비스에서 UDP를 사용하여 비디오 데이터를 전달합니다.

네트워크 보안.

  • TLS/SSL과 같은 보안 프로토콜이 TCP 위에서 동작하여 암호화된 통신을 제공합니다.

  • 예: HTTPS 프로토콜은 TCP 기반의 보안 연결을 통해 데이터를 암호화하여 전달합니다.

7. 전송 계층 관련 문제 해결 사례.


패킷 손실 문제 해결.

  • 문제: 대규모 파일 다운로드 중 일부 패킷 손실 발생 → 다운로드 실패

  • 해결:

    • TCP를 사용하여 손실된 패킷 자동 재전송

    • 흐름 제어를 통해 네트워크 혼잡 방지

실시간 게임에서 높은 지연 시간 문제.

  • 문제: UDP 기반 게임에서 플레이어 간 동기화가 느려짐

  • 해결:

    • UDP 사용 지속 + 패킷 손실 허용

    • 중요한 메시지에만 TCP 적용

0개의 댓글