인터넷과 소켓프로그래밍

공통통신기능 - 접속설정, 정확한 데이터 전송, 접속해제, 다음 경로 설정

kang057 2024. 7. 15. 00:08

● 3-way Handshake

1. SYN (synchronize): 클라이언트가 서버에게 연결 요청을 보내는 단계

2. SYN-ACK (Synchronize-Acknowledge): 서버가 클라이언트의 요청을 수락하고 연결을 승인하는 응답을 보내는 단계

3. ACK (Acknowledge): 클라이언트가 서버의 응답을 확인하고 연결을 완료하는 단계

  Client                               Server
    |                                    |
    | ----------- SYN -------------->    |
    |                                    |
    | <--------- SYN-ACK -------------   |
    |                                    |
    | ----------- ACK -------------->    |
    |                                    |

● 정확한 데이터 전송이란?

  ○ 오류가 없는 것

     오류의 종류 : 분실, 손상, 순서 바뀜

  ○ 정확한 데이터 전송

    오류를 감지하고 오류를 복구 하는 것 -> 오류 제어

● 오류 제어 기능

  ○ 정확한 데이터 교환 시 오류 종류는?

    -> 데이터 손상, 데이터 분실, 데이터 순서 바뀜

  ○ 오류 검출 방법 (error detection)

    -> 손상 : checksum / 분실 : sequence number, timer / 데이터 순서 바뀜 : sequence number

  ○ 오류 해결 방법 (error recovery)

    -> 손상, 분실 : 재전송 / 데이터 순서 바뀜 : 재배열

● 접속 종료 기능

  ○ Half Close

    - TCP 소켓은 데이터 스트림을 송수신할 수 있는 양방향 연결입니다. 하지만 특정 상황에서는 한쪽에서만 데이터를 더 이상 보내지 않으면서 다른 쪽에서는 계속 데이터를 보내야 하는 경우가 있습니다. 이를 위해 TCP는 "half-close"라는 메커니즘을 제공합니다.

  ○ Graceful Close 

     - TCP 연결에서 "Graceful Close"는 양쪽 모두 연결을 깨끗하게 종료하고자 할 때 사용됩니다. 이 과정은 데이터를 손실 없이 모두 전송하고 나서 연결을 종료하는 것을 목표로 합니다. 이 절차는 TCP의 기본적인 연결 종료 방식인 "4-way handshake"를 사용합니다.

 

==> TCP : 앱 간의 접속 설정 기능, 정확한 데이터 전송 기능, 접속 종료 기능을 이 3가지를 구현한 것

 

● TCP가 작성한 접속 설정요청 패킷은 어떻게 전달하지?

  -> IP (우체국 프런트 기능)

 

● IP 기능은?

1) 주소 지정

2) 패킷 분할 및 조립

3) 라우팅

etc..

'인터넷과 소켓프로그래밍' 카테고리의 다른 글

포트번호와 주소변화  (0) 2024.07.24
서브넷 및 IPv6 주소  (3) 2024.07.23
IPv4  (0) 2024.07.20
공통통신기능 - 데이터전달  (0) 2024.07.17
공통통신기능 - IP주소와 LAN카드 주소 변환  (0) 2024.07.17