IP주소(Internet Protocol address)
컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호입니다. 만약 서버가 들어가지 않으면 IP가 안전하지 않다고 합니다. 네트워크에 연결된 장치가 라우터이든 일반 서버이든, 모든 기계는 이 특수한 번호를 가지고 있어야 합니다. 이 번호를 이용하여 발신자를 대신하여 메시지가 전송되고 수신자를 향하여 예정된 목적지로 전달됩니다. IP 주소를 줄여서 IP라고 부르기도 하나 IP는 인터넷 규약 자체를 가리키는 말이기 때문에 엄밀하게는 구별해야 합니다. IP 와 IP 주소는 다른 개념입니다.
IP(Internet Protocol)
IP 주소(IP Address)에 패킷(Packet)이라는 통신 단위로 데이터 전달을 합니다.
Internet Protocol의 한계
- 비연결성
- 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
- 비신뢰성
- 중간에 패킷이 사라질 수 있음
- 패킷의 순서를 보장할 수 없음
IP패킷(IP Packet)
우체국 송장처럼 전송 데이터를 무사히 전송하기 위해 출발지 IP, 목적지 IP와 같은 정보가 포함되어 있습니다.
그림 출처: https://velog.io/@gparkkii/HTTPIP
- 패킷 단위로 전송을 하면 노드들은 목적지 IP에 도달하기 위해 서로 데이터를 전달합니다. 이를 통해 복잡한 인터넷 망 사이에서도 정확한 목적지로 패킷을 전송할 수 있습니다.
TCP(Transmission Control Protocol)
컴퓨터가 다른 컴퓨터와 데이터 통신을 하기 위한 규약(프로토콜)의 일종이며 연결 지향적 프로토콜입니다. 연결 지향 프로토콜이란 클라이언트와 서버가 연결된 상태에서 데이터를 주고받는 프로토콜을 의미합니다. TCP는 세계 통신표준으로 개발된 OSI 모형에서 4번째 계층인 전송 계층(Transport Layer)에서 사용하는 규약으로, 보통 하위 계층에서 사용하는 IP와 엮어서 TCP/IP로 표현하는 경우가 많습니다.
- TCP 세그먼트에는 IP 패킷의 출발지 IP와 목적지 IP 정보를 보완할 수 있는 출발지 PORT, 목적지 PORT, 전송 제어, 순서, 검증 정보 등을 포함합니다.
따라서 TCP는 IP패킷의 한계를 보완한 신뢰할 수 있는 프로토콜입니다.
UDP(User Datagram Protocol)
컴퓨터가 다른 컴퓨터와 데이터 통신을 하기 위한 규약(프로토콜)의 일종이며 비연결 지향적 프로토콜입니다. 비연결 지향적이란 데이터를 주고받을 때 연결 절차를 거치지 않고 발신자가 일방적으로 데이터를 발신하는 방식을 의미합니다. UDP는 세계 통신표준으로 개발된 OSI 모형에서 4번째 계층인 전송 계층(Transport Layer)에서 사용하는 규약입니다.
HTTP 역사
- HTTP/1.1, HTTP/2는 TCP 기반이며 HTTP/3는 UDP 기반 프로토콜입니다.
클라이언트 서버 구조
무상태 프로토콜(Stateless), 비연결성(Connectionless)
HTTP 메세지
헤더와 바디로 구분
header : HTTP 전송에 필요한 모든 부가정보를 담기 위해 사용합니다. 헤더 형식은 < field-name >:< field-value >로 대소문자를 구분하지 않습니다
body : 데이터를 실어 나르는 부분의 페이로드(Payload)를 포함
단순함, 확장 가능