Network : 전송 계층

강콩콩·2023년 5월 13일
0

Network Basics

목록 보기
5/6
post-thumbnail

본 글은 Inflearn의 '네트워크, 그림으로 이해하자' 강의를 듣고 정리한 글입니다.
본 글은 강의를 수강한 입장에서 복습을 더 쉽게 하기 위한 글입니다.
강의가 상당히 입문자도 잘 수강할 수 있게 짜여져 있습니다. 추천합니다.

네트워크, 그림으로 이해하자

5. 전송 계층

  • 개요
    • ‘목적지에 신뢰할 수 있는 데이터를 보낼 수 있는가?’
    • 오류 점검 및 데이터의 목적지가 어떤 애플리케이션인지 식별
    • 주요 프로토콜 : TCP / UDP
      • TCP : 신뢰성, 정확성, 연결형
      • UDP : 효율성, 비연결형
    • 데이터 단위 : 세그먼트
  • TCP 세그먼트
    • 캡슐화시 TCP 헤더 부착 / 역캡슐화시 TCP 헤더 제거
    • TCP 헤더
      • 출발지 포트 번호 / 목적지 포트 번호
      • 일련 번호, 확인 응답번호 (숫자)
      • TCP 플래그, 윈도우 크기
  • 3-way handshake / 4-way handshake
    • 3-way는 연결시 / 4-way는 연결 종료시
    • 연결을 진행하면서 TCP 세그먼트의 TCP 플래그 (코드 비트)를 활용
      • 보내는 입장에서 수행하는 것! 만 1로 변경해서 보냄
    • 3-way
      • 세션 연결
      • syn / syn +ack / ack
    • 4-way
      • 세션 연결 종료
      • fin / ack / fin / ack
  • TCP 에러제어
    • 세그먼트가 손실 및 훼손, 순서어긋, 중복된 경우 처리
    • 에러 정정 (ARQ)
      • Stop-and-wait
        • 타임아웃시 ack를 받지 못한 패킷부터 기다렸다가 재전송
      • Go-Back-N
        • 타임아웃시 ack를 받지 못한 패킷부터 모두 다시 전송
      • Selective Repeat
        • ack 받지 못한 패킷을 선택적 재전송
  • TCP 흐름제어
    • 송수신지의 데이터처리능력이 달라 데이터 유실되는 것을 방지
    • 주로 슬라이딩 윈도우 기법 사용
      • 윈도우 광고 기법으로 서로 윈도우 크기 알려줌
    • RWND : 수신측 윈도우
    • CWND : 송신측 윈도우
  • TCP 혼잡제어
    • 네트워크 내의 데이터를 조절하여 overflow 현상을 방지
    • 혼잡 발생 전
      • slow start (송신측 ssthresh cwnd까지 지수로 증가)
      • additive increase (ssthresh cwnd 닿으면 1씩 증가)
    • 혼잡 발생 후
      • Multiplicative Decrease
        • ssthresh 값을 cwnd 1/2로 축소
  • 포트 번호
    • 데이터의 목적지가 어떤 어플리케이션인지 구분하는 기능
    • well-known port 번호
  • UDP
    • 효율성 / 비연결형 통신 / 연결확립 절차 X / 브로드캐스팅 전송 적합
    • 캡슐화시 UDP 헤더 부착
profile
MLOps, ML Engineer. 데이터에서 시스템으로, 시스템에서 가치로.

0개의 댓글