[HTTP ] 1. 인터넷 네트워크
2024. 1. 21. 04:38
728x90
SMALL
📌 IP(인터넷 프로토콜)
⚡ 인터넷 프로토콜 역할
- 지정한 IP 주소(IP Address)에 데이터 전달
- 패킷(Packet)이라는 통신 단위로 데이터 전달
⚡ IP 프로토콜의 한계
✔ 비연결성
- 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
- 확인이 어렵다는 한계가 있음
✔ 비신뢰성
- 중간에 패킷이 사라지거나 패킷이 순서대로 오지 않는 상황
✔ 프로그램 구분
- 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이라면?
📌 TCP, UDP
⚡ 인터넷 프로토콜 스택의 4계층
- 애플리케이션 계층 : HTTP, FTP
- 전송 계층 : TCP, UDP
- 인터넷 계층 : IP
- 네트워크 인터페이스 계층
⚡ 프로토콜 계층
SOCKET
라이브러리를 통해OS
계층에 메세지 넘김OS
계층에서 메시지에TCP
정보를 씌움(그림에서 녹색 표시)- 그 바깥에
IP
와 관련된 데이터들을 씌움(노란색) LAN
카드를 통해서 나갈 때Ethernet frame
까지 포함해서 나감
⚡ IP/TCP 패킷 정보
- 패킷 : 패키지(package) + 버킷 합성어
⚡ TCP 특징
🔶 TCP : 전송 제어 프로토콜(Transmission Control Protocol)
- 연결 지향 - TCP 3 way handshake (가상 연결)
- 데이터 전달 보증
- 순서 보장
- 신뢰할 수 있는 프로토콜
- 현재는 대부분 TCP 사용
TCP 3 way handshake
- 여기서 연결은 개념적으로만 연결(가상 연결)
- 물리적인 연결이 아니라 논리적으로 연결
데이터 전달 보증
- 데이터가 전송되면 서버에서 받았다고 응답함(잘 전달 됐는지 확인 가능)
순서 보장
⚡ UDP 특징
🔶 UDP : 사용자 데이터그램 프로토콜 (User Datagram Protocol)
- 하얀 도화지에 비유(기능이 거의 없음)
- 연결 지향 : TCP 3 way handshake X
- 데이터 전달 보증 X
- 순서 보장 X
- 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
- 정리
- IP와 거의 같음(PORT, 체크섬 정도만 추가)
- 애플리케이션에서 추가 작업 필요
반응형
📌 PORT
한 번에 둘 이상 연결해야 한다면?
✔ TCP에 보면 출발지 PORT와 목적지 PORT가 있음
✔ IP : 목적지 서버를 찾는 것
✔ PORT : 서버 안에서 돌아가는 애플리케이션을 구분하는 것
PORT : 같은 IP 내에서 프로세스 구분(출발 PORT, 도착 PORT 이용)
- 0 ~ 65535 포트번호 할당 가능
- 0 ~ 1023 : 잘 알려진 포트, 사용하지 않는 것이 좋음
- FTP : 20, 21
- TELNET : 23
- HTTP : 80
- HTTPS : 443
📌 DNS
🔶 DNS : 도메인 네임 시스템(Domain Name System)
✔ IP의 문제점
- 기억하기 어려움
- 변경될 수 있음
- DNS는 도메인 명을 IP 주소로 변환해줌
- IP 주소보다 domain 명을 사용하는 것이 편리
<모든 개발자를 위한 HTTP 웹 기본 지식_김영한>을 수강하고 참고하여 작성한 글입니다.
NEXT
728x90
LIST
'인프런 Spring 강의 정리 > 모든 개발자를 위한 HTTP 웹 기본 지식' 카테고리의 다른 글
[HTTP ] 6. HTTP 상태코드 (0) | 2024.01.21 |
---|---|
[HTTP ] 5. HTTP 메서드 활용 (0) | 2024.01.21 |
[HTTP ] 4. HTTP 메서드 (0) | 2024.01.21 |
[HTTP ] 3. HTTP 기본 (1) | 2024.01.21 |
[HTTP ] 2. URI와 웹 브라우저 요청 흐름 (0) | 2024.01.21 |