본문 바로가기

학교 수업/전공 수업

[컴퓨터 네트워크/Computer Network] 내 컴퓨터로 웹사이트에 접속하는 과정

안녕하세요 소프트웨어 공부하는 레오존입니다.
공공장소에서 내 컴퓨터가 IP주소를 얻고 웹사이트에 접속하기까지의 과정을 정리해 보았습니다.
컴퓨터 네트워크 시간에 배운 내용을 바탕으로 정리한 내용입니다.
 
보다 이해하기 쉽도록 한 가지 상황을 가정하고 네트워크에 접속하는 과정을 설명해보겠습니다.
예를 들어 내가 대학교에서 노트북으로 구글이라는 웹사이트에 접속하고 싶을 때를 가정해보겠습니다.
대학교라는 공간에서 내 노트북으로 구글에 접속하기 위해 진행되는 과정은 크게 다섯 단계로 나눌 수 있습니다.

1. 학교 안에 있는 서버에서 나한테 임시로 IP주소를 준다.

학교에서 임시적으로 IP를 관리하는 시스템인 DHCP를 통해 내 컴퓨터에게 임시로 IP주소를 할당해 줍니다.
여기서 DHCP란 Dynamic Host Configuration Protocol로 동적 호스트 구성 프로토콜의 약자입니다.
DHCP는 내가 IP주소를 요청했을 때 내 컴퓨터에 자동으로 IP주소를 할당해서 사용할 수 있도록 해주고, IP주소를 사용하지 않으면 다시 반환받아 다른 노트북이 사용할 수 있도록 해주는 역할을 합니다.

2. IP주소를 받은 내 노트북은 다른 곳과 통신이 가능해진다.

IP주소를 할당받은 노트북은 이제 주소가 생겼기 때문에 다른 서버와 통신이 가능해졌습니다.

3. 구글을 접속하기 위해선 내 컴퓨터가 구글 서버의 IP를 알아야 한다.

단순히 www.google.com이라는 URL만 입력한다고 구글에 접속할 수 없습니다.
내 노트북이 구글 서버의 IP주소를 알아야 구글에 접속할 수 있습니다.

4. DNS를 통해 구글의 IP주소를 할당받는다.

구글의 IP주소를 내가 모르기 때문에 구글 URL을 치면 데이터가 DNS라는 것으로 이동하게 됩니다.
DNS는 Domain Name System으로 도메인 이름 시스템의 약자입니다. DNS는 구글의 URL을 컴퓨터가 읽을 수 있는 IP 주소로 변환해 주는 역할을 수행합니다.
DNS에는 주 DNS와 보조 DNS가 존재합니다.
즉, 하나의 DNS에 모든 서버를 갖고 있진 않고 주DNS에 내가 원하는 IP주소가 없으면 다른 DNS에서 IP주소를 갖고 오게 됩니다.

5. 내 IP와 구글 IP를 전부 할당받으면 TCP를 통해 구글에 접속할 수 있게 된다.


TCP는 내 컴퓨터와 구글 서버를 연결해 주고 데이터를 교환할 수 있게 해주는 프로토콜입니다.(컴퓨터 네트워크에서 p로 끝나는 건 대부분 protocol로 생각하면 됩니다)
TCP로 연결을 시작할 때 반드시 3 way handshaking을 하는데

3 way handshaking이란

1. 내가 구글에 서비스를 요청한다.
2. 구글이 나한테 서비스할 준비가 되었다고 데이터 보낸다.
3. 내가 구글에서 보낸 데이터를 받았다고 다시 확인용으로 데이터 보낸다.


이렇게 3번의 확인 방식을 거치며 내 컴퓨터와 구글의 연결이 완료됩니다. 3 way handshaking을 한 이후엔 요청 메시지를 통해 구글과 내 컴퓨터 사이에서 데이터 전송이 이루어집니다.
구글과 내 컴퓨터 사이를 실제론 HTTP가 왔다갔다 하지만 그 밑에서 도와주는 것은 TCP라고 합니다.
비교적 많이 들어본 친숙한 HTTP는 클라이언트(내 컴퓨터)와 서버(구글) 사이에 이루어지는 요청(request)과 응답(response) 프로토콜로,
내 컴퓨터가 HTTP를 통하여 구글에 특정 데이터(예를 들어 html)를 요청하면 구글은 이 요청에 응답하여 내 컴퓨터로 요구한 정보를 전달해줍니다.


 대략적인 내 컴퓨터로 웹사이트에 접속하는 연결은 위와 같은 단계를 거쳐 이뤄지게 됩니다. 웹사이트에 접속하는 과정을 알고보니 생각보다 간단하지 않다고 느껴집니다.
컴퓨터 네트워크에선 생소한 용어들이 많이 등장하기 때문에 용어 정리를 정확하게 하고 넘어간다면 학습에 많은 도움을 줄 수 있을 것이라 생각합니다.
더 자세한 내용은 따로  정리하도록 하겠습니다. 혹시 잘못된 부분이 있다면 댓글로 알려주세요!