[1Day-1CS] 전송 계층

TraceofLight·2023년 4월 25일
0

ComputerScience

목록 보기
14/20
post-thumbnail

전송 계층

송신자와 수신자를 연결하는 통신 서비스를 제공
연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어를 제공
애플리케이션과 인터넷 계층 사이의 데이터 전달 중계 역할

  • TCP: 순서 보장, 연결 지향 프로토콜 사용, 수신 여부 확인 (가상회선 패킷 교환 방식)
  • UDP: 순서 보장 X, 수신 여부 확인 X, 단순한 데이터 전달 (데이터그램 패킷 교환 방식)

가상회선 패킷 교환 방식

  • 각 패킷에 가상회선 식별자가 포함
  • 모든 패킷을 전송했다면 가상회선 해제, 패킷은 전송 순서대로 도착

데이터그램 패킷 교환 방식

  • 패킷이 독립적 이동, 최적 경로 선택
  • 서로 다른 경로로 전송될 수 있고 순서도 다를 수 있음

TCP의 연결 성립과 해제 과정

연결: 3-way handshake

  1. 클라이언트가 자신의 ISN을 담은 연결 요청 플래그를 발송
  2. 서버가 승인 번호로 서버의 ISN과 클라이언트의 ISN + 1을 반송
  3. 클라이언트가 서버의 ISN + 1을 승인번호와 함께 재응답

연결 해제: 4-way handshake

  1. 클라이언트가 FIN 설정된 세그먼트를 보내고 FIN_WAIT 돌입
  2. 데이러를 받은 서버가 클라이언트로 ACK 승인 세그먼트를 보내고 CLOSE_WAIT 돌입
  3. ACK 보낸지 일정 시간이 지난 이후 FIN 세그먼트 발송
  4. ACK를 받은 클라이언트 TIME_WAIT 돌입, 서버로 다시 ACK 재발송
  5. 받은 서버가 CLOSE

TIME_WAIT을 쓰는 이유: 지연 패킷의 가능성, 연결 해제 확실하게 확인

profile
24시간은 부족한 게 맞다

0개의 댓글