IP(Internet Protocol)
인터넷 프로토콜 역할
- 지정한 IP 주소에 데이터 전달
- 패킷(Packet)이라는 통신 단위로 데이터 전달
출발지 IP, 목적지 IP와 데이터를 넣어서 패킷을 생성 (간단하게만 설명)
출발지 IP - 나의 IP
목적지 IP - 상대 IP
1. 출발지, 목적지, 메시지 등을 패킷에 넣고 전송 **(요청)**
2. IP 프로토콜에 의해서 노드들을 거쳐 전송되게 됨 (각 노드는 IP 프로토콜을 따르고 있음)
3. 최종적으로 목적지 IP에 컴퓨터에 패킷이 도달하게 됨
4. 목적지 IP에 해당하는 컴퓨터도 동일한 방식으로 출발지 IP 컴퓨터에 **응답
**
요청을 보낼 때의 경로와
응답을 다시 요청자에게 보낼 때의 경로가 다를 수 있음**
IP 프로토콜의 한계
1. 비연결성
- 패킷을 받을 대상이 없거나 **서비스 불능 상태여도 패킷 전송** (상대방 컴퓨터가 꺼져있어도 전송)
**즉, 대상 서버가 패킷을 받을 수 있는 상태인지 모름**
2. 비신뢰성
- 중간에 패킷이 사라지는 경우 (중간에 소실 되어도 모름)
- 패킷이 순서대로 안 오는 경우 (패킷 용량이 커서 나눠서 전송하는데 순서대로 도착하지 않는 경우)
3. 프로그램 구분 불가
- 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상인 경우 (포트가 없어서 구분 불가)
**중간에 패킷이 소실되더라도 모른다.**
전송되는 데이터가 크면 끊어서 보내게 되는데
**이 때 전송되는 순서와 도착하는 순서가 달라질 수 있다.**
- 각 패킷마다 다른 경로로 전달될 수 있기 때문
TCP
- IP 프로토콜에 TCP를 올려서 IP 프로토콜의 단점을 보안한 것이 TCP/IP