TCP와 UDP


일단 TCP와 UDP 둘 다 TCP/IP 4계층의 전송 계층에서 발생하는 프로토콜이다.
전송 계층은 말 그대로 데이터의 전송을 담당하는 계층이고,
여기서 데이터를 보내기 위해 사용하는 프로토콜이 있는데, 이것들이 바로 TCP와 UDP다.
응용 계층으로부터 메세지를 전달받아서, 전송 계층 패킷으로 캡슐화하여 주고 받는다.
TCP에서 사용하는 패킷을 segment, UDP에서 사용하는 패킷을 datagram이라고 한다.
각각의 특징을 알아보즈아 ~
TCP (Transmission Control Protocol)

- 연결 지향
- 데이터를 전송하기 전, 먼저 두 호스트의 전송 계층 사이에 논리적 연결을 설립
- 그 후 데이터 전송하고 완료했으면 연결 해제
- connection setup → data transfer → connection termination
- 3 way handshaking 방식으로 연결, 4 way handshaking 방식으로 연결 해제
- 높은 신뢰성 (신뢰성이 중요함)
- 오류 제어, 흐름 제어, 혼잡 제어
- 많은 양의 오버헤드
- 많은 일들을 하기 때문에 시간이 오래 걸림
- segment 단위
UDP (User Datagram Protocol)

- 비연결형, 비신뢰성
- TCP에 비해 연결 3단계, 제어 3종 세트 이런 거 없이 그냥 주고 받음
- 실시간 중요
- 적은 양의 오버헤드
- 추가적인 일 없이 그냥 연결하기 때문에 빠름
- 그래서 실시간 전송에 유용
- datagram 단위
예시 상황
- 매우 큰 문서파일을 인터넷을 통해 다운받고 있는 상황에 유용한 프로토콜은?
→ 문서 파일을 훼손 없이 정확히 받는 것이 중요하기 때문에 연결형, 신뢰성의 TCP가 유용하다.
- live방송과 같이 실시간 상호작용을 하는 응용프로그램을 사용하는 상황에 유용한 프로토콜은?
→ 빠른 속도로 실시간으로 데이터를 받는 것이 중요하기 때문에, 비연결형, 비신뢰성의 UDP가 유용하다.

'CS > 네트워크' 카테고리의 다른 글
| [CS - 네트워크] 검색창에 “www.google.com”을 검색하면 네트워크에서 벌어지는 일 (네트워크 관점) (0) | 2023.02.20 |
|---|---|
| [CS - 네트워크] HTTP (개념, 구조, method, status code 등) (0) | 2023.02.20 |
| [CS - 네트워크] 쿠키와 세션 (Cookie, Session) (0) | 2023.02.19 |
| [CS - 네트워크] 3-way handshaking, 4-way handshaking (0) | 2023.02.14 |
| [CS - 네트워크] OSI 7계층과 TCP/IP 4계층 (또는 5계층) (0) | 2023.02.14 |