본문 바로가기

플젝 구현내용 정리

공공기관과 TCP/IP 연계 내용 정리

728x90
반응형

플젝을 하면서 공공기관과 TCP/IP로 연계를 했었다.

관련 내용을 정리하면 아래와 같다.

 

참고로 여기서 ME는 우리쪽이고 OG가 공공기관 이었다.

 

보통은 SYN과 ACK 플래그 값에 특정 값을 같이 보내서 서로 해당 값을 확인후 연결을 맺고 끊는다.

3 Way Handshake (연결 설정)

  1. SYN (Synchronize)
    • ME가 OG에 연결 요청을 보낸다. 이 요청은 SYN 플래그가 설정된 패킷으로 이루어진다.
    • ME: "안녕하세요, OG님!  연결을 맺고 싶어요. (SYN=1, Seq=x)"
  2. SYN-ACK (Synchronize-Acknowledge)
    • OG는 ME의 요청을 받고, 연결 요청을 수락한다. 이때 OG는 SYNACK 플래그가 설정된 패킷을 보낸다.
    • OG: "안녕하세요, ME님! 연결 요청을 수락합니다. (SYN=1, ACK=1, Seq=y, Ack=x+1)"
  3. ACK (Acknowledge)
    • ME는 OG의 응답을 받고, 연결이 성공적으로 설정되었음을 확인한다. 이때 ME는 ACK 플래그가 설정된 패킷을 보낸다.
    • ME: "감사합니다, OG님! 연결이 성공적으로 설정되었어요. (ACK=1, Seq=x+1, Ack=y+1)"

4 Way Handshake (연결 해제)

  1. FIN (Finish)
    • ME가 OG에 연결 해제를 요청한다. 이 요청은 FIN 플래그가 설정된 패킷으로 이루어집니다.
    • ME: "OG님, 이제 연결을 종료하고 싶어요. (FIN=1, Seq=u)"
  2. ACK (Acknowledge)
    • OG는 ME의 요청을 받고, 이를 확인한다. 이때 OG는 ACK 플래그가 설정된 패킷을 보낸다.
    • OG: "알겠습니다, ME님. 요청을 확인했습니다. (ACK=1, Seq=v, Ack=u+1)"
  3. FIN (Finish)
    • OG는 ME에게 연결 해제를 요청한다. 이 요청은 FIN 플래그가 설정된 패킷으로 이루진다.
    • OG: "ME님, 저도 연결을 종료 할게요. (FIN=1, Seq=w)"
  4. ACK (Acknowledge)
    • ME는 OG의 요청을 받고, 이를 확인한다. 이때 ME는 ACK 플래그가 설정된 패킷을 보낸다.
    • ME: "알겠습니다, OG님. 요청을 확인했어요. 연결 끊읍시다. (ACK=1, Seq=u+1, Ack=w+1)"

이 과정을 통해 ME와 OG는 안전하게 연결을 설정하고 해제할 수 있다.

728x90
반응형