1. 인터넷
인터넷이란, 전 세계에 걸쳐 파일 전송 등의 데이터 통신 서비스를 받을 수 있는 컴퓨터 네트워크의 시스템이다.
LAN, WAN으로 연결되어 있고 바다 밑에 거대한 해저 케이블이 설치되어 있다.
2. TCP/IP 계층
TCP/IP란, 인터넷에서 컴퓨터들이 서로 정보를 주고 받는데 쓰이는 프로토콜의 집합이다.
TCP/IP 계층은 OSI 7계층 글을 보면 참고할 수 있으므로 생략하도록 하겠다.
3. TCP/IP 흐름
면접 단골 질문인 www.google.com을 을 웹브라우정 입력하면 어떠한 일이 일어나는지 따라가보자.
Application Layer(HTTP, HTTPS)
먼저, 도메인 주소를 입력하면 위와 같은 HTTP Request 메시지를 서버로 보낸다.(http 버전은 일단 무시하자)
Transport Layer(TCP)
여기서 주목해야 할 것은 송/수신지의 포트 번호이다.
시작 포트번호는 내 컴퓨터의 소켓에서 만든 번호이기 때문에 당연히 내 컴퓨터는 알고 있고,
목적지 포트 번호 또한 80으로 알고있다.
80은 웹서버의 웰노운 포트 번호이다.
( www.google.com:81 로 접속하면 접속이 안된다.)
Internet Layer(IP)
여기서 주목해야 할 것은 시작 IP 주소와 목적지 IP 주소이다.
목적지 IP 주소는 도메인 주소를 통해 DNS 프로토콜을 이용해서 알아낼 수 있다.
DNS 프로토콜의 동작 원리는, 먼저 내 컴퓨터에서 OS에게 도메인 주소를 주면서 IP 주소를 요청한다.
OS는 DNS 서버로 요청을 보내고, DNS 서버는 IP 주소를 알려준다.
DNS는 UDP 프로토콜을 이용한다.
참고로 OS는 DNS 서버를 미리 알고 있다. 컴퓨터에 이미 등록되어 있다.
4. 신뢰할 수 있는 TCP
마지막으로 MAC 주소가 필요하다.
MAC주소는 ARP 프로토콜을 이용해서 알아낼 수 있다. 즉, IP주소로 MAC 주소를 알아내는 방법이다.
물리계층까지의 정보를 다 알아냈으니, 이제 데이터를 전송할 수 있다.
TCP는 처음 연결을 시작할 때에는 3-way-handshaking을,
연결을 끊을 때에느 4-way-handshaking을 사용한다.
이와 관련한 글은 추후에 더 있다.
'CS > 네트워크' 카테고리의 다른 글
HTTPS의 동작원리 (0) | 2021.09.30 |
---|---|
대칭키 vs 공개키 (0) | 2021.09.30 |
웹의 동작 (0) | 2021.09.25 |
CORS (0) | 2021.09.25 |
웹서버와 WAS (0) | 2021.09.25 |