김영한님의
모든 개발자를 위한 HTTP 웹 기본 지식 강의를 바탕으로 작성한 글 입니다.
IP(인터넷 프로토콜)
IP(인터넷 프로토콜) 역할
- 지정한 IP주소(IP Address)에 데이터 전달
- 패킷(Packet)이라는 통신 단위로 데이터 전달
IP 패킷 정보
- 출발지 IP, 목적지 IP, 전송데이터, 기타... 정보들이 있다.
- 출발 100.100.100.1
- 목적 200.200.200.2
- 전송데이터 Hello, world! ...
IP 프로토콜의 한계
- 비연결성
- 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
- 비신뢰성
- 중간에 패킷이 사라지면?
- 패킷이 순서대로 안오면?
- 프로그램 구분
- 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면?
인터넷 프로토콜 스택의 4계층
- 애플리케이션 계층 - HTTP, FTP
- 전송 계층 - TCP, UDP
- 인터넷 계층 - IP
- 네트워크 인터페이스 계층
TCP 특징
전송 제어 프로토콜(Transmission Control Protocol)
- 연결지향 - TCP 3 way handshake (가상 연결)
- 데이터 전달 보증
- 순서 보장
TCP 3 way handshake
1. SYN
클라이언트 → 서버
2. SYN + ACK
서버 → 클라이언트
3. ACK
클라이언트 → 서버
4. 데이터 전송
SYN : 접속 요청
ACK : 요청 수락
참고 : 3. ACK와 함께 데이터 전송 가능
논리적으로 연결된 상태이다.
데이터 전달 보증
클라이언트가 서버로 데이터 전송을 하게 되면 서버에서 데이터 응답을 해준다.
순서 보장
패킷 순서가 잘못 도착하게되면 서버가 클라이언트에게 재요청한다.
UDP 특징
사용자 데이터그램 프로토콜(User Datagram Protocol)
- 하얀 도화지에 비유(기능이 거의 없음)
- 연결지향 - TCP 3 way handshake X
- 데이터 전달 보증 X
- 순서 보장 X
- 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
- 정리
- IP와 거의 같다. + PORT + 체크섬 정도만 추가
- 애플리케이션에서 추가 작업 필요
PORT
같은 IP 내에서 프로세스 구분
- 0 ~ 65535 할당 가능
- 0 ~ 1023 : 잘 알려진 포트, 사용하지 않는 것이 좋음
- FTP - 20, 21
- TELNET - 23
- HTTP - 80
- HTTPS - 443
DNS
도메인 네임 시스템(Domain Name System)
- 전화번호부
- 도메인 명을 IP 주소로 변경
'네트워크' 카테고리의 다른 글
tcpdump 사용법 (0) | 2024.05.03 |
---|---|
[네트워크 구성] 인라인(Inline) / 미러(Mirror) (0) | 2023.02.23 |
NOT, Bridged, Host-only 차이점 (0) | 2022.12.06 |
[네트워크] 네트워크 흐름 정리 (2) (0) | 2022.11.29 |
[네트워크] 네트워크 흐름 정리 (1) (0) | 2022.11.24 |