99클럽 TIL
99클럽 코테 스터디 28일차 Network TCP vs UDP
차가리
2024. 6. 16. 13:23
728x90
- NetWork
- DNS
DNS ResolverDNS란
- Http Header
CORSkeep-alive headerPersistent Connection, Non-Persistent ConnectionOSI 7 계층과 각 계층의 구성요소- TCP vs UDP
- DNS
TCP
- TCP 는 연결 지향적인 프로토콜로, 데이터를 전송하기 전에 통신할 두 기 간에 연결을 설정함. 이 연결을 통해 데이터가 전송됨.
특징
- 신뢰성 : 데이터 ==패킷==의 손실, 중복, 오류 없이 정확한 순서대로 데이터를 전송하고 수신 확인을 통해 신뢰성을 보장함.
- 흐름 제어 : 송신자와 수신자 간의 데이터 처리 속도 차이를 조절함.
- 혼잡 제어 : 네트워크의 혼잡 상태를 모니터링하고, 혼잡이 발생하면 데이터 전송 속도를 조절함.
- 연결지향 : 데이터를 전송하기 전에 연결 설정 과정을 거침. 이 과정에서 3-way handshake 라는 절차를 통해 연결이 수립됨.
- 3-way handshake : TCP/IP 프로토콜을 이용해서 통신을 하는 응용프로그램이 데이터를 전송하기전에 먼저 정확한 전송을 보장하기 위상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미함.
1) Client > Server : TCP SYN
2) Server > Client : TCP SYN ACK
3) Client > Server : TCP ACK
여기서 SYN 는synchronize sequence numbers
그리고 ACK 는acknowledgment
의 약자임.
- 3-way handshake : TCP/IP 프로토콜을 이용해서 통신을 하는 응용프로그램이 데이터를 전송하기전에 먼저 정확한 전송을 보장하기 위상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미함.
패킷 : 인터넷 내에서 데이터를 보내기 위한 경로배정(라우팅)을 효율적으로 하기 위해서 데이터를 여러 개의 조각들로 나누어 전송을 하는데 이때, 이 조각을 패킷이라고 함.
작동 방식
- 연결 설정 : 3-way handshake 를 통해 연결을 수립함.
- 데이터 전송 : 데이터를 세그먼트로 나누어 전송하고, 각 세그먼트에 대해 수신 확인을 받음.
- 연결 종료 : 4-way handshake 를 통해 연결을 종료함.
사용 사례
- 웹 페이지 로딩
- 이메일 전송
- 파일 전송
UDP(User Datagram Protocol)
- 비연결형 프로토콜로, 데이터 전송을 위해 연결 설정 절차를 거치지 않음. 더 간단하고 빠르지만, TCP 보다 신뢰성이 떨어짐.
특징
- 비연결형 : 데이터 전송 전에 특별한 연결 설정이 필요 없음.
- 속도 중심 : 연결 설정과 종료 과정이 없기 때문에 빠른 데이터 전송이 가능
- 간결함 : 헤더 크기가 작고, 흐름 제어나 혼잡 제어 기능이 없음.
- 신뢰성 부족 : 데이터 패킷의 도착을 보장하지 않으며, 순서대로 도착하거나 중복되지 않음을 보장하지 않음.
작동 방식
- 데이터 전송 : 데이터그램을 사용하여 데이터를 전송함. 수신확인 없이 데터를 보내고, 수신자는 도착한 데이터그램을 처리함.
사례
- 스트리밍 서비스(예: 비디오 또는 오디오 스트리밍)
- 온라인 게임
- 실시간 통신 애플리케이션
선택
TCP 는 데이터의 정확성과 순서가 중요한 곳에 사용되며, UDP는 속도와 효율성이 더 중요한 경우에 적합함.
728x90