* 인터넷 네트워크는 복잡하다. *
** IP (인터넷 프로토콜) **
• 복잡한 인터넷 망에서 정보를 전달하기 위해 IP 주소를 부여한다.
* IP의 역할
- 지정한 IP 주소(IP Address)에 데이터 전달
- 패킷(Packet : Package + Bucket)이라는 통신 단위로 데이터 전달
* IP 프로토콜의 한계
- 비연결성 : 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷을 전송한다.
- 비신뢰성 : 도중에 패킷이 사라지거나 (패킷 소실), 패킷 전달 순서에 문제가 발생 할 수 있다.
- (약 1500바이트 이상이되면 나눠서 보내는데 )
- 프로그램 구분 : 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 여러개라면..?
-> IP 프로토콜만으로는 이런 문제를 해결할 수 없다, TCP는 해결 할 수 있다.
참고) 인터넷 프로토콜 스택의 4계층
애플리케이션 계층 | HTTP, FTP |
전송 계층 | TCP, UDP |
인터넷 계층 | IP |
네트워크 인터페이스 계층 |
** TCP **
* TCP 특징
• 전송 제어 프로토콜 ( Transmission Control Protocol)
- 연결지향 - TCP 3 way handshake (가상 연결) : 연결 여부를 확인 후 전송
- 데이터 전달 보증 : 패킷 누락시 알 수 있음
- 순서보장
- 신뢰할 수 있는 프로토콜
- 현재는 대부분 애플리케이션에서 TCP를 사용
- TCP 3 way handshake (가상 연결)
-> 중간에 수많은 s노드가 있다 (물리적으로 연결된게 아니고 논리적으로 연결된것이다.)
- 데이터 전달 보증
- 순서 보장
** UDP **
• 사용자 데이터그램 프로토콜 (User Datagram Protocol)
* UDP 특징 (http3)
- 하얀 도화지에 비유된다. (기능이 거의 없다.)
- 연결지향 = TCP 3 way handshake 안된다
- 데이터 전달 보증 안됨
- 순서보장 안됨
- 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠르다
즉, IP와 거의 같고, PORT와 체크섬 정도가 추가되어있다. 애플리케이션에서 추가 작업 필요하다.
** PORT **
PROT는 동일 IP 내에서 프로세스 구분해준다.
* PORT 사용
• 0 ~ 65535 할당 가능하다.
• 0 ~ 1023 포트 번호는 잘알려진 포트로, 사용을 지양하는 것이 좋다.
예) FTP - 20, 21
TELNET - 23
HTTP - 80
HTTPS - 443
** DNS **
도메인 네임 시스템 (Domain Name System) : 도메인 명 등록 후 IP 주소로 변환해준다.
IP는 기억하기 어렵고, 변경이 가능하다.
* DNS 사용
DNS 서버에 도메인을 구입후 등록한다.
'인턴' 카테고리의 다른 글
[18일차] HTML - 기본 (2) | 2024.11.06 |
---|---|
[17일차] URI 와 웹 브라우저 요청의 흐름 (0) | 2024.11.05 |
[16일차] 로그인 유지 (0) | 2024.11.04 |
[13일차] Next.js api route.tsx에서 JSON값받기 (0) | 2024.10.30 |
JSON 이란? (1) | 2024.10.25 |