본문 바로가기
Network

[NetworkTCP & UDP

by BTC_Master 2022. 4. 29.


1. TCP
(Transmission Control Protocol, 전송 제어 프로토콜)

- 인터넷 프로토콜 스위트(IP)의 핵심  프로토콜 중 하나로, IP와 함께 TCP/IP라는 명칭으로도 널리 불린다.

- TCP는 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟을 안정적, 순서대로 에러없이 교환할 수 있게 한다.

- TCP는 전송 계층에 위치한다.

- 인터넷을 이루는 핵심 프로토콜의 하나로, 네트워크의 정보 전달을 통제하는 프로토콜이다.

1) TCP 작동

TCP 프로토콜의 작동은 크게 세 가지 흐름으로 구분한다.
신뢰성 있는 연결이 생성되어야 하며, 그 후 자료를 전송하고, 마지막으로 연결을 종료하면서 할당된 자원을 반납한다.


1. 연결 생성 (Connection establishment)
2.자료 전송 (Data transfer)
3.연결 종료 (Connection termination)

 

연결 생성
연결을 생성하기 위해, 3방향 핸드셰이크를 사용한다.

SYN: 클라이언트가 서버에게 SYN 메시지를 보낸다. 메시지에 포함된 시퀀스 번호는 클라이언트가 임의로 설정한 값 A.

SYN-ACK: 서버가 클라이언트에게 SYN-ACK 메시지로 응답한다. 이 메시지에 포함된 시퀀스 번호는 서버가 임의로 설정한 값 B, 응답 번호는 (A + 1).
ACK: 클라이언트가 서버에게 ACK 메시지를 보낸다. 이 메시지에 포함된 응답 번호는 (B + 1).

연결 종료 : 연결을 종료하기 위해, 4방향 핸드셰이크를 사용한다.

TCP 동작 방식

 

2. UDP(User Datagram Protocol, 사용자 데이터그램 프로토콜)

- 인터넷 프로토콜 스위트의 주요 프로토콜 중 하나이다

- 유니버설 데이터그램 프로토콜이라고도 부름

- TCP와 함께 데이터그램으로 알려진 단문 메시지를 교환하기 위해서 사용된다.

- UDP의 전송 방식은 너무 단순해서 서비스의 신뢰성이 낮고, 데이터그램 도착 순서가 바뀌거나, 중복되거나, 심지어는 통보 없이 누락시키기도 한다.

- UDP는 일반적으로 오류의 검사와 수정이 필요 없는 애플리케이션에서 수행할 것으로 가정한다.

- UDP를 사용하는 네트워크 애플리케이션 : DNS, IPTV, VoIP, TFTP, IP Tunnel 등

UDP 동작 방식

3. TCP vs UDP

  TCP UDP
연결 수립 연결 지향형 비 연결형
신뢰성, 승인 모든 데이터에 신뢰성, 승인 제공 모든 데이터에 신뢰성, 승인 제공
재전송 모든 데이터를 관리해 자동적으로 재전송 탐지 후 필요한 경우에만 수동적으로 재전송
흐름 제어 제공 미제공
손실 없음 손실 발생 가능성 있음
속도 상대적으로 느리다. 상대적으로 빠르다.
용도 신뢰할 수 있는 방법으로 전송해야 하는 곳에 적합 데이터의 완전성보다 전달 속도가 중요한 곳에 적합

댓글