TCP/IP 계층 모델
OSI 표준 모델
이건 전에 TCP/UDP 스터디 정리하면서 했었는데 블로그에는 안 올렸었나보다!.! 아래 다시 올림ㅎㅎ
표준 프로토콜을 사용하여 다양한 통신 시스템이 통신할 수 있도록 국제표준화기구에서 만든 개념 모델
물리 계층 (Physical Layer): 하드웨어적 신호 전송
데이터 링크 계층 (Data Link Layer): 프레임 전송 및 오류 감지
네트워크 계층 (Network Layer): 패킷 라우팅 및 주소 지정
전송 계층 (Transport Layer): 데이터 전송 및 오류 복구 → TCP와 UDP 프로토콜 사용
세션 계층 (Session Layer): 세션 설정 및 관리
표현 계층 (Presentation Layer): 데이터 인코딩 및 변환
응용 계층 (Application Layer): 응용 프로그램 데이터 전송
Stop And Wait
Sliding Window
Slow Start phase
CA(congestion avoidance)
1.SYN : 클라이언트가 서버에 연결 요청을 보내며, 연결을 시작하는 SYN 패킷을 전송합니다.
2.SYN-ACK : 서버는 클라이언트의 SYN 패킷을 수신하고, 연결을 수락하며, 클라이언트에게 SYN-ACK 패킷을 응답으로 보냅니다.
3.ACK : 클라이언트는 서버의 SYN-ACK 패킷을 수신한 후, 연결이 설정되었음을 확인하는 ACK 패킷을 서버에 전송합니다.
특성 | TCP (Transmission Control Protocol) | UDP (User Datagram Protocol) |
---|---|---|
연결 방식 | 연결 지향 (Connection-Oriented) | 비연결 지향 (Connectionless) |
신뢰성 | 신뢰성 있음 (데이터의 정확한 전달을 보장하고, 오류 감지 및 수정) | 신뢰성 없음 (데이터의 정확한 전달 보장하지 않음) |
오류 제어 | 오류 감지 및 수정 (체크섬, 재전송, ACK) | 오류 감지만 수행 (체크섬), 오류 수정 없음 |
흐름 제어 | 흐름 제어 (윈도우 크기 조절, 수신 측의 버퍼에 맞춰 조절) | 흐름 제어 없음 (송신 측에서 수신 측의 상태 고려하지 않음) |
혼잡 제어 | 혼잡 제어 (네트워크 혼잡 상태 감지 및 조절) | 혼잡 제어 없음 (네트워크 혼잡에 대한 조절 기능 없음) |
데이터 전송 | 데이터 전송 전 연결 설정 필요, 패킷 순서 보장 | 데이터 전송 전 연결 설정 없음, 패킷 순서 보장하지 않음 |
속도 | 상대적으로 느림 (연결 설정 및 오류 제어로 인한 오버헤드) | 상대적으로 빠름 (연결 설정 및 제어 과정 없음) |
사용 사례 | 웹 브라우징 (HTTP/HTTPS), 파일 전송 (FTP), 이메일 (SMTP/IMAP) | 비디오 스트리밍, 음성 통화 (VoIP), 온라인 게임 |
헤더 크기 | 헤더가 비교적 크고 복잡 (20 바이트) | 헤더가 간단하고 작음 (8 바이트) |
연결 종료 | 연결 종료 절차 필요 (4-way handshake) | 연결 종료 없음 (데이터 전송 후 자동 종료) |
PDU (Protocol Data Unit)