<관련 포스팅>
[네트워크 계층 모델] TCP/IP 4계층
[네트워크 계층 모델] OSI 7계층
[네트워크] OSI 7계층 기기(허브, 브리지, 스위치, 라우터)
차이점 정리
특징 및 활용
- 둘 모두 전송 계층에서 사용되는 프로토콜로, 패킷 전달을 담당
- 인터넷 뱅킹에는 느리지만 신뢰도가 높은 TCP 사용(HTTP, Email)
- 일반 웹서핑이나 실시간 스트리밍에는 신뢰성이 낮아도 빠른 UDP 사용(DNS, Broadcasting)
TCP | UDP | |
신뢰성(재전송) | O | X |
연결 방식 | 연결형 프로토콜 | 비연결형 프로토콜 |
데이터의 경계 구분 | X(바이트 스트림) | O(메세지 스트림) |
속도 | 느림 | 빠름 |
전송 계층 PDU | segment | datagram |
통신 방식 | 1:1 | 1:1 / 1:N / N:N |
패킷 교환 방식 | 가상 회선 방식 | 데이터그램 방식 |
통신 흐름
TCP
정의 및 특징
- TCP(Transmission Control Protocol)
- 신뢰성 있는 데이터 전송을 지원하는 연결 지향형 프로토콜
- 흐름 제어와 혼잡 제어를 지원하며 데이터의 순서를 보장
- ‘가상회선 패킷 교환 방식’을 사용함
- 연결을 설정(3-way handshaking)과 해제(4-way handshaking)
- 스트림 전송으로, 전송 데이터의 크기가 무제한임
가상회선 패킷 교환 방식
- 각 패킷에는 가상회선 식별자가 포함되며 모든 패킷을 전송하면 가상회선이 해제됨
- 패킷들은 전송된 순서대로 도착하는 방식
TCP 연결 방식(3-way handshaking)
SYN(Synchronization): 연결 요청 플래그
ACK(Acknwledgment): 응답 플래그
ISN(Initial Sequence Numbers): 초기 네트워크 연결을 위해 할당된 32bit 고유 시퀀스 번호
1. SYN 단계(클라이언트 → 서버)
- 클라이언트의 ISN을 담아 보냄
- ISN: 새로운 TCP 연결의 첫 번째 패킷에 할당된 임의의 시퀀스 번호로, 장치마다 다를 수 있음
2. SYN + AKC 단계(서버 → 클라이언트)
- 요청을 수신했다는 의미로 서버의 ISN을 보내며, 승인번호로 클라이언트의 ISN + 1을 전송
3. ACK 단계(클라이언트 → 서버)
- 서버의 ISN + 1값을 승인번호로 담아 ACK를 전송
⇒ 이 과정 이후로 신뢰성이 구축되고 데이터 전송이 시작
TCP 해제 방식(4-way handshaking)
1. 연결 종료 요청(클라이언트 → 서버)
- 클라이언트가 FIN 세그먼트를 전송하고, FIN_WAIT_1 상태로 들어가 서버의 응답을 기다림
2. 요청 확인(서버 → 클라이언트)
- 서버는 ACK라는 승인 세그먼트를 전송하고, CLOSE_WAIT 상태로 들어감
- 클라이언트는 ACK를 받으면 FIN_WAIT_2 상태에 들어감
3. 임시 연결 종료(서버 → 클라이언트)
- 서버는 일정 시간 이후에 FIN이라는 세그먼트를 전송하고 LASK_ACK 상태가 됨
- 클라이언트는 ACK를 받으면 TIME_WAIT 상태가 됨
4. 연결 종료(클라이언트 → 서버)
- TIME_WAIT 상태가 되면 서버로 ACK를 전송
- 서버는 이제 완전히 CLOSED 상태가 되고 소켓을 닫음
- 클라이언트도 어느 정도 시간을 대기한 후, 연결이 닫히고 CLOSED 상태가 됨
더보기
- 지연 패킷이 발생할 경우를 대비하기 위함
- 패킷이 뒤늦게 도달하고 이를 처리하지 못한다면 데이터 무결성 문제가 발생함
- 두 장치가 연결이 닫혔는지 확인하기 위함
- 만약 LAST_ACK 상태에서 닫힌다면, 다시 새로운 연결을 하고자 할 때 장치는 줄곧 LASK_ACK로 되어있기 때문에 접속 오류가 발생함
UDP
정의 및 특징
- UDP(User Datagram Protocol)
- 비연결형 프로토콜로, 송수신 신호 절차를 없이 보내는 쪽에서 일방적으로 데이터를 전달함
- TCP와 달리 연결 설정이 없으며, 혼잡 제어를 하지 않기 때문에 TCP보다 전송 속도가 빠름
- 순서를 보장하지 않고 수신 여부를 확인하지 않음
- 단순히 데이터만 주는 ‘데이터그램 패킷 교환 방식’을 사용
- 데이터그램(메시지) 단위로 전송되며 크기 제한이 있음
데이터그램 패킷 교환 방식
- 패킷이 독립적으로 이동하며 최적의 경로를 선택
- 하나의 메세지에서 분할된 여러 패킷은 서로 다른 경로로 전송될 수 있으며 도착한 순서가 다를 수 있는 방식
References
'Computer Science > 네트워크' 카테고리의 다른 글
[네트워크 IP] IP 기반 통신(ARP, 게이트웨이) (0) | 2023.02.07 |
---|---|
[네트워크] OSI 7계층 기기(허브, 브리지, 스위치, 라우터) (0) | 2023.02.01 |
[네트워크 계층 모델] OSI 7계층 (0) | 2023.01.24 |
[네트워크 계층 모델] TCP/IP 4계층 (0) | 2023.01.24 |
[네트워크 기초] 네트워크 토폴로지(Network Topology) (0) | 2023.01.23 |