인터넷에서 컴퓨터들이 서로 정보를 주고 받는데 쓰이는 프로토콜의 집합
1. 패킷 생성
- HTTP Request 정보
- SP : 내 포트번호
- DP : 목적지 포트번호 (이경우 http이므로 80)
- SA : 내 IP
- DA : 목적지 IP
-- 이 경우 www.google.com이라는 도메인만 알고 있음
-- DNS 서버를 통해 이 도메인의 IP를 가져와서 지정
- SA : 내 MAC
- DA : 목적지 MAC (연결되어 있는 공유기)
-- ARP를 사용하여 MAC주소 알아냄
-- ARP는 IP주소를 MAC주소로 바꿔주는 주소해석 프로토콜
2. TCP 연결 (3-Way-Handshaking)
: TCP는 연결지향형 프로토콜이기 때문에 우선 연결을 먼저한다.
1) client -(SYN)-> Server
2) client <-(ACK,SYN)- Server
3) client -(ACK)-> Server
연결 준비 완료
3. NAT (Network Address Transform)
내 아이피는 Private IP이기 때문에 Public IP 변환하는 작업 (공유기에서 나갈때)
4. Destination IP 도착
1) ARP를 사용하여 MAC주소 가져옴 (Network Layer)
2) 수많은 Router들을 통해 DA IP에 도착 (Internet Layer)
3) http 요청이므로 80포트 (Transport Layer)
4) Request한 정보 사용 (Application)
5. Response Client 전달 완료
6. TCP 연결 종료 (4-Way-Handshaking)
1) client -(SYN)-> Server
2) client <-(ACK)- Server
3) client <-(FIN)- Server
4) client -(ACK)-> Server
- 종료