728x90
반응형
플젝을 하면서 공공기관과 TCP/IP로 연계를 했었다.
관련 내용을 정리하면 아래와 같다.
참고로 여기서 ME는 우리쪽이고 OG가 공공기관 이었다.
보통은 SYN과 ACK 플래그 값에 특정 값을 같이 보내서 서로 해당 값을 확인후 연결을 맺고 끊는다.
3 Way Handshake (연결 설정)
- SYN (Synchronize)
- ME가 OG에 연결 요청을 보낸다. 이 요청은
SYN
플래그가 설정된 패킷으로 이루어진다. - ME: "안녕하세요, OG님! 연결을 맺고 싶어요. (SYN=1, Seq=x)"
- ME가 OG에 연결 요청을 보낸다. 이 요청은
- SYN-ACK (Synchronize-Acknowledge)
- OG는 ME의 요청을 받고, 연결 요청을 수락한다. 이때 OG는
SYN
과ACK
플래그가 설정된 패킷을 보낸다. - OG: "안녕하세요, ME님! 연결 요청을 수락합니다. (SYN=1, ACK=1, Seq=y, Ack=x+1)"
- OG는 ME의 요청을 받고, 연결 요청을 수락한다. 이때 OG는
- ACK (Acknowledge)
- ME는 OG의 응답을 받고, 연결이 성공적으로 설정되었음을 확인한다. 이때 ME는
ACK
플래그가 설정된 패킷을 보낸다. - ME: "감사합니다, OG님! 연결이 성공적으로 설정되었어요. (ACK=1, Seq=x+1, Ack=y+1)"
- ME는 OG의 응답을 받고, 연결이 성공적으로 설정되었음을 확인한다. 이때 ME는
4 Way Handshake (연결 해제)
- FIN (Finish)
- ME가 OG에 연결 해제를 요청한다. 이 요청은
FIN
플래그가 설정된 패킷으로 이루어집니다. - ME: "OG님, 이제 연결을 종료하고 싶어요. (FIN=1, Seq=u)"
- ME가 OG에 연결 해제를 요청한다. 이 요청은
- ACK (Acknowledge)
- OG는 ME의 요청을 받고, 이를 확인한다. 이때 OG는
ACK
플래그가 설정된 패킷을 보낸다. - OG: "알겠습니다, ME님. 요청을 확인했습니다. (ACK=1, Seq=v, Ack=u+1)"
- OG는 ME의 요청을 받고, 이를 확인한다. 이때 OG는
- FIN (Finish)
- OG는 ME에게 연결 해제를 요청한다. 이 요청은
FIN
플래그가 설정된 패킷으로 이루진다. - OG: "ME님, 저도 연결을 종료 할게요. (FIN=1, Seq=w)"
- OG는 ME에게 연결 해제를 요청한다. 이 요청은
- ACK (Acknowledge)
- ME는 OG의 요청을 받고, 이를 확인한다. 이때 ME는
ACK
플래그가 설정된 패킷을 보낸다. - ME: "알겠습니다, OG님. 요청을 확인했어요. 연결 끊읍시다. (ACK=1, Seq=u+1, Ack=w+1)"
- ME는 OG의 요청을 받고, 이를 확인한다. 이때 ME는
이 과정을 통해 ME와 OG는 안전하게 연결을 설정하고 해제할 수 있다.
728x90
반응형
'플젝 구현내용 정리' 카테고리의 다른 글
Scalable Distributed Systems 구축 사례 정리 (0) | 2024.09.03 |
---|---|
OSI 7 Layer와 AWS 인프라 (0) | 2024.09.03 |
TCP/IP 4계층 모델로 AWS 인프라를 구현 (0) | 2024.09.03 |
PostgreSQL DB에 INDEX를 적용 했을 때 여전히 느린 경우 (1) | 2024.09.03 |
CentOS와 UbuntuOS 선정 하기 (1) | 2024.09.03 |