핵심 키워드
○ TCP 3-way handshake (연결 설정)
: SYN, SYN + ACK, ACK
○ TCP 4-way handshake (연결 종료) → Half-Close 기법
: FIN, ACK, FIN, ACK
○ TCP 에서의 패킷 (세그먼트: segment)
TCP(Transmission Control Protocol)
네트워크 망에 연결된 컴퓨터의 프로그램 간
데이터를 순서대로, 에러없이 교환할 수 있게 하는 역할을 수행하는
OSI 7Layer 중 4계층인 전송계층에 속하는 프로토콜
TCP 핵심 특성 및 주요 기능
○ 핵심 특성 : 연결형, 양뱡항, 다중 연결, 신뢰성, 승인, 스트림 중심, 흐름 관리
○ 주요 기능
- 주소지정 / 다중화
- 연결 수립, 유지, 종료
- 데이터 처리와 패키징
- 신뢰성과 전송 품질 서비스
- 흐름 제어와 혼잡 회피 기능
3 way handshake
TCP에서의 연결 설정 : SYN, SYN + ACK, ACK
3단계 절차
1. 클라이언트는 SYN 플래그만 설정되어 있는 첫 번째 세그먼트인 SYN 세그먼트를 전송한다.
세그먼트는 순서번호의 동기화를 위한 것이고 데이터를 운반할 수는 없으나 순서번호 1개를 소비한다.
2. 서버는 2개의 플래그 비트가 설정된 두 번째 세그먼트인 SYN + ACK 세그먼트를 전송한다.
SYN + ACK 세그먼트는 데이터를 운반할 수 없으며, 순서번호 1개를 소비한다.
3. 클라이언트가 세 번째 세그먼트인 ACK 세그먼트를 전송한다.
ACK 플래그와 확인응답 번호 필드를 사용한 두 번째 세그먼트를 수신한 것에 대한 확인응답이며,
데이터를 운반하지 않는다면 ACK 세그먼트는 순서번호를 소비하지 않는다.
4 way handshake
TCP에서의 연결 종료 : FIN, ACK, FIN, ACK ← Half-Close 기법
TCP에서 데이터를 받고 있는 도중에도 한쪽 끝은 데이터 전송을 중단할 수 있는데
이것을 절반-폐쇄 (Half-Close)라 한다.
(참고) 3 way handshake : FIN, FIN + ACK, ACK
4단계 절차
[Step 1] : 클라이언트 ----------------------- (FIN) ----------------------- → 서버
[Step 2] : 클라이언트 ← ----------------------- (ACK) ----------------------- 서버
[Step 3] : 클라이언트 ← ----------------------- (FIN) ----------------------- 서버
[Step 4] : 클라이언트 ----------------------- (ACK) ----------------------- → 서버
1. 클라이언트는 FIN 세그먼트를 전송함으로 연결을 절반-폐쇄한다.
2. 서버는 ACK 세그먼트를 송신함으로써 절반-폐쇄를 받아들인다.
- 클라이언트에서 서버로의 데이터 전송은 멈추지만, 서버는 여전히 데이터를 송신할 수 있다.
3. 서버가 처리된 모든 데이터를 보냈을 때 ACK에 의해 확인 응답되는 FIN 세그먼트가 전송된다.
4.클라이언트는 FIN 세그먼트를 받고 응답으로 ACK 세그먼트를 서버에 보낸다.
기출문제
(응용 125-3-2)
TCP 전송계층 프로토콜에 대하여 다음을 설명하시오.
가. TCP 전송계층 개념
나. 3-way handshake 와 4-way handshake 설명
다. TCP 와 UDP 비교
참고 자료
TCP 3 way handshake, 4 way handshake 알아보기 (feat wireshark) (velog.io)
4-Way Handshake — 다락방 (tistory.com)
'정보관리기술사 > ★ 132회 기출문제 풀이 ★' 카테고리의 다른 글
APEC CBPR - APEC 프라이버스 9원칙, CBPR 인증 기준 (0) | 2024.02.02 |
---|---|
파인튜닝 (Fine-tuning) (0) | 2024.02.01 |
Canary Test (0) | 2024.01.31 |
데이터 거래소 (0) | 2024.01.31 |
블록 스토리지, 파일 스토리지, 오브젝트 스토리지의 데이터 접근방식 (0) | 2024.01.31 |
댓글