Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 클라이언트 컴포넌트
- server component
- 항해99추천
- JavaScript
- greedy
- 날씨 api
- 항해99솔직후기
- 자바스크립트
- 탐욕알고리즘
- 실전프로젝트
- 서버 컴포넌트
- react
- db수정
- 로딩 후 실행
- 카테고리필터
- 백준
- 그리디
- 배열 메소드
- 부트캠프항해
- jQuery
- 항해99후기
- 항해99
- 동전 0
- 프로그래머스
- 중복카테고리
- 중복선택
- 배열 중복 제거
- NextJS v13
- 알고리즘
- 숫자를 별점으로
Archives
- Today
- Total
공부 및 일상기록
[네트워크] TCP 3 Way HandShaking 본문
TCP 3-Way Handshake란?
TCP는 장치들 사이의 논리적인 접속을 성립하기 위해 3-Way Handshake방식을 사용한다.
3-Way Handshake는 TCP/IP프로토콜을 이용해서 통신을 하는 응용프로그램이 데이터를 전송하기 전에 먼저 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미한다.
Client -> Server : TCP SYN
Server -> Client : TCP SYN ACK
Client -> Server : TCP ACK
여기서 SYN은 snychronize sequence numbers, ACK는 acknowledgement의 약자이다.
TCP의 3 Way HandShaking 역할
양쪽 모두 데이터를 전송할 준비가 되었다는 것을 보장하고 실제로 데이터 전달이 시작되기 전에 한쪽이 다른쪽도 준비가 되었다는 것을 알 수 있도록 한다.
양쪽 모두 상대편에 대한 초기 순차 일련번호를 얻을 수 있도록 한다.
TCP 3 Way HandShaking 과정
- A클라이언트는 B서버에 접속을 요청하는 SYN 패킷을 보낸다. 이 때 A클라이언트는 SYN을 보내고 SYN/ACK 응답을 기다리는 SYN-SENT 상태가 되는 것이다.
- B서버는 SYN요청을 받고 A클라이언트에게 요청을 수락한다는 ACK와 SYN flag가 설정된 패킷을 발송하고 A가 다시 ACK로 응답하기를 기다린다. 이때 B서버는 SYN-RECEIVED상태가 된다.
- A클라이언트는 B서버에 ACK를 보내고 이후로부터는 연결이 이루어지고 데이터가 오가게 되는것이다. 이때의 B서버 상태가 Established 이다. 위 같은 방식으로 통신하는 것이 신뢰성 있는 연결을 맺어준다는 TCP의 3 Way HandShaking 방식이다.
'개발 > 네트워크' 카테고리의 다른 글
[네트워크] JWT토큰을 쿠키에 저장했을 때 취약점 (0) | 2023.01.12 |
---|---|
[네트워크] 웹 프로토콜 (0) | 2023.01.09 |
[네트워크] TCP와 UDP (0) | 2023.01.09 |
[네트워크] HTTPS의 동작 방식 (0) | 2023.01.09 |
[네트워크] HTTP의 상태 코드 (status code) (0) | 2023.01.09 |