백엔드 로드맵에 의하면 '인터넷 - How Does the Internet Work?'로 시작해야 되지만, 시작부터 이해가 안 가서 당황했다.
인터넷은 한마디로 컴퓨터 네트워크이다. 현재 인터넷은 전 세계 컴퓨터들을 하나로 연결하는 거대한 컴퓨터 네트워크를 의미한다.
여기서 '컴퓨터 네트워크가 뭔데..?' 싶은 거다.
인터넷이랑 컴퓨터 네트워크랑 같은 거라는 건가? 싶어서 조금 더 찾아본 결과,
일단 인터넷보다 네트워크가 더 큰 범위인 것으로 파악되어 컴퓨터 네트워크를 먼저 공부해보려고 한다.
Network. 그물을 뜻하는 net과 work의 합성어이다. 그물을 짜는 행위를 뜻하는 명사에서 '연결망'을 지칭하는 용어로 범위가 확장되었다.
컴퓨터와 같은 노드(노드가 뭔지는 뒤에 나옴)들이 통신 기술을 통해 그물망처럼 연결되어 통신을 하는 형태를 뜻한다.
데이터 및 리소스를 송신, 교환 또는 공유하기 위한 목적을 가지고 유선(케이블)이나 무선(WiFi)으로 연결된 2개 이상의 컴퓨터로 구성된다.
컴퓨터 네트워크는 지리적 위치로 유형을 분류할 수 있다. 예를 들어 LAN(local area network)는 사무실 빌딩과 같이 한정된 공간에 있는 컴퓨터를 연결하고, WAN(wide area network)는 대륙 간 컴퓨터를 연결한다. 그리고 인터넷은 전 세계의 수십억 대의 컴퓨터를 연결하는 WAN의 가장 큰 예이다.
컴퓨터 네트워크는 모든 비즈니스, 연구 등의 목적을 위한 통신을 가능하게 한다. 인터넷, 온라인 검색, 이메일, 오디오 및 비디오 공유, 온라인 상거래, 라이브 스트리밍, 소셜 네트워크 모두가 컴퓨터 네트워크로 인해 존재한다.
이제야 인터넷이 무엇이고 인터넷과 컴퓨터 네트워크의 차이점이 뭔지 조금 감이 잡혔다.
네트워킹이 진화하면서, 이때 생긴 요구사항을 처리하는 컴퓨터 네트워크의 유형도 진화했다.
다음은 가장 일반적이고 널리 사용되는 컴퓨터 네트워크의 유형이다.
WAN(wide Area Network) : 광대역 네트워크.
MAN(metropolitan Area Network) : 대도시 영역 네트워크.
LAN(Local Area Newwork) : 근거리 영역 네트워크.
PAN(Personal Area Network) : 개인 네트워크(가장 작은 규모)
VPN(Virtual Private Network) : 보안 네트워크
IP 주소 : 통신을 위해 인터넷 프로토콜을 사용하는 네트워크에 연결된 모든 디바이스에 할당된 고유 번호이다.
포트 : 네트워크 디바이스 간의 특정 연결을 번호로 식별한다.
노드 : 데이터를 수신, 송신, 작성, 저장할 수 있는 네트워크 내의 연결 지점
링크 : 노드와 노드를 연결함. 노드와 링크를 합쳐서 1개의 네트워크가 완성됨.
패킷 교환 : 데이터를 일괄적으로 한 번에 보내지 않고 여럿으로 분할해서 송신하는 것
라우터(패킷 교환기) : 네트워크 간에 데이터 패킷을 전송할 경로를 지정하는 물리적 또는 가상 디바이스
라우팅 : 라우터가 패킷을 네트워크에서 목적지까지 보내는 최적의 경로를 선택하는 과정
스위치 : 다른 디바이스를 연결하고 네트워크 내의 노드 간 통신을 관리하여 패킷이 최종 목적지에 도달하도록 보장하는 디바이스
프로토콜 : 컴퓨터끼리 통신할 때 필요한 장비(네트워크 장비 등)가 서로 통신을 위해 정해놓은 통신 규약
그럼 이제 용어와 개념을 알았으니 구체적인 예를 보자면..
1. 사무실 환경(회사)에서 사원들은 프린터나 그룹 메시지 시스템에 대한 접근을 서로 공유할 수 있다. 이를 허용하는 컴퓨팅 네트워크는 부서에서 리소스를 공유하도록 하는 LAN(또는 다른 근거리 통신망) 일 수 있다.
2. 시 정부는 교통 상황 및 사고를 감시하는 감시 카메라의 도시 전체 네티워크를 관리할 수 있다. 이 네트워크는 도시의 응급 요원이 교통사고에 대처하게 하고, 다른 운전자들에게 조언을 한다. 또한 신호를 어기는 운전자들에게 범칙금 고지서를 보내도록 하는 MAN의 일부일 것이다.
이다음 내용은 오늘 이 주제를 선택한 이유에 대한 답변이다.
인터넷은 전 세계에서 수십억 대의 디지털 기기를 연결하는 네트워크의 네트워크이다.
표준 프로토콜을 사용하여 디바이스 간의 통신이 가능하다. 이러한 프로토콜에는 하이퍼텍스트 전송 프로토콜인 HTTP(모든 웹 주소 앞의 'http')가 포함되고, 인터넷 프로토콜인 IP주소가 포함된다. IP주소는 고유 위치 정보를 제공하여 정보가 올바르게 전달될 수 있다.
크게 두 가지로 나뉜다.
1. 클라이언트-서버 아키텍처
2. P2P(peer-to-peer) 아키텍처
이 정도면 평소 인터넷에 대한 궁금증이 조금 풀린 것 같다.
내가 생각했던 '인터넷'이란 개념이 사실은 컴퓨터 네트워크라는 더 큰 개념이었다.
또한 웹을 배우면서도 정확히 하지 못했던 내용들에 다가갈 수 있었다. 특히 웹에서 말하던 클라이언트와 서버 개념이 좀 더 명확해졌다.네트워크에 관련된 더 많은 내용이 있지만, 인터넷을 배우기 위한 준비로는 이 정도면 충분하다고 생각한다.
참고
http://www.tcpschool.com/webbasic/intro
https://cocoon1787.tistory.com/704
https://www.ibm.com/kr-ko/cloud/learn/networking-a-complete-guide#toc----H5XXR6uR