1. TCP
- Transmission Control Protocol
- 요약 :
- TCP는 신뢰성 보장
- 연결 설정한 다음 데이터 주고 받음
- 그래서 오버헤드가 크고 속도 느릴 수 있지만 데이터의 정확성과 순서가 중요할 때 씀
- 특징 :
- 연결 지향적: 통신을 시작하기 전에 연결을 설정합니다.
- 신뢰성: 데이터의 전달 보장, 손실된 패킷 재전송, 순서 보장.
- 흐름 제어: 데이터 흐름을 조절하여 수신 측이 데이터 오버플로우를 방지
- 혼잡 제어: 네트워크 혼잡을 감지하고 조절
- 헤더 크기: UDP보다 크고 복잡한 헤더 구조 (20-60 바이트)
- 사용 예)
- 웹 브라우징 (HTTP, HTTPS)
- 이메일 (SMTP, IMAP, POP3)
- 파일 전송 (FTP)
- 원격 터미널 접속 (SSH, Telnet)
2. UDP
- User Datagram Protocol
- 요약 :
- UDP는 신뢰성보장 X 순서X.
- 연결 설정이 없어서 더 빠르게 데이터 전송
- 오버헤드 적고 속도 빠르나 데이터 손실 허용 가능한 데 사용
- 특징:
- 비연결 지향적: 연결 설정 없이 데이터그램을 독립적으로 전송
- 비신뢰성: 데이터 전달 보장이 없으며, 패킷 손실, 중복, 순서 변경 OK
- 헤더 크기: TCP보다 작고 간단한 헤더 구조 (8 바이트)
- 빠른 전송 속도: 추가적인 오류 검사 및 흐름 제어가 없어 전송 속도가 빠름
- 브로드캐스트 및 멀티캐스트 지원: 네트워크의 모든 호스트로 데이터 전송 가능
- 사용 예:
- 실시간 스트리밍 (동영상, 오디오)
- 온라인 게임
- VoIP (Voice over IP)
- 간단한 요청-응답 프로토콜 (DNS, DHCP)
3. 참고 개념:
- 패킷:
- 네트워크 통해 데이터 전송 시 사용하는 기본 단위
- 예시
- 편지를 여러 봉투에 각각 보내는 것
- 각 봉투에 주소와 순서가 있어서 도착하면 원래 편지로 재조립해서 읽을 수 있음의 개념
- 즉, 데이터전송의 효율성을 높임
'네트워크' 카테고리의 다른 글
[에티버스러닝] select함수 이용해서 여러 명 접속 가능한 TCP 에코 서버 (2) | 2023.06.01 |
---|---|
[에티버스러닝] 프로그램/프로세스/쓰레드 개념정리 (0) | 2023.05.25 |
TCP 서버/클라이언트 두자리 자연수 합 구하는 연산식 통신 (1) | 2023.05.19 |
TCP 서버 / 클라이언트 함수 (1) | 2023.05.19 |
TCP/IP 프로토콜 (3) | 2023.05.11 |