구글 크롬 브라우저에 Google.com
을 입력하면 어떤 일이 발생할까?
크롬 브라우저의 주소창에 Google.com 을 입력하면 ISP(Internet Service Provider) 로 요청이 전송된다. ISP에서는 DNS 서버에 가서 Google.com의 주소를 받아와서 요청했던 사용자에게 전달해 준다.
하지만 이런일을 거쳤다고 하더라도 사용자의 브라우저에는 아직 아무런 화면도 보이지 않을 것이다.
알아낸 주소를 가지고 구글 서버에 가면 구글 서버는 HTML , CSS , JavScript 와 그 외 여러가지 자원들을 제공할 것이다. 그리고 이러한 자원들을 가지고 브라우저에 화면을 그리게 되는 것이다.
바꿔말하면 주소창에 구글 서버의 주소(172.217.7.23
)를 직접 입력해도 구글 페이지를 띄울 수 있을 것이다.
대략적인 것들은 알겠는데 위의 그림들에서 화살표가 나타내는 것들은 실제로 그렇게 간단하지 않다.
출처 : https://www.m3isp.com/wireless.html
먼저 왼쪽 아래의 사람을 보면 라우터(빨간줄 연결된 것)를 통해 인터넷을 제공받고 있다. 그리고 이러한 라우터는 그림의 지붕에 달려있는 모뎀까지 연결되어 있다. (인터넷에 가입하거나 업체를 변경한 경우 설치 기사가 집에 와서 설치하는 것이 바로 이 모뎀이다.) 이러한 모뎀에서 어찌어찌 송/수신 타워까지 거쳐 거쳐 ISP 회사(SKT , KT 등등) 까지 신호가 전달된다. 그리고 ISP 회사에서는 Internet Backbone 으로 신호를 전달한다. (Internet Backbone 이란 전 세계에 연결되어 있는 네트워크인데 어떤것들은 바다를 건너는 물리적인 케이블도 있다.)
우리는 간단하게 무선으로 데이터를 제공받지만 실제로는 유선으로 해외까지 왕복으로 다녀올 만큼 빠르게 서비스를 제공받고 있다는 점이다.
명령 프롬프트 창에
tracert google.com
을 입력해보자. ( Window 기준 , Mac은 traceroute google.com
우리집 컴퓨터에서 구글 서버에 도착하기 위해서는 15개의 홉이 존재하는 것을 확인할 수 있다.
위의 내용을 바탕으로 우리는 어떻게 이러한 과정을 개선할 수 있을지 생각해 볼 수 있다. 먼저 웹 서핑을 하다보면 웹 페이지를 수십개 정도 드나들 것이다. 그 말은 서버와 수십번도 넘게 통신을 한다는 뜻이므로 서버의 위치가 성능에 막대한 영향을 끼친다는 것을 알 수 있다. 다음은 파일들의 크기를 줄이는 것이다. 자원들을 수시로 주고받기 때문에 파일들의 크기가 쌓이면 쌓일수록 엄청난 부하가 발생할 것이다.