“웹 개발자로서 ‘www.google.com’을 입력해 들어가게되면 어떤 과정을 거치게되는지 자세히 알고 있나?”
위 질문이 이 포스팅의 핵심이다.
네트워크가 어떻게 작동하고, 어떤 개념들을 알아야할지 자세히 살펴보도록 하자.
간단하게 설명하자면, 두 대 이상의 컴퓨터가 연결되어 통신하는 행위 자체를 우린 네트워크라고 부를 수 있다.
물론 간단히 설명될 단어는 아니지만, 우리가 웹브라우저 혹은 어떠한 인터넷이 연결된 소프트웨어로 부터
요청 혹은 응답을 받을 수 있는 이유가 바로 네트워크가 존재하기 때문이다.
먼저, 네트워크에서 사용되는 용어들과 어떻게 네트워크가 연결되어있는지 알아보자.
개발자들끼리 데이터를 주고받는 형식을 지정하는 약속이자 규약의 명칭이다.
왼쪽 그림처럼 우리는 컴퓨터 A,B,C 총 세대가 있다고 가정해보자. 비교적 컴퓨터 간의 연결이 손쉽다.
이렇게 단순히 3~4개 까지는 단순히 선으로 연결이 비교적 편리하다는 것을 알 수 있다.
그렇다면 오른쪽 그림처럼 컴퓨터가 5대 ~ 10대가 되면 어떻게 될까? 연결이 굉장히 복잡해지는 것을 볼 수 있다.
그래서 이를 해결하기 위해 등장한 것이 바로 ‘허브’이다.
허브의 특징은 다음과 같다.
하지만, 허브에도 치명적인 단점이 있다. 바로 메세지 발송의 방향을 특정할 수 없다는 것이다.
허브는 A가 메세지를 발송하면 B,C 모두에게 발송된다. 반면에 스위치는 A→ B 혹은 A → F 간 전송을 가능하게 해준다.
Local Area Network - 지역 네트워크의 약자
각 지역의 네트워크를 일컫어 LAN이라고 부르게 됨.
스위치로 컴퓨터간 연결이 해결될 줄 알았지만, 스위치도 비슷한 문제를 발생시켰다.
바로 국가 - 국가간의 컴퓨터의 연결이 그 문제가 되었다.
(국가간 연결을 하기 위해선 위 문제와 마찬가지로 수많은 스위치와 수많은 연결이 필요해짐.)
그래서 등장한 것이 바로 '라우터'이다.
라우터는 각 국가를 대표하는 장치를 두어 경로를 표시하는 방법이다.
다음편에서는 네트워크가 전송 혹은 응답되기 위해 어떤 과정을 거쳐야하는지 그리고 각 과정에서 어떠한 현상들이 일어나는지 자세히 알아보도록 하겠다.
참고자료