-
인터넷 통신
- 클라이언트가 요청하고 서버가 응답하는 구조
- 인터넷 안의 수많은 경로를 통해 목적지까지 데이터를 전달시킬 수 있는 방법은 무엇인가?
IP
- 인터넷 프로토콜
- 클라이언트와 서버는 IP 주소를 가지고 있다
- 패킷이라는 통신 단위로 데이터 전달 IP 패킷은 데이터와 클라이언트, 서버의 IP주소를 포함한다.
IP 단계에서 한계
- 비연결성: 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
- 비신뢰성: 중간에 패킷이 사라지거나 패킷이 순서대로 도착하지 않는다면?
- 프로그램 구분: 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면?
- 한계를 극복할 수 있는 방법이 무엇인가?
인터넷 프로토콜 스택의 4계층
- 1네트워크 인터페이스, 2인터넷(IP), 3전송(TCP UDP), 4애플리케이션(HTTP FTP).
- 7계층... 1물리 2데이터링크 3네트워크 4전송 5세션 6프리젠테이션 7어플리케이션.
TCP, UDP
TCP 특징
- 전송 제어 프로토콜
- 연결지향(연결 체크, 서버의 응답이 없을 경우)
- 데이터 전달 보증(데이터 누락을 체크, 서버의 응답이 없을 경우)
- 순서보장 (서버가 다시 보내라고 응답)
- 신뢰할 수 있는 프로토콜
- 패킷에 포트 정보를 포함시킨다 TCP IP 패킷
연결지향 TCP 3 way handshake
- 클라이언트 SYN
- 서버 SYN+ACK
- 클라이언트 ACK
- 데이터 전송
UDP 특징
- 사용자 데이터그램 프로토콜
- 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름.
- IP 패킷에 포트정보와 체크섬(메시지 검증)을 포함시킨다.
PORT
- 한번에 둘 이상 연결해야 한다면?
- 클라이언트 IP가 100.100.100.1인데 게임, 화상통화, 웹브라우저를 동시에 요청하는 경우
- 게임: 100.100.100.1:8090
- 화상통화: 100.100.100.1:21000
- 웹 브라우저: 100.100.100.1:10202
- IP가 아파트 포트가 호수이다.
- FTP: 20,21
- TELNET: 23
- HTTP: 80
- HTTPS: 443
DNS
- 도메인 네임 서비스
- 도메인명을 사서 등록할 수 있다