네트워크 하드웨어에 대해서
우리가 친숙하게 사용하고 있는 네트워크는 크게 빌딩, 혹은 캠퍼스 크기를 커버하는 LAN(Local Area Network)와 도시, 국가 등 큰 단위를 커버하는 WAN(Wide Area Network)로 구분이 된다. LAN에서 가장 중요한 종류를 꼽아 본다면 이더넷(Etherent)으로 볼 수가 있다. WAN의 예로는 인터넷을 보면 된다. 인터넷을 기술적으로는 하나의 네트워크가 아니라 수 천 개의 독립된 네트워크 집합체로 볼 수가 있다.
이더넷은 IEEE 표준 802.3에 상세하게 기술이 되어 있다. 동축 케이블로 구성되며 여러 개의 컴퓨터가 연결될 수 있는 구조다. 케이블을 이더넷이라고 부른다. 이런 이름은 발광 에테르와 관련이 있는데 이는 한때 전자기 복사가 전파되는 매체로 여겨졌던 물질로 보면 된다. 맥스웰이 전자기 복사가 파동 수식으로 기술될 수 있음을 찾아냈을 때, 많은 과학자는 우주가 에테르와 같은 매체로 완전히 차 있고, 이를 매개체로 해서 복사파가 전달되는 것으로 가정했다. 그 이후 에테르 발견은 실패했고 물리학자는 복사파가 진공에서도 전달이 가능하다는 것을 알게 되었다.
이더넷 초기 버전은 컴퓨터가 케이블에 직접 연결되었다. 즉, 케이블의 중간에 드릴을 사용해서 구멍을 만들고 전선을 컴퓨터에 직접 연결한 것이다. 이런 부분을 뱀파이어 탭이라고 불렀다. 이 탭은 정확하게 연결하기가 상당히 어려웠고, 이런 사유로 인해서 단 시간 내에 더 성능이 좋은 커넥터로 교체되었다. 다만, 단기적으로는 케이블과 네트워크 인터페이스 카드가 마치 납땜이 된 것처럼 단단하게 연결되어 있었다.
이더넷으로 패킷 전송을 하려고 하면, 컴퓨터는 다른 컴퓨터가 케이블을 사용하고 있는지 여부를 검사한다. 만약 사용 가능하다면 패킷을 전송한다. 패킷은 작은 헤더, 그리고 0~1500 바이트의 페이로드로 구성된다. 만약 사용 중이라면, 완료될 때까지 대기한 이후에 송신을 시도한다.
만약, 두 컴퓨터가 동시에 전송하려고 하면 충돌이 발생하게 된다. 충돌은 두 컴퓨터 모두 탐지가 가능하다. 그러면 전송은 멈추고 0~N usec 중 임의의 시간 동안 대기한 이후에 한번 더 전송을 시도한다. 만약 또다시 충돌이 발생하면 임의의 시간 동안 대기 후 다시 전송 시도한다. 그래도 충돌이 발생한다면 충돌 확률을 더욱 줄이기 위해서 대기 시간이 2배씩 증가하게 된다. 이런 알고리즘을 이진 지수적 백오프라고 한다.
이더넷은 최대 케이블 길이, 그리고 최대 연결 가능 컴퓨터 개수가 제한되어 있다. 이러한제한을 넘기기 위해서 커다란 빌딩, 혹은 캠퍼스에서는 여러 개의 이더넷을 사용하며 서로 연결한다. 연결하는 장치를 브릿지라고 한다. 브릿지는 필요 시, 패킷을 한 이더넷에서 다른 이더넷으로 전달하는 기능을 수행한다고 보면 된다.
충돌 문제를 회피하기 위해 최근에 스위치를 사용하고 있다. 스위치는 여러 개의 포트로 구성되고 각 포트에 컴퓨터, 이더넷, 혹은 다른 스위치를 연결할 수가 있다. 패킷이 충돌을 피해서 안전하게 스위치로 도착하면, 스위치는 일단 이 패킷을 버퍼링하고 목적 기계가 연결된 포트로 송신하다. 각 컴퓨터가 자신의 포트를 가지게 함으로써 모든 충돌을 피할 수 있게 되는 것이다. 다만, 비용이 많이 들게 된다. 좀 더 비용을 절감하기 위해서 일부 컴퓨터들에 한해서만 포트를 사용하게끔 구성할 수도 있다.
인터넷은 ARPANET에서 진화한 것으로 보면 되는데 ARPANET의 경우 미국에서 지원한 실험적 패킷 스위치 네트워크다. 사실 이것은 냉전 시기에 고 신뢰성 결함 허용 네트워크를 구현하기 위해 개발된 것으로 보면 된다. 핵 공격으로 네트워크의 많은 부분이 파손되더라도 자동 재라우팅을 통해서 군사적인 정보를 전송하고자 한 것이다.
그 이후, 급격한 발전을 통해서 수 백대의 컴퓨터들이 연결되었고 패킷 라디오 네트워크, 위성 네트워크, 수 천여 개의 이더넷이 연결되면서 네트워크 연합체가 되었다. 그 이후에 더욱 발전을 거듭하면서 현재의 인터넷이 되었다.
'컴퓨터&네트워크' 카테고리의 다른 글
네트워크 관련 프로토콜 (0) | 2024.08.27 |
---|---|
네트워크에 대해서 (0) | 2024.08.26 |
다중처리기 시스템 (0) | 2024.08.20 |
멀티미디어와 운영체제 (0) | 2024.08.19 |
입출력 장치들에 대해서 (1) | 2024.08.18 |