ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • TCP/IP
    CS 공부 2023. 7. 13. 15:53

    TCP/IP는 인터넷 프로토콜 스위트의 핵심 프로토콜로, 데이터의 전송을 위한 통신 규약입니다. 이것은 인터넷에서 데이터를 보내고 받기 위한 표준 프로토콜 세트입니다. TCP/IP는 인터넷에서 데이터 패킷의 이동을 관리하며, 데이터의 신뢰성과 정확성을 보장하기 위한 다양한 기능을 제공합니다.

    TCP (Transmission Control Protocol)는 IP (Internet Protocol) 위에서 동작하는 전송 계층 프로토콜입니다. TCP는 데이터의 신뢰성을 보장하기 위해 패킷을 순서대로 전송하고, 손실된 패킷을 재전송하며, 중복된 패킷을 제거하는 등의 기능을 제공합니다.

    TCP의 단점은 다음과 같습니다.

     - 데이터 통신 전에는 반드시 연결이 형성되어야한다.

     - 1 : 1 통신만 가능하다.

     - 고정된 통신 선로가 최단선이 아닐경우 UDP보다 속도가 느리다.

    3-way-handshake

    출처: https://develaniper-devpage.tistory.com/81

    3-way handshake는 TCP의 연결 설정 과정입니다. 클라이언트가 서버에 연결을 요청할 때 사용됩니다. 다음은 3-way handshake의 각 단계입니다:

    1. 클라이언트는 서버에 SYN(Synchronize) 패킷을 보냅니다. 이 패킷에는 클라이언트가 사용할 임시 포트 번호와 초기 순서 번호가 포함되어 있습니다.
    2. 서버는 클라이언트에게 SYN-ACK(Synchronize-Acknowledge) 패킷을 보냅니다. 이 패킷에는 서버가 사용할 임시 포트 번호와 클라이언트의 초기 순서 번호, 그리고 서버의 초기 순서 번호가 포함되어 있습니다.
    3. 클라이언트는 서버에게 ACK(Acknowledge) 패킷을 보냅니다. 이 패킷에는 클라이언트의 초기 순서 번호와 서버의 초기 순서 번호가 포함되어 있습니다. 이후부터는 데이터 전송이 시작됩니다.

     

    4-way-handshake

    출처: https://develaniper-devpage.tistory.com/81

    4-way handshake는 TCP의 연결 해제 과정입니다. 클라이언트와 서버 간의 연결을 종료할 때 사용됩니다. 다음은 4-way handshake의 각 단계입니다:

    1. 클라이언트는 서버에게 연결 종료를 알리는 FIN(Finish) 패킷을 보냅니다.
    2. 서버는 FIN 패킷을 받고 확인(ACK)을 보내고, 더 이상의 데이터 전송이 없음을 알리는 FIN 패킷을 보냅니다.
    3. 클라이언트는 서버의 FIN 패킷을 받고 확인(ACK)을 보내며, 일정 시간 동안 대기합니다.
    4. 서버는 클라이언트의 확인(ACK)을 받고 연결을 종료합니다. 클라이언트는 일정 시간 동안 대기한 후 연결을 종료합니다.

    이렇게 4-way handshake가 완료되면 클라이언트와 서버 간의 TCP 연결이 종료됩니다. 이러한 방식으로 TCP는 신뢰성 있는 데이터 전송을 보장하고, 연결 설정과 해제를 수행합니다.

     

    무결성 검사

    무결성 검사 방식은 TCP에서 데이터의 손상 여부를 확인하는 기법을 말합니다. TCP는 데이터를 세그먼트라는 작은 단위로 나누어 전송하고, 각 세그먼트에는 체크섬이라는 오류 검출 코드가 포함됩니다. 수신측은 체크섬을 이용하여 데이터의 무결성을 검사하고, 오류가 발견된 세그먼트는 재전송을 요청하여 데이터의 신뢰성을 보장합니다. 이렇게 함으로써 TCP는 데이터 전송 과정에서의 손상을 검출하고 복구할 수 있습니다.

     

     

     

    참고

    https://develaniper-devpage.tistory.com/81

    'CS 공부' 카테고리의 다른 글

    www.naver.com 접속할 때 일어나는 일  (0) 2023.07.12
Designed by Tistory.