LAN, WAN, Internet, ISP, 라우터, 프로토콜
LAN, WAN, Internet, ISP, 라우터, 프로토콜, IPLAN, WAN, Internet, ISP, 라우터, 프로토콜, IP
IT를 알려면, 네트워크를 알아야 한다.
특히 IT와 관련된 업종에 있거나, 개발자랑 소통을 해야할 직군이거나, 나처럼 웹이나 앱을 다루는 기획자라면 더더욱. 앞으로 써내려갈 Network 글에서는 네트워크가 어떻게 돌아가는지 기초적인 지식에 대한 구조와 개념을 잡고자 한다. 모든 게시글의 작성목적은 나의 공부이고, 물밀듯이 밀려들어오는 IT 용어의 홍수 속에서 나의 뇌 용량이 범람했을 때 다시 찾아보기 위함이다:)
1. 네트워크가 뭘까?
네트워크는 물류, 교통, 인맥 등등 그물처럼 얽히고 섥힌 모든 관계들을 의미한다. 컴퓨터 네트워크는 PC나 스마트폰과 같은 정보 단말 기기를 서로 연결하여 만들어진다. 우리가 인터넷에 들어가서 검색을 하고, 카톡으로 메시지를 주고받고, 전화를 하는 모든 행위들은 데이터를 주고받는 과정이고, 이 과정 속에서 우리는 네트워크를 사용한다.
3차 산업혁명이 시작되면서 인터넷은 지식 정보화 사회로 가는 중요한 역할을 해왔고, 현재에는 정보통신 기술이 융합되며 빅데이터, 인공지능, 사물인터넷(IoT) 등 7가지의 기술이 모여 4차 산업혁명을 이룩하고 있다. 대부분의 기술들은 모두 On Network, 네트워크 위에서 동작한다. 소위 네카라쿠배처럼 IT산업에서 탑티어 FAANG (Facebook, Apple, Amazon, Netflix, Google) 역시 모두 네트워크망을 기반으로 제공되는 서비스이듯, 모든 기술들은 네트워크 인프라에서 위에서 동작을 하기 때문에 더더욱 그 의미가 중요하다 할 수 있다.
2. 네트워크는 누가 이용하는가?
네트워크는 크게 ① 누구나 이용할 수 있는 공용 인터넷과 ② 특정 사용자만 이용할 수 있는 사설 네트워크로 나뉜다. 사설 네트워크는 통상 보안을 위하여 기업에서 직원들만 이용할 수 있도록 만든 인트라넷, 내선 전화 등 제한된 네트워크, 또는 우리 집에서만 사용할 수 있는 네트워크 등이 포함된다. 사설 네트워크에서는 사설IP를 활용하고, 공용 네트워크에서는 공용IP / ISP (Internet Service Provider)를 사용한다. IP에 대한 설명은 뒤에서 장황하게 하기로 하고, 중요한 것은 네트워크란 접속할 수 있는 사용자의 수가 많아질 수록 그 가치가 높아지기 때문에, 네트워크의 이용가치를 높이고 사용자가 더 많은 장점을 누릴 수 있게 하는 것이 중요하다는 것이다.
3. LAN과 WAN에 대한 기초개념 잡기
공용 네트워크와 사내 네트워크에 대한 개념을 더 확실하게 잡으려면, 네트워크의 기본 개념인 LAN(Local Area Network) 와 WAN (Widel Area Network)에 대한 용어를 알고 있어야 한다.
3-1. 네트워크의 규모는 각각 다르다.
네트워크는 보통 구름모양의 클라우드 아이콘으로 표현한다. 복잡한 구성을 추상화하여 구름 모양으로 표현하는 것이다. 네트워크라고 하면 전 세계에 펼쳐진 거대한 그물망을 상상하게 되지만, 사실 네트워크라도 해도 규모는 제 각각이다. 가정 내 네트워크라면 PC나 스마트폰, 가전제품 정도가 접속되는 작은 네트워크일 것이고, 기업 네트워크라면 부서 별로 네트워크를 나누기도 지역 별로 네트워크를 나누기도 한다. 같은 네트워크라고 해도 몇십 대의 PC가 접속된 부서별 네트워크를 나타낼 수도, 부서별 네트워크가 모인 수백 수천 대의 네트워크를 나타낼 수도 있다. 더욱이, 인터넷은 전 세계의 네트워크가 모여 몇십 억대의 기기가 접속하는 거대하고 거대한 네트워크이므로, 하나의 클라우드 아이콘을 보고 네트워크의 규모를 추측하지 않도록 한다.
3-2. LAN
비교적 가까운 거리에 위치한 컴퓨터들을 연결한 네트워크를 LAN (Local Area Network), 근거리 네트워크라고 한다. LAN은 집이나 사무실 등 지리적으로 제한된 규모에서 컴퓨터를 연결할 때 사용하며, 기업, 군대 등과 같이 외부와 차단되어 내부에서만 사용 가능한 인트라넷이 대표적이다.
3-3. WAN
WAN (Widel Area Network은 지리적으로 넓은 범위에 구축된 원거리 네트워크로, SKT, LGU+,KT와 같은 인터넷 서비스 제공자인 ISP (Internet Service Provider) 가 제공하는 서비스를 사용하여 구축된 네트워크를 의미한다. LAN은 연결 가능한 범위가 제한되어 있기 때문에, 연결 범위를 확장하기 위해서는 다른 LAN들과 서로 연결하여 먼 거리에 위치한 컴퓨터들이 서로 통신할 수 있는 WAN을 사용해야 한다. 즉, 여러 개의 LAN을 엮어놓은 것이다. 쉽게 말해 기기끼리 서로 연결한 작은 네트워크는 LAN, LAN끼리 서로 연결한 큰 네트워크는 WAN이다.
예를 들어, A회사의 본사는 판교, 사옥은 삼성, 지사는 부산에 있다고 가정하자. 판교, 삼성, 부산은 각각의 LAN 네트워크를 가지고 있다. 판교 본사의 LAN 네트워크는 해당 건물에 속한 모든 기기들을 하나의 네트워크로 연결하고 있고, 이는 삼성, 부산도 마찬가지이나 모든 지역의 직원들이 A회사에서만 접속할 수 있는 인트라넷에 접속할 수 있는 것은 각각의 LAN이 WAN으로 연결되어 있기 때문이다.
3-4. Internet와 ISP
인터넷은 말그대로 inter, 상호 연결된 + net 그물망이다. 인터넷은 WAN의 일종으로, 전 세계의 LAN이 연결된 규모가 가장 큰 네트워크이다. 우리가 인터넷에 접속하기 위해서는 SK,KT,LG U+와 같이 통신회사들과 인터넷 사용 계약을 맺고 사용료를 지불해야 하는데, 이렇게 인터넷에 접속할 수 있는 서비스를 제공하는 회사들을 ISP(Internet Service Provider) 라고 한다. 어느 ISP를 선택하든 상관없이 우리는 전 세계의 컴퓨터와 연결된 인터넷을 사용할 수 있다. 전 세계에 분포된 ISP 역시 서로 연결되어 있기 때문이다. 집이나 사무실에 LAN을 구축한 라우터나 인터넷 공유기를 ↔ ISP가 제공한 라우터*와 연결함으로써 LAN과 ISP의 네트워크가 연결되어 우리가 인터넷을 이용할 수 있는 것이다.
* 라우터, Router란?
라우터는 LAN 간에 데이터를 전달하는 gateway이다. 명사 '길' 이라는 의미를 갖는 route에서 생성된 단어로, 다른 네트워크와 네트워크를 이어주는 다리 역할을 해주는 장비이다. 라우터는 수많은 네트워크가 연결된 인터넷 세상에서 정확한 수신 컴퓨터까지 최적의 길을 선택해준다. 최종 수신지 컴퓨터가 어느 네트워크에 접속해있는지 파악해서 최적의 경로를 찾아 데이터를 전송하는 것, 우리는 이를 라우팅, Routing이라고 부른다. 웹 사이트 서버는 엄청난 수의 사용자를 처리하기 때문에, 데이터 트래픽이 정체되지 않는 것이 중요한만큼 라우터는 네트워크 간 최상의 경로를 찾음으로써 네트워크 장애를 최소화 시켜주는 아주 중요한 장비다.
4. 데이터는 어떻게 주고받을까?
데이터를 주고받는 것 행위가 곧 네트워크가 되기 때문에, 데이터의 통신과정을 이해하려면 수많은 개념의 이해들을 거쳐야 한다. 따라서, 그 중에서도 기본적으로 알아야 할 것들에 대해 먼저 훑어보자.
4-1. 데이터는 양방향 통신이다.
먼저, 데이터는 양방향 통신으로 이루어진다는 것을 인지하자. 내가 노트북을 켜서 네이버 아이콘을 클릭하지 않았는데 갑자기 노트북에 네이버가 켜지는 일은 없는 것처럼, 스마트폰을 키고 아무 동작도 하지 않았는데 갑자기 노래가 흘러나오지 않는 것처럼, 모든 데이터의 통신은 요청하는 주체와 응답을 반환하는 주체가 존재해야 작동한다.
4-2. 애플리케이션, 클라이언트, 서버
데이터를 주고받는 주체를 우리는 애플리케이션이라고 부른다. 모바일 스토어에서 다운받는 그 애플리케이션, APP을 지칭하는 것 뿐만 아니라 애플리케이션이라 함은 PC, 스마트폰 등 우리가 사용하는 운영체제 프로그램 전체를 의미한다.
애플리케이션을 동작시키는 컴퓨터는 크게 클라이언트와 서버로 분류할 수 있는데, 네트워크에서 데이터를 주는 컴퓨터를 서버(Server), 데이터를 요청하고 받는 컴퓨터를 클라이언트(Client)라고 한다. 컴퓨터가 데이터를 주고받는 목적은 특정한 기능, 즉 서비스를 제공하고 사용하기 위한 것으로, 이름 그대로 네트워크로 연결된 컴퓨터 중 서비스를 제공하는 쪽은 서버, 그 서비스를 요청하고 사용하는 쪽은 고객, 즉 클라이언트라고 부르는 것이다. 가령 스마트폰을 켜서 인스타그램 앱을 누르면 인스타그램이 켜지는 것은, 클라이언트가 보낸 '인스타그램을 켜줘' 라는 요청을 받은 서버가 '인스타그램' 데이터를 클라이언트에 다시 전송했기 때문이다. (= 앞서 말한 양방향 소통!)
5. 데이터를 주고받을 때 사용하는 그들만의 언어규칙
아이폰과 갤럭시처럼, 각각 다른 제조사에서 만들어진 기기와 장비들은 어떻게 호환성을 갖고 연결될까?
이폰은 미국에서 만들어졌고 갤럭시는 한국에서 만들어졌는데 이 둘은 어떻게 데이터를 주고받으면 통신할까?
5-1. 네트워크 아키텍처와 프로토콜
문명이 그렇하게 만들어졌듯, 무언가가 모이면 그들이 서로 대화하고 질서를 유지하기 위해 합의된 규칙이 생성된다. 서로 대화하기 위해 언어가 생기고, 사회 질서를 유지하기 위해 법이 만들어졌듯. 또, 어디에 사느냐에 따라 서로 다른 언어를 사용하고, 다른 법이 적용되듯이, IT 세계에서도 같은 언어를 사용해야 대화가 가능하다. 대한민국 사람이 한국어로 대화하고, 미국사람이 영어로 대화하는 것처럼, 컴퓨터 통신에서도 컴퓨터 언어가 존재한다. 또, 언어에 문자 표기법, 발음, 받침, 문법 등 다양한 규칙이 있듯이 컴퓨터 언어에도 통신상대를 지정하는 법, 주소, 데이터 형식, 통신절차등의 다양한 규칙이 존재한다. 이 규칙을 네트워크에서는 프로토콜, Protocol이라고 부른다. 누구에게, 어떤 데이터를, 언제, 어떻게 전송할 것인지, 데이터의 형식, 전송 순서와 절차, 전송방법 등을 규정한 것이다. 우리는 프로토콜이 규정한 구체적인 내용을 사양이라고 부른다.
전 세계 어디서든 LAN을 이용하여 네트워크를 만들 수 있도록 표준화된 규격을 정한 이더넷 프로토콜, Ethernet Protocol, 네트워크와 네트워크를 연결할 때 사용하는 IP 프로토콜, 웹브라우저를 설치한 여러 대의 컴퓨터가 동시에 웹서버에 접속하여 페이지를 볼 수 있도록 한 (=여러 대의 컴퓨터가 하나의 URL을 이용할 수 있도록) 웹 브라우저와 웹 서버간의 통신 규약인 HTTP 프로토콜 등, 네트워크 안에서도 어떤 기능을 하느냐에 따라 서로 다른 프로토콜이 존재하고, 많디 많은 프로토콜 중에서 우리는 데이터의 전송목적과 서비스의 종류에 따라 프로토콜을 조합하여 사용한다.
내 컴퓨터로 웹 브라우저를 열어 인터넷에 접속할 수 있는 것은 웹 브라우저라는 소프트웨어와 이를 동작시키는 운영체제, 즉 시스템 소프트웨어가 같은 프로토콜에 따라 프로그래밍되고, 내 컴퓨터에 설치된 LAN, 내 컴퓨터와 연결된 인터넷 공유기 같은 하드웨어가 같은 프로토콜에 따라 만들어졌기 때문이다.
결국 인터넷을 구성하는 전 세계의 다양한 컴퓨터와 네트워크 장비들이 일련의 프로토콜 조합을 통해 설계되어 제조업체에 상관없이 상호 연결성이 확보되고 인터넷을 통한 데이터 통신이 가능한 것이다. 이 프로토콜의 조합을 우리는 네트워크 아키텍처라고 부른다.
5-2. 네트워크 아키텍처의 종류
네트워크 아키텍처에는 TCP/IP, OSI, Microsoft NETBEUI, Novell IPX/SPX, Apple Appletalk, IBM SNA 등 여러가지 종류가 있지만, 현재는 대부분 TCP/IP를 사용한다. 전 세계의 공용어가 영어이듯, TCP/IP는 이른바 네트워크 세계의 공통 언어이다. 네트워크 아키텍처는 프로토콜의 집합이라고 말했듯, TCP/IP도 프로토콜들의 집합으로 이루어져 있다.
TCP/IP에 대한 상세 내용은 이어서!