BGP (Border Gateway Protocol)

BGP는 자율 시스템네트웍 내에서 게이트웨이 호스트들 간에 라우팅 정보를 교환하기 위한 프로토콜이다. BGP는 인터넷상의 게이트웨이 호스트들 간에 흔히 사용되는 프로토콜이다. 라우팅 테이블에는 이미 알고 있는 라우터들의 목록과, 접근할 수 있는 주소들, 그리고 최적의 경로를 선택하기 위해 각 라우터까지의 경로와 관련된 비용 정보가 담겨있다.

BGP를 사용하는 호스트들은 TCP를 이용하여 통신하며, 어떤 호스트에 변경이 감지되었을 때에만 갱신된 라우팅 테이블 정보를 보내는데, 오직 연관된 부분만이 보내어진다. BGP의 최신 버전인 BGP-4 (BGP-4는 때로 하이픈 없이 BGP4라고도 표기한다) 는 관리자들의 정책 제시에 기초를 둔 비용표를 구성할 수 있게 한다.

BGP는 IGP와는 잘 동작하지 않기 때문에, IBGP를 이용하여 자율 네트웍과 통신한다. 자율 네트웍 내부에 있는 라우터들은, IGP를 위한 것과, IBGP를 위한 것 등, 모두 두 개의 라우팅 테이블을 유지한다.

BGP-4는 네트웍 내에서 현재의 IP 주소할당 방식에 비해, 더 많은 주소들을 가지기 위한 방법인 CIDR을 사용하기 쉽게 만든다.

BGP는 EGP에 비해 좀더 최신 프로토콜이다.

IGP와 OSPF 내부 게이트웨이 프로토콜을 함께 참조하라.

 

RIP (Routing Information Protocol)

RIP[알아이피]는 기업의 근거리통신망, 또는 그러한 랜들이 서로 연결된 그룹과 같은 독립적인 네트웍 내에서 라우팅 정보 관리를 위해 광범위하게 사용된 프로토콜이다. RIP는 IETF에 의해 여러 IGP 중의 하나로 분류되었다.

RIP를 사용하면, 라우터 내의 게이트웨이 호스트는 전체 라우팅 테이블을 가장 가까운 인근 호스트에 매 30초마다 보낸다. 인접한 호스트는 자신의 차례가 되면 그 정보를 그 다음 인접한 호스트로 넘기는데, 이러한 전달은 그 네트웍 내의 모든 호스트들이 같은 라우팅 경로 정보를 가질 때까지 계속된다. RIP는 네트웍 거리를 결정하는 방법으로 의 총계를 사용한다 (다른 프로토콜들은 타이밍까지를 포함하는 보다 정교한 알고리즘을 사용한다). 네트웍 내에 라우터를 갖고 있는 각 호스트는 패킷을 전달할 다음 호스트를 결정하기 위해 라우팅 테이블 정보를 사용한다.

RIP는 소규모 동종의 네트웍에서는 유효한 해결방안이라고 간주된다. 그러나, 보다 복잡하고 규모가 큰 네트웍에서 RIP가 전체의 라우팅 테이블을 매 30초마다 전송하는 것은 네트웍 내에 엄청난 량의 추가 부담을 준다.

RIP의 주요 대안으로 OSPF가 있다.


  • Bay Networks에서 OSPF의 설명을 포함한, IP에 대한 포괄적인 개관을 제공하고 있습니다.
  • 에릭슨에서 RIP과 OSPF를 비교한 인터넷 라우팅 프로토콜에 관한 백서를 제공하고 있습니다.  
  •  

    IGRP (Internet Gateway Routing Protocol)

    IGRP는 시스코 시스템즈 고유의 IGP 프로토콜로서, 다른 게이트웨이들과 정보를 교환함으로써 게이트웨이들이 자신들의 라우팅 테이블을 만들 수 있게 해준다. 게이트웨이는 인접 게이트웨이들과 수정된 라우팅 정보를 교환함으로써 다른 네트웍들에 관한 정보를 얻는다.

    가장 간단한 경우에서, 게이트웨이는 각 네트웍으로 향하는 최적의 길을 나타내는 하나의 경로를 발견할 것이다. 이 경로는 패킷이 보내져야할 다음 게이트웨이, 사용되어야할 네트웍 인터페이스, 그리고 메트릭 정보 등에 의해 특성화된다. 메트릭 정보는 그 경로가 얼마나 좋은지를 나타내는 일련의 숫자들이다. 이 정보를 이용하면, 게이트웨이가 다방면의 게이트웨이들로부터 들었던 경로들을 비교하여, 어떤 경로를 사용할 것인지를 결정할 수 있다. 만약, 두 개 이상의 경로들 사이에서 트래픽을 분리하는 것이 이치에 닿는 경우가 있을텐데, 두 개 이상의 경로들이 모두 좋은 경우라면 IGRP는 항상 그렇게 한다.

    시스코 시스템즈에서 IGRP에 관한 소개자료를 제공하고 있습니다.

     

    OSPF (Open Shortest Path First) ; 최단 경로 우선 프로토콜

    OSPF[오에스피에프]는 대규모 자율 네트웍에서, RIP에 우선하여 사용되는 라우팅 프로토콜이다. RIP과 마찬가지로, IETF에 의해 OSPF는 여러 개의 IGP 중 하나로 지정되었다.

    OSPF를 사용하면, 라우팅 테이블의 변경 사실이나, 네트웍 내의 어떤 변화를 감지한 호스트는, 즉시 그 정보를 네트웍 내의 다른 모든 호스트들에게 알림으로써, 모두 같은 라우팅 정보를 가질 수 있도록 한다. 라우팅 테이블 전체를 보내는 RIP과는 달리, OSPF를 사용하는 호스트는 오직 변경된 부분만을 보낸다. RIP에서는 매 30초마다 라우팅 테이블을 인접한 호스트에 보내지만, OSPF는 변경이 생겼을 때에만 변경된 정보를 멀티캐스트 한다.

    단순히 수를 세는 것보다 OSPF는 추가적인 네트웍 정보를 참작한 링크상태 상에서 그것의 경로 등급을 기반으로 한다. OSPF는 또한 사용자가 자신의 선호도에 따라 몇몇 경로들에 대해 우선권을 부여할 수 있도록, 특정 호스트 라우터를 설정할 수 있게 한다. OSPF는 하나의 네트웍이 다시 세분될 수 있도록, 다양한 네트웍 서브넷 마스크를 지원한다. OSPF 내에서 라우터와 종단국 사이의 통신을 위해 RIP이 지원된다. 이미 많은 네트웍들이 RIP를 사용하고 있기 때문에, 라우터 제작업체들은 본래 OSPF를 위해 설계된 라우터 내에 RIP의 지원도 함께 포함하는 경향이 있다.

    'Computer Engineering > Networks' 카테고리의 다른 글

    네트워크 명령어 "nbtstat "  (0) 2008.04.16
    네트워크 명령어 'netstat '  (0) 2008.04.16
    VPN 이란?  (0) 2008.04.15
    이더넷, 패스트 이더넷, 기가빗 이더넷  (1) 2007.12.12
    CIDR과 서브넷과의 차이점  (0) 2007.12.09
    BGP/RIP/IGRP/OSPF  (0) 2007.12.08
    VPI &VCI  (0) 2007.12.08
    SSL Protocol 개념과 동작 원리  (0) 2007.12.08
    ATM VS Gigabit 비교  (0) 2007.12.08
    1.2 TCP/IP 프로토콜  (0) 2007.12.08
    IP 와 ATM  (0) 2007.12.08
    vci, vpi

    http://blog.naver.com/smino81/17328109

    VPI (virtual path identifier) ; 가상 경로 식별자

    VPI는 ATM 셀의 헤더 내에 있는 8 비트 크기의 필드로서, 이 수신 장치로 이동하면서 일련의 ATM 스위치들을 통과할 때, 그 셀의 그 다음 수신 장치를 알아내는데 VCI와 함께 사용된다. ATM 스위치들은 VPI/VCI 필드를 사용해 셀이 최종 수신 장치로 가는 도중 거쳐가야할 그 다음 네트웍의 VCL을 찾아낸다.

    VCI (virtual channel Identifier) ; 가상 채널 식별자

    VCI는 ATM 셀의 헤더 내에 있는 16 비트 길이의 필드로서, 이 수신 장치로 이동하며 일련의 ATM 스위치를 통과하는 동안, 그 셀의 그 다음 수신 장치를 알아내는데 사용된다. ATM 스위치는 VPI/VCI 필드를 사용해 그 셀이 최종 수신 장치로 가는 도중 거쳐가야할 그 다음 네트웍의 VCL을 알아낸다.

    'Computer Engineering > Networks' 카테고리의 다른 글

    네트워크 명령어 'netstat '  (0) 2008.04.16
    VPN 이란?  (0) 2008.04.15
    이더넷, 패스트 이더넷, 기가빗 이더넷  (1) 2007.12.12
    CIDR과 서브넷과의 차이점  (0) 2007.12.09
    BGP/RIP/IGRP/OSPF  (0) 2007.12.08
    VPI &VCI  (0) 2007.12.08
    SSL Protocol 개념과 동작 원리  (0) 2007.12.08
    ATM VS Gigabit 비교  (0) 2007.12.08
    1.2 TCP/IP 프로토콜  (0) 2007.12.08
    IP 와 ATM  (0) 2007.12.08
    MPLS  (0) 2007.12.06
     

    웹을 이용한 전자 상거래, 인터넷 뱅킹 등이 더욱더 증대되면서 이제 인터넷은 정보의 바다가 아니라 하나의 커다란 시장이라 부를 수도 있는 상황이다. 온라인 입금이나 최근에는 소액의 경우 휴대폰 결재를 선택하기도 하지만 뭐니뭐니 해도 국내 인터넷 쇼핑 이용자들이 가장 선호하는 수단은 신용 카드다. 그런데 바로 이점이 보안적인 허점을 가져오는 주 원인이 될 수 있다.


    실제로 신용카드로 결제하는 경우 인터넷이라는 공용망을 타고 서버에 전송되는 고객의 신용카드 정보는 신용카드 번호, 유효기간 등을 포함하고 있기 때문에 실제 전자 상거래 시 필요한 대부분의 데이터가 언제 어떻게 도용될지도 모르는 위험에 노출되어 있는 것이다. 그렇다면 개인의 금융정보를 공용망인 인터넷상에서 보호할 것인가?


    이 질문에 대한 답으로 현재 가장 많이 사용되는 방법이 SSL(Secure Socket Layer)이다.


    1. SSL(Secure Socket Layer) 개념


    SSL은 Netsape에서 개발된 프로토콜로서 1995년 히크만(Hickman)에 의해서 개발되었으며 현재 인터넷 사용자들에게 안전한 개인 정보를 교환하기 위한 사실상의 표준 프로토콜로 인정되어 많은 온라인 상거래에 사용되고 있다. SSL은 실제로 다양한 장점을 지닌 암호화 기법들을 사용해 세계 각국에서 사용되는 대부분의 암호화 기법들을 지원할 수 있다.


    SSL은 버전 3.0 이후 IETF(Internet Engineering Task Force)에서 표준화되어 TLS(Transport Layer Security)로 명명되었지만 실제 그 내용은 SSL 3.과 TLSv1.0이 같으며 MS Explorer나 Netscape 등 대부분의 브라우저에서 지원하고 있다. SSL 프로토콜에서 사용되어질 수 있는 다양한 애플리케이션 프로토콜이 있지만 주로 사용되는 부분은 WEB(HTTP)이라고 볼 수 있다.


    SSL 은 크게 3가지 기능들을 제공함으로 공개되어 있는 인터넷상에서 일어나는 트랜잭션의 기밀성(Privacy)을 보장한다.


    ○ Site Authentication

    User가 선택한 상대편 Web Site를 인증한다는 의미다. 우리가 인터넷 뱅킹이나 인터넷 쇼핑몰을 사용할 때 상대편이 실제 신뢰할 수 있는 은행이나 쇼핑몰의 웹서버 인지를 인증한다는 것으로, 상대 사이트에 대한 신뢰성 있는 인증이 없다면 우리는 불확실한 누군가에게 우리의 금융정보를 넘기는 위험에 처하게 된다.


    ○ Data Privacy(기밀성)

    전달되는 데이터가 도중에 누군가에 의해 판돈되지 않는 다는 것을 보장한다. SSL은 다양한 암호화 알고리즘을 사용하여 인터넷을 통해 전송되는 개인의 사적인 정보를 외부로부터 불법적인 판독을 막는다.


    ○ Data Integrity(무결성)

    사용자의 브라우저로부터 상대방 웹서버까지 전달되는 동안 데이터가 도중에 누군가에 의해 변경되지 않도록 보장한다.


    SSL은 위와 같은 요소들을 보장하여 보다 안전한 커뮤니케이션을 할 수 있도록 도와주며 또한 MS 익스플로러나 넷스케이프 등과 같이 널리 보급된 대부분의 웹브라우저와 웹서버들에서 지원된다. 웹브라우저가 SSL 통신을 하는지 여부는 브라우저 오른쪽 하단의 잠금쇠 표시를 가지고 판별할 수 있는데 경우에 따라서는 브라우저 대신에 다른 보안 애플리케이션이 대신하기도 한다.


    HTTPS 는 SSL상에서 HTTP 를 구현한 형태로 실제 HTTP 가 기본 포트 80 을 사용하는 대신 HTTPS 는 433 포트를 사용한다.


    SSL은 다양한 어플리케이션들을 지원하기 위해 각각의 응용된 어플리케이션 프로토콜을 가지고 있는데, 이는 SSL의 구조를 보면 이해하기 쉽다. SSL은 OSI 7 계층에서 5 계층인 Session Layer에 속하며, 지원 가능한 프로토콜은 어플리케이션 레이어 상에 위한 하부 프로토콜로 한정될 수 밖에 없는데 HTTP, IMAP, FTP, NNTP 등이다.


    2. SSL 동작 원리

     


    SSL이 수행되는 단계는 총 3가지로 분류된다.

     

    ○ SSL Server Authentication

    사용자의 웹브라우저가 상대방의 웹서버를 인증하는 단계이다.

    SSL을 지원하는 웹브라우저는 표준 공용키 암호화 기법을 사용하여 서버의 인증서와 공용 ID를 실제로 브라우져가 신뢰하는 인증기관(Trusted CA)으로부터 발급받았는지 여부를 인증하는 기능을 내장하고 있다.

     

    ○ SSL Client Authentication

    웹서버가 자신에게 요청한 클라이언트를 인증하는 단계이다.

    서버 인증 시에 사용했던 동일한 기법으로 인증하는데 서버에 내장된 SSL 지원 소프트웨어나 서버 앞에 배치된 SSL 하드웨어는 클라이언트의 인증서와 공용 ID 를 실제로 서버가 신뢰하는 인증기관(Trusted CA)으로부터 발급 받았는지 여부를 인증하는 기능을 내장하고 있다.


    ○ Encrypt Connection

    서로에 대한 인증단계 이후 정상적으로 종결되면 클라이언트와 서버사이에 교환되는 모든 데이터는 사적인 내용을 보호하기 위한 암호화를 요구받는다. 또한 SSL커넥션을 통해 암호화된 데이터 역시 전송 중 변경을 방지(Message Integrity)하기 위해 Hash 알고리즘이라고 불리는 기술에 의해 보호된다.


    위의 3가지 단계를 기반으로 실제로 구현되는 순서는 다음과 같으며, 다음 순서를 진행하기에 앞서 SSL 또한 TCP 프로토콜에 기반을 두고 있으므로 반드시 TCP 3 Handshake는 이루어져 있어만 한다.


    A. 클라이언트는 서버에게 Client Hello Message를 전송


    일반적으로 브라우저를 통해 서버에게 SSL 연결 요청을 하기 위한 초기 단계이다.


    B. 서버는 클라이언트로 Server Hello Message와 서버 인증서를 전송하며, 만약 클라이언트 인증서가 필요한 경우에 인증서 요청도 함께 전송


    서버는 클라이언트가 자신이 적합한 서버인지를 인증할 수 있도록 공신력 있는 기관으로부터 발급받은 자신의 공인 인증서를 발송한다. 이때 일반적으로 서버 인증서와 함께 서버의 공용키가 클라이언트측에 전달된다. 만약 클라이언트에 대한 인증을 필요로 하는 트랜잭션이라면 이에 대한 요청도 함께 발송한다.


    C. 클라이언트는 암호화에 사용되는 세션 키와 함께 클라이언트에서 지원하는 Cipher Suite를 서버로 전송하며, 서버가 인증서를 요청한 경우에는 클라이언트의 인증서도 함께 전송


    서버의 인증서에 대해 클라이언트는 브라우저내에 저장되어 있는 신뢰기관으로부터의 발급여부를 확인하고 암호화에 사용될 Session Key를 생성해 서버 공용키로 Session Key를 암호화 하여 서버에게 전달한다. 또한 암호화된 Session Key와 함께 브라우저가 지원할 수 있는 Chiper Suite, 즉 암호화 기법 리스트와 함께 서버측에서 클라이언트의 인증서를 요청한 경우 스스로의 인증서를 발송한다.


    D. 서버는 Chiper Suite를 받아들이고(또는 거부하고) Finished message를 클라이언트로 전송한 후 데이터 전송단계로 이동


    서버는 클라이언트로부터 클라이언트 브라우저가 지원하는 암호화 기법 리스트를 받고 클라이언트에게 종결 메시지를 보내고 데이터 전송단계로 돌입한다. 여기까지 정상적으로 완료가 되면 클라이언트가 생성한 Session Key를 클라이언트와 서버가 모두 공유하게 된다.


    E. 클라이언트는 최종메시지를 서버로 전송하고 데이터 전송단계로 이동


    위 단계까지 정상적으로 완료되면 클라이언트는 종결 메시지를 서버에 보내고 실제 데이터를 전송하기 위한 단계로 돌입한다.


    F. 상호 합의한 사이퍼 수트에 의해서 암호화된 메시지를 교환


    앞 단계에서 서로 나누어 가진 Session Key로 암호화 된 데이터를 교환하게 된다.


    3. SSL 암호화


    SSL이 수행되는 단계에 보면 Session Key라는 것이 등장한다. Session Key는 한마디로 클라이언트 측에서 생성하여 서버로 전달된 하나의 키로, 하나의 동일한 키를 클라이언트와 서버가 각각 보관함으로 이후 전달되는 암호화된 데이터를 복호화 할 수 있도록 한다. 이 Session Key의 생성 및 전달 과정에 대한 보다 깊은 이해는 사실상 암호화 기법에 대한 이해를 그 바탕으로 한다.


    이번에는 주로 SSL에 대한 개략적인 부분만 다루고 있기 때문에 암호화에 대한 부분은 간단하게만 살펴보도록 하겠다.


    SSL 수행단계에서 교환되는 Session Key는 비밀키 암호화(Secret key cryptography). 즉, 대칭적 암호화에서 사용되는 키로서 하나의 키를 양쪽 상대방이 각기 나누어 가짐으로써 하나의 키로 암호화한 데이터를 송신측에서 전송하면 수신측에서 암호화 시 사용한 동일한 키로 복호화하는 단순한 구조를 가진다.


    비밀키 암호화 기법은 그 사용이 간단하고 속도가 빠른 반면 크게 두 가지 문제를 가지고 있다.

    첫번째는 어떻게 동일한 키를 서버와 클라이언트가 서로 공유하여 가질 것인가이며,

    두번째는 서버측에서 볼 때 하나의 클라이언트당 각기 다른 세션키가 필요하기 때문에 어떻게 키를 관리할 것인가다.


    위와 같은 문제 때문에 등장한 것이 공개키 암호화 즉 비대칭키 암호화 기법이다. 이 암호화 기법은 비밀키와 공개키라고 불리는 각기 다른 키로 구성된 한 쌍의 키를 클라이언트와 서버가 나누어 가지고 비밀키로 암호화된 데이터는 그와 같은 쌍이 공개키로만 복호화되는 알고리즘을 제공하고 있다.  이 암호화 기법은 비밀키 암호화 시 발생하는 키 교환의 문제를 해결해 주었다. 그러나 각기 나누어 갖은 한 쌍의 키를 가진 상대방에 대한 인증에 대한 문제와 암호화/복호화 과정에 많은 부하가 걸리는 단점을 가지고 있다. 따라서 실제로 SSL 수행의 경우 이 두 가지 암호화 기법과 PKI 기반의 디지털 인증서를 사용한 인증을 혼합하여 사용할 수 있다.


    먼저 디지털 인증서(Digital Certificate) 교환을 통해 상대방을 인증, 공개키 암호화의 약점을 줄였으며 서버에서 클라이언트로 전달된 서버의 공개키로 클라이언트에서 생성된 세션키를 암호화하여 서버로 전달하는 공개키 암호화 기법을 사용하여 비밀키 암호화의 키 교환 문제를 없앴고 세션키가 전달된 후 세션키를 통해 실제 데이터를 암호화/복호화함으로 공개키 암호화 시 발생하는 부하로 인한 서비스 지연현상을 방지할 수 있다.


    참고로 SSL에서 세션키를 통해 암호화하는 암호화 기법으로는 DES, 3DES, RC2, RC4등이 있고 40비트부터 168비트까지 사용된다. 메시지 무결성(Message Integrity) 보장을 위해 사용되는 Hash 알고리즘으로는 MD5나 SHA1.등이 주로 사용 된다.

    'Computer Engineering > Networks' 카테고리의 다른 글

    VPN 이란?  (0) 2008.04.15
    이더넷, 패스트 이더넷, 기가빗 이더넷  (1) 2007.12.12
    CIDR과 서브넷과의 차이점  (0) 2007.12.09
    BGP/RIP/IGRP/OSPF  (0) 2007.12.08
    VPI &VCI  (0) 2007.12.08
    SSL Protocol 개념과 동작 원리  (0) 2007.12.08
    ATM VS Gigabit 비교  (0) 2007.12.08
    1.2 TCP/IP 프로토콜  (0) 2007.12.08
    IP 와 ATM  (0) 2007.12.08
    MPLS  (0) 2007.12.06
    기가비트이더넷이란?  (0) 2007.12.06

    1. ATM(Asynchronous Transfer Mode)

    - ATM (Asynchronous Transfer Mode)은 데이터, 음성과 화상 트래픽을 통합할 수 있는 차세대 기술로 알려져 있으며, 전송할 정보가 있을 때만 정보 데이터를 53Byte의 일정한 크기로 분할해 프레임에 실어 전송하는 기술

    - 장점

    • 많은 양의 대역폭과 다양한 QoS를 보장할 수 있으며, LAN과 WAN의 이음새 없는 통합을 제공
    • 헤더가 붙어 있는 53바이트 크기의 Cell은 음성과 화상처럼 시간에 민감한 트래픽 관리에 적합
    • 국내 대다수 사용자 확보

    - 단점

    • 전송 대역폭의 비 효율성 : ATM을 LAN 백본에 사용하면 LANE로 인해 약 30% Overhead 발생
    • 관리의 어려움
      • ATM 기술 자체가 복잡하기 때문에 유지보수 인력이 필요
      • 네트워크 기술(Ethernt)과 상이하여 도입, 구축 및 운영 전반에 이르는 단계에서 새로운 학습과 훈련이 필요
    • ATM Forum에서 ATM Application을 데스크탑 환경으로 까지 확장하는 것을 포기
    • IP Network에서 ATM 수용 시 특징
      • IP 네트워크 상에서 ATM 통신이 가능 하려면 Frame에서 Cell로 변환 하는 과정과 LANE(LAN Emulation)기법을 사용 해야 한다.
        • ATM to LAN Internetworking에 필요한 Classical ZIP, LANE 또는 MPOA는 많은 Overhead가 발생 하므로 대역폭 효율성 면에서 비 효율적이 된다.
        • connection-less (Ethernet)에서 Connection-Oriented(ATM)간의 통신에는 PVC를 맺어야 하는 절차가 필요하므로 ATM LAN 통신 시 지연 발생
      • ATM은 IP별 또는 Application 별 QoS 또는 보안 기능 제공 불가
        • ATM은 API (ATM Programming Interface)별로 QoS를 확실하게 보장을 해 줄수 있으나 API와 무관한 IP네트워크에서는 별도의 QoS를 지정해 주는 방안이 없음
        • LANE에서는 3계층 이상에서는 관여를 하지 못하므로 QoS 지정 불가
      • ATM 수용 시 비용 적인 문제 발생
        • ATM 기술의 복잡성 때문에 ATM 백본 장비의 가격이 고가

    2. Gigabit Ethernet

    - Gigabit Ethernet은 100Mbps Fast Ethernet보다 10배 빠른 1000Mbps의 속도를 제공하고 Ethernet.과 동일한 CSMA/CD 프로토콜, 프레임 포맷, 프레임 크기를 채택하고 있는 Ethernet 기술

    - 장점

    • 기존 환경을 그대로 수용
      • Gigabit Ethernet은 1000Mbps의 대역폭을 제공하며 CSMA/CD 방식을 쓰고 MAC 계층의 프레임 포맷을 사용하므로 이제까지 사용해 왔던 Operating System, Desktop 어플리케이션, 워크 그룹 관리 들을 그대로 사용 가능
    • 빠른 속도
      • Gigabit Ethernet은 Fast Ethernet에 비해 10배나 빠르고 ATM의 OC-3 (155Mbps)나 OC-12 (622Mbps) 보다도 훨씬 고속이라는 장점
      • Port Trunking 기법을 사용하면 최대 8Gbps의 전송 가능
    • 관리의 편리성
      • Gigabit Ethernet은 ethernet과 CSMA/CD 기술을 이어받기 때문에 MIS 담당자나 LAN 운영자 및 네트워크 사용자가 별도의 기술 재학습 없이도 운영 및 사용이 가능
      • 기존에 가장 널리 사용되는 이더넷의 Packet과 Application 및 프로토콜을 수정없이 수용 가능
    • 높은 투자 대 성능
      • Gigabit Ethernet은 초기 비용만 적절히 투자하면 기존 네트워크 투자 분을 그대로 Giga속도로 연장 가능

    - 단점

    • 짧은 전송 거리
      • Gigabit Ethernet은 기존의 CSMA/CD 방식을 그대로 사용을 하고 있기 때문에 빠른 처리 속도에 비하여, 전송 거리가 짧다.
        • 1000 BaseLX (1300nm) - MMF : 약 550m, SMF : 약 3Km
        • 1000 BaseSX (780 ~ 850nm) - MMF : 약 250m
        • 1000 BaseT (Copper) - 표준화 진행중
      • 전송 거리가 길어지면 데이터의 손실이 많아지고 Collision 방생 빈도가 높아짐
    • IP Network에서 Gigabit Ethernet 수용 시 특징
      • 100Mbps의 Fast Ethernet의 백본 네트워크는 Gigabit Ethernet을 사용 했을 시 기존 환경의 변환 없이 1000Mbps의 고속으로 바로 Upgrade 할 수 있다.
        • Gigabit Ethernet과 Fast Ethernet은 동이한 기술을 사용 하기 때문에 손쉬운 Upgrade 가능
      • Gigabit에서 4계층의 Flow Control을 할 수 있는 장비로 Upgrade하면 Application 레벨의 QoS와 보안이 가능하여 네트워크 자원을 효율적으로 관리가 가능
        • 예를 들어 기숙사 동의 트래픽 중 IPX/SPX 데이터를 차단하여 네트워크 게임 트래픽이 다른 건물에는 영향이 없도록 통제 가능
      • Gigabit Ethernet을 현재 삼성전관 Network에 적용시 WorkGroup에서는 Dedicated 10/100Mbps 로 접속 되므로 전송 프로토콜의 변화 없이 통신이 가능
        • 전송 프로토콜의 변화 과정이 없으므로 전송 대역폭의 효율성이 95%이상 사용 가능하며 변환 과정에 필요한 지연이 없다.
      • Gigabit Ethernet은 ATM에 비하여 약 2~3배 이상의 비용이 절약되므로 낮은 비용으로 ATM보다 고속의 전송 속도로 Upgrade 가능

    3. ATM vs Gigabit Ethernet 비교

    항목 Gigabit Ethernet ATM 항목설명
    대역폭 최대 1Gbps 최대 622Mbps 최대 전송가능한 대역폭
    효율성 95% 75% ATM 네트워크상에서는 LANE로 인해 약 30% Overhead 발생하고, 추가적인 모듈 필요
    시장동향 LAN 백본 환경에 급속히 확장 - WAN 환경으로 확산
    - LAN 환경에서 퇴조
    현재 네트워크의 추세를 파악하여 올바른 네트워크 구축안 제시
    안정화소요시간 개통후 즉시 개통후 약 6개월 소요 네트워크 적용해서 빠른시간안에 안정화 단계를 거쳐야 함
    관리성 기존 Ethernet의 환경을 그대로 사용하기 때문에 관리가 편리 기존 Ethernet과는 상이한 메커니즘을 사용하기 때문에 관리가 복잡하고 어려움 - Gigabit Ethernet은 기존의 Ethernet 환경과 크게 다를바가 없으므로 운영 및 관리가 편리
    - 새로운 네트워킹 기술의 ATM은 새로운 기술에 대한 이해를 위해서는 많은 시간이 필요하고 ATM 관리를 위한 전문 관리자를 양성하기가 어려움
    기술 성숙도 IEEE 802.3z 표준 안 완료 표준안 완성 (95%) - Gigabit Ethernet은 IEEE와 Gigabit Ethernet Alliance에 의해 표준화 완료
    - 현재 UTP를 이용한 gigabit 전송 방식 표준화 진행 중
    - ATM의 경우 Public NNI Management부분에 표준화 진행 중
    Load Balancing 및 Backup - 장비간의 멀티링크 구성이 가능
    - Port Trunking 기법을 이용하여 멀티 링크 구성이 가능
    - 멀티 링크 상에서 한 회선에 장애가 발생할 경우 자동으로 데이터는 사용 가능한 회선으로 전송이 됨
    - 장비간의 멀티링크 구성이 가능
    멀티 링크 상에서 VC을 통한 Load balancing 설정 가능
    - 멀티 링크 상에서 한 회선에 장애가 발생할 경우 자동으로 데이터는 사용 가능한 회선으로 전송이 됨
    장비간의 트렁크 회선 구성
    멀티미디어 구현 - IETF에 의해 표준화가 완료된 QoS 보장 서비스 알고리즘에 멀티미디어 데이터 수용
    - General Characterization Parameters for Integrated Service Network Elements (RFC 2215)
    - Network Element Service Specification Template (RFC 2216)
    - The Use of RSVP with IETF Integrated Services (RFC 2210)
    - Specification of the Controlled-Load Network Element Service (RFC 2211)
    - Specification of Guaranteed Quality of Service (RFC 2212)
    - CBR,VBR,ABR,UBR과 같은 다양한 트래픽에 적합한 AAL(ATM Adaptation Layer)를 제공
    - CBR,VBR를 통하여 멀티미디어와 같은 실시간 데이터 수용
    - IP 데이터는 UBR에서만 전송 가능
    - ATM Circuit Emulation은 STDM 프로토콜을 TDM 방식으로 Emulation하는 것으로 실시간 데이터를 등시성을 유지하면서 전송 하기에 적합한 방식으로 주로 WAN Switch상에서 구현하는 기술
    - ATM은 IP 네트워크상의 멀티미디어 데이터 전송에는 QoS 보장 방안이 없다.
    VLAN - Broadcasting 데이터를 국소화 시키기 위한 방법
    - 다양한 VLAN 구성 방법 존재
    - Policy기반의 VLAN 구성
    - IEEE 802.1Q 및 ISL를 이용한 VLAN트렁크 구성
    - Emulated LAN으로 가상랜 구성
    - ATM상에서 기존 LAN 어플리케이션을 수용하기 위한 방법
    VLAN 구성은 두 기술 모두 같다. 하지마 구성하는 이유에서 좀 차이가 있으며,Ethernet은 ATM에 비해 다양한 VLAN구성이 가능한 장점이 있다.
    WAN 솔루션 WAN 접속 시 라우터 경유 WAN 솔루션을 제공하나 ATM-LAN Internetworking 시에는 ATM Router 필요 - Gigabit Ethernet은 설계 당시 WAN을 고려한 솔루션이 아니고, LAN상에서 고대역폭을 요구하는 어플리케이션을 위한 솔루션
    - 비교 대상 부적합
    라우팅 프로토콜 OSPR, RIP, DVMRP, BGP-4, PIM-SM and DM PNNI - Gigabit Ethernet은 다양한 표준 Routing Protocol을 지원
    - 향후 멀티케스트 데이터를 수용하기 위한 멀티케스트 라우팅 프로토콜도 지원
    - PNNI는 ATM상에서 SVC 콜이 발생 하였을 때 라우팅 시켜 주기 위하여 OSPF를 기반으로 개발한 알고리즘
    Multi-Layer 스위칭 Hardware 기반 Route/Switching MPOA - MPOA란 ATM 네트워크상에서 네트워크 계층 프로토콜의 지름길 전송을 위한 방법
    - LANE는 ATM 상의 서브넷 내의 데이터를 브리징하는 효율성을 제공하지만 라우팅 할 때는 라우터를 경유 해야 하는 문제점이 있다. 이러한 문제점을 해결한 것이 MPOA이다.
    - 그러나 MPOA도 초기 데이터는 라우터를 경유하고 라우터에서 라우팅 임계치가 초과 되었을 경우에만 MPOA 가 동작한다.
    - Gigabit Ethernet에서는 Switch에 ASIC 기반의 라우팅 모듈을 통해 Wire-Speed의 라우팅 기능을 수행

    4. 최적의 백본 네트워크 구축 시 고려 사항

    - 현재 사용 중인 Application 파악

    • TCP/IP Application 기반의 IP 네트워크를 사용한다면 IP 또는 Application 별로 QoS (Quality of Service) 지정을 해 주어야 한다.
    • 향후 IP 기반의 동 영상 데이터 전송에 대역폭을 보장해 주는 장비가 설치되어야 한다.

    - 기존 환경을 그대로 수용하는 기술 적용

    • 현재 End-User 접속 Network이 10Mbps Ethernet으로 연결 되어 있다면 기존 환경을 그대로 수용을 하며 고속의 대역폭을 열어 주는 것이 바람직

    - 비용

    • 고속의 백본 네트워크로 Upgrade를 하면서 많은 비용이 들지 않는 장비를 사용

    - 향후 확장성

    • 향후 확장성과 기술의 변화에 대비하여 모든 기술을 수용할 수 있고 향후 포트의 증가 시에도 장비의 추가가 없도록 설계
    • ATM, Giga-Bit Ethernet등의 신기술 채택이 가능한 제품 선정.

    'Computer Engineering > Networks' 카테고리의 다른 글

    이더넷, 패스트 이더넷, 기가빗 이더넷  (1) 2007.12.12
    CIDR과 서브넷과의 차이점  (0) 2007.12.09
    BGP/RIP/IGRP/OSPF  (0) 2007.12.08
    VPI &VCI  (0) 2007.12.08
    SSL Protocol 개념과 동작 원리  (0) 2007.12.08
    ATM VS Gigabit 비교  (0) 2007.12.08
    1.2 TCP/IP 프로토콜  (0) 2007.12.08
    IP 와 ATM  (0) 2007.12.08
    MPLS  (0) 2007.12.06
    기가비트이더넷이란?  (0) 2007.12.06
    네트워크 기초  (0) 2007.11.12

    1.2 TCP/IP 프로토콜

    1.2.1 개요

    ▶ 최초의 패킷 데이터 통신망은 미국의 국방성에서 1968년에 구축한 ARPANET이라고 할 수 있다.

    ▶ ARPANET을 구축하여 실제로 여러 컴퓨터들을 연결하는 데 있어 가장 큰 문제가 된 것은, 여러가지 서브네트웍(LAN, 패킷교환망, 위성망 등)을 통과하여 종점 호스트들을 상호 연결하기 위한 트랜스포트 계층 프로토콜이 당시에는 표준화되어 있지 않았다는 것이다.

    ▶ ARPANET에서 임의의 서브네트웍을 통해 접속된 장비들의 종점간 연결과 라우팅을 제공하기 위하여 미국 국방성에서 제정한 프로토콜이 TCP/IP 프로토콜이다.

    ▶ TCP/IP 프로토콜을 구성하는 주요 두 프로토콜은 IP와 TCP이다.

    ▶ TCP/IP 프로토콜이라고 하면 TCP와 IP 두 프로토콜만을 지칭하는 것이 아니라 UDP(User Datagram Protocol), ICMP(Internet Control Message Protocol), ARP(Address Resolution Protocol), RARP(Reverse ARP) 등 관련된 프로토콜을 통칭하는 것이다.

    ▶ 1993년 이후에는 TCP/IP에 기반한 WWW(World Wide Web) 서비스가 폭발적으로 확산되면서 TCP/IP는 이제 컴퓨터 통신망의 실질적인 표준이 되어 있다.

    ▶ TCP/IP 프로토콜은 네트웍액세스 계층, 인터넷 계층, 트랜스포트 계층, 응용 계층의 4개의 계층으로 구성되어 있다.

    ▶ TCP/IP를 OSI 7-계층과 비교하면 그림 1-2와 같고, TCP/IP 각 계층의 내부 프로토콜은 그림 1-3에 나타냈다.

    그림 1-2 TCP/IP와 OSI 7 계층 프로토콜 구조의 비교

    ▶ 네트웍 액세스 계층은 IP 패킷의 물리적인 전달을 담당하는 서브네트웍 기능을 제공하며 dial-up 회선, LAN, X.25 패킷망 등이 여기에 해당된다.

    ▶ 인터넷 계층은 비연결형 서비스 즉, 데이터그램 방식으로 호스트 사이에 IP 패킷을 전달하는 기능과 라우팅 등을 수행한다.

    ▶ 트랜스포트 계층은 호스트 사이의 종점간 연결을 제공하고 종점간의 데이터 전달을 처리한다.

    ▶ 트랜스포트 프로토콜에는 TCP와 UDP 두 개의 프로토콜이 있다.

    그림1-3 TCP/IP 내부의 계층별 프로토콜

    ▶ TCP는 신뢰성 있는, 즉 재전송에 의한 오류제어와 흐름제어를 하는 스트림(stream) 형태의 연결형 서비스를 제공한다.

    ▶ UDP는 재전송이나 흐름제어가 없는 비연결형 서비스를 제공한다.

    ▶ 응용 계층은 TCP/IP 프로토콜을 이용하는 응용 서비스로서 TCP 또는 UDP가 지원하는 응용으로 각각 구분할 수 있다.

    ▶ 표 1-2에 TCP 또는 UDP 그리고 TCP와 UDP 두 가지 모두가 지원하는 대표적인 응용 계층 서비스를 나타냈다 (/etc/services).

    트랜스포트 프로토콜

    응용 계층 서비스

    TCP

    - File Transfer Protocol(FTP)

    - TELNET

    - Simple Mail Transfer Protocol (SMTP)

    - Hyper Text Transport Protocol (HTTP)

    UDP

    - Network File System(NFS)

    - Trivial FTP(TFTP)

    TCP, UDP (모두 지원)

    - Echo

    - Daytime

    - Time

    표 1-2 TCP와 UDP가 지원하는 응용 계층 서비스

    1.2.2 네트웍 액세스 계층

    ▶ 네트웍 액세스 계층으로는 dial-up회선, LAN, X.25 패킷망, 위선통신 회선 등 모든 종류의 서브네트웍이 사용될 수 있다.

    ▶ CSMA/CD(Carrier Sense Multiple Access/Collision Detection) MAC 프로토콜을 사용하는 이더넷은 Xerox사에서 처음 제안하였으며 Xerox, Intel, Digital (DIX) 3사가 1978년 공동 표준으로 채택하였다.

    ▶ 한편 1980년대 초 미국 전기·전자공학회, IEEE(Institute of Electrical and Electronics Engineering)에서 이더넷 프로토콜을 약간 변형하여 IEEE 802.3 MAC 표준을 정하였다.

    ▶ Preamble(8바이트)은 수신측에서 동기를 맞추기 위한 준비 신호이며 1과 0의 반복으로 되어 있다.

    ▶ Preamble의 끝을 알리기 위하여 Preamble의 8번째 바이트는 10101011으로 되어 있다.

    ▶ DA와 SA는 각각 6바이트로 된 수신지 및 송신지의 MAC 주소인데 MAC 주소는 범세계적으로 유일하게(unique) 지정되는, 일종의 물리적인 고유번호라 할 수 있다

    ▶ 그림 1-4에서 Type 필드는 상위 계층의 프로토콜을 구분한다. 예를들어 Type이 0x0800이면 상위 계층이 IP 프로토콜이고, 0x0806이면 ARP 프로토콜임을 나타낸다.

    그림 1-4 이더넷 프레임 구조

    ▶ 그림 1-5의 MAC 주소에서 처음의 두 비트는 항상 0이고, 그 다음 22비트는 IEEE에서 기관(예: LAN 카드 제조 회사)별로 할당한 주소이며, 뒤의 24비트는 LAN 카드마다 유일하게 생산자가 부여하는 번호이다.

    그림 1-5 MAC 주소 구조(48비트)

    ▶ Info는 상위 계층의 사용자 정보를 말한다(예: IP 패킷).

    ▶ 이더넷 MAC 프레임에서 Type 필드를 사용하여 상위 계층 프로토콜을 바로 구분할 수 있는 것과 달리, IEEE 802.3 MAC 표준에서는 이 필드를 Type 대신 Info의 크기를 나타내는 Length 필드로 사용하고 있다.

    ▶ IEEE 802.3에서는 상위 계층에 전달할 프로토콜을 구분하기 위하여 Info 필드에 실려 있는 LLC(Logical Link Control) 프레임 헤더 중 일부 필드를 사용하고 있다.

     

    1.2.3 인터넷 계층

    ▶ 인터넷 계층은 인터넷 프로토콜(IP: Internet Protocol)을 처리하는 계층이다.

    ▶ 인터넷 계층은 서브네트웍에 무관하게 데이터그램 패킷을 임의의 호스트 사이에 주고받기 위한 프로토콜로 OSI의 네트웍 계층에 해당하는 기능을 수행한다.

    ▶ 패킷교환 표준인 X.25 프로토콜과 IP 프로토콜의 가장 큰 차이점은, X.25는 연결형 서비스(가상회선)와 비연결형 서비스(데이터그램)를 모두 지원하지만 IP는 비연결형 서비스만 지원한다는 것이다.

    ▶ 모든 IP 패킷은 송신지와 수신지의 주소로서, 각각 32 비트의 IP 주소를 항상 포함하고 있어야 하며 전송 효율이 그만큼 떨어지게 된다.

    ▶ 인터넷 계층 프로토콜의 핵심은 바로 이 32비트의 IP 주소(이를 인터넷 주소라고도 한다)의 사용인데, IP 주소는 인터넷에 접속된 모든 호스트에 대하여 전세계적으로 유일하게 배정되는 주소이다.

    (1) IP 주소(IP address)

    ▶ 인터넷(Internet)을 달리 표현하면 "IP 프로토콜을 사용하는 모든 장비(라우터 및 호스트)들의 집합"이라고도 할 수 있다.

    ▶ 32비트의 IP 주소를 보기 쉽게 표시하기 위하여, 네 바이트 단위로 나누고 이를 10진수로 표시하는 dotted decimal 표현 방식이 널리 사용되고 있다.

    ▶ 예를들면 32비트 IP 주소 10000001 00001010 0000110 0000111를 dotted decimal IP 주소로 표현하면 129.10.6.7이 된다.

    ▶ IP 주소는 네트웍을 구분하기 위한 netid 필드와 한 네트웍내에서 호스트를 구분하기 위한 hostid 필드 두 부분으로 구성된다.

    그림 1-6 IP 주소의 종류

    ▶ 각 필드에서 사용하는 비트 수의 크기에 따라 그림 1-6과 같이 네 가지 클래스로 구분된다.

    1) 클래스 A 주소 : 첫번째 바이트의 첫 비트가 0

    첫 바이트의 나머지 7비트가 netid이고, 뒤의 세 바이트가 hostid이며 한 네트웍이 약 224대의 호스트를 수용할 수 있다.

    2) 클래스 B 주소 : 첫번째 바이트의 처음 두 비트가 10

    첫번째 바이트의 나머지 6비트와 두번째 바이트가netid이고 뒤의 두 바이트가 hostid이며 한 네트웍이 약 216대의 호스트를 수용할 수 있다.

    3) 클래스 C 주소 : 첫번째 바이트의 처음 세 비트가 110

    세번째 바이트까지가 netid이고 마지막 한 바이트가hostid이며 한 네트웍이 254대까지 수용한다

    4) 클래스 D 주소 : 첫번째 바이트의 처음 네 비트가 1110

    멀티캐스트 주소로 사용된다. 목적지 주소가 D 클래스인 패킷은 멀티캐스트 그룹에 연결된 모든 장비로 전달된다.

    ▶ IP 주소 체계의 가장 큰 문제점은 IP 주소가 netid와 hostid 두 부분으로 구성되어 있다는 것이다. 즉, 어떤 컴퓨터가 다른 네트웍으로 이동하면 netid 부분이 새로 접속된 네트웍의 netid로 달라지고 따라서 이 컴퓨터의 IP 주소가 달라지게 된다.

    ▶ 노트북 컴퓨터나 휴대형 정보기기 등에서 인터넷 접속시 걸림돌이 되고 있는데 이를 해결하기 위하여 모빌 인터넷 프로토콜(mobile IP)이 제안되었다.

    ▶ IP 프로토콜 버전 6(IPv6)에서는 모빌 인터넷 기능이 표준안에 포함되어 있다.

    (2) 서브네팅(subnetting)

    ▶ 인터넷에 가입하려면 반드시 인터넷 주소(IP 주소)를 먼저 배정받아야 한다.

    ▶ 전세계적으로 유일한 IP 주소를 할당받기 위해 IP 주소 중 네트웍 어드레스(netid)는 NIC(Internet Network Information Center) 또는 국내 대행기관(한국전산원 등)에서 받아야 한다.

    ▶ IP 주소의 수는 한정되어 있으므로 어떤 기관에서 배정받은 하나의 네트웍 주소(A, B 또는 C타입)를 다시 여러 개의 작은 네트웍으로 나누어 사용하는 방안이 경우에 따라 필요하며 이를 서브네팅(subnetting)이라 한다

    ▶ 4바이트 IP 주소 중에 netid 부분을 구분하기 위한 mask를 subnet mask라고 한다.

    ▶ 클래스 A 망을 위한 디폴트 subnet mask는 255.0.0.0이고 클래스 B의 망은 255.255.0.0, 클래스 C의 망은 255.255. 255.0이 된다.

    ▶ 서브네팅의 예로서 클래스 C 주소에서 hostid로 8비트가 아닌 6비트만 사용하고 netid로 24비트가 아닌 26비트를 사용하는 경우 subnet mask는 255.255.255.192가 된다(그림 1-7 참조).

    ▶ 그런데 netid로 2비트를 추가로 사용함으로써 모두 4개의 서브네트웍이 생겨야 하나 실제로는 이 두 비트의 패턴이 모두 1 또는 모두 0인 경우(즉, 11과 00)를 허용하지 않는다. 따라서 두 비트를 netid로 추가로 사용하여도 모두 두 개의 서브네트웍만 만들 수 있다.

    ▶ 만약 3비트를 서브네트웍을 만드는 데 사용하였다면 모두 8개의 서브네트 주소 가운데 111과 000인 경우를 제외하고 6개의 서브네트웍을 사용할 수 있게 된다.

    그림 1-7 2비트를 서브네팅 주소로 사용한 경우의 subnet mask

    ▶ 한편 호스트 주소(hostid) 중에서 모두 1인 것은 방송용으로, 모두 0인 것은 자신의 주소(loopback)용으로 지정되어 있으므로 이 두 개의 주소는 특정 호스트에 배정할 수 없다.

    ▶ 표 1-3에 보인 바와 같이 서브네팅을 하면 배정 가능한 총 IP 주소 수가 줄어드는 것을 알 수 있다.

    ▶ 그러나 서브네팅이 필요한 이유는 큰 규모의 네트웍을 작은 규모의 LAN으로 나누어 주소 관리와 라우팅을 편하게 하기 위해서이다.

    구 분

    서브네팅 주소로 사용한 비트 수

    (나누지 않음)

    2비트 사용

    3비트 사용

    Subnet mask

    255.255.255.0

    255.255.255.192

    255.255.255.224

    서브네트웍

    1

    4-2 = 2

    8-2 = 6

    서브네트웍내의 호스트

    256-2 = 254

    64-2 = 62

    32-2 = 30

    배정 가능한 IP 주소

    254

    2×62 = 124

    6×30 = 180

    표 1-3 클래스 C IP 주소에서 2비트 또는 3비트를 사용하여 서브네팅을 하였을 때의 결과 비교

     

    (3) IP 패킷 구조

    ▶ IP 패킷의 구조는 그림 1-8과 같으며 헤더의 각 필드의 기능을 표 1-4에 정리하였다.

    그림 1-8 IP 패킷 구조

    필 드 명

    길이

    (비트)

    기 능

    Ver (Version)

    4

    IP 버전 값을 표시(현재는 4)
    IHL

    4

    4바이트 단위로 헤더 길이를 표시(최소값은 5)
    Service Type

    8

    서비스 클래스 지정(보통 0으로 지정)
    Total Length

    16

    IP 패킷 크기(바이트 단위이며 최대값은 65535)
    Identification

    16

    데이터그램을 유일하게 구분할 필요가 있을 사용하는 일련번호
    Flags

    3

    첫번째 비트 : More 비트(0: 마지막 패킷, 1: 연속되는 패킷)

    두번째 비트 : 세분화 금지 플래그(0: 세분화 가능)

    세번째 비트 : 미사용

    Fragment Offset

    13

    전체 메시지 패킷의 위치를 표시(8 바이트 단위)
    TTL (Time to Live)

    8

    패킷이 통신망내에서 계속 돌아다니는 것을 방지하기 위하여 사용되며 보통 hop counter 값을 사용한다. 노드를 지나갈 때마다 TTL값이 1 감소하고 이것이 0 되는 노드에서 패킷을 제거한다.
    Protocol

    8

    데이터를 전달할 상위 계층 프로토콜을 지정 (1: ICMP, 6: TCP, 17:UDP)
    Header Checksum

    16

    헤더 부분의 오류 검출
    Source IP Address

    32

    송신지 IP 주소
    Destination IP Address

    32

    수신지 IP 주소
    IP Options

    가변

    옵션 선택(보통 사용하지 않는다)
    Padding

    가변

    32비트 단위로 패킷의 길이를 맞춤(보통 사용하지 않는다)

    표 1-4 IP 패킷 헤더의 기능

    (4) 인터넷 계층의 동작

    1) 데이터 전송

    ▶ 인터넷 계층의 주요기능은 상위 트랜스포트 계층으로부터 받은 데이터에 IP 패킷 헤더를 붙여 IP 패킷을 만들고 이를 전송하는 것이다.

    ▶ 상위 계층으로부터 받은 데이터의 크기가 IP 패킷의 최대 데이터 영역 크기보다 큰 경우에는 이를 여러 개의 IP 패킷으로 분해하여 전달하며 나누어진 각 IP 패킷의 More 비트를 1로 세트하여 이들이 논리적으로 연결된 것임을 표시하고 마지막 패킷의 More 비트는 0으로 한다.

    2) ICMP(Internet Control Message Protocol)

    ▶ 인터넷 계층 프로토콜 중 ICMP는 호스트 또는 라우터 사이에 오류 정보, 제어 메시지를 전달하는 데 사용되며 주로 IP가 이용하지만 ping이나 traceroute 같은 응용 프로그램이 직접 사용하는 경우도 있다.

    3) ARP(Address Resolution Protocol)

    ▶ 인터넷에 연결되는 모든 호스트는 네트웍 계층 주소에 해당하는 32비트의 IP 주소를 가지고 있다.

    ▶ 한편 이 장비가 LAN에 접속되어 있는 경우 LAN 카드에는 MAC 프레임을 상호 교환하는 데 필요한 48비트의 MAC 주소를 가지고 있게 되며 LAN내에서 장비간에 물리적으로 프레임을 전달하는 데에는 이 MAC 주소가 사용된다.

    ▶ 전달된 MAC 프레임내의 IP 패킷을 대상으로 인터넷 계층의 기능(비연결형 데이터그램 전달 서비스, 라우팅 등)을 처리하기 위하여 IP 주소가 사용된다.

    ▶ LAN에서 어떤 컴퓨터에 IP 패킷을 물리적으로 전달하기 위하여는 먼저 그 장비의 MAC 주소를 알아야 하는데 어떤 장비의 IP 주소를 가지고 그 장비의 MAC 주소를 알아내기 위한 절차(프로토콜)를 ARP(Address Resolution Protocol)라 한다.

    ▶ ARP의 동작 순서는 다음과 같으며 그림 1-9에 이를 나타냈다.

    ① 예를들어 telnet cc.kangwon.ac.kr라는 명령을 내리면, 응용 프로그램 telnet은 먼저 cc.kangwon.ac.kr 컴퓨터의 IP 주소가 192.203.144.11인 것을 찾는다.

    ② telnet은 위에서 알아낸 IP 주소를 TCP에게 알려주고 이곳으로 접속을 하도록 요구한다.

    ③ IP 계층은 목적지의 netid인 kangwon.ac.kr이 자신의 netid와 같은지를 비교하여 목적지가 같은 LAN내에 있으면 LAN을 통하여 바로 telnet 서비스 요구를 전송하도록 한다. 이때 목적지의 MAC 주소를 알아내기 위하여 ARP를 구동한다(목적지가 다른 망에 있는 경우에 대하여는 1.2.5절에서 설명한다).

    ④ARP에서는 목적지 장비의 MAC 주소를 찾기 위하여 ARP request 패킷을 LAN내의 모든 장비에게 방송한다.

    ⑤ 목적지 컴퓨터(cc.kangwon.ac.kr)만 ARP request에 응답을 하며 이때 자신의 MAC 주소를 알려온다.

    ⑥ 이 MAC 주소를 사용하여 telnet 서비스에 필요한 데이터들을 목적지(cc)로 전송한다.

    그림 1-9 ARP의 동작 순서

    ▶ 동일한 목적지 호스트에 IP 패킷을 연속하여 보낼 때 매번 ARP를 사용하면 ARP를 처리하기 위한 패킷들을 자주 전송하게 되어 대역 이용률이 떨어진다. 이와같이 매번 ARP request 패킷을 방송하지 않도록 하기 위하여, ARP로 얻은 최근의 정보를 캐시에 기록해 두는 것이 효율적이다.

    ▶ 멀리 떨어져 있는 목적지 호스트를 대신하여 중간에 있는 라우터가 ARP에 응답할 수 있다면 동작 시간을 단축할 수가 있는데 이때 목적지를 대신하여 ARP 요구자에게 응답하는 중간의 라우터를 Proxy ARP라 한다.

    4) RARP

    ▶ARP의 역과정, 즉 48비트 MAC 주소로부터 그 장비의 32비트 IP 주소를 알아내는 과정을 RARP(Reverse ARP)라 한다.

    (5) SLIP과 PPP

    ▶ dial-up 회선이나 전용회선과 같은 직렬(serial)회선을 통하여 IP 패킷을 전송하기 위하여 SLIP(Serial Line IP)과 PPP (Point-to-Point Protocol)가 정의되었다.

    1) SLIP

    ▶ SLIP은 비동기(asynchronous) 회선을 통하여 IP 패킷을 전송하기 위해 1988년에 제안되었다.

    ▶ 비동기 전송 회선이 바이트 단위의 전송을 제공하므로 SLIP도 한 바이트씩 데이터를 분할하여 전송하고 수신측에서는 이를 IP 패킷으로 재구성하여야 한다.

    ▶ SLIP은 IP 데이터그램의 시작과 끝을 표시하는 SLIP END(0xC0)문자를 사용한다(그림 1-10참조).

    그림 1-10 SLiP의 프레임 구조

    ▶ 이와같은 방법에서는 IP 패킷내에 우연히 SLIP END와 같은 비트패턴이 발생하는 경우 데이터가 중간에서 끊어지는 오동작이 발생할 수가 있다.

    ▶ 이를 해결하기 위하여 SLIP ESC 문자 0xDB를 사용하여 IP 패킷 내에서 0xC0문자가 발생하면 이를 0xDBDC로 대치하여 전송한다.

    ▶ 한편 IP 패킷 중에 SLIP ESC 문자 0xDB가 나타날 수도 있으므로, IP 패킷 내용 중에 0xDB가 발생하면 이를 0xDBDD로 바꾸어 전송한다.

    ▶ SLIP은 제안된 초기에는 많은 관심을 끌었으나 다음과 같은 단점 때문에 널리 사용되지 않고 있다.

    ▶ 첫째, SLIP을 사용하려면 상대방의 IP 주소를 반드시 미리 알고 있어야 하고 둘째로 SLIP은 이더넷과 달리 Type 필드를 제공하지 않는다. 즉, SLIP은 IP 패킷을 전송하는 것 이외의 다른 프로토콜을 지원하는 것이 불가능하다. 셋째로 SLIP은 에러 검출 또는 회복기능을 제공하지 않는다.

    2) PPP(Point-to-Point) 프로토콜

    ▶ PPP는 SLIP의 단점을 보완한 프로토콜로서 1992년에 제안되었으며 IP 패킷의 전송뿐 아니라 여러 프로토콜을 하나의 링크를 통하여 지원할 수 있다.

    ▶ SLIP이 비동기 전송 채널만을 지원하는 것과 달리 PPP는 비동기전송과 동기전송(Byte-oriented 또는 Bit-orient ed) 회선에서 모두 사용할 수 있으며 매체의 전송속도에 무관하게 동작한다.

    ▶ 저속의 dial-up 회선 뿐만아니라 고속 전용회선(56kbps∼ 45Mbps)에서 사용할 수 있도록 설계되었다.

    ▶ PPP는 이더넷과 같은 LAN을 중간에 경유하는 종점간의 일대일 접속 프로토콜로도 사용될 수 있다.

    ▶ PPP 프로토콜은 OSI 링크 계층 표준으로 제안된 HDLC (High-level Data Link Control)에서 변형된 형태라고 할 수 있는데 HDLC의 헤더의 크기를 줄이고 데이터를 압축함으로써 전송 효율을 더 높였다는 것이 특징이다.

    ▶ PPP 프레임에서도 HDLC에서와 같이 0x7E를 프레임의 시작과 끝을 표시하는 플래그로 사용한다(그림 1-11 참조).

    그림 1-11 PPP 프레임 구조

    ▶ PPP 프레임의 Address와 Control은 각각 0xFF와 0x03으로 고정되어 있고 Protocol 필드는 프레임이 전달하는 정보의 종류를 구분하는 데 사용된다.

    ▶ 예를들어 Protocol 필드가 0x0021이면 IP 패킷을, 0x002B이면 IPX 패킷을 가리킨다.

    1.2.4 트랜스포트 계층

    (1) 연결형과 비연결형 서비스

    ▶ 연결형 서비스란 일단 상대방과 연결을 설정하고 이 연결을 이용해 데이터를 주고받은 후 연결을 해제하는 세 단계의 절차를 거치는 서비스로 X.25의 가상회선 패킷 교환 서비스, 전화와 같은 회선교환 서비스, 그리고 TCP는 연결형 서비스이다.

    ▶ 연결형 서비스에서는 연속된 흐름(stream)의 데이터 송수신이 가능하며 큰 파일 전송시에도 데이터가 중간에 끊어지는 것에 대하여 사용자가 신경쓸 필요가 없다.

    ▶ 연결형 서비스는 한 번에 많은 양의 데이터를 전송할 때나 신뢰성 있는 연결이 필요할 때, 또는 데이터의 순서 보장이 필요할 때 사용된다.

    ▶ 비연결형 서비스란 연결을 설정하고 해제하는 절차 없이 바로 데이터를 주고받는 방식으로 데이터그램 서비스라고도 한다

    ▶ 비연결형 서비스는 데이터그램의 손실 확인이나 순서유지를 보장해 주지 않기 때문에 (상위의) 응용 프로그램에서 필요하면 이를 처리해야 한다. 그러나 프로토콜 헤더 처리에 필요한 오버헤드(연결설정 지연 등)가 연결형 서비스보다 적어 간단한 패킷을 주고받는 경우에 유리하다.

    ▶ 비연결형 서비스에는 이더넷 등의 프로LAN, X.25의 데이터그램 서비스, IP 패킷 전송, UDP 토콜 등이 해당된다.

    (2) 트랜스포트 프로토콜

    ▶ TCP/IP의 트랜스포트 계층에는 연결형(Connection Oriented) 서비스를 제공하는 TCP 프로토콜과 비연결형(Connectionless) 서비스를 제공하는 UDP 프로토콜이 있다.

    ▶ 연결형 서비스인 TCP는 트랜스포트 계층에서 종점간의 연결 개설, 오류 발생시 데이터 재전송, 패킷 전달순서 확인, 중복 패킷 제거, 흐름제어, 네트웍 오동작시 보고 등을 제공하는 서비스이다.

    ▶ 비연결형 서비스인 UDP는 위의 연결형 서비스를 제공하지 않고 단순히 패킷을 하나씩 목적지 주소로 전송만 한다. 따라서 UDP를 안정적으로 사용하려면 응용 프로그램에서 데이터의 분실, 흐름제어, 오류 등을 처리하여야 한다

    ▶ 안정적인 데이터 전달을 필요로 하는 응용 프로그램은 대부분 TCP를 사용하고 있고 어떤 응용 프로그램은 UDP를 사용해야만 하는 경우도 있는데 이러한 경우는 다음과 같다.

    • 응용 프로그램이 UDP만을 사용하도록 작성되어 있는 경우
    • 패킷을 방송(broadcast) 또는 멀티캐스트 해야 하는 경우
    • TCP 처리 오버헤드 때문에 TCP로 처리할 시간이 없는 경우(실시간 서비스 등)

    (3) TCP

    ▶ TCP는 신뢰성 있는 종점간 데이터 전달을 책임지며 스트림(stream)형의 서비스를 제공함으로써 상위 계층의 통신 엔티티 사이에 투명한(transparent) 데이터 전달 환경을 제공한다고 한다.

    ▶ TCP의 프로토콜 데이터 단위(Protocol Data Unit: PDU)의 구조는 그림 1-12와 같으며 TCP 헤더 각 필드의 기능을 표 1-5에 정리하였다.

    그림 1-12 TCP 프로토콜 데이터 단위 (PDU)

    필 드 명

    길이

    (비트)

    기 능

    Source Port

    16

    송신측의 응용 프로세스를 구분하는 포트번호
    Destination Port

    16

    수신측의 응용 프로세스를 구분하는 포트번호
    Sequence Number

    32

    송신된 데이터의 순서번호(바이트 단위)
    Ack Number

    32

    수신된 데이터 바이트 + 1(아래의 ACK=1 의미가 있음)
    Header Length

    4

    헤더크기(4바이트 단위) 보통 5 된다

    Code

    Bits

    SYN

    1

    연결 요청시 사용되며 Sequence Number 초기값임을 알린다.

    ACK

    1

    Ack 데이터임을 표시(이때 Ack Number 값이 유효하다)

    URG

    1

    긴급 데이터임을 표시(이때 Urgent Pointer 값이 유효하다)

    FIN

    1

    접속을 종료하는 사용

    RST

    1

    접속을 리셋하는 사용
    Window

    16

    흐름제어용 윈도우 크기(바이트 단위)
    Checksum

    16

    TCP PDU 전체와 IP계층의 헤더 후반부 12바이트(송수신지 IP 주소 ) 대한 오류 검출코드
    Urgent Pointer

    16

    긴급 데이터가 들어 있는 위치를 표시

    표 1-5 TCP 헤더의 각 필드의 기능

    ▶ TCP에서는 종점 장비간의 연결 설정을 위하여 three- way handshake를 사용한다.

    ▶ OSI 표준의 패킷 교환망(X.25)의 네트웍 계층에서는 two-way handshake를 사용하는데 이들의 차이는 다음과 같다.

    • Two-way handshake : 연결 접속요구에 대하여 상대방이 응답을 하면(즉, 제어정보가 두 방향으로 갔다 오면) 연결이 이루어진다.
    • Three-way handshake : 연결 접속요구(Request For Connect : RFC)에 대하여 상대방도 이를 확인하면서 다시 연결 접속요구(RFC)를 하고 이에 대해 처음의 연결 요구측에서 ACK를 보내야 연결이 되는 것으로 이중으로 연결절차를 확인한다. 트랜스포트 계층에서 three- way handshake를 사용하는 이유는 중간의 서브네트웍의 종류에 무관하게 종점간의 안정적인 연결을 확인하기 위해서이다(예를들면 연결요구 패킷의 손실 등).

    ▶ TCP는 한번의 명령으로 보낼 수 있는 데이터의 크기가 제한되지 않으므로 임의의 길이의 큰 파일을 전송할 수 있다(UDP에서는 한 번에 전송할 데이터가 UDP 최대 데이터그램 크기보다 크면 뒷 부분이 전송되지 않는다).

    ▶ TCP에서는 흐름제어를 패킷 단위가 아니라 데이터 분량(바이트 단위)으로 수행한다.

    ▶ 송신측은 상대방이 최근에 보내온 TCP 헤더의 Window 값(표 1-5참조)을 읽어 바이트 단위인 Window 크기(이를 credit 값이라 한다.) 내에서만 TCP 데이터를 전송할 수 있다.

    ▶ 상대방 즉, 수신측은 자신의 데이터 처리 능력과 네트웍 사정에 따라 Window 값을 바꿈으로써 흐름제어를 할 수 있다.

    (4) UDP

    ▶ UDP(User Datagram Protocol)의 오버헤드는 TCP 보다 작다.

    ▶ 송신지 및 목적지의 포트번호(16비트), 데이터그램 길이(16비트), Checksum 그리고 사용자 데이터로 구성된다(그림 1-13 참조).

    그림 1-13 UDP 프로토콜 데이터 단위

    ▶ UDP는 신뢰할 수 있는 종점간 데이터 송수신을 보장하지 않으므로 파일 전송, 메일 서비스 등에는 적합하지 않다.

    ▶ 도메인 네임(domain name) 서비스나, time 서비스와 같이 한 패킷의 송수신으로 어떤 서비스가 이루어지는 경우에 많이 사용된다.

    ▶ LAN과 같이 전송 오류가 거의 없고 패킷의 전달 순서가 바뀌지 않는 환경에서는 TCP보다 처리 속도가 빠른 UDP가 유리할 수 있다.

    ▶ LAN에서 제공되는 NFS(Network File System)는 UDP를 사용한다.

     

    1.2.5 네임 서비스

    ▶ TCP/IP 사용자 또는 프로그래머가 목적지 호스트의 IP 주소를 항상 기억하고 있기는 어려우므로 실제로 호스트마다 영문 이름을 부여하여 사용한다.

    ▶ 영문 이름을 도메인 네임이라 하고 이에 관한 서비스를 네임 서비스라 한다.

    ▶ 예를들어 mail hjkim@cc.kangwon.ac.kr이라는 명령문을 입력하면 호스트에서는 먼저 목적지 호스트 cc.kangwon. ac.kr의 IP 주소 192.203.144.11을 찾아내야 하는데 이 과정(또는 이의 역과정)을 네임 서비스라고 한다.

    (1) Domain Name System

    ▶ 인터넷 주소를 편리하게 관리하기 위하여 네트웍 단위로 또는 논리적인 컴퓨터 그룹 단위로 도메인 네임을 계층화시켜(hierarchical) 체계화한 것을 DNS(Domain Name System)라고 한다.

    ▶ 아래의 인터넷 주소에서 도메인 이름은 kangwon.ac.kr이며 주소 각 부분의 의미는 다음과 같다.

    • 영문 인터넷 주소 : hjkim@cc.kangwon.ac.kr
    • hjkim : 호스트 cc에 있는 사용자 계정 이름
    • cc : 호스트 이름
    • kangwon: 강원대학교를 나타내는 도메인 이름
    • ac : 교육망을 나타내는 도메인 이름
    • kr : 한국을 나타내는 도메인 이름

    (2) Hosts 테이블

    ▶ 네임 서비스를 제공하는 가장 기본적인 방법은 hosts 테이블에 통신할 대상이 될 수 있는 각 호스트의 도메인 네임과 IP 주소의 관계를 아래와 같이 기록하여 두는 방법이다.

    # /etc/hosts

    # Internet host table

    #

    #

    # IP 주소 도메인 네임 별명

    127.0.0.1 localhost

    203.252.65.3 vcn loghost

    192.203.144.11 cc.kangwon.ac.kr cc

    192.203.144.15 bbs.kangwon.ac.kr bbs

    :

     

    ▶ 위에서 127.0.0.1은 loopback 주소 즉, 목적지가 같은 컴퓨터내에 있을 때 사용하는 주소이며 loghost란 현재 사용중인 컴퓨터를 말한다.

    ▶ hosts 테이블을 사용하여 네임 서비스를 제공하는 방법은 관리할 주소의 규모가 작을 때는 가능하나 통신 가능한 모든 도메인 이름을 hosts 테이블에 수용하기란 불가능하다.

    ▶ 따라서 대부분의 인터넷 장비는 다음에 설명할 DNS 서버를 통하여 네임 서비스를 이용하고 있다.

    ▶ 그러나 DNS 서버가 고장났을 때 중요한 호스트들에 접속하기 위해서, 그리고 자주 접속되는 호스트들의 IP 주소를 빨리 찾기 위하여 DNS 서버와 병행하여 hosts 테이블을 사용하는 것도 필요하다.

    (3) DNS 서버

    ▶ 네임 서비스를 위하여 hosts 테이블과 같은 평면적 데이터베이스를 쓰는 방식은 이름의 중복, 테이블 크기의 증가 등 여러 가지 문제점이 발생하게 된다.

    ▶ 이를 해결하기 위하여 DNS 서버를 사용하는데 DNS 서버란 DNS 서비스를 전담하여 제공하는 서버를 말한다.

    ▶ 하나의 DNS 서버가 전세계에 있는 모든 호스트의 정보를 가지고 있기란 불가능하므로 DNS 서버는 계층적으로 서비스를 제공하여야 한다.

    ▶ 예를들어 hosts 테이블에 없는 네임을 처리하려면 이를 디폴트로 문의할 DNS 서버를 지정해 둔다.

    ▶ 이 디폴트 DNS 서버에서 처리되지 못하는 네임은 한 단계 상위의 도메인 네임들을 처리할 수 있는 다른 DNS 서버에게 문의한다.

    (4) 서비스 파일

    ▶ 한 호스트내에서는, 특히 UNIX 서버에서는 여러 개의 프로세스가 동시에 수행되고 있을 수 있으므로 TCP/IP는 이들을 구별하기 위해 포트번호를 사용한다.

    ▶ IP 프로토콜이 네트웍으로부터 수신한 패킷을 전달할 상위 응용 프로세스를 구분하기 위하여 포트번호를 사용하는 것이다.

    ▶ 포트번호에는 미리 정해진 것들도 있고 응용 프로그램에서 임의로 정해서 사용하는 것도 있다.

    ▶ telnet이나 ftp 같은 널리 쓰이는 응용 프로그램에는 포트번호가 미리 지정되어 있으며 이런 것을 well-known 포트라고 한다.

    ▶ well-known 포트 번호는 1024번 이하가 배정되며 사용자가 응용 프로그램에서 임의로 포트를 정의하여 사용하는 경우에는 1025번 이상의 포트번호를 사용하여 well-known 포트 번호와 중복되지 않도록 하여야 한다.

    ▶ TCP/IP를 지원하는 어떤 호스트의 well-known 포트번호가 정의되어 있는 파일을 서비스 파일이라고 한다.

    ▶ 예를들어 저자가 사용중인 UNIX 호스트의 서비스 파일/etc/services의 일부분을 아래에 보였다.

    #

    # Network services, Internet style

    #

    # 서비스명 포트번호/프로토콜 별명

    #

    echo 7/tcp

    echo 7/udp

    ftp 21/tcp

    telnet 23/tcp

    smtp 25/tcp mail

    time 37/tcp timserver

    :

    :

     

    ▶ 예를들어 smtp 25/tcp mail 라인의 의미는, smtp(simple mail transfer protocol) 서비스는 25번 포트번호를 사용하고 tcp 프로토콜로 구현되어 있으며 smtp 서비스의 별명으로 mail을 사용할 수 있다는 것을 나타낸다.

    'Computer Engineering > Networks' 카테고리의 다른 글

    CIDR과 서브넷과의 차이점  (0) 2007.12.09
    BGP/RIP/IGRP/OSPF  (0) 2007.12.08
    VPI &VCI  (0) 2007.12.08
    SSL Protocol 개념과 동작 원리  (0) 2007.12.08
    ATM VS Gigabit 비교  (0) 2007.12.08
    1.2 TCP/IP 프로토콜  (0) 2007.12.08
    IP 와 ATM  (0) 2007.12.08
    MPLS  (0) 2007.12.06
    기가비트이더넷이란?  (0) 2007.12.06
    네트워크 기초  (0) 2007.11.12
    단말시스템  (0) 2007.11.12
    http://kldp.org/KoreanDoc/html/GNU-Make/GNU-Make.html#toc1
    IP 와 ATM
     

    90년대 network 양상을 이해하는데 좋은 토픽 하나가 ATM IP 이다.

    이 두 단어는 사실 서로 mutual exclusive 한 것이 아니다. 하지만 서로 경쟁관계에 있는 두 진영에
    서 나온 까닭에 나중에 가서는 결국 IP 가 ATM 을 몰아내는 것처럼 보이게 된다.

     

    먼저 이걸 이야기 하기에 앞서 약간의 background 살펴보자.

     

    87 미의회가 data network 일반인에게도 개방을 허용함에 따라,  Network 새로운 양상을 맞게 된다. 사실 지금까지 내가 설명한 Phone Network 사실 우리가 아는 Internet 별개의 존재였다. 우리가 아는 Internet 거의 대부분 data 통신망을 의미하지만, 87 년에 법으로 개방되기 전까지는 망은 일반 사용자들은 없는 망이었다. 물론 이전에도, 특정 기관이 국지적으로 phone network  써서 자신들의 data 전송한 얘는 많았다. 우리나라에서도 한동안 kitel, hitel, unitel, nownuri 등등의 회사들이 data 전송망이 아닌 전화망으로 한동안 networking service 했었다. 하여튼 이후부터 미국에서 일반인들이 data 전송망을 공유할 있게 되었고, 다른 나라에서도, 각기 미국으로 전화선을 통해 data 망에 접속하게 됨으로써 세계의 data 망이 완성되게 된다.

    (이제 세계는 하나….)

     

    이와 더불어 국의 관리 회사들, 전화 회사들은 이전에도 그랬지만, 더욱 때돈을 벌게 된다. 그리고 회사들에게 장비를 파는 회사들 또한 많은 돈을 벌게 된다. 회사들 가운데 지금도 살아남은 회사들은 Cisco, Nortel, Fujitsu, Alcatel-lucent, Siemans, Ericsson, Motorola 등이다. Ericsson, Motorola 외에는 거의 들어본 적이 없지? 이유는 회사들이 주로 소비자가 아닌 회사를 상대로 물건을 팔아온 회사들이기 때문이다. Cisco 안다고? 그건 회사가 전략적으로 소비자들에게 image marketing 해서 그렇다. 그렇다고 집에 cisco 물건 하나라도 갖고 있는 사람 있냐? 없지? 그래도 회사의 2006 매출이 $280 이다. 우리돈으로 대략 1000 곱하면, 28 조원 인거지. 참고로 우리나라 최대 기업중 하나인 삼성전자의 작년 매출이 58.9 조다.

     

    다시 본론으로 돌아가서, 90 년대 초반의 data 통신은 사용자 쪽에 모뎀을 두고, 이놈이 data 전화선에 맞게 바꿔서 전화국으로 보내는 것이었다. 이렇게 되면 전화국 쪽에서 볼 때는 집의 전화기가 좀더 자주 신호를 보내는 것과 별반 차이가 없다. 따라서 전화회사는 버티다가 지역의 traffic 일정양 이상을 초과하면, switch 장비를 좀더 비싼걸로 바꾸는 정도였다.

    하지만, 사람들이 처음 data 통신망을 만들때는 상상도 못하던, 무궁무진한 application 내놓기 시작하면서, 더이상 전화traffic 동일시 없을 정도로 data traffic 늘어났고, 얼마 되지 않아 data traffic network 망을 압도하게 된다. 이렇게 되자 효율적으로 기존의 voice traffic data traffic 함께 carry 있는 방법을 찾게 되는데, 중에 하나가 Asynchronous Transfer Mode (ATM) 이다.

     
                                                             ( 나도 처음 보는 ATM 카드)


    아는지
    모르겠지만,  컴퓨터에서 나오는 data 0 1 조합이다 (디지털!). 그에 반해 우리의 목소리는 그렇지 않다 (아날로그!). 따라서 두개를 장비에서 처리를 하려면 보통 대세에 따라 아날로그를 디지털로 바꾼다. 그런데 목소리라는 놈이 delay sensitive 놈이다. 그래서 초가 아니라, 0.1 초만 늦어져도 우리는 뚝뚝 끈기는 소리를 들을 있다. 헌데 90년대 초에도 아직 backbone transmission 속도는 150 Mbps 지나지 않았다. 따라서 TDM 방식으로 data 순서대로 처리하다 보면, data 마다 delay 생기기 때문에 voice 안끊기게 전달하는 것이 힘들었다. 그래서 data 아주 잘게 썰어서 보내는 방법을 제안 했다. 모든 data (voice 포함) 잘게 썰어서 보내면, 받는 쪽에서는 감질나더라도, data 간에 delay 줄일 있다. 아래 그림을 보자.

     


                                                              (이상적인 경우)

     

    이전에도 잠시 설명한 바가 있는데, Phone Network 에서 traffic 처리하는 방식은 시분할 방식이다. , 각의 사용자들에게 동일한 사용시간을 번갈아 주면서 시간동안만 전송을 허락하게 된다. 왼쪽 라인에서 1초당 한글자가 날아오고, 이때  mux 가 라인에서 한번에 글자씩 받아서 처리한다고 하면, A 2, B 2, C 2 이렇게 받으니까, 소요시간은 6초가 되고, 3번째 A 받게 되기까지 6 초가 지나야 한다. 하지만, 한번에 글자씩만 받게되면, 2번째 A 받기까지 3초가 소요된다. 따라서 A 라는 글자를 받는 쪽에서는 6초마다 한번씩 날아오던 것이, 단위는 적어졌지만, 3초마다 한번씩 날아오게 되는 거다.

     

    따라서 voice 전달할 packet 간에 delay 를 줄일 있고, 전화회사의 열열한 환영을 받은 또다른 이유는 이놈이 data 전달하기 전에, 목적지까지의 path 먼저 만들어 놓고 전송을 시작한다는 거다.

    위의 그림처럼 data 녹색 노드 도착을 하면, 노드는 이게 어디로 가는 놈인지를 보고, 목적지(빨강) 까지의 path 정한다. 뒤에 일정 시간동안 한번 설정된 경로로 계속 data 전송이 된다.

     

    이와 대조가 되는 방식은 packet transmission 이다.

    Packet transmission 일단 packet 받은 노드가 목적지까지의 path 고려하지 않고, 그냥 이웃 노드로 전달하는 방식이다. 대부분의 local network 에서 IP packet 이런식으로 전송이 된다.

    전자의 경우를 connection oriented 후자를 connection-less transmission 이라 한다.

    방식을 비교하면, ATM 경우 전송이 reliable 하고, 관리가 용이하다. 하지만, 일정 기간동안 고정된 path 할당하기 때문에 망을 효과적으로 이용하는데에는 어려움이 있다. 반면, IP packet 경우 망을 훨신 dynamic 하게 있지만, packet 언제 전송될 지가 확실치 않고, packet 끼리 충돌을 해서 없어지기도 한다.

     

    어느 나라던지 전화망을 운용하는 회사들은 효율성보다는 안정성을 훨신 중요하게 생각한다. 따라서 두가지 방식 가운데 먼저 주목을 받은 것은 당연 ATM 이었다. 또한 90 년대초 많은 network 분야의 research topic 또한 ATM 이었다. 그런데, 이게 voice digitize 해서 전송하는데는 문제가 없었지만, data 경우에는 장비가 복잡하고 비쌌다. 특히 local 에서 오는 data size 1.5KB 또는 9KB 까지 커지면서 이것들을 잘게 쪼개서 보내려다 보니 효율성이 심각하게 나뻐지고, 거기에 결정적으로 90년대 말에 telecom 시장이 엄청난 침체를 겪게 되면서 고가의 ATM 장비를 더이상 선호하지 않게 된다.

     

    무렵 IP 진영에서는 슬기롭게 존심을 버리고, 전화망 회사가 가장 중시하는 안정성의 문제를 경쟁 기술인 ATM 참조하여 MPLS 라는 이름으로 점차 보완해 나아간다. MPLS 를 통해 IP 또한 connection oriented 전송을 할 수 있게 된 것이다. 그리고 2000 년대에 들어서는 마침내 backbone 에도 Core router 라는 놈이 ATM SONET switch 대신하게 된다.

    ( 대표적인 Core Router 인 Cisco CRS-1)

    이리하여 오늘날은 전 세계 곳곳에 Router 가 난무하는 시대가 되었다. 그리고 앞서 열거한 회사들 가운데에서 Cisco 가 현재 가장 앞서가고 있는 회사이다. 물론 Router 가 궁극의 solution 은 아니다. 옛날에 ATM 장비가 얼마나 비쌌을지 몰라도, 이 router 도 만만치 않게 비싸다. Powr 도 엄청 먹고. 따라서 전화회사들 처럼 돈을 시원하게 쓰지 못하는 곳에서는 Router 보다 저렴한 solution 을 원한다. 물론 Router 에서 되는 기능이 다는 안되겠지만. 그래서 Router 대신에 L3 switch 라는 놈이 나와서 일부 Router 의 market 을 가져갔다. 또한, 한때나마 10 G 장비를 앞세워 telecom 시장이 무너지기 직전에 살짝 1위를 했었던 Nortel 은 영국의 BT 와 손잡고 Carrier grade Ethernet 이라는 세로운 시도를 하고 있다. 간단히 말하자면 Ethernet 으로 backbone 전송을 하자는 거다. 물론 Connection-oriented 의 특성을 가미시켜서. 그 외에 몇 몇 회사들도 나름 고군분투하고 있다.
    이것으로 과거사의 정리를 대충 끝내고, 앞으로는 앞에서 잠깐 얘기한 이 회사들이 어떻게 싸우고 있는가를 틈나면 얘기 할 것이다.

    'Computer Engineering > Networks' 카테고리의 다른 글

    BGP/RIP/IGRP/OSPF  (0) 2007.12.08
    VPI &VCI  (0) 2007.12.08
    SSL Protocol 개념과 동작 원리  (0) 2007.12.08
    ATM VS Gigabit 비교  (0) 2007.12.08
    1.2 TCP/IP 프로토콜  (0) 2007.12.08
    IP 와 ATM  (0) 2007.12.08
    MPLS  (0) 2007.12.06
    기가비트이더넷이란?  (0) 2007.12.06
    네트워크 기초  (0) 2007.11.12
    단말시스템  (0) 2007.11.12
    데이터 교환 시스템  (0) 2007.11.12

    + Recent posts

    티스토리 툴바