IP(인터넷 프로토콜)이란

제이든·2022년 1월 5일
0

네트워크

목록 보기
11/13

그림과 같이 서로 멀리 떨어진 클라이언트와 서버는 통신을 Hello World! 라는 메시지를 주고 받고 싶다.

중간에 수많은 노드중에서 어떤 것이 적절한 서버인지 알 수 있을까?

우리가 많이 들어본 IP를 통해서 통신이 가능하다

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

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

2. IP 패킷 정보

패킷은 컴퓨터 네트워크에서 데이터를 주고 받을 때 정해놓은 규칙이다

즉 아무런 방식으로 IP를 이용해 데이터를 전송하는 것은 아니고 아래 그림과 같이 데이터에 다른 것들을 포함해 전송하게 된다.

  1. 출발지 IP주소(내 IP)
  2. 목적지 IP주소
  3. 기타 정보는 나중에 자세히 알아보자

3. 전송

3.1 클라이언트

패킷에 정보에 따라 전송을 시작하게 되는데 인터넷에 있는 여러 노드(서버)들도 이러한 규칙을 모두 따르고 있기 때문에 서로 전송이 가능하다.

서로 전송을 하다보면 결국에 목적지 서버에 도달하게 되는 것이다.

3.2 서버

서버에서도 마찬가지로 패킷 정보를 토대로 노드들에게 패킷을 전달, 전달하면서 결국 메세지가 클라이언트 목적지에 도달하게 되는 것이다.

인터넷망이 복잡하기 때문에 클라이언트에서 송신할때랑 다른 노드들을 거쳐 전달이 될 수도 있다

4. IP 프로토콜의 한계

출발지 IP와 목적지 IP등의 정보를 포함한 패킷으로 전송이 가능하게 해주는 IP프로토콜이지만 한계점도 가지고 있다.

  • 비연결성
    - 패킷을 받을 대상이 없거나 서비스 불능 상태일지라도 패킷을 전송한다.

  • 비신뢰성
    - 패킷이 중간에 소실되어도 어쩔 수 없다는 한계가 있다.
    - 패킷의 길이가 너무 길 경우에는 나눠서 전송하는데, 패킷이 순서대로 전송된다는 보장이 없다.

  • 프로그램 구분
    - 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면 구분할 수 없다.

    예를 들어, 한 PC에서 인터넷으로 게임도하면서 노래도 듣는다면 어떤 프로그램인지 알고 전송할 수 있냐는 것이다.

이러한 문제점들을 해결해주는 것이 TCP 프로토콜이다

해당 포스팅은 김영환 HTTP강의 토대로 작성되었습니다.

profile
개발자 제이든

0개의 댓글