일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- CI/CD
- TS
- useAppDispatch
- app router
- Jest
- recoil
- CORS
- dfs
- webpack
- Promise
- 결정 알고리즘
- 호이스팅
- autosize
- async/await
- 타입 좁히기
- ESlint
- map
- 반공변성
- 리터럴 타입
- 인터섹션
- 태그된 유니온
- 투포인터
- React
- RTK Query
- tailwind
- 공변성
- Cypress
- 이분 검색
- SSR
- 무한 스크롤
- Today
- Total
짧은코딩
IP, TCP와 UDP,PORT, DNS 본문
IP(인터넷 프로토콜)
1. 지정한 IP 주소(IP Address)에 데이터를 전달한다.
2. 패킷(packet)이라는 단위를 사용하여 데이터를 전달한다.
3. IP 패킷에는 출발지, 목적지 IP와 전송 데이터 등이 있다.
패킷은 여러 노드(서버)를 거쳐서 목적지에 도착한다. 거쳐가는 노드는 상황에 따라 달라진다.
단점
1. 비연결성을 가지고 있어서 패킷을 받을 대상이 없거나 서비스 불능이어도 패킷이 전송된다.
2. 비신뢰적이라 패킷이 중간에 사라지거나 순서대로 가지 않을 수 있다.(패킷은 보통 1500bytes씩 잘라서 보냄)
3. 같은 IP에서 사용하는 애플리케이션이 둘 이상이면 프로그램 구분이 어렵다.
ex) 게임, 노래 다 듣고 있으면 어느 프로그램으로 요청을 줘야할지 모름
TCP와 UDP
인터넷 프로토콜 스택 4계층
IP의 단점을 TCP가 위에서 보완해준다.
프로토콜 계층
위 사진은 "Hello, world!"라는 메시지를 전달하는 과정이다.
1. socket를 이용해서 os에 "Hello, world!"를 전송한다.
2. "Hello, world!" 메시지 겉을 TCP 정보로 감싼다.
3. TCP에서 감싼 겉에 또 다시 IP 정보를 감싼다. 이러면 IP 패킷이 생성된다.
4. LAN 카드를 통해 네트워크로 나가기 전에 "Ethernet frame"이 포함되어 나간다. "Ethernet frame"에서는 MAC 주소 같은 물리적인 정보들이 포함되어 있다.
TCP, UDP
https://shortcoding.tistory.com/300
https://shortcoding.tistory.com/301
예전에 정리한 글에 내용을 보충하여서 위 2개의 글을 참고하면 TCP, UDP 정리가 될 것이다.
PORT
PORT는 위에서 계속 가정한 "같은 IP에서 2개 이상의 애플리케이션을 사용하면 응답을 어떤 프로그램에 줄지 모르는 상황"을 위해서 사용된다. 예를 들어 IP가 아파트 주소이면 PORT는 몇 동, 몇 호인지를 나타낸다.
DNS(Domain Name System)
IP는 변화하기 쉽고 외우기 어렵기 때문에 DNS 서버에 도메인을 등록할 수 있다.
위 사진처럼 google.com의 IP 주소를 등록해놓으면 요청시 DNS 테이블에서 IP를 준다.
도메인(Domain): 도메인은 인터넷에 연결된 컴퓨터를 사람이 쉽게 기억할 수 있도록 문자(영문, 한글 등)로 만든 인터넷주소이다.
-출처
https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard
'인프런, 유데미 > 모든 개발자를 위한 HTTP 웹 기본 지식' 카테고리의 다른 글
HTTP 상태 코드 (0) | 2023.03.20 |
---|---|
HTTP API (1) | 2023.03.14 |
HTTP 구조와 Stateless (0) | 2023.03.06 |
웹 브라우저 요청 흐름 (0) | 2023.02.05 |
URI (0) | 2023.02.05 |