반응형
TCP( Transmission Control Protocol )
인터넷 상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜
TCP의 특징
- 연결 지향 방식
- 높은 신뢰성 보장 (ex) 파일 전송)
- 3-way handshaking 과정을 통한 연결 설정, 4-way handshaking 과정을 통한 해제
- 흐름 제어(보내는 측과 받는 측의 데이터 처리 속도 차이를 조절해줌) 및 혼잡 제어(네트워크 내의 패킷 수가 넘치게 증가하지 않도록 방지해)
- UDP보다 속도가 느립니다.
- 전이중(Full-Duplex), 점대점(Point to Point) 방식
- 서버와 클라이언트는 1대1로 연결됩니다.
- Streaming 서비스에 불리합니다. ( 손실된 경우 재전송 요청을 합니다. )
UDP( User Datagram Protocol )
데이터를 데이터그램 단위로 처리하는 프로토콜
UDP의 특징
- 비연결형 서비스 ( 데이터그램 방식 제공 )
- 정보를 주고 받을 때 정보를 보내거나 받는다는 신호 절차를 거치지 않습니다.
- UDP헤더의 CheckSum 필드를 통해 최소한의 오류만 검출합니다.
- 신뢰성이 낮습니다.
- TCP보다 속도가 빠릅니다.
- IP를 기반으로 데이터를 전송합니다.
- 1:1, 1:N, N:M 통신
TCP 와 UDP 비교
참조 : https://cocoon1787.tistory.com/757
- TCP는 양쪽에서 1대1로 연결이 되어있고, 질문과 답변형식으로 이루어 집니다.
- UDP는 한쪽에서만 일방적으로 데이터를 보냅니다.
3-Way Handshake
TCP 통신을 연결할 때 사용됩니다.
출처 : https://velog.io/@averycode/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-TCPUDP%EC%99%80-3-Way-Handshake4-Way-Handshake
- Client 측에서 SYN 메시지를 통해 Server측과 연동하려고 요청을 보냅니다.
- Server 측에서 SYN 메시지를 받았으면, 잘 받았다는 ACK 메시지와 함께 본인도 Client와 연동하려고 SYN 요청을 보냅니다.
- Server 측에서 보낸 SYN 메시지를 Client 측에서 확인 후 잘 받았다는 ACK 메시지를 Server 측에 보내며 서로 연결이 된 것을 알 수 있습니다.
4-Way Handshake
- Client 측에서 Server 쪽으로 연결을 종료한다는 FIN 플래그를 보냅니다.
- Server 측에서 Client 쪽으로 확인했다는 ACK 플래그를 보냅니다.
- Server 측에서 Client 쪽으로 본인도 연결을 종료한다는 FIN 플래그를 보냅니다.
- Client 측에서 Server 쪽으로 확인했다는 ACK 플래그를 보내며 연결이 종료됩니다.
참조
망나니개발자님 - TCP와 UDP의 특징과 차이
코딩공부일지님 - TCP와 UDP의 특징과 차이점
averycode님 - TCP/UDP와 3-Way Handshake & 4-Way Handshake
'CS 지식 > 네트워크' 카테고리의 다른 글
브라우저에 URL을 입력했을 때의 과정 (0) | 2023.03.09 |
---|---|
HTTP 버전 (0) | 2023.03.06 |
HTTP 구조 (0) | 2023.03.06 |
HTTP와 HTTPS란? (0) | 2023.03.02 |
OSI 7계층이란? (0) | 2023.02.27 |
댓글