# IP(Internet Protocol;인터넷 프로토콜)

먼저 IP주소를 받아야한다. 서버의 IP주소가 있어야 한다.

IP(인터넷 프로토콜)의 역할

* 지정한 IP 주소에 데이터 전달
* 패킷(Packet)이라는 통신 단위로 데이터 전달

![IP 패킷](https://3778596469-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdjOVfCTIpivzhg1Bzh%2F-MdjQz_V2KjGaSQRr-Ku%2F-MdjRNsMJGLFpsYqIEAU%2FScreen%20Shot%202021-07-04%20at%2011.49.42%20AM.png?alt=media\&token=6f234f0d-7476-4ba5-bd5d-9a1e4d266a88)

![클라이언트 패킷 전달](https://3778596469-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdjOVfCTIpivzhg1Bzh%2F-MdjQz_V2KjGaSQRr-Ku%2F-MdjRSgEHmYTB3Pkj4fS%2FScreen%20Shot%202021-07-04%20at%2011.49.56%20AM.png?alt=media\&token=afb33794-1f78-44d2-a9e5-61a57cbc5ea5)

![서버 패킷 전달](https://3778596469-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdjOVfCTIpivzhg1Bzh%2F-MdjQz_V2KjGaSQRr-Ku%2F-MdjRY-C2n5YqKsQ-oOG%2FScreen%20Shot%202021-07-04%20at%2011.50.41%20AM.png?alt=media\&token=4f4512bf-c280-49e0-80b1-42b0847d3b24)

IP 프로토콜의 한계

* 비연결성\
  패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송

![대상이 서비스 불능, 패킷 전송](https://3778596469-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdjOVfCTIpivzhg1Bzh%2F-MdjR_VhH0YqHrysYF_N%2F-MdjRoYjofpmKWFLQXnh%2FScreen%20Shot%202021-07-04%20at%2011.57.22%20AM.png?alt=media\&token=aa079849-ed28-403a-bb0b-73af63e8a63c)

* 비신뢰성\
  \- 중간에 패킷이 사라지거나 패킷이 순서대로 안 올때

![패킷 소실](https://3778596469-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdjOVfCTIpivzhg1Bzh%2F-MdjRr_aFhOU-8nU0-8N%2F-MdjSD0FpxyvPBHBY5kl%2F%E1%84%91%E1%85%A2%E1%84%8F%E1%85%B5%E1%86%BA%20%E1%84%89%E1%85%A9%E1%84%89%E1%85%B5%E1%86%AF.png?alt=media\&token=9050059e-cd91-46b2-bebc-d391af9dc7c0)

![패킷 전달 순서 문제 발생](https://3778596469-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdjOVfCTIpivzhg1Bzh%2F-MdjRr_aFhOU-8nU0-8N%2F-MdjSIQD8ypwKkly69Ap%2FScreen%20Shot%202021-07-04%20at%2011.59.09%20AM.png?alt=media\&token=8aa2cb64-7d83-4989-854f-613888475a64)

메시지가 1500byte보다 크면 끊어서 보낸다.\
Hello (1500bytes), world!(1500bytes) => 두 개 패킷으로 나눠서 보낸다!

\=>TCP UDP 등장 배경!



