[꼼꼼한 개발자] 꼼코더

2. 모든 개발자를 위한 HTTP 웹 기본 지식 - [01 인터넷 네트워크] - IP(인터넷 프로토콜) 본문

HTTP

2. 모든 개발자를 위한 HTTP 웹 기본 지식 - [01 인터넷 네트워크] - IP(인터넷 프로토콜)

꼼코더 2022. 8. 31. 23:46
반응형

IP(인터넷 프로토콜)

IP : 인터넷에서 단말 간 정보를 주고받는 데 쓰이는 통신규약(프로토콜)

  • 클라이언트와 서버 둘다 IP를 가진다. (규칙)

🗣 IP 주소 부여

  • 메세지를 전달하기 위해서는 클라이언트(출발지)와 서버(목적지)의 IP주소가 부여된 상태여야 한다.

🙋🏻‍♂️ IP(인터넷 프로토콜) 역할

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

🕵🏻‍♂️ IP 패킷 정보

  • 노드끼리는 IP(인터넷 프로토콜)주소를 이용해 데이터를 전달하는데 패킷 단위로 데이터를 전달한다.
  • 즉, 전송 데이터(보낼 메시지)와 함께 출발지 IP(클라이언트 IP), 목적지 IP(서버 IP) 등을 함께 묶어 패킷으로 만든 후 전달한다.
  • 패킷은 다음과 같이 구성된다.◦ 주소지 정보: 발신지, 목적지 주소
  • ◦ 관리 정보: Header, IPv6과 같이 망이 패킷을 목적으로 전달하는데 필요한 정보
  • ◦ Payload : 전송하고자 하는 데이터의 한 블록

👨🏻‍🎨 패킷 전달 그림

  • 클라이언트 패킷 전달

  • 서버 패킷 전달


💦 IP 프로토콜의 한계

  1. 비연결성
    1. 패킷을 받을 대상이 없거나 서비스가 불가능해도 패킷을 전송한다.
  1. 비신뢰성
    1. 패킷이 중간에 소실될 수도 있고 순서도 보장되지 않는다.
  1. 구분의 모호함
    1. 현재 클라이언트 PC에서 게임, 화상통화, 웹 브라우저 요청도 하고 있는 상황을 가정해보자.
    2. 즉, 클라이언트 PC가 여러 개의 서버와 통신해야 하는 상황이다.
    3. 서버가 클라이언트 PC로 패킷을 보내려면 클라이언트 IP로 패킷을 보내야한다.
    4. 하지만 IP만 사용하면, 클라이언트 입장에서는 받은 패킷이 게임, 화상통화, 웹브라우저 요청 중 어떤 프로그램으로 온 패킷인지 알 수 없는 문제가 있다.


💁🏻‍♂️ Q&A

Q. 여기서 말하는 클라이언, 서버의 의미는?

A. 요청자 == 클라이언트, 요청 메시지를 받는 곳 ==서버

[출처] https://www.inflearn.com/questions/146771


Q. 프로토콜이란?

A. 프로토콜 = 통신 규약(약속) 이다.

서로 간에 데이터를 주고 받기위해서 데이터는 이런 모양이어야하고 그 안에 ip, port 라는 게 있어야 한다 등의 약속을 말한다. 인터넷은 실제 byte 데이터를 전달하면서 통신하는데 어떻게 통신할지, 앞의 몇자리는 IP가 들어가고 나머지는 데이터가 들어가는 등 약속이 필요한데, 이것이 프로토콜이다.

[출처] https://www.inflearn.com/questions/268933

 

 

 

 

참고 : https://hseungyeon.tistory.com

 

위 자료는 김영한님의 ‘모든 개발자를 위한 HTTP 웹 기본 지식’ 강의를 참고하여 작성하였습니다.
https://www.inflearn.com/course/http-웹-네트워크/dashboard
Comments