본문 바로가기

잡다한 개발잡담

[Network] 네트워크 기초 지식

네트워크란?
무언가와 무언가가 무언가에 의해 연결되어 있는 상태를 말한다.

컴퓨터 네트워크는 컴퓨터와 컴퓨터가 통신 매체로 연결되어 있는 상태라고 말할 수 있습니다. 그리고 통신 매체에 의해 데이터가 운반되어지게 됩니다.

그렇다면 컴퓨터 네트워크의 장점은? 리소스를 공유할 수 있다. 아... 리소스를 공유할 수 있는건 알겠는데? 리소스를 공유할 수 있다는 것이 무슨 효율성을 가져다줄까요? 프린트 공유, 이메일, 인터넷 페이지 등 우리가 실생활에서 편리하게 사용하는 서비스들을 이용 가능하게 해 줍니다.

또한 통신을 위한 주고받는 데이터는 컴퓨터에서 비트라는 단위로 표현되며, A에서 전송한 정보를 B에서 정확하게 이해하기 위해서는 통신 규칙이 필요하겠죠? 이런 통신 규칙을 프로토콜이라고 부릅니다.

그리고 이 통신은 패킷 교환을 통해 이루어집니다. 통신을 요청하는 컴퓨터의 수만큼 회선이 존재하는 게 현실적으로 불가능에 가깝기 때문에 한 개의 회선에 복수개의 컴퓨터가 연결되는 방식이 필요합니다.  패킷 교환은 데이터를 일괄적으로 한 번에 보내지 않고 여럿으로 분발해서 송신하면서 해결합니다. 이러한 패킷 교환은 라우터라는 기기에 의해서 이루어집니다.

크게 본다면 리소스 공유를 위해서는 데이터 통신이 필요하다는 것이며, 데이터 통신은 파이프를 연결해서 통신됩니다. 파이프의 역할을 하는 것은 통신 매체와 인터페이스이고요. 여기서 통신 매체는 어떤 물리적인 회선이라고 말할 수 있을 것 같습니다. 케이블과 같은 것이요! 이러한 회선이 조합되어서 통신을 위한 네트워크가 만들어집니다.

여기서 중간 정리를 해보자면 컴퓨터 네트워크는 패킷 교환을 통해 이루어지는 네트워크이고요. 이 패킷 교환 네트워크를 위해 필요한 게 컴퓨터, 통신 매체, 인터페이스, 라우터입니다.

그럼 이제 네트워크를 조금 더 자세하게 알아보겠습니다. 네트워크는 구조적인 측면에서 본다면 1:1로 직접적으로 연결되는(ex 전용선) 포인트 투 포인트가 있고 여러 개의 허브로 연결된 멀티 액세스 네트워크가 있어요. 그리고 범위나 규모로 구분하자면 LAN(Local Area Network)WAN(Wide Area Network)이 있는데 LAN은 그냥 조금 작은 규모의 네트워크이고 이러한 네트워크를 통신사업자( LG, SKT, KT)의 통신 케이블로 연결되는 큰 규모의 네트워크를 WAN이라고 이해하면 됩니다. 그리고 인터넷은 당연히 WAN이겠죠.

그런데 아까 데이터를 송수신하기 위한 규칙인 프로토콜이 필요하다고 했습니다. 이 프로토콜을 위해 OSI 참조 모델이 나타나게 되었습니다. 데이터의 통신을 위한 규칙을 단계별로 나누어 순서를 명확하게 만든 모델인데 사실 실패로 끝났다고 합니다. 그렇지만 알고 있는 것이 좋은 게 면접에서 많이 나옵니다;

이 OSI 7 계층의 특징은 계층이 각각 독립적이다에요.. 나중에 이야기하겠지만 각 계층마다의 프로토콜이 존재합니다. 그런데 독립적이니까 각 계층의 프로토콜 변경이 다른 계층에 영향을 미치지 않는 장점이 있습니다.

그리고 또 하나의 특징이 있는데 바로 캡슐화입니다. 아까 컴퓨터 네트워크는 패킷 네트워크라고 했습니다. 데이터를 나눠서 포장한 건데.. 그냥 보내버리면 되지만 수신받는 입장에선 누가 보낸지도 모르고 데이터가 운반 중에 깨질 수도 있잖아요?  그래서 계층마다 각각의 프로토콜에서 필요한 정보를 붙여서 데이터랑 함께 보냅니다. 이렇게 데이터 + 데이터 이외의 정보 = 프로토콜 데이터 유닛(Protocol Data Unit:PDU)라고 부릅니다.

데이터를 송신할 때는 데이터 이외의 추가적인 정보를 더하면서 PDU를 붙여 캡슐화하게 되고 수신받는 측은 캡슐을 벗기면서 온전한 데이터를 수신받는 구조인 거죠.

위에서 각 계층마다 프로토콜이 존재한다고 했는데 말 그대로 데이터 통신에 필요한 프로토콜은 단 한 개가 아니라 복수개의 프로토콜로 이루어져 있습니다. 그리고 통신은 이러한 같은 프로토콜의 집합을 이용하는 기기끼리만 통신이 가능합니다. 당연한 거겠죠? 프로토콜은 약속인데 그러한 약속을 서로 알고 지켜야 이해할 수 있으니까요. 대표적인 프로토콜은 TCP/IP 프로토콜입니다.

다음 글에서는 OSI 7 계층을 하나씩 자세하게 살펴보겠습니다.