Network 구성
우선 자신의 PC 가 있고, 연결에 필요한 매체들이 있어야 합니다. 자세히 들여다 볼까요. LAN을 중심으로 보겠습니다. PC와 PC에 장착하는 LAN card는 보신적이 있나요? 또 LAN Cable도 보셨구요. 또 사무실 구석에 있는 피자 박스 정도 크기(다양한 크기가 있습니다)의 Hub를 보신적이 있을 겁니다. 그러면 물리적인 구성요소와 논리적인 구성요소들로 구분해서 알아보겠습니다.
물리적 구성요소
전산기 : PC(개인 단말기)와 여러 종류의 서버들이 포함됩니다. 쉽게 생각해서 자료를 요청하면 클라이언트, 요청한 자료를 처리/제공하면 서버가 됩니다.
NIC (Network Interface Card) : NIC은 통합적인 이름입니다. 흔히 LAN Card를 지칭합니다. 보통 IP Address는 이 NIC 정보가 됩니다. Network 속도를 개선하는 경우 교체해야 하는 경우도 있습니다. (10/100Mbps 속도)
ISA방식이니 PCI방식이니 하는 이야기를 혹시 들어보셨나요? 이러한 방식은 단말에서 물리적으로 서로 데이터를 주고 받는 구현방식을 나타내는 것입니다. 물론 H/W적 구성도 다릅니다.
ISA (Industry Standard Architecture) : IBM에서 표준으로 제정되어 전세계적으로 확장된 방식입니다. 16bit 단위로 전송을 할 수 있습니다.
EISA(Extended ISA) : 1988년 IBM의 경쟁사들에 의해 ISA 방식을 개선시키기 위한 방향으로 제정된 표준입니다. ISA와 호환되며 32bit의 데이터 경로를 제공합니다.
PCI(Peripheral Component Interconnect) : 32bit의 데이터 경로를 제공하고 요즘 많이 거론되는 PnP(Plug and Play)를 지원한다. 이름에서도 나타나지만 모든 주변 장치를 간단하면서도 완벽하게 설치할 수 있게 만들어졌다. Windows 95이상의 Microsoft의 운영체제에서는 PnP를 지원합니다.
Cable : 속도 및 전송되는 데이터의 신뢰도를 보장해 줄 수 있는 통로 역할을 합니다. 이전에는 두꺼운 동축케이블을 많이 사용했습니다. 요즘은 설치와 유지보수가 편한 전화선과 같은 구리선으로 제작된 케이블을 많이 쓰고 있습니다.
Connector : 사무실에서 흔히 볼 수 있는 것으로 RJ-45가 있습니다. 이 작업이 잘못되면 아무리 케이블 구성을 잘했다 해도 소용이 없습니다. RJ-45의 단점은 플라스틱으로 제작되어 잘 깨진다는 것이지요. 고리부분이 깨져 LAN Card와의 연결이 느슨해 지는 경우가 있습니다.
Hub : 모든 단말들을 하나로 묶어주는 장비입니다. 이 장비가 있기에 네트워크 구성이 간단해 지는 경우가 많습니다. 요즘은 단순한 공유 개념에서 각 사용자에게 속도를 보장해 주는 스위치 장비들도 생산되고 있습니다.
Router : 인터넷이 활성화되면서 각광 받은 장비입니다. 역할은 원하는 목적지로 데이터를 보내는 역할 입니다. 초기에는 Unix서버가 이러한 역할을 했습니다. Cisco라는 회사가 이러한 동작만을 전용으로 하는 장비를 만들어 지금의 거대 기업이 되었습니다. 동작하는 방식은 여러 가지가 있지만, 목적은 굉장히 단순한 장비입니다. 그렇지만 굉장히 중요한 역할을 하는 장비 입니다.
Gateway : 느낌대로 관문 역할을 하는 장비입니다. Router가 이러한 역할을 수행하는 경우도 있고 특별히 지정된 단말이 수행하는 경우도 있습니다. 서로 다른 방식의 통신 환경끼리 통신이 가능토록 하는 장비입니다. 사람사이의 통역사와 같은 역할입니다.
Modem / DSU / CSU : 컴퓨터 통신의 데이터는 디지털이고 전화선은 아나로그 이기 때문에 중간에 모뎀에서 그 데이터를 적당한 신호로 변환시켜 줍니다. 단말기가 작업하는 방식과 데이터 전송 장비가 작업하는 전기적인 데이터의 모양이 틀리기 때문에 필요한 장비 입니다. 먼 거리를 전송하기위해 데이터 전송장비가 필요하지요. 때문에 전송장비가 사용하는 전기적인 데이터 형식으로 변환하는 장비입니다. 보통 전화회선에서 제공 가능한 속도는 56Kbps가 최고입니다. 그 이상 되는 경우 DSU / CSU를 사용합니다.
회선 : 전화국이나 또는 통신 업체들이 설치/ 관리하는 부분입니다. 단 건물 내부 구성인 구내 선로는 책임지지 않습니다. 회선은 전화회선처럼 구리선인 경우도 있고, 요즘 널리 쓰이고 광섬유로 만들어진 광케이블도 있습니다. 그리고 눈에 보이지 않는 무선회선도 있습니다.
논리적 구성요소
운영프로그램(Operating System) : 멍텅구리인 PC를 움직이게끔 해주는 역할을 합니다. 많은 응용프로그램들을 수행할 수 있는 공간을 제공합니다. DOS, Windows, 리눅스, 매킨토시, 등이 이러한 프로그램에 속합니다. 또한 네트워크용 OS를 NOS(Network OS)라 명하기도 합니다. 이러한 종류로는 M/S사의 Windows NT, Windows Server, Novell Netware, Artisoft사의 LANtastic, IBM LAN Server, Banyan VINES/ENS 등이 있습니다.
응용프로그램 : 통신망에 접속하고 원하는 서비스를 구현해주는 프로그램입니다. 사용자가 눈에 보이지 않는 부분을 몰라도 많은 서비스를 제공 받을 수 있도록 도와줍니다. 또한 데이터의 처리를 도와줍니다.
프로토콜 : 사전적 의미로는 ‘행동규약’, ’의례’ 등으로 해석되지요. Network분야에서는 서로 통신을 하기 위한 사전에 지정된 방식이라 합니다. 사람도 타 문화권의 사람들과 언어나 행동양식이 이해가 안되어 오해를 사는 경우도 있고, 배척 당하는 경우도 있지 않습니까? 서로간의 통신을 할수있는 언어라고 해석 하면 될것 같습니다.
Network 동작
우선 LAN에 대한 구성, 또는 기타 Network에 대한 구성이 끝난 상태라 가정합니다. 중요한 것은 물리적인 연결 상태가 정확한가 하는 것입니다. 위에서 설명 드린 물리적 구성형태에서 연결이 끊어져 있다면 통신은 되지 않습니다. Network에 단말이 참여할 수 있는 것은 자신이 갖고 있는 네트워크 주소를 통해서 입니다. 이것은 IP Address를 지정해 줌으로 가능합니다. 수동(고정)으로 입력을 하지 않아도 자동(유동)으로 IP Address를 부여 받을 수도 있습니다.
Ethernet - CSMA/CD
ALOHA 네트워크의 연구를 담당했던 사람들 중 일부가 제록스 사의 팔로 알토 연구소(Palo Alto Research Center:PARC, http://www.parc.xerox.com)로 자리를 옮겨 random access 방법에 의한 네트워크에 대해 더욱 깊은 연구를 시작했다. ALOHA 방법은 각 DTE가 보낼 데이터 량이 적고 빈도수가 적을 경우 성능에 별 문제가 없었으나 조금 데이터 양이 많아지고 빈도수가 높아지면 항상 충돌이 발생하여 네트워크 전체가 죽어버리는 문제점이 있었다.
팔로 알토의 밥 메칼프(Bob Metcalfe)와 데이빗 벅스(David Boggs)는 CSMA/CD 라는 random access 방법을 개발하고 1973년 이더넷(ethernet;실제 발음은 이ø써넷)을 발표하였다. 이 방법에서 데이터를 전송하려는 DTE는 먼저 라인상에 특정한 캐리어 신호가 있나 검사하고(carrier sense) 없으면 데이터를 전송한다. 이 때는 데이터와 함께 캐리어 신호를 전송한다. 데이터를 보내려는 때에 라인상에 캐리어 신호가 있으면 누군가가 데이터를 보내려는 것이므로 random 수를 발생시켜 그 수만큼 대기하고 다시 시도 한다. 만약 어떤 문제가 생겨 한 DTE가 데이터를 전송하는 중에 다른 DTE가 데이터를 전송하여 충돌이 발생하면 즉시 감지하여(collision detection) 현재 전송중인 패킷을 무효화 하고 랜덤수 만큼 기다리고 다시 전송하는 방법이다. 이 방법에서는 따로 중앙의 제어가 필요없으며 트래픽이 적을 경우 전 대역폭을 점유할 수 있기 때문에 효율이 높은 방법이다.
이더넷이 실제 널리 쓰이기 시작한 것은 DEC, 인텔등과 함께 IEEE에 의해 '블루 북'이라고 알려진 표준으로 제정되면서 이다. 그 후 이더넷은 IEEE802.3 이라는 표준기구에 의해 인준되고 ANSI에 의해서도 8802/3 으로 인정되어 명실공히 미국-세계 표준의 네트워크 도구로 사용되게 되었다. 그 뒤로는 전세계 모든 업체가 약간의 로얄티(이더넷 주소 등록비)만을 지불하고 서로 호환 가능한 하드웨어로 네트워클 구성할 수 있게 되었다.
처음 제록스가 이더넷을 만들었을 때는 1Km 라인에 100명의 사용자가 2.94Mbps로 통신이 가능했다. 속도가 빛과같이 빠르다고 해서(당시에는 시리얼 케이블을 통한 2400bps가 고작이었다) 옛날 사람들이 빛을 전달하는 매게라고 생각했던 에테르(ether)를 따서 ethernet이라고 이름지었다.
이더넷의 등장으로 네트워크 시장은 폭발적으로 증가하였다. 전에는 각 회사마다 저마다의 네트워크 방식이 있어서 서로 호환이 안되는 점이 네트워크 시장확대의 걸림돌 이었다. 따라서 LAN의 역사는 이더넷의 역사라 해도 과언이 아닐 것이다.
인터넷과 TCP/IP
인터넷은 냉전시대 미 국방성의 필요에 의해 시작되었다. 핵전쟁이 발발하더라도 통신을 유지할 수 있는 강력한 통신수단을 찾던 국방성은 미국 전체를 거미줄처럼 연결하여 어느 한곳이 끊어지더라도 다른 곳을 연결할 수 있는 새로운 네트워크를 찾고 있었다. 당시의 네트워크들은 일대일 연결등 소규모 연결에만 적합하게 설계되었기 때문에 국방성은 새로운 네트워크를 개발하기로 하였다. 당시의 UUCP같은 네트워크 프로토콜은 전화선 처럼 1대1 통신만을 지원하였기 때문에 국방성의 이런 아이디어에는 맞지 않았다.
1970년대 초 DARPA(U.S. Defense Advanced Research Projects Agency)에 의해 몇 개의 연구소와 대학을 연결한 ARPANET이 구성되고 이것이 인터넷의 시작이었다. 이 당시에는 각 연구소, 대학들의 메인 프레임들만 연결되어 있었는데 이 메인 프레임에 LAN이 붙으면서 결국에는 각 LAN과 LAN을 연결하는 네트워크가 되었다. 실제 인터넷이란 단어를 직역하면 '네트워크와 네트워크 사이'를 연결한다는 뜻이다.
인터넷의 프로토콜는 처음에는 NCP(Network Control Protocol)을 사용하다가 TCP/IP(Transmission Control Protocol/Internet Protocol)란 프로토콜로 교체되었다. 현재는 TCP/IP로 연결된 전세계 모든 컴퓨터의 연결을 인터넷이라고 부른다.
1983년 인터넷에서 군사부분은 MILNET으로 분리되고 얼마전 까지 미국의 과학 재단(NSF:National Science Foundation)에서 인터넷의 유지보수를 담당했다(외 우리나라는 이런 국가규모의 백본이 없는걸까?). 전국 규모로 초고속의 백본을 깔고 관리(IP 발급 등)를 담당했으나 얼마전부터 서비스를 유료화 하고 인터넷을 대체할 더 빠르고 편리한 네트워크를 연구하기 시작했다고 한다.
인터넷은 초기에 UNIX OS에 채택되어 표준이 된 관계로 대부분의 서비스가 UNIX에서 출발하였다. 원격 접속 및 파일전송, 전자우편전송이 주 서비스였고 UNIX 기반이었기 때문에 PC상으로 네트워크가 널리 보급된 뒤어도 인터넷이 보편화 되지 못하였다. 인터넷이 탄생하고 컴퓨터는 눈부시게 발전했지만 인터넷 서비스는 아직도 구닥다리 터미널 방식이 전부였다.
WWW
스위스 제네바에 위치한 유럽 핵물리연구소 CERN의 과학자들은 서로간의 정보를 체계적으로, 쉽게 공유하기 위해 WWW이란 서비스를 만들어 사용하였다. 1989년 3월에 버너스-리(Berners-Lee)라는 CERN의 한 물리학자가 Web이란 개념을 제안하였고 1990년에 동료 Robert Cailliau와 함께 개정된 개념을 소개하였다. 기본 개념은 서로 다른 컴퓨터끼리 정보를 공유하고 서로 링크되어 찾기 쉽도록 Hypertext 형태의 서비스를 도입하자는 것이었다.
그의 의견이 채택되어 CERN내에서 서버를 구축하였다. 니콜라 펠로우(Nicola Pellow)는 간단한 브라우져를 개발하였고 웹서버 개수와 사용량은 폭발적으로 증가하였다. 곧이어 MIT, 스탠포드, 카네기 멜론등의 학생들과 HP, IBM, Apple, DEC등의 컴퓨터 회사, 정부기관들이 웹서비스를 구축하기 시작하였다. 그러나 아직 서비스는 텍스트로 이뤄졌고 웹의 주요 기능은 다른 서버 문서로의 링크였다.
1993년 NCSA(National Center for Supercomputing Application)는 X-윈도우에서 작동하는 Mosaic이라는 웹브라우져를 개발하였다. Web의 사용량은 증가하여 1993년 6월 인터넷 백본인 NSF 백본 교통량의 0.1%를 차지하였고 사이트가 연결되었다. 1993년 9월에는 백본의 1%를 차지하였다. 1994년 12월 넷스케이프사는 넷스케이프 네비게이터 1.0을 발표하여 현재에 이르고 있다.
WWW은 원래 인터넷의 수많은 서비스중 한가지에 불과했지만 이제는 인터넷 서비스 하면 WWW을 떠올릴 정도로 대표적인 서비스로 자리잡았다. 유닉스 터미널 기반의 서비스에서 탈피하여 클라이언트-서버 개념의 서비스를 제공하였기 때문이다. 기존의 인터넷 서비스들은 그 표현방식이 제한되어 있으며 GUI방식이 아니기 때문에 익히는데 시간이 걸렸다. 그러나 WWW 서비스는 서버로부터 파일을 받아 사용자가 보기 쉽게 화면으로 보여주고 GUI 방식으로 사용하기 때문에 컴퓨터를 잘 모르는 사람도 쉽게 원하는 정보를 얻을 수 있다. 또한 새로운 형식의 정보가 있으면 브라우져를 업그레이드 하고 서버에 새 파일만 추가하면 끝이기 때문에 담을수 있는 정보의 내용 또한 제한이 없다.
WWW의 등장과 더불어 인터넷이 얼마나 변했는지, 필자가 처음 인터넷을 접했던 1995년 PC에서 텔넷 프로그램으로 유닉스 호스트에 로그인 하고 거기서 다시 archie 서버에 접속하여 원하는 파일명을 찾은 다음 ftp를 불러 그 파일을 다운 받고 했었는데...이제는 무엇이든 웹브라우져만 있으면 찾아서 다운받아 볼 수 있게 되었다.
Java와 NC
JAVA는 선 마이크로시스템(Sun Microsystems)사의 James Gosling과 Patrick Naughton에 의해 개발된 객체지향언 언어이다. 본래부터 WWW용으로 개발된 것은 아니었고 분산환경용 프로그램을 위해 1990년 부터 개발되었으며 1995년 WWW용으로 발표되었다.
JAVA는 지금까지의 프로그래밍 언어들과는 달리 소스 형태(또는 중간 코드 형태)로 제공되고 브라우져에 의해 실행되므로 브라우져만 있으면 어떤 기계든 상관하지 않는다. 현재 인터넷 또한 인텔계열 PC, 맥, 유닉스 등 다양한 환경하에서 사용되고 있으므로 JAVA의 등장은 인터넷에 또다른 활력소가 되었다.
SUN사는 내친김에 PC 시장에까지 진출하기 위해 NC를 내 놓았다. NC는 로컬의 하드디스크를 사용하지 않는 컴퓨터로서 모든 프로그램은 네트워크의 서버로부터 다운 받아 사용한다. 언뜻 보면 불편할 것 같지만 개인이 아닌 회사의 입장에서 모든 컴퓨터가 중앙집중식으로 관리되므로 유지 보수 비용이 획기적으로 줄어들게 된다. 사용자의 입장에서도 새 버전이 나올 때마다 다시 깔 필요가 없으면 새로운 소프트웨어를 언제든지 사용할 수 있는 주문형 소프트웨어 서비스(Software On Demand) 시대가 되는 것이다.
JAVA를 이용하여 프로그래밍 함으로서 사용자는 원하는 종류의 서비스를 창조하는 것이 가능하다. JAVA는 WWW 상에서 표준으로 인정된(대다수의 회사들에게서) 프로그래밍 언어로서 JAVA로 짠 프로그램을 HTML 문서상에 집어 넣으면 WWW 브라우져는 그 소스를 해석하여 실행함으로 새로운 서비스가 창출된다.
TCP/IP환경에서 IP Address 설정과 의미
위의 그림은 Windows 환경에서 [네트워크 환경]의 [네트워크 구성]의 [TCP/IP] 설정 부분의 [IP주소]부분입니다. IP주소는 관리하시는 분이 따로 계실 겁니다. IP Address의 구성을 살펴보면 점(dot)으로 구분되어진 4개의 10진수로 이루어져 있습니다. 이들은 A, B, C Class로 구분되어지며 네트워크 주소 부분과 호스트 주소 부분으로 나누어 집니다. 위의 그림의 경우 C Class로 구성되어진 주소체계 입니다. <192.168.0>은 네트워크 주소 부분입니다. 이 부분을 보고 자신과 같은 네트워크인지 아니면 다른 네트워크인지 구분할 수 있습니다. 네트워크 주소는 국제적인 기구에서 관리하고 있으며 국내에서는 KRNIC이라는 단체가 담당하고 있습니다. 뒤의 <91>는 호스트 주소로 이 부분은 단말에 설정되어 LAN에서 유일한 주소로 운영되도록 관리되어야 합니다. 서브네트 마스크는 할당된 IP 범위에서 임의로 Network를 분할하여 사용하는 설정입니다. 기본적으로 A Class는 <255.0.0.0>, B Class는 <255.255.0.0>으로, 위의 경우처럼 <255.255.255.0>은 C Class를 나타냅니다. 여기에 Network관리자가 <0>대신 다른 설정을 제시하면 여러 개의 Network으로 나누어 지는 겁니다. 더 자세한 사항은 많은 시간을 할애해야 하므로 생략하겠습니다.
내부 Network의 경우 서로의 주소만으로 정보의 전달이 가능합니다. 하지만 자신의 Network이 아닌 다른 주소체계로 정보를 주고 받는 경우 Router가 그 역할을 수행합니다. 흔히 가정에서 무선전화기로 내선을 지정해서 각 방에서 쓰는 경우와 같습니다. 복수의 내선 전화의 경우 간단한 조작으로 호출이 되지만 외부의 친구나 업무상으로 전화를 걸 경우 전화국의 서비스를 받아야 합니다. Network도 마찬가지 입니다.
아마 PC뒤의 LAN Card를 보시면 LED에 불이 깜빡이는 것을 보실 수 있을 겁니다. 이러한 것이 Network안에 있는 장비들이 서로의 안부를 물어보거나 통신을 하기 위하여 상대방을 찾기 때문입니다. 모든 장비들은 똑같은 신호를 모두 받아서 자신의 것이 아니면 버리고, 자신에게 온 신호이면 응답 후 필요한 후속 조치를 취합니다. 또한 다른 장비가 신호를 보낼 경우 다른 장비들은 쉬어야 하는 방식을 쓰고 있어서 충돌을 회피합니다. 따라서 LAN Card하나가 바보가 되어 계속 중얼거리면 그 LAN은 속도가 느려집니다. 이런 경우는 불량 Card를 찾기도 힘들겠지요.
이렇게 해서 모든 장비들이 자신이 원하는 목적지로 데이터들을 보냅니다. 이때 Router도 이러한 데이터를 받아봅니다. 자신이 구성하고 있는 LAN 내부가 목적지인 데이터는 버려집니다. 하지만 외부로 보내져야 할 주소를 갖고 있는 데이터라면 자신이 알고 있는 경로에 대한 지식을 총동원하여 그 데이터를 전달합니다. 이것은 한대의 Router에서 이루어지는 작업은 아니며 인터넷에 연결되어 있는 Router들이 상호 협조하여 데이터를 목적지 주소까지 배달합니다
이렇게 Network는 단순해 보이지만 굉장히 빠른 속도로 움직이며 하나의 System을 이루고 있습니다. 하나 하나의 장비들이 갖는 특징과 역할들은 굉장히 중요합니다. 하지만 단순한 데이터의 전송만을 생각하는 Network은 잘못된 생각이며 Network을 통한 자료의 처리라는 거대한 정보통신 시스템을 보아야 할 것이며, 이러한 정보통신 시스템도 Network없이는 불가능한 일이라는 것을 알아야 할 것입니다.
미래의 Network은 더욱 빠르고, 더욱 편리하고, 더욱 다양한 정보 형태들을 공급할 수 있는 방향으로 발전하고 있습니다. 하지만 기본적인 규칙과 목적은 크게 변하지 않고 있으며 단지 제공되는 방식의 차이만 있을 뿐입니다.
'Network' 카테고리의 다른 글
IP/도메인 조회 (0) | 2014.10.21 |
---|---|
네트워크 (0) | 2014.05.12 |
LTE (2) | 2014.04.30 |
UTP cable 제작 (0) | 2014.04.29 |