본문 바로가기

개발

네트워크 입문①

 

 

 

생활코딩 Internet 1,2 정리 + 보강

클라이언트와 서버

내 컴퓨터 브라우저에 google.com이라고 입력하면, 구글 컴퓨터에 해당 정보를 보내달라는 '요청'(request)을 하게 된다.

요청을 받은 구글 컴퓨터는 요청받은 신호를 보내는 것으로 '응답'(response)을 한다.

이 때, 요청을 한 컴퓨터가 클라이언트, 응답을 한 컴퓨터가 서버가 된다.

도메인과 IP주소

내 핸드폰에 친구들의 핸드폰 번호가 저장되어있어도 번호를 전부 외우고 있기는 어렵다. 보통 전화를 걸 때는 미리 저장되어있는 이름을 찾아서 '김OO'에게 전화를 하면 핸드폰은 알아서 '김OO'의 전화번호로 연결해준다.

이와 마찬가지로, google.com같은 홈페이지 주소도 원래는 172.68.XX.XX같은 숫자로 이루어져있다. 그러나 이러한 IP주소를 모두 기억하고 있기 힘드므로 google.com 과 같은 글자로 입력을 한다. google.com과 같은 우리에게 익숙한 주소가 도메인, 숫자로 이루어진 것이 IP 주소이다.

DNS서버 (Domain Name Service)

그렇다면 어떻게 도메인을 입력해도 IP주소로 자동으로 변환되는가?

컴퓨터에 도메인을 입력하면 컴퓨터에서는 먼저 DNS서버에 연결을 하여 해당 도메인과 일치하는 IP주소를 찾아낸다.

DNS서버에는 모든 도메인의 정보가 기록되어있으며, 한국의 경우 서울 혜화동에 DNS서버가 존재하며 KT에서 관리하고 있다고 한다.

또한, DNS서버는 한국 뿐만 아니라 전세계의 DNS서버들과 동기화를 하고 있다. (그래야 해외의 IP주소도 찾아갈 수 있으므로)

만에 하나 DNS서버에서 문제가 발생해 정상적으로 접속되지 않을때는 IP주소를 입력하여 해당 페이지에 접속이 가능하다고 한다.

이름 풀이 요청(컴퓨터) → 도메인 이름/IP 주소 매핑 검색(서버) → IP 주소 정보 전송(서버→컴퓨터)

공인(Public)IP와 사설(Private)IP

내 컴퓨터의 IP주소는 어떻게 확인할까?

확인하는 방법은 두가지가 있다. 생활코딩의 영상에서는 리눅스 강좌의 일부였기 때문에 ubuntu에서 실행하는 방법을 소개했지만, IP주소를 확인하는 방법은 여러가지가 있다.

1. 네이버 검색창에 "ip 주소 확인"이라고 검색

2. 브라우저 URL입력창에 "ipinfo.io/ip" 입력 

3. 링크사이트에 접속 https://ip.pe.kr/

4. 윈도우 커맨드에 "ipconfig" 입력후 ipv4 옆에 적혀있는 주소 확인 

대부분의 경우, 1,2,3,4번을 전부 시도해보면 1,2,3번의 ip주소는 같지만 4번의 ip주소만 다른 것을 확인할 수 있다. 이는 1,2번에서 검색되는 ip주소 는 공인IP이고 4번의 ip주소는 사설ip주소이기 때문이다.

IP주소는 통신사와 계약하여 통신사가 설치해준 배선에 선을 연결하면 IP주소를 할당받을 수 있다. 그리고 원칙적으로는, 하나의 기기당 하나의 IP주소를 할당받아야한다. 그러나 그러기에는 비용도 높아지고 IP주소도 부족해진다(IPv4, IPv6 포스팅에서 후술). 따라서 통신사와 공유기(라우터)를 연결하여, 공유기가 각 기기와 다시한번 이어준다. 이 때, 통신사가 할당해준 IP는 공유기가 가지고 있으며, 공유기는 다시 연결된 각 기기들에게 새로운 IP를 할당해준다.

여기서 통신사가 할당해준 IP가 공인IP, 공유기가 할당해준 IP가 사설IP가 된다.

게이트웨이 Gateway, 라우터 Router, 공유기

라우터에 대해서 조금 더 깊게 들어가면 NAT와 게이트웨이라는단어를 만날 수 있다.

게이트웨이는 개념이고 라우터는 장비이다. 예전에는 게이트웨이의 역할을 하는 장비가 따로 있었다고 하나, 최근에는 라우터에 게이트웨이의 기능이 포함되어있는 것이 대부분이라고 한다.

위에서 서술했듯, 각각의 기기는 공유기와 연결되어있고, 공유기는 통신사가 할당해준 공인IP와 연결되어있는데 결과적으로 사설IP를 거쳐 공유기에 도착한다음, 공인IP로 다시한번 나가지않으면 통신사가 제공하는 인터넷환경까지 도달할 수 없다. 즉 반드시 공유기를 거쳐야하는데, 이 때 공유기가 입구, 혹은 관문같은 역할을 하므로 게이트웨이라고 부른다.

다시 한번 정리하자면 라우터와 공유기는 같은 장비를 뜻하는 것이고, 게이트웨이는 개념이다.

일본어로 라우터는 ルーター라고 부른다.

엄밀히 따지자면 라우터와 공유기가 뜻하는 것은 다르다고 하나 이 부분은 좀 더 공부가 필요.

NAT (Network Address Translation)

하나의 공인IP를 여러 사설 IP로 변환하는 시스템을 뜻한다.

집에서 하나의 공유기로 여러 기기에서 연결해서 쓰고 있다면 NAT이 활성화 되어있는 것이다.

 

 

 

 

 

 

출처

https://www.youtube.com/watch?v=9K-xKrYwhVQ

https://www.youtube.com/watch?v=SZjlQbQJOWY

https://it.donga.com/3315/

https://2cpu.co.kr/bbs/board.php?bo_table=network&wr_id=1853

 

 

틀린 점에 대한 지적은 댓글로 부탁드립니다.