인터넷 프로토콜 스택의 4계층
애플리케이션 계층 - HTTP, FTP (인터넷 브라우저, 기타 프로그램들)
전송 계층 - TCP, UDP
인터넷 계층 - IP
네트워크 인터페이스 계층 (LAN카드, LAN장비 등등)
IP (인터넷 프로토콜)
* 역할 : 지정한 주소에 패킷 단위로 데이터 전달
* IP 패킷에 들어있는 정보 : 출발지 IP, 목적지 IP, 데이터...
* IP 프로토콜의 한계
1) 패킷을 받을 대상이 없거나, 서비스 불능이어도 패킷을 전송한다.
2) 비신뢰성 - 중간에 패킷이 사라진다? 여러 패킷을 보냈는데 순서대로 안온다면?
3) 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이라면?
TCP (전송 제어 프로토콜)
* TCP/IP 패킷 정보 : 출발지 PORT, 목적지 PORT, 전송제어, 순서, 검증 정보 등등
* TCP 특징 :
1) 연결 지향...
- 3 way handshake : ① syn(접속요청) ② syn + ack(요청수락) ③ ack (+ 데이터 전송)
2) 데이터 전달 보증
3) 순서 보장
- 순서가 바뀌면 바뀐 순서부터 다시 보내라고 재요청 함
UDP (사용자 데이터그램 프로토콜)
* IP와 거의 비슷하지만 PORT와 체크섬 정도 추가됨
* 단순하고 빠르다. 최적화를 각자 알아서 할 경우에 유용함
* 요새 다시 각광받고 있음. (TCP의 3way handshake 등 건드릴 수 없는 여러 검증 절차들을 더욱 최적화하고 사용하려고 하기 때문)
PORT 포트
* 같은 ip에서 여러가지 어플리케이션을 사용할 수 있기 때문에 포트로 구분한다.
* 0 ~ 65535 할당 가능한데, 0 ~ 1023은 잘 알려진 포트이기 때문에 사용하지 않는 것이 좋다.
예) HTTP : 80, HTTPS: 443, FTP : 20, 21 등등
DNS (도메인 네임 시스템)
* IP주소는 기억하기 어려움. 그리고 IP가 바뀌게 되면...??
-> 전화번호부처럼 IP와 도메인을 매핑시켜주는 시스템
출처 : <모든 개발자를 위한 HTTP 웹 기본지식> BY. 김영한
'HTTP 기본' 카테고리의 다른 글
HTTP API 설계 예시 (0) | 2022.01.09 |
---|---|
HTTP 메서드 (0) | 2022.01.09 |
HTTP 기본 (0) | 2022.01.09 |
URI와 URL, URN (0) | 2022.01.09 |