IP의 역할
- 지정한 IP 주소에 데이터 전달
- 패킷(Packet)이라는 통신 단위로 데이터 전달
IP 통신 순서
1. 클라이언트 패킷 전달
- 출발지 IP와 목적지의 IP 정보가 들어있다.
- 전달하고자 하는 정보도 같이 들어 있음
- 중간에 있는 인터넷 노드들에서 서로 정보를 주고받다 보면서 서버에 있는 IP 주소에 도달하게 된다.
2. 서버 패킷 전달
- 클라이언트 패킷과 마찬가지로 패킷을 노드들 사이에서 주고받으면서 클라이언트 IP 주소에 도달하게 된다.
IP 프로토콜의 한계
- 비연결성
- 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
- 비신뢰성
- 중간에 패킷이 사라질수 있음 : 중간의 노드에서 문제가 생기면 패킷이 유실 될 수 있다.
- 패킷이 순서대로 안올수 있음 : 여러개의 패킷을 보내는 경우 노드의 노선을 다르게 타면서, 혹은 패킷의 용량이 다른경우 패킷의 전달 순서가 달라질수 있다.
- 프로그램 구분
- 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상일 경우 구분하기가 어렵다.
인터넷 프로토콜 스택의 4계층
- 애플리케이션 계층 - HTTP, FTP
- 전송 계층 -
TCP, UDP
- 인터넷 계층 -
IP
- 네트워크 인터페이스 계층
TCP(Transmission Control Protocol), 전송 제어 프로토콜
- IP 프로토콜에서 발생한 문제점, 한계점을 TCP가 해결해 준다.
TCP/IP 패킷
- IP패킷 안에 TCP세그먼트를 추가해서 데이터를 넣어준다.
- TCP 세그먼트 안에는
출발지 PORT
,목적지 PORT
,전송 제어
,순서
,검증정보
등이 들어가게 된다.
TCP의 특징
- 연결지향 - TCP 3 way handshake (가상 연결)
- 클라이언트가 서버로 SYN이란 메세지를 보내고, 서버에서 SYN와 ACK를 보낸다.
- 그러면 클라이언트가 ACK와 데이터를 같이 전송한다.
- 클라이언트와 서버가 서로 SYN과 ACK를 주고받으면서 신뢰 할수 있는 데이터 전송과정을 가질수 있다.
- 데이터 전달 보증 : 데이터를 전달하면, 서버에서 데이터를 잘 받았다고 응답을 해준다.
- 순서 보장 : 클라이언트에서 패킷을 1, 2, 3으로 보냈을때, 서버에서 패킷 1, 3, 2순서로 받은 경우 패킷 2부터 재요청을 한다.
UDP(User Datagram Protocol), 사용자 데이터그램 프로토콜
UDP 특징
- 하얀 도화지와 비슷하다 → 기능이 거의 없음
- 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠르다.
IP + PORT + 체크섬
정도의 기능을 가진다.- 애플리케이션에서 추가 작업 필요
reference
https://www.inflearn.com/course/http-웹-네트워크
반응형