[컴퓨터 통신] L4 Transport Layer

찌헨·2024년 8월 27일

CDA

목록 보기
4/6



Logical connection

Process-to-Process

  • It provides a process-to-process communication between two application layers, one at the local host and the other at the remote host.
  • Communication is provided using a logical connection.
    프로세스?🙄 → 실행중인 프로그램!😏



주소 체계: Port Numbers

  • 전송계층에서 프로세스를 구분

  • 데이터의 최종 목적지 선택에 있어 IP주소와 포트 번호는 역할이 다르다.
    • IP: 전세계의 호스트 중 특정 호스트를 찾기 위해 사용
    • 포트 번호: 특정 호스트 내에 있는 하나의 프로세스를 찾기 위해 사용



ICANN 범위

  • ICANN (Internet Corporation for Assigned Names and Numbers)
    • 국제 인터넷 주소 관리 기구, 인터넷 도메인 관리와 정책을 결정
  • Well-known ports
    • ICANN에 의해 배정되고 제어
  • Registered ports
    • ICANN에 배정되거나 제어되지 않음, but 중복을 피하기 위해 등록될 수 있음
  • Dynamic ports
    • 제어, 배정 x



Socket address

  • 전송 계층 프로토콜은 연결을 설정하기 위해 각 종단마다 IP 주소와 포트 번호가 필요
  • IP address + Port Number → Socket address!
    • 클라이언트 소켓 주소는 클라이언트 프로세스 유일하게 정의
    • 서버 소켓 주소는 서버 프로세스 유일하게 정의



Encapsulation & Decapsulation

  • 프로세스 간 통신을 위해 메세지를 캡슐화(Encapsulation), 역캡슐화(Decapsulation) 수행
    • Sender: Encapsulation, Receiver: Decapsulation



Multiplexing & Demultiplexing

  • Multiplexing을 수행하는 device: Multiplexer (MUX)
  • Demultiplexing을 수행하는 device: Demultiplexer (DEMUX)



Flow Control

  • Pushing
    • Consumer로 부터 선 요구 없이, 정보가 생성될 때마다 정보 전달하는 경우
  • Pulling
    • Consumer가 요구한 경우에만 Producer가 정보를 전송하는 경우

  • Flow Control 예시

  • Flow Control 방법: Buffer
    • 송·수신 전송 계층의 버퍼 이용
    • 버퍼? 송신측과 수신측에서 패킷을 저장할 수 있는 일련의 메모리 영역

Error Control

  • Error Control
    • L3 신뢰성 제공 x, L4에 오류 제어 서비스 추가해 신뢰성 제공
  • 제공 기능
    • 훼손된 패킷 감지 및 폐기
    • 손실되거나 제거된 패킷 추적, 재전송
    • 손실된 패킷이 도착할 때까지 순서 어긋난 패킷 버퍼에 저장

  • Sequence Numbers
    • Sender L4: 어떤 패킷이 재전송되어야 하는지 알아야함
    • Receiver L4: 어떤 패킷이 중복되었는지 or 순서에 어긋나게 도착했는지 확인 가능해야함.
      → 패킷의 순서 번호(Sequence Number) 저장할 수 있도록 L4 패킷에 한 필드 추가
    • 헤더 안에 각 패킷의 순서 번호를 포함하기 위해서는 최대값이 설정되어야함
      • if) 패킷의 헤더에 sequence num을 위해 m비트가 설정, sequence num은 0~2^m-1 값의 범위를 가진다.
      • if) m=4 이면 sequence num은 0 ~ 15 사이의 값

For error control, the sequence numbers are modulo 2^m, where m is the size of the sequence number field in bits

  • Acknowledgment
    • 확인 응답



Flow Control + Error Control

  • Sliding Window
    • Sequence Num이 modulo2^m 이기 때문에 0 ~ 2^m-1까지의 sequence num을 원/선형 표현
    • 윈도우의 모든 조각이 채워지면, 버퍼가 다 차서 더이상의 메세지 수신 불가함 (Sender)
    • Ack 수신되면 윈도우 범위를 미끄러지듯 돌림

△ Sliding Window in circular format


△ Sliding Window in linear format

Congestion Control

  • Congestion
    • 네트워크로 전송되는 패킷 수가 네트워크에서 처리할 수 있는 용량을 초과하는 경우 혼잡 발생
  • Congestion Control
    • 혼잡을 제저하고 로드가 용량보다 작도록 하기 위한 기술
  • 왜 발생하나요? 😕
    • 네트워크에서 혼잡은 라우터나 스위치가 패킷을 저장하기 위한 버퍼인 큐를 가지고 있기 때문에 발생

예를 들어, 라우터는 각각 인터페이스에 입출력 큐를 가지고 있음. 라우터에 도착하는 패킷들을 처리할 수 없으면 큐는 과부하가 되며 혼잡이 발생.

Connectionless Service



Connection-oriented Service



Connectionless & Connection-oriented

  • FSM (Finite State Machine)
    • 가능한! 모든 상태와 상태 간의 transition으로 구성한 모델링 기법
  • Connectionless FSM

  • Connection-oriented FSM





글로벌소프트웨어캠퍼스와 교보DTS가 함께 진행하는 챌린지입니다.

2개의 댓글

comment-user-thumbnail
2024년 8월 27일

가능한
빨간색이 보이게

1개의 답글