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방향 핸드셰이크를 사용한다.
2. UDP(User Datagram Protocol, 사용자 데이터그램 프로토콜)
- 인터넷 프로토콜 스위트의 주요 프로토콜 중 하나이다
- 유니버설 데이터그램 프로토콜이라고도 부름
- TCP와 함께 데이터그램으로 알려진 단문 메시지를 교환하기 위해서 사용된다.
- UDP의 전송 방식은 너무 단순해서 서비스의 신뢰성이 낮고, 데이터그램 도착 순서가 바뀌거나, 중복되거나, 심지어는 통보 없이 누락시키기도 한다.
- UDP는 일반적으로 오류의 검사와 수정이 필요 없는 애플리케이션에서 수행할 것으로 가정한다.
- UDP를 사용하는 네트워크 애플리케이션 : DNS, IPTV, VoIP, TFTP, IP Tunnel 등
3. TCP vs UDP
TCP | UDP | |
연결 수립 | 연결 지향형 | 비 연결형 |
신뢰성, 승인 | 모든 데이터에 신뢰성, 승인 제공 | 모든 데이터에 신뢰성, 승인 제공 |
재전송 | 모든 데이터를 관리해 자동적으로 재전송 | 탐지 후 필요한 경우에만 수동적으로 재전송 |
흐름 제어 | 제공 | 미제공 |
손실 | 없음 | 손실 발생 가능성 있음 |
속도 | 상대적으로 느리다. | 상대적으로 빠르다. |
용도 | 신뢰할 수 있는 방법으로 전송해야 하는 곳에 적합 | 데이터의 완전성보다 전달 속도가 중요한 곳에 적합 |
'Network' 카테고리의 다른 글
공공기관용 IPSEC VPN 소개 (0) | 2022.05.12 |
---|---|
[Network] Protocol (0) | 2022.05.06 |
상태 저장 vs 상태 비저장 / 동기 vs 비동기 / 블로킹 vs 논블로킹 (0) | 2022.04.27 |
[Network]IP address와 MAC address (0) | 2022.04.22 |
웹 브라우저에서 요청 흐름 (0) | 2022.04.18 |
댓글