computer science

하루에 하나씩 배우는 컴퓨터 사이언스 개념: TCP 프로토콜, 3 way hand shake 이해

vita12321 2023. 9. 15. 09:01
728x90
반응형

하루에 하나씩 배우는 컴퓨터 사이언스 개념 시리즈에서 오늘은 'TCP 프로토콜과 3-way Handshake 이해' 대해 알아보겠습니다. 데이터의 신뢰성 있는 전송을 담당하는 TCP 중심 메커니즘인 3-way Handshake 대한 이해를 통해, 네트워크 통신이 어떻게 안전하게 이루어지는지 파악해 봅시다.


1. TCP 프로토콜의 개요

 

TCP(Transmission Control Protocol) 인터넷상에서 데이터를 메시지의 형태로 보내기 위해 사용하는 프로토콜입니다. 이는 브라우징, 이메일 전송, 파일 다운로드 우리가 일상적으로 사용하는 인터넷 서비스들이 안정적으로 작동할 있도록 합니다.

 

TCP 패킷 손실, 순서 변경 등의 문제를 해결하여 신뢰성 있는 데이터 전송을 보장합니다. 패킷에 순서 번호를 부여하고, 수신 측에서 모든 패킷을 올바른 순서대로 재조립할 있도록 합니다. 또한 패킷 손실 발생 재전송 요청 기능도 제공합니다.

 

TCP/IP의 자세한 설명은 "하루에 하나씩 배우는 컴퓨터 사이언스 개념: TCP/IP모델과 IP 프로토콜 이해"에 있습니다.


2. 3-way Handshake?

 

3-way Handshake TCP 연결 설정 과정에서 사용되는 기법입니다. 클라이언트와 서버 간에 세션을 생성하기 위한 핵심적인 방법으로, 연결의 안정성과 신뢰성을 보장합니다.

 

3-way Handshake 과정은 다음과 같습니다:

 

1) Step 1: SYN

클라이언트가 서버에 연결 요청을 하며 세션을 시작합니다. 클라이언트는 SYN(synchronize) 패킷을 보내고 자신의 초기 시퀀스 번호(ISN) 함께 전달합니다.

 

2) Step 2: SYN-ACK

서버가 클라이언트의 요청을 받아들여 자신도 ISN 값을 가진 SYN 패킷과 ACK(acknowledge) 패킷(클라이언트의 ISN+1 값을 가짐)을 함께 보냅니다. 이는 클라이언트의 요청을 수락하고 자신도 연결을 시작하겠다는 의미입니다.

 

3) Step 3: ACK

마지막으로 클라이언트가 서버에게 ACK 패킷(서버의 ISN+1 값을 가짐)을 보내면서 연결 설정 과정을 완료합니다. 이제부터 실제 데이터 교환할 준비가 됩니다.


3. 3-way Handshake 중요성

 

세 번의교환 과정은 네트워크 상황 변화, 지연 등으로 인한 문제를 방지하기 위함입니다. 당사자들은 독립적으로 시간 관리 다른 네트워크 요소들과의 상호작용을 수행하기 때문에, 과정을 통해 신뢰성 있는 연결을 구축하게 됩니다.


4. TCP 3-way Handshake 통한 데이터 전송

 

TCP 사용하여 데이터를 전송할 , 먼저 3-way Handshake 연결이 설정됩니다. , TCP 데이터를 패킷 단위로 분할하여 전송합니다. 패킷은 순서 번호와 함께 보내지며, 수신 측에서는 번호를 기반으로 패킷들을 올바른 순서대로 재조립합니다.

 

패킷 손실이 발생하면 해당 패킷은 재전송되며, 모든 패킷이 올바르게 도착하였음이 확인되면 마지막으로 4-way handshake 과정을 통해 연결이 종료됩니다.


5. 결론

 

오늘 배운 내용으로 'TCP 프로토콜' '3-way Handshake' 대해 알아보았습니다. TCP 신뢰성 있는 데이터 전송을 보장하는 프로토콜이며, 3-way Handshake TCP 연결 설정 과정에서 중요한 역할을 담당합니다.

 

인터넷 통신에서 안전성과 신뢰성은 매우 중요한 요소입니다. 따라서 TCP 같은 프로토콜 그들의 동작 원리를 이해하는 것은 컴퓨터 네트워크에 대한 깊은 이해를 위해 필수적입니다. 하지만 네트워크 환경은 복잡하므로 다양한 고급 네트워크 개념과 프로토콜에 대해서도 계속 배우고 탐구해야 합니다.

728x90
반응형

 

728x90
반응형