상세 컨텐츠

본문 제목

5. 전송 계층 (1)

CS전공 지식/3. 네트워크 개요

by 본투비곰손 2023. 7. 28. 22:32

본문

728x90

전송계층 개요

데이터 전송 과정은 기본적으로 비 신뢰성을 가지고 있다.

전송 과정에서 데이터가 손상 되거나 유실되기 때문 이다.

전송계층의 특징

  • 연결형 통신: 신뢰성과 정확성(연결 필요) TCP 프로토콜
  • 비 연결형 통신: 효율성(빠르고, 일방적인 통신)UDP 프로토콜
  • 데이터 단위는 세그먼트

1. 전송 계층의 역할

  • TCP
  • 연결형 서비스
  • 재전송 서비스(타이머)
  • 전이중 서비스
  • 에러제어
  • 흐름제어
  • 혼잡제어

2. TCP세그먼트 TCP헤더

응용 계층의 데이터에서 TCP헤더를 붙여 캡슐화 하면 TCP 세그먼트가 된다.

네트워크 계층의 패킷에서 IP헤더를 떼어내는 역캡슐화를 거쳐도 TCP세그먼트가 된다.

TCP헤더의 구조

3. 3-way handshake, 4-way handshake

TCP의 연결 확립 과정과 젼결 종료 과정에서 TCP플래그가 중요한 역할을 한다.

TCP 플래그

각 초기값은 0이고 활성화 시 1로 변경

3-way handshake

세션 연결 확립

패킷 요청을 3번하여 연결하는 과정을 거친다. (1. SYN → 2. SYN+ACK → 3. ACK)

4-way handshake

세션 연결 종료

패킷 요청을 4번 교환하여 마무리하는 과정을 거친다. (1. FIN → 2. ACK → 3. Fin → 4. ACK)

4. TCP 에러 제어

TCP에러 제어

세그먼트의 손실 및 훼손, 순서가 어긋난 경우, 중복된 경우 이에 대한 처리를 한다.

신뢰성 있는 데이터 전송

  • 에러 검출 (Detection)
    • CRC(Cyclic Redundancy Check)
    • Checksum(체크섬) - 헤더와 데이터에 대한 에러를 검사하는 기능을 통해 세그먼트가 전송되는 도중 에러가 발생했는지 확인
  • 에러 정정 (Correction) ARQ(Automatic Repeat Request)

Stop and Wait ARQ - 타임 아웃이 되어도 ack를 받지 못하면 패킷을 재전송
식별을 위해 0과1의 패킷(혹은 ack)을 번갈아 전송, 응답이 올때까지 기다리는 비효율적 방식

Go - Back -n ARQ - 패킷이 돌아오지않아 에러가 발생하면 그번호의 패킷부터 다시 전송하는 방식

Selctive Repeat ARQ - 오류가 발생한 패킷을 선택적으로 재전송(미수신 패킷 버퍼에 저장)

728x90

'CS전공 지식 > 3. 네트워크 개요' 카테고리의 다른 글

6. 응용 계층  (0) 2023.08.01
5. 전송 계층 (2)  (0) 2023.07.31
4. 네트워크 계층(4)  (0) 2023.07.27
4. 네트워크 계층(3)  (0) 2023.07.25
4. 네트워크 계층(2)  (0) 2023.07.24

관련글 더보기