김영한 교수님의 HTTP 웹 기본 지식을 보고 정리한 노트이다. 절대 공유 및 배포 금지.

📜 강의 자료

https://github.com/jjj5306/HTTP-web-basic


Ⅰ. 인터넷 네트워크

1. 인터넷 프로토콜

IP란?

컴퓨터간의 통신이 필요할 때 매우 먼 거리도 인터넷을 이용해서 통신을 한다. 이 인터넷은 매우 복잡하게 구성되어 인공위성, 해저 케이블 등 무수한 노드를 거치게 된다. 이러한 과정에서 규칙이 필요하다. 그 규칙을 IP, 인터넷 프로토콜이라 부른다.

IP는 IP 주소에 데이터를 전달할 수 있도록 정한 규칙이다. 데이터를 그냥 보내는게 아니라 패킷이라는 단위로 전달한다. IP 패킷에서는 당연하게도 출발 주소와 도착 주소가 포함된다.

Untitled


IP 프로토콜의 한계

  1. 비 연결성 : 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷을 전송한다.

  2. 비 신뢰성 : 중간에 패킷이 사라지거나 순서대로 오지 않을 수 있다.

    패킷을 보낼 때 노드를 거치는데, 이 노드들도 일종의 서버이다. 서버가 중간에 꺼진다거나 하면 패킷이 소실될 수 있다.

    또, 패킷의 용량이 크면 임의로 끊어서 전송하는데 쪼개진 패킷들이 항상 같은 경로를 지나지는 않는다. 따라서 무수히 많은 노드를 서로 다른 경로로 지나다보면 패킷의 순서가 섞일 수 있다.

  3. 프로그램 구분 : 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이라면 구분할 수 없다. 유튜브를 보면서 게임을 한다거나 하면 프로그램을 구분할지 정해야 한다.


2. TCP, UDP

인터넷 프로토콜 스택의 4계층

애플리케이션 계층 HTTP, FTP 최종 사용자와 상호 작용하는 응용프로그램에 서비스 제공
전송 계층 TCP, UDP 데이터의 신뢰성과 흐름 제어
인터넷 계층 IP IP 주소를 사용하여 패킷을 목적지까지 전달
네트워크 인터페이스 계층 램카드 등 물리적인 하드웨어와 네트워크 매체와의 통신을 다룸