[HTTP 스터디] 5차시

권수현·2024년 3월 11일

HTTP 스터디

목록 보기
5/5

http 완벽가이드 2회독 중 나왔던 질문들

  1. NAT의 개념과 원리 (어떻게 주소 부족 문제를 해결해주는지)
  2. CDN
  3. naver.com과 www.naver.com을 입력했을때의 차이





NAT

Network Address Translation(NAT) 말 그대로 주소를 바꿔 주는 것을 말한다.

NAT는 게이트웨이로 어떤 요청이 들어왔을때 그 내부망 안에 있는 컴퓨터들의 ip로 바꾸어 주는 것이다. 반대로 내부망의 여러 컴퓨터들이 요청을 보낼때 하나의 게이트웨이가 그 주소로 요청을 보내는 것도 가능하다.
"네트워크에서 사설 IP 주소를 공인 IP 주소로 변환하거나 그 반대로 변환하는 프로세스이다"

대표적으로 와이파이 공유기가 있다. 내부망의 모든 요청은 공유기를 거쳐 공유기의 ip로 인터넷에 접속하게 된다.

NAT를 이용하면 ip주소 부족 문제를 해결할 수 있다.
내부망에서 사용하는 ip들은 어쩌피 하나의 공인 ip로 바뀌어 사용되기 때문에 내부 private ip들은 다른 곳에서 사용할 수 있다.

그림처럼 테이블에 송수신측의 ip를 기록해둠으로써 외부망에서 게이트웨이로 요청이 들어왔을때 내부망의 여러 컴퓨터 중 요청을 보낸 컴퓨터를 찾을 수 있다.





CDN

Content Delivery Network(CDN)
CDN 은 여러 곳에 분산된 캐시 서버를 두고 요청을 보낸 사용자와 가장 가까운 서버로 요청을 보내 보다 빠른 응답을 받을 수 있도록 하는 서비스를 지원한다.





검색창에 naver.com을 입력했을때 무슨일이 일어날까?

우선 url 자동확장을 하며 dns에 해당 url이 존재하는지를 확인한다.
유효한 url이라면 dns서버에서 ip를 받아오고 그걸로 tcp 연결을 맺고, 메세지를 보낸다.


naver.com을 입력했을때,
네이버의 경우 dns에서 naver.com 의 ip를 찾아 요청을 보냈는데 naver.com 서버에서 www.naver.com으로 리다이렉트를 시킨것을 알 수 있었다.

www.naver.com 의 ip 주소를 확인했을때


akamaiedage.net 이라는 host가 반환된 것을 확인할 수 있었다.
akamaiedege는 CDN 서비스를 제공해주는 업체였다.
여기서 알 수 있는 것은 네이버가 akamai의 CDN을 이용하고 있다는 점이다.
CDN은 나의 로컬 DNS 서버를 보고 그것과 가까운 캐시를 알려준다.

이때 nslookup www.naver.com으로 알아낸 ip를 이용해 직접 접속을 시도하는 것은 불가능하다. 여러 보안적인 문제때문에 막아둔 이유가 있겠지만, 다른 이유도 찾을 수 있었다.

dns 라운드 로빈 정책에 의해 매번 반환되는 ip주소는 다를 수 있지만 계속 시도하다보면 위 그림처럼 blog.naver.com 과 www.naver.com의 ip가 동일한 것을 확인할 수 있었다.
이를 통해 한 가지알 수 있는 점은 e6030.a.akamaiedage.net이 가상호스팅을 지원하는 서버라는 것이다.
때문에 host명 없이 ip주소를 이용해 요청을 보내게 되면 호스팅되고 있는 여러 서버중 어떤 서버로 요청을 보내야하는 지를 알 수 없게 된다.

비슷하게 youtube의 경우 google DNS를 이용하는데 nslookup으로 알아낸 youtube.com의 ip로 직접 요청을 보내면 google.com이 나타나는 것을 확인할 수 있다.







참고
https://5kyc1ad.tistory.com/254

0개의 댓글