공유기와 연관된 네트워크 기초 개념 정리

DongHee Kim·2021년 7월 24일
1

Web

목록 보기
3/9
post-thumbnail

공유기를 사용하는 환경에서 웹서버를 운영하기 위해 필요한 지식들에 대한 강의 생활코딩-Home Server 를 학습했다.
WEB에 대한 배경지식이 많지 않은 상태에서 본 강의를 통해 배운 네트워크 관련 핵심 개념들 정리

Router (공유기)

한국인이라면 친숙하디 친숙할 공유기 (iptime.. 한 번쯤은 들어봤잖아요?)
와이파이 연결해주는 기계 정도로만 알고 있었지만, 정확히 하는 일은 바로 LAN과 WAN의 중개자 역할!
무슨소리인지 모르겠다면 아래의 개념을 차례차례 습득할 것.

LAN (Local Area Network)

특정 공간에 형성되는 지역 네트워크
한 공유기에 스마트폰, 데스크탑, 노트북이 연결되어 있다면 이 내부 네트워크가 지역 네트워크이다.
LAN 내부에서만 유효한 네트워크인지라, 인터넷을 사용하고 싶다면 공유기를 통해 유/무선으로 접속해야한다.

WAN (Wide Area Network)

: 전 세계의 장치들이 서로 통신하기 위한 광역 네트워크 (인터넷이라고 생각하면 쉽다.)

IP address

인터넷 상으로 연결된 컴퓨터들 사이에서 서로 정보를 주고받기 위해 필요한 주소. 전화번호와 비슷한 개념이라고 생각하면 쉽다.
(편의상 아래부터 IP주소라고 표기)

public IP address (공인 IP주소)

WAN에서 공유기로 접속할 수 있게 해주는 IP 주소

private IP address (사설 IP주소)

LAN안에서 사용할 수 있는 IP주소
예를 들어 위 그림에서 스마트폰, 데스크탑, 노트북이 가지고 있는 각각의 IP주소(192.168.0.x)를 뜻한다.

Gateway address(Router address)

공유기 자체에 부여되는 private IP address

Network Address Translation (NAT)

공유기에 연결된 각 장치들이 외부 네트워크에 있는 다른 장치들과 통신할 수 있도록 해주는 기술

예를 들어 스마트폰으로 Velog에 접속하고자 한다면,

1. 🔵 스마트폰 : 공유기에게 Velog에 접속하고 싶은 사실을 알린다.
2. ⚫ 공유기 : 스마트폰의 사설 IP + Velog 접속 요청을 공유기에 기록한다. 
	      또 NAT 기술을 통해 스마트폰의 사설 IP를 공인 IP로 변환한다.
3. 🟢 Velog : 공유기에게 요청에 대해 응답한다.
4. ⚫ 공유기 : 응답을 확인하고, 저장해두었던 사설IP를 통해 스마트폰에게 전달한다. 

Port

하나의 컴퓨터에 여러 개의 웹 서버를 설치할 수 있도록 해주는, 항구와 같은 역할

포트는 총 65,536여개까지 명시할 수 있는데, 이 중 0부터 1023까지는 이미 상용화된 프로토콜을 위해 예약된 Well-known 포트이다. (우리가 함부로 사용할 수 없음)
ex. HTTP 프로토콜의 경우에는 80번 포트를 사용하는 것으로 약속이 되어 있다. 따라서 브라우저를 통해 웹 서버에 접속할 때는 기본적으로 80번 포트에 접속하는 중인 것.

Port Forwarding

외부에서 공유기로 들어온 포트 번호가 무엇인지에 따라서 내부 네트워크에 있는 특정한 머신(ex. 스마트폰, 컴퓨터 등) 의 특정 포트로 요청을 포워딩 하는 기능이다. 이 때 공유기는 일종의 안내자 역할을 한다.
ex. 외부 네트워크의 기기가 공유기에 public IP로 접속하면, 공유기가 내부 네트워크 IP:80 (80번 포트)로 보내버리도록 설정하는 것.

Dynamic VS Static IP Address

Dynamic IP Address (유동 IP주소)

ISP(통신사)가 가입자들에게 IP를 임대하면서 (돌려막기 하면서) 제공하는 것
단점 : 웹서버를 깔아놨거나 하면 Client가 이전에 사용하던 ip주소로 접속할 수도 있다.

Static IP Address (고정 IP주소)

컴퓨터에 IP를 고정시켜서 독점적으로 사용하는 것
단점 : ISP에 별도 비용을 주어야 한다.

Dynamic Host Conficuration Protocol

인터넷에 연결된 각 컴퓨터들의 설정을 자동으로 바꿔주는 프로토콜이라는 뜻인데, 공유기가 각 장치들에게 사설 IP를 부여하는 원리라고 생각하면 된다.

공유기에는 보통 DHCP Server 프로그램이 내장되어 있고,
인터넷을 사용하는 기계에는 DHCP Client 프로그램이 내장되어 있다.

⬜ DHCP Client : 제 MAC Address는 ~인데요, IP가 없어요! 
🟦 DHCP Server : 음 여기있습니다. XXX.XXX.X.X로 쓰세요!
⬜ DHCP Client : 네, 이걸로 쓰겠습니다.
🟦 DHCP Server : (내부 기록완료) 네, 임대시간은 ~시간입니다!

cf) MAC Address / Physical Address : 통신 부품의 식별자

위 메커니즘으로 자동으로 IP가 부여된다.
(나는 대화체로 정리해야 쏙쏙 이해가 잘된다..😏)


알고리즘과 다른 강의를 통해 Javascipt 학습에 좀 더 집중했었는데,
Web 관련 지식도 놓치지않고 꾸준히 살펴봐야겠다. 아주 조금이나마 시야가 넓어진 느낌!

profile
일상의 성실이 자존감을 만드는 성취주의자

0개의 댓글