TCP (Transmission Control Protocol)
- 인터넷에서 많이 사용되는 socket 통신 방법
- 보내야 하는 data를 네트워크가 허용하는 packet의 크기에 맞춰 자동으로 나눠서 보내는 것
- 잘 보내졌는지 에러 없는지 체크하면서 packet을 잃어버리거나 잘못되지 않도록 검사함
- 네트워크의 bandwidth에 부하가 생기지 않도록 자동으로 조절되면서 데이타가 보내지고, 주고 받는 데이타의 신뢰도를 보장
- 전송 속도가 느림
- 신뢰도 확보가 중요하거나 용량이 큰 데이타를 네트워크를 통해 전달해야 할 때, 실시간일 필요는 없을 때 활용하기 적합
UDP (User Datagram Protocol)
- UDP는 data의 빠른 전송이 특징
- packet이 잘 전달되었고 에러가 없는지를 매번 검사하지 않음
- 오버헤드를 최소화한 매우 간단한 구조
- 비연결형 (connectionless) IP 전달 서비스로 최소한의 신뢰성을 제공
- 사용하는 경우
- 단순한 요청-응답을 필요로 하는 프로세스
- 내부적인 흐름 제어와 오류제어 메커니즘을 가지고 있는 프로세스
- 멀티캐스팅과 브로드캐스팅을 위한 전송 프로토콜
- SNMP(Simple Network Management Protocol)와 같은 관리 프로세스
- 온라인게임이나 대량의 데이터를 신속하게 전달을 요하는 스트리밍 서비스 등
|
TCP |
UDP |
프로토콜 연결 |
연결지향형 프로토콜 Connection-oriented protocol 전송 전에 연결을 해야 함 |
비 연결지향형 프로토콜 Connection-less protocol 연결 수립 없이 데이터 송신 |
애플리케이션 데이터 입력 인터페이스 |
바이트 스트림 connection by byte stream 특정한 구조 없이 데이터 송신 |
메시지 스트림 connection by message stream 데이터를 별도의 패키지로 송신 |
흐름제어 |
혼잡제어, 흐름제어 Congestion control, flow control |
혼잡제어, 흐름제어 지원하지 않음 no congestoin control, flow control |
순서 | 순서 보장 ordered, lower speed | 순서 보장하지 않음 |
신뢰성, 승인 |
메시지 전송을 신뢰함 모든 데이터에 대한 승인 |
신뢰성 없음 승인 없는 최선 노력 전송 방식 |
재전송 |
모든 데이터 전송 관리 손실 데이터 자동 재전송 |
재전송 하지 않음 애플리케이션은 손실 데이터를 탐지하고 필요할 경우 재전송함 |
부하 |
낮지만 UDP 보다 높음 |
매우 낮음 |
전송 속도 |
빠르지만 UDP 보다 느림 |
매우 빠름 |
적합 데이터 양 |
소형에서 초대형 |
소형에서 중형 (최대 수백 Byte) |
애플리케이션의 유형 |
신뢰할 수 있는 방법으로 데이터를 송신 |
완전성보다 전달 속도가 중요 소량의 데이터를 송신 멀티캐스트/브로트캐스트를 사용 |
유명 애플리케이션,프로토콜 | FTP, Telnet, SMTP, DNS, HTTP, POP, IMAP | DNS, BOOTP, DHCP, TFTP, SNMP, RIP |
패킷 | 세그먼트 (Segment) | 데이터그램 (Datagram) |
'Computer Science' 카테고리의 다른 글
JVM 메모리 구조 (JVM Memory structure) (0) | 2017.09.30 |
---|---|
DB 트랜잭션 (Transaction)의 ACID 속성과 분산시스템 BASE 속성 (0) | 2017.09.30 |
OOP(객체 지향 프로그래밍) 5원칙 및 특성 (0) | 2017.09.30 |
Java 자료구조 비교 (0) | 2017.09.30 |
TCP 3 Way-Handshake & 4 Way-Handshake (0) | 2017.09.30 |
OSI 7 계층 (OSI 7 Layer) (0) | 2017.09.29 |
프로세스와 스레드(Process vs Thread) (0) | 2017.09.29 |
64비트와 32비트의 차이 (0) | 2017.09.29 |
퀵 정렬, 퀵 소트(Quick Sort) (0) | 2017.09.21 |
계수정렬, 카운팅 소트(Counting Sort) (0) | 2017.09.21 |