정보 전달을 어떻게 해야할까?
일상 생활에서 대화를 하기 위해서 3가지가 필요할 것이다.
- 말하는 사람
- 매체
- 듣는 사람
사람과 사람이 대화한다고 생각해 보자.
A라는 사람이 B라는 사람에게 말을 하면, 공기라는 매개를 통해서 음파가 B라는 사람에게 정보가 전달될 것이다.
이때, 송신자는 A가 될 것이고, 통신 매체는 공기, 수신자는 B가 될 것이다.
그럼 어떤 학회에서 사람과 사람이 대화하는데, 서로 다른 언어를 사용하는 사람과 대화를 해야 한다고 생각해 보자.
그럼 사람들은 본인의 통역가를 데리고 다닐 것이다. 하지만 모든 언어에 대한 통역가를 데리고 다닐 순 없으니, 대표적으로 영어로 통역해 주는 통역가를 데리고 다닐 것이다.
그럼 A는 A의 통역가에게 전달하고, A의 통역가는 B의 통역가에게 전달하고, B의 통역가는 B에게 전달할 것이다. 그리고 여러 명이서 대화하고 있는 상황에서는 다른 소리들도 들릴 것이다.
Shannon-Weaver Model
Shannon–Weaver model - Wikipedia
From Wikipedia, the free encyclopedia Linear model of communication The five essential parts of the Shannon–Weaver model: A source uses a transmitter to translate a message into a signal, which is sent through a channel and translated back by a receiver
en.wikipedia.org
1948년 클로드 새넌(Claude Shannon)이 제시한 모델에 위와 같은 이야기가 잘 담겨져 있다.
Shannon-Weaver 모델에서는 5가지의 기본 구성요소로 커뮤니케이션 모델이 이루어져있다고 설명한다.
- Information Source (정보원)
- Transmitter (송신기)
- Channel (채널)
- Receiver (수신기)
- Destination (목적지)
- Noise Source (잡음원)
기본적인 네트워크 통신은 위 6가지의 구성 요소들이 고려되어 동작된다. 때문에 잘 기억해 두었다 앞으로 네트워크 구성에 대해서 적용하여 살펴보면 이해가 빠르게 될 것이다.
네트워크
위에서 정보 전달에 관한 이야기를 다뤘지만 어쨌든 우리가 필요한건 "그래서 네트워크가 무엇인가?"이다. 네트워크는 아주 간단하게도 통신 매체를 통해 노드(단말)가 연결(링크)되어 있으면 그 자체로 네트워크이다. 연결은 유선이 될 수도, 무선이 될 수도 있다.
이때 유,무선과 같이 연결(링크)시켜 주는 매개를 전송 매체(Medium)이라고 부른다. 이 전송 매체는 물리적으로 존재하며 전기적인 신호를 전달하게 된다.
A 기기와 B 기기가 각자 자신의 마음대로 정보를 전달하면 서로 이해할 수 없을 것이다. 때문에 표준화된 정보 전송 방법을 정하고 정보를 전달할 때, 해당 방법을 지켜주어야 하는데 이를 프로토콜(Protocol)이라고 부른다.
네트워크 범위
네트워크를 배우지 않았더라도 한번쯤은 들어봤을 LAN, MAN, WAN과 같은 네트워크망 규모에 따른 분류이다. 작게는 집이나 방부터 국가간의 연결, 심지어 항성간 연결의 범주까지 표현하지만 현실적으로 접할 LAN, MAN, WAN에 대해서 알아보도록 하자.
LAN (Local Area Network)은 소규모 지역 내의 장비들을 연결한 네트워크이다. 집에서 사용하는 와이파이나 사무실 네트워크가 가장 대표적인 예시다. 보통 한 건물이나 캠퍼스 내에서 구축되며, 내부 장비들 간의 연결을 위해 스위치를 사용하고 외부 인터넷과의 연결을 위해 라우터를 사용한다. 속도가 빠르고 지연시간이 짧으며, 관리자가 직접 제어할 수 있다는 특징이 있다.
MAN (Metropolitan Area Network)은 도시나 대도시권 전체를 연결하는 중간 규모의 네트워크이다. 통신사나 인터넷 서비스 제공업체(ISP)가 도심 내에 구축한 네트워크가 이에 해당된다. 길에서 KT, SKT 같은 통신사 직원들이 케이블 매설 작업을 하는 모습을 본 적이 있을 것이다. 이런 광케이블들이 도시 전체를 거미줄처럼 연결하여 MAN을 구성한다. 여러 LAN을 연결하는 역할을 하며, 일반적으로 통신사가 소유하고 관리한다.
WAN (Wide Area Network)은 국가 혹은 대륙간 세계에 걸쳐 있는 장거리 네트워크이다. 우리가 미국에 있는 서버에 접근이 가능하다. 하지만 대한민국과 미국은 육지로 이어져있지도 않다. 그럼 어떻게 연결되는걸까? 위성통신을 썼더라면 이렇게 빠른 시간 내로 통신되진 않았을 것이다. 정말 놀랍게도 해저에 케이블로 대륙과 대륙을 이었다. Submarine Cable Map을 확인해보면 어떻게 사람의 힘으로 이 케이블들을 다 매설했을까 싶을정도로 경이롭다. (케이블 매설을 수심 1,000m ~ 8,000m에 매설해서 상어가 물어뜯는 사고도 종종 발생한다고 한다...)
Submarine Cable Map
www.submarinecablemap.com
네트워크 기술
Ethernet
우리가 일반적으로 접하고 있는 IEEE 802.3표준에 의해 정의된 네트워크 기술이다. 이제는 Ethernet 이외에는 대부분 기술들이 쓰임이 탈락되어 졌다고 봐도 무방하다. 프레임 단위로 전송이 이루어지며 보통 동축 케이블, UTP, 광섬유와 같은 매체로 전송이 된다. 과거에는 CSMA/CD(Carrier Sense Multiple Access with Collision Detection)과 같은 방식으로 동작했었는데, 대부분 스위치 기반 네트워크로 전환하면서 충돌이 대부분 줄어들었다.
Ethernet에는 여러가지 topology가 존재하지만 주로 과거에 버스형을 사용했지만 최근에는 스위치로 각 장비들을 개별연결 하는 스타형으로 많이 사용하고 있다. 이렇게 구성하면 각 링크가 독립적이여서 충돌을 제거할 수 있다.
사실상 이렇게 스위치에 선꽂아서 쓴다는게 확장하기 너무나도 좋은 구조이고, 속도도 매우 준수하여 사실상 유선 LAN의 표준이 되어있다.
+ CSMA/CD (Carrier Sense Multiple Access with Collision Detection)
참고로 Carrier Sense는 송신 전 채널이 비어있는지 확인하는 작업, Multiple Access는 여러개의 노드가 공유 매체에 접근하는 행위이다. Collision Detection은 충돌을 감지할수 있고, 감지되면 백오프 시킨다.
+ 위 이미지를 보면 확장에 용이하다는 말이 얼마나 굉장한 의미를 내포하는지 알 수 있게 된다. 저런 구조가 수십 ~ 수백개 연결된다고 생각하면 기술적 종속성이 발생하는 순간 해결하기 매우 어려울 것이다.
Token Ring
IBM에서 개발한 LAN 기술이다. 논리적으로 고리(Ring)을 만든다고 해서 TokenRing이다. Token이라는 제어 신호를 옆으로 전달하여 목적지에 다다를때까지 이를 반복하는 방식이다. 단점이 직감적으로 느껴질 것이다. 바로 SPOF(Single Point of Failure)를 갖게된다. Ring의 Node중 하나라도 장애를 일으키면 전체 네트워크가 마비된다.
FDDI (Fiber Distributed Data Interface)
TokenRing의 진화 버전이다. 이중 링 구조(Dual Ring Topology)를 사용한다. Token Ring에서는 단방향으로 데이터를 전달하기 때문에 중간에 Node 하나가 장애를 일으키면 해당 Node 건너의 모든 노드와의 연결이 마비된다고 설명하였다. FDDI에서는 Ring을 각각 다른 방향으로 배치하여 하나의 Node가 동작하지 않아 문제가 생기면, 다른 방향의 Ring을 이용하여 복구시킨다.
ATM (Asynchronous Transfer Mode)
ATM은 고정 길이(53 bytes)의 셀(cell)을 사용하는 패킷 교환 기반의 네트워크 기술이다. 고정 길이를 사용한다는 것은 속도와 Trade-Off한 패널티이다. 때문에, 속도면에서 장점을 가지게 된다. 기존의 PSTN(회선교환 방식)에서는 모든 연결에 일정 대역폭을 고정하여 배정했었다. 하지만 ATM은 필요할때만 대역폭을 사용하고, 사용하지 않을 땐 대기하지 않고 넘긴다. 마치 대역폭을 공유자원으로서 사용하는 프로세스와 같다. 때문에 이름에서 알 수 있듯 비동기(Asynchronous) 전송을 한다고 간주한다.
네트워크 전송 방식
Broadcast
연결된 네트워크의 모든 노드에게 전송하는 방식이다.
아파트 관리사무소에서 안내 방송을 하는 모습을 상상하면 매우 직관적이다. 예를들어 오늘 아파트에 잠시동안 정전이 된다는 사실을 모든 호수에 개별적으로 전달하려면 매우 힘들것이다.
반면에, "금일 12시부터 14시까지 안전점검을 위해 정전이 있을 예정이오니 양해 부탁드립니다."를 아파트 동 전체에 안내방송을 하면 매우 간편하게 해결될 것이다.
그럼 직관적으로 Broadcast의 단점도 보일 것이다. 이미 방송된 정보를 알고 있거나 해당되지 않는 사람들도 연락을 받아야 한다는 문제가 있고, 이러한 안내 방송이 1분에 한번씩 나오면 주민들은 스트레스 받을 것이다. 실제로 네트워크는 이 Broadcast를 사용했을 때 발생하는 이런 스트레스를 해결하기 위해 여러 기술들을 고안하게 된다.
Unicast
연결된 네트워크에서 특정 단일 노드에게만 전송하는 방식이다.
고급 아파트에서는 모든 우편물을 관리사무소에서 중앙 관리한다고 가정해보자. 관리사무소에는 각 호수별 주민 정보가 기록된 장부가 있어서, 누가 어느 호수에 살고 있는지 파악할 수 있다. 예를 들어 홍길동씨에게 편지를 전달하고 싶다면, 관리사무소 직원이 장부를 확인해서 홍길동씨가 101호에 살고 있다는 것을 확인하고 해당 호수로 편지를 배달해줄 것이다.
하지만 홍길동씨가 이 아파트에 처음 이사를 와서 아직 관리사무소 장부에 정보가 등록되지 않았다면 어떨까? 이런 경우 관리사무소에서는 전체 동에 안내방송을 한다. "홍길동님, 우편물이 도착했으니 관리사무소로 와서 호수를 알려주시기 바랍니다." 그럼 홍길동씨는 관리사무소에 와서 본인이 101호에 산다고 알려주고, 관리사무소는 이 정보를 테이블에 기록한다. 다음부터는 테이블에 홍길동씨 정보가 있기 때문에 안내방송 없이도 바로 101호로 편지를 배달할 수 있다.
Multicast
Multicast는 여러개의 노드들을 그룹화 하여 해당 그룹을 기준으로 전달하는 전송 방식이다.
고급 아파트에 여러 소모임이 있고, 홍길동씨를 포함한 5명이 매주 아파트 청소를 하는 "청소봉사단"이라는 소모임을 만들었다고 가정해보자. 관리사무소에서는 이런 소모임 정보도 별도 장부로 관리하고 있다.
어떤 사람이 이 청소봉사단에 너무 고마워서 감사 편지를 보내려고 한다. 이때 5명 각각에게 개별적으로 편지를 보내는 것(Unicast X 5)은 비효율적이고, 아파트 전체에 방송하는 것(Broadcast)은 청소봉사단과 관계없는 주민들에게까지 불필요한 정보를 전달하게 된다. 이런 상황에서 관리사무소에 가서 "청소봉사단 회원들에게만 편지를 전달해주세요"라고 요청할 수 있다. 관리사무소 직원은 소모임 테이블을 확인해서 청소봉사단에 속한 5명의 호수를 파악하고, 해당 호수들에만 편지를 배달해준다.
이처럼 Multicast는 전체가 아닌 특정 그룹에게만 정보를 전달하는 방식으로, Broadcast보다는 효율적이면서도 개별 Unicast보다는 편리한 절충안이라고 할 수 있다. 네트워크에서도 동일한 데이터를 받아야 하는 여러 노드들을 그룹으로 묶어서 한 번의 전송으로 해당 그룹 전체에게 데이터를 전달할 수 있다.
LAN Card
Windows에서는 NIC(Network Interface Card)이라고도 불리는 랜카드는 위에서 언급한 커뮤니케이션 모델의 통역가 역할을 한다. 컴퓨터 내부에서는 디지털 데이터(0과 1의 비트)로 정보를 처리하지만, 네트워크 케이블을 통해서는 전기적 신호나 광신호로 데이터를 전송해야 한다. 랜카드는 이 두 신호 형태 사이의 변환을 담당한다. 송신 시에는 컴퓨터의 디지털 데이터를 네트워크로 보낼 수 있는 물리적(전기적) 신호로 변환하고, 수신 시에는 네트워크에서 오는 물리적(전기적) 신호를 컴퓨터가 이해할 수 있는 디지털 데이터로 변환 한다.
학회장에서 통역가가 수많은 소음 속에서 자신의 담당자를 부르는 소리만 골라 듣듯이, 랜카드도 네트워크를 떠도는 수많은 데이터 중에서 자신의 컴퓨터가 대상인 신호만을 선별한다. 네트워크에는 여러 컴퓨터가 연결되어 있고, 동시에 많은 데이터가 오가고 있다. 하지만 모든 데이터가 내 컴퓨터에 필요한 것은 아니다. 랜카드는 각 데이터 패킷의 목적지 주소를 확인하여, 자신의 MAC Address와 일치하는 데이터만 받아들이고 나머지는 무시한다. 이러한 필터링 과정을 통해 불필요한 데이터 처리로 인한 시스템 부하를 줄이고, 보안성도 향상시킨다. 마치 통역가가 관련 없는 대화는 걸러내고 필요한 내용만 통역해주는 것과 같은 원리다.
그래서 결론은 랜카드는 물리적 신호와 논리적 데이터 사이의 통역가 역할을 하면서, 동시에 노드에서 네트워크의 효율성과 보안을 담당하는 핵심 구성 요소이다.