[HTTP] IP 인터넷 프로토콜

haeun·2024년 3월 5일
0

CS

목록 보기
3/3
post-thumbnail

개요

네트워크 통신을 하기 위해서는 어떤것들이 필요한지 추상적이던 그 개념을 간단하게 짚고 넘어가고는 시간을 가져보고자 합니다.

복잡한 인터넷망을 어떤 규칙으로, 어떻게 안전하게 타고 다닐수 있는지 인터넷통신, IP, DNS, PORT 등 필수적인 요소를 명확하게 이해보는 것을 목표로 하며 김영한님의 HTTP 강의를 토대로 작성하였습니다.



IP(Internet Protocol)이란?

근거리 통신을 할때는 LAN으로 MAC주소를 이용해 통신 할 수 있지만

멀리 있는 PC와 통신을 하기위해서는 수많은 중간 노드를 거쳐 네트워크를 식별할 주소가 필요한데요. 여기서 의미하는 주소가 바로 IP 주소를 의미합니다.


인터넷 프로토콜의 관점에서 보면 보내는 클라이언트의 주소는 출발지 IP, 서버의 주소는 도착지 IP, 보내고자하는 내용은 전송 데이터라고 할 수 있습니다.


인터넷 프로토콜의 역할

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

IP 패킷안에 어떤것들이 담겨있는지 보기 위해 TCP/IP의 형태를 미리 보자면 아래와 같습니다.

전송데이터를 TCP, IP가 감싸고 있는 형태로
IP 패킷 안에는

  • 버전
  • 헤더길이
  • 서비스타입
  • 식별자
  • 플래그
  • 단편화 오프셋
  • Time-To-Live(TTL)
  • 프로토콜
  • 헤더 체크섬
  • 송신자 IP주소
  • 수신자 IP주소

이러한 구성으로 패킷이 목적지에 도착하기 위해 필요한 값들이 담겨져 있습니다.


인터넷 프로토콜 문제점


위에서 알아본 인터넷 프로토콜에는 몇가지 한계점이 있습니다.

  1. 전송한 순서대로 도착하지 않음
  2. 패킷이 중간에 분실될 위험 존재 (비신뢰성)
  3. 어플리케이션 구분이 어려움


IP 패킷들이 중간 노드를 거쳐가면서 다른 경로로 라우팅 되는 경우 패킷 전달 순서가 사용자의 의도와 달라질 수 있습니다.

또한 패킷이 중간에 소실될 위험이 있고,
PC가 여러 개의 프로그램을 동시에 사용할 때 IP만으로는 어플리케이션을 구분하기 어렵다는 문제점이 존재합니다.

이러한 한계점을 극복하고 보완한 프로토콜이 TCP 프로토콜입니다.

TCP 프로토콜에 대한 내용은 다음 포스팅에서 다루도록 하겠습니다.

profile
환영합니다 :) 이 곳은 개인 공부를 정리하고 창의적으로 활용하기 위한 제 2의 전두엽으로 활용되고 있으며, 오류에 대한 피드백은 댓글로 남겨주시면 감사하겠습니다.

0개의 댓글