IP(인터넷 프로토콜)
- 지정한 IP 주소에 데이터 전달
- 패킷이라는 통신 단위로 데이터 전달
IP 프로토콜의 한계
- 비연결성
- 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
- 비신뢰성
- 중간에 패킷이 사라지면?
- 패킷이 순서대로 안오면?
- 프로그램 구분
- 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면?
TCP, UDP
인터넷 프로토콜 스택의 4계층
계층 | 예 |
애플리케이션 계층 | HTTP, FTP |
전송계층 | TCP, UDP |
인터넷 계층 | IP |
네트워크 인터페이스 계층 |
TCP특징(전송 제어 프로토콜)
- 연결지향 - TCP 3 way handshake(가상연결)
- 클라이언트가 서버쪾으로 SYN(접속 요청)로 보냄
- 서버가 클라이언트로 SYN +ACK(요청수락) 응답을 보냄
- 클라이언트가 다시 ACK 보냄 그리고 요즘은 데이터도 같이 보냄
- 데이터 전달 보증
- 데이터 전송
- 데이터 잘 받았음 응답값 보내줌
- 순서 보장
- 패킷 1, 패킷2, 패킷3, 순서로 전송
- 패킷1, 패킷3, 패킷2 순서로 도착
- 패킷2부터 다시 보내라고 클라이언트에 요청
- 패킷2부터 다시 전달해서 순서를 맞춤
- 신뢰할 수 있는 프로토콜
- 현재는 대부분 TCP 사용
UDP 특징
- 하얀 도화지에 비유(기능이 거의 없음)
- TCP3 way handshake x
- 데이터 전달 보증 x
- 순서 보장 x
- 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
- IP와 거의 같다.+ PORT + 체크섬 정도만 추가
- 애플리케이션에서 추가 작업 필요
'ETC > CS' 카테고리의 다른 글
[모든 개발자를 위한 Http 웹 기반기술] HTTP 상태코드 (0) | 2022.03.14 |
---|---|
[모든 개발자를 위한 Http 웹 기반기술] HTTP API (0) | 2022.02.28 |
[모든 개발자를 위한 Http 웹 기반기술] HTTP 기본 (0) | 2022.02.28 |
[모든 개발자를 위한 Http 웹 기반기술] URI (0) | 2022.02.16 |
[모든 개발자를 위한 Http 웹 기반기술] PORT, DNS (0) | 2022.02.16 |