728x90
TCP와 UDP는 전송계층에서 사용하는 프로토콜, 전송계층은 송신자와 수신자를 연결하는 통신 서비스를 제공하고 IP에 의해 전달되는 패킷의 오류를 검사하며 재전송 요구 제어등을 담당하는 계층
TCP
정의
- 연결지향적 프로토콜
- 클라이언트와 서버가 연결된 상태에서 데이터를 주고 받는 프로토콜
특징
- 연결형 서비스로 가상회선 방식을 사용
- 데이터의 경게를 구분하지 않음
- 신뢰성 있는 데이터 전달과 흐름 제어하며 데이터 전송 순서 보장
- 1 : 1 통신만 가능하며, UDP보다 속도가 느림
3 way handshake, 4 way handshake
- TCP 통신을 위한 네트워크 연결은 3 way handshake 방식으로 진행
- 연결해제는 4 way handshake 방식을 진행
3 way handshake 과정
- Client에서 Server 포트에 SYN패킷을 전달
- Server는 해당 포트에서 SYN패킷을 SYN_RCV로 상태가 변경
- 정상적으로 요청 받았다고 ACK패킷, Client에 포트 연결 요청으로 SYN패킷을 같이 응답
- ACK + SYN패킷을 전달받은 Client는 ESTABLISHED 상태로 변경하고 ACK패킷를 서버에 전송
4 way handshake 과정
- Close를 선언한 Client가 FIN 패킷을 전달 후 FIN_WAIT1 상태로 대기
- Server는 CLOSE_WAIT로 상태를 바꾸고 응답으로 ACK패킷 전달 (Close 요청)
- Client는 ACK패킷을 전달 받고 FIN_WAIT2로 상태 변경
- Close 요청 받은 서버는 FIN 패킷을 Client에 응답하고 상태를 LAST_ACK로 변경
- FIN을 받은 Client는 ACK패킷을 서버로 전달하고 TIME_WAIT 상태로 변경, 일정시간이 지나면 CLOSED
UDP
정의
- 전송계층의 비연결 지향적 프로토콜
특징
- 데이타그램 방식으로 제공
- 정보를 주고 받을때 신호 절차를 거치지 않음
- 신뢰성 없는 데이터를 전송
- 패킷관리가 별도로 필요함 하지만 패킷오버헤드가 적어 네트워크 부하가 적음
- TCP보다 전송속도가 빠름
TCP / UDP 공통점
- 포트 번호를 이용하여 주소를 지정함
- 데이터 오류 검사를 위한 체크섬이 존재함
TCP / UDP 차이점
TCP | UDP | |
연결방식 | 연결형서비스 | 비 연결형 서비스 |
패킷 교환 방식 | 가상 회선 방식 | 데이터그램 방식 |
전송 순서 | 전송 순서 보장 | 전송 순서가 바뀔 수 있음 |
수신 여부 확인 | 수신 여부를 확인함 | 수신 여부를 확인하지 않음 |
통신 방식 | 1:1 통신만 가능 | 1:1 / 1:N / N:N 통신 모두 가능 |
신뢰성 | 높음 | 낮음 |
속도 | 느림 | 빠름 |
'NETWORK' 카테고리의 다른 글
[NETWORK] 요청 응답 헤더 (0) | 2021.10.29 |
---|---|
[NETWORK] HTTP / HTTPS (0) | 2021.10.28 |
[NETWORK] L4 스위치 (0) | 2021.09.27 |
[NETWORK] OSI 7계층, TCP/IP 4계층 (0) | 2021.07.11 |
[NETWORK] 쿠키 / 세션 (0) | 2021.05.19 |