목차
1. IP (인터넷 프로토콜)
A. 역할
◾ 지정한 IP 주소(IP Address)에 데이터 전달
◾ 패킷(Packet)이라는 통신 단위로 데이터 전달
B. 패킷 전달 방식
◾ 출발지 IP, 목적지 IP, 메시지 등을 넣어 IP 패킷을 만들어 노드를 통해 서버에 전달
◾ 출발지 IP, 목적지 IP, 메시지 등을 넣어 IP 패킷을 만들어 노드를 통해 클라이언트로 전달
C. 한계
◾ 비연결성
◽ 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
◾ 비신뢰성
◽ 패킷이 중간에 사라지거나, 순서대로 전달되지 않음
◾ 프로그램 구분
◽ 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면 구분이 불가능
2. TCP
IP 프로토콜에서 발견된 한계와 문제들을 해결하기 위해 TCP, UDP를 사용
전송 제어 프로토콜(Transmission Control Protocol)
A. 특징
◾ 연결 지향 - TCP 3 way handshake (가상 연결) - 클라이언트와 서버가 서로 연결하며 신뢰할 수 있다고 판단
◾ 데이터 전달 보증 - 누락된 데이터를 알 수 있음
◾ 순서 보장
◾ 신뢰할 수 있는 프로토콜
◾ 현재는 대부분 TCP 사용
B. 인터넷 프로토콜 스택의 4 계층
C. 메시지 전달 순서
D. TCP/IP 패킷 정보
E. TCP 3 way handshake
1. 클라이언트에서 서버로 SYN 메시지를 보냄
2. 서버에서 클라이언트로 요청을 수락하면서(ACK) SYN 메시지를 보냄
3. 클라이언트에서 요청을 수락(ACK)하여 클라이언트와 서버가 서로 신뢰함
4. 서로 신뢰된 상태에서 데이터를 전송함
* 응답이 없는 경우, 연결이 안 된 상태이기 때문에 데이터를 전송하지 않음
3. UDP
사용자 데이터 프로그램 프로토콜 (User Datagram Protocol)
◾ 하얀 도화지에 비유(기능이 거의 없음)
◾ 연결 지향 - TCP 3 way handshake X
◾ 데이터 전달 보증 X
◾ 순서 보장 X
◾ 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
정리
◾ IP와 거의 같다. + PORT + 체크섬 정도만 추가
◾ 애플리케이션에서 추가 작업 필요
4. PORT
같은 IP 내에서 프로세스를 구분하기 위해 사용
A. PORT 번호
◾ 0 ~ 65535 할당 가능
◾ 0 ~ 1023: 잘 알려진 포트, 사용하지 않는 것이 좋음
B. 기본 포트
◾ FTP - 20, 21
◾ TELNET - 23
◾ HTTP - 80
◾ HTTPS - 443
5. DNS
도메인 네임 시스템(Domain Name System)
IP는 기억하기 어렵고, 변경될 수 있기 때문에 DNS를 사용함
◾ 전화번호부라고도 할 수 있음
◾ 도메인 명을 IP 주소로 변환
1. 도메인을 구매하여 DNS 서버에 도메인 명을 등록함
2. 도메인명으로 접근 시 DNS 서버에 IP를 요청
3. DNS 서버에서 IP를 전달해줌
4. 전달받은 IP로 접속
출처: 인프런 '모든 개발자를 위한 HTTP 웹 기본 지식' 강의
'IT > HTTP 웹' 카테고리의 다른 글
[HTTP] 상태 코드 (Status Code) (0) | 2022.06.22 |
---|---|
[HTTP] HTTP 메서드 - GET, POST, PUT, PATCH, DELETE (0) | 2022.06.14 |
[HTTP] HTTP 기본 & 특징 (stateless, connectionless, ...) (0) | 2022.06.10 |
[HTTP] 웹 브라우저 요청 흐름 (0) | 2022.06.09 |
[HTTP] URI, URL, URN 뜻 구조 문법 (1) | 2022.06.08 |