컴퓨터 네트워크는 독립적으로 실행되는 호스트들을 연결해 하나의 통신망을 구성한 것이다.
네트워크를 통한 자원 공유, 병렬 처리에 의한 성능 향상, 중복 저장으로 신뢰성 향상 등의 효과를 얻을 수 있다.
자원공유
자원공유(Resource Sharing)는 컴퓨터 하드웨어뿐 아니라 각 호스트에서 사용하는 논리적인 정보를 공유하는 것이다.
자원을 더 효율적으로 활용할 수 있게 해주어 네트워크를 발전시킨 1차 요인이다.
병렬처리에 의한 성능 향상
병렬 처리는 원래 컴퓨터 시스템 내부에서 구현되고 발전되어 왔다. 하나의 공유 시스템 버스에 다수의 메인 프로세스를 장착하거나, I/O장치의 처리 속도를 향상시키기 위해 I/O전용 프로세서를 설치하는 것이 그 예이다. 시스템이 수행할 작업을 분할해 동시에 행하는 방식의 분산 병렬 처리 시스템에 대한 연구는 이전부터 많이 진행되었지만, 네트워크 속도의 제한 때문에 한계가 있었다. 그러나 네트워크 속도가 계속 향상됨에 따라 네트워크를 활용한 분산 병렬 처리 효과도 크게 향상되고 있다.
중복 저장으로 신뢰성 향상
중복 저장은 네트워크에 연결된 시스템이 보관하는 정보의 신뢰성을 향상시키기 위해 사용한다. 중요한 정보를 여러 시스템에 중복 저장하고, 중복에 따른 부가 처리는 컴퓨터 시스템이 자동으로 해결해 줌으로써 하드디스크 손상과 같은 특정 시스템에서 발생한 데이터 손실을 복구할 수 있다. 그러나 신뢰성의 정도가 향상됨에 따라 시스템 성능은 저하될 수 있다.
전송과 교환
컴퓨터 네트워크에는 전송 매체로 연결된 호스트들이 존재한다. 송신 호스트가 수신 호스트에 데이터를 전달 하려면 전송과 교환 과정을 거쳐야 한다. 교환은 전달 경로가 둘 이상일 때 라우터에서 데이터를 어느 방향으로 전달할지를 선택하는 기능으로 다양한 기준에 따라 데이터를 올바른 경로로 전달할 수 있도록 해준다.
전송과 교환 개요
1. 호스트 a 와 호스트 c 간의 직접 연결에 의한 전송
2. 호스트 c와 올바른 경로 선택을 의미하는 교환
3. 호스트 c와 호스트 d 간의 직접 연결에 의한 전송
호스트 c에서의 교환 과정은 수신 데이터를 어느 경로로 전달할지를 결정한다.
올바른 경로를 선택하기 위해 교환 기능을 수행하는 호스트는 경로 선택과 관련된 정보를 관리한다.
전송 개념에서 교환 개념이 배제되어야 한다. 이를 위해서 두 호스트를 전송 매체로 직접 연결해 송신 호스트가 전송한 데이터가 수신 호스트에 직접 도착하도록 해야 한다.
전송 방식의 종류
네트워크를 다양한 기준으로 분류할 수 있지만, 네트워크에 연결된 호스트의 지리적 분포에 따라 구분하는 방식과 데이터 전송 교환 기술로 분류하는 방식이 대표적이다. 지리적 분포에 따른 분류 방식에는 LAN(근거리 통신망), MAN(도시 규모의 통신망), WAN(원거리 통신망)등이 있다.
데이터 전송 교환 기술에 따라 네트워크를 분류하는 방식에는 각 호스트를 일대일로 직접 연결해 목적지 호스트에만 데이터를 전송하는 점대점 방식과 네트워크에 연결된 모든 호스트에 데이터를 전송하는 브로드캐스팅 방식이 있다.
점대점 방식
점대점 방식에서는 호스트 간의 데이터 전달 과정에서 송신 호스트가 중개 호스트와 일대일로 연결되므로 다른 호스트에는 데이터가 전달되지 않는다. 따라서 데이터를 최종 목적지 호스트까지 올바르게 전달하려고 인접 호스트에 전송하는 과정을 단계적으로 반복한다. 이때 각 호스트까지 올바르게 전달하려고 인접 호스트에 전송하는 과정을 단계적으로 반복한다. 이때 각 호스트는 데이터를 송수신하는 호스트일 수도 있고, 중간에 있는 교환 호스트일 수도 있다. 원거리에 있는 시스템 사이의 통신 방식으로, WAN 환경에서 주로 사용한다.
브로드캐스팅 방식
브로드캐스팅 방식에서는 공유 전송 매체 하나에 여러 호스트를 연결하기 때문에 네트워크에 연결된 모든 호스트에 데이터가 전송된다. 데이터 전달 과정에서는 별도의 교환 기능이 필요 없다. 대신, 자신을 목적지로 하지 않은 데이터를 받은 호스트는 받은 데이터를 버려 결국 하나의 목적지 호스트만 데이터를 수신하도록 설계해야 한다. LAN처럼 지리적으로 가까운 호스트 사이의 통신에서 주로 사용한다.
점대점 방식
점대점 방식 네트워크에서는 교환 호스트가 송수신 호스트의 중간에 위치한다. 이들을 연결하는 방식은 그 구성 형태에 따라 기술적으로 영향을 많이 받는다. 대표적인 점대점 방식으로 스타형, 링형, 완전형, 불규칙형이 있다.
호스트는 전송 매체를 이용해 일대일로 직접 연결되므로 모든 호스트가 점대점 연결을 통해 네트워크를 확장한다. 통신하고자 하는 두 호스트를 직접 연결하거나 다른 호스트의 중개 과정을 거쳐서 간접적으로 연결할 수 있다.
점대점 방식은 전체 연결 개수가 많아지면 성능 면에서 유리하지만 전송 매체의 길이가 증가해 비용이 많이 든다. 반대로 연결 개수가 적어지면 전송 매체를 더 많이 공유해 네트워크 혼잡도가 증가한다. 따라서 네트워크 트래픽이 많이 발생하는 구간에서는 전송 매체의 수를 늘리고 그렇지 않은 구간에서는 줄이는 것이 좋다.
스타형
스타형은 중앙에 있는 하나의 중개 호스트 주위로 여러 호스트를 일대일로 연결하는 형태이다.
주변 호스트가 데이터를 송수신하려면 반드시 중앙의 중개 호스트를 거쳐야 한다.
중앙 호스트의 신뢰성과 성능이 네트워크의 성능과 신뢰성에 영향을 많이 준다.
데이터를 적절한 목적지로 전송하는 중개 기능도 중앙 호스트가 독점적으로 담당한다.
스타형은 다단계로 확장할 수 있는데 중앙에 있는 스타 구조 주변에 위치한 호스트들을 중심으로 새로운 스타 구조가 확산되는 과정을 반복해 네트워크를 무한대로 펼칠 수 있다. 트리형의 장점은 모든 데이터가 중앙 호스트를 중심으로 라우팅되므로 중개 과정이 간단하다는 점이다. 반대로 중앙 호스트에 문제가 발생하면 전체 네트워크의 동작에 영향을 많이준다는 단점이 있다.
링형
링형은 호스트의 연결이 순환 고리 구조이며, 전송 데이터가 브로드캐스팅되는 특징이 있다. 그러나 호스트가 일대일로 직접 연결되기 때문에 점대점 방식에도 포함된다. 송신 호스트와 수신 호스트의 거리가 멀 수록 데이터 전달 과정에 개입하는 중개 호스트의 개수도 자연히 증가한다.
링형에서는 네트워크에 연결된 모든 호스트가 데이터 전송과 교환 기능을 동시에 수행할 수 있어야 한다.
이론적으로 송수신 호스트 사이의 중개 거리를 판단해 데이터를 시계 방향이나 반시계 방향으로 전달 하는 것이 효율적이다. 그러나 실제 환경에서 링형은 데이터를 한 방향으로만 전달하도록 설계한다.
데이터의 전달 방향을 고정하면 복잡한 처리 과정이 단순해져 중개되는 호스트의 개수를 줄이는 것보다 유리하기 때문이다.
링형에서는 연결된 여러 호스트가 데이터를 동시에 전송하면 데이터 충돌이 발생할 수 있다.
호스트 사이의 데이터 송신 시점을 제어하는 기능이 필요한데, 토큰이라는 특수한 제어 프레임이 이 기능을 수행한다. 토큰은 데이터의 전송 권한을 의미하기 때문에 호스트가 데이터를 전송하려면 토큰을 꼭 확보해야 한다.
링 네트워크에 하나의 토큰이 순환하는데, 데이터를 전송하려는 호스트는 토큰이 도착하면 이를 내부에 보관한 후 데이터 전송을 시작한다. 그리고 데이터가 네트워크를 한 바퀴 순환하여 되돌아오면 데이터 전송이 완료된 것이므로 토큰을 다시 링 네트워크에 돌려주어야 한다.
이러한 과정이 반복적으로 이루어지면서 링에 연결된 모든 호스트가 토큰을 확보하고, 데이터 전송 기회가 동등하게 부여된다.
링형의 단점
한 호스트가 고장나면 전체 네트워크가 동작하지 않을 수 있다는 것이다. 따라서 정전이나 기타 원인에 의해 오동작을 하는 호스트는 네트워크에서 논리적으로 분리하여 고립시킬 수 있어야 한다.
완전형
완전형은 네트워크에 존재하는 모든 호스트가 다른 모든 호스트와 일대일로 직접 연결하는 방식이다. 호스트끼리 서로 공유하지 않는 전용 전송 매체로 직접 연결하기 때문에 교환 기능이 필요 없다.
완전형의 단점
사용하는 전송 매체의 개수가 증가하면 비용 측면에서 극단적으로 비효율적이라는 것이다.
특별한 목적을 위해 제한적으로 연결하는 경우를 제외하면 완전형을 사용하는 경우는 거의 없다.
불규칙형
불규칙형은 말 그대로 전송 매체에 의한 연결 구조를 특정 패턴으로 분류할 수 없다는 뜻이다.
일반 네트워크의 연결 형태는 불규칙형이며, 네트워크에서 고려해야 하는 여러 환경 요인에 의해 연결 구조가 결정된다.
ex) 특정한 두 호스트 사이에 통신 트래픽이 많으면 이들을 직접 연결하고, 적으면 다른 호스트의 중개 과정을 거쳐서 데이터를 주고받도록 설계한다.
브로드캐스팅 방식
점대점 방식은 전송 매체를 사용해 각 호스트를 일대일로 직접 연결한다는 전제하에, 어떤 호스트를 어떤 구조로 연결하는지를 다룬다. 반면, 브로드캐스팅 방식은 특정 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전달된다는 특징이 있다.
WAN 같은 원거리 통신망에서는 특정 호스트 사이를 직접 연결할 전송 매체가 있는지, 아니면 어떤 우회 경로로 몇 단계를 거쳐서 연결할 수 있는지에 대한 판단이 중요하다.
LAN에서는 연결의 존재 여부 보다는 데이터를 목적지 호스트까지 얼마나 효율적으로 전달할 수 있는지가 중요한 잣대가 된다. 이를 지원하는 브로드캐스팅 방식은 네트워크의 모든 호스트를 하나의 전송 매체로 연결하므로, 중개 기능을 수행하는 교환 호스트가 필요 없다.
브로드 캐스팅 방식은 네트워크의 모든 호스트가 하나의 전송 매체를 공유하므로 임의의 송신 호스트에서 보낸 데이터가 네트워크의 모든 호스트에 전달한다. 따라서 데이터를 수신하도록 지정된 호스트는 해당 데이터를 수신하고 보관하지만, 다른 호스트들은 수신 데이터를 버린다.
브로드캐스팅 방식을 지원하는 버스형과 링형이다. 버스형은 공유 전송 매체인 버스에 모든 호스트를 연결하므로 공유 버스에 연결된 모든 호스트가 전송 데이터를 수신할 수 있다. 링형은 특정 송신 호스트가 전송한 데이터가 링을 한바퀴 돈 후에, 다시 송신 호스트로 되돌아오는 방식이다. 따라서 링에 연결된 모든 호스트에 데이터가 전달되므로 브로드캐스팅 방식에 포함시킬 수 있다.
링형은 점대점 방식과 브로드캐스팅 방식의 기준에 모두 부합하는 구조이다.
네트워크의 호스트가 일대일 연결 구조를 지원한다는 측면에서 점대점 방식을 지원하고, 전송 데이터가 모든 호스트에 전달된다는 측면에서 브로드캐스팅 방식을 지원한다.
버스형
버스형 구조에서는 다수의 호스트가 하나의 전송 매체를 공유하므로 전송 데이터를 모든 호스트에서 수신할 수 있다.
둘 이상의 호스트에서 데이터를 동시에 전송하면 데이터 충돌이 발생할 수 있으므로 충돌에 따른 오류 문제를 해결해야 한다.
충돌문제 해결 방법
- 1. 호스트의 전송 권한을 제한함으로써 사전에 충돌을 예방할 수 있다. 이 방식에서 호스트가 데이터를 전송하려면 사전에 전송권한을 확보해야 한다. 전송 권한을 확보하는 방법에는 전송 시간대를 분할하여 각 호스트 별로 데이터를 전송할 수 있는 시간대를 다르게 지정하는 방법과 토큰으로 전송 권한을 순환적으로 이용하는 방법이 있다.
- 2. 충돌 허용, 둘 이상의 호스트가 데이터를 동시에 전송할 수 있도록 허용하지만, 충돌이 발생했을 때 이를 감지하고 채택하는 과정이 필요하다. 대표적인 공유 버스 방식인 이더넷에서 채택하는 방식이 충돌 허용의 예이다.
링형
링형에서는 전송 데이터가 링 주위를 특정 방향으로 순환하면서 전달된다. 자신이 수신 호스트가 아닌 호스트는 데이터를 수신하지 않고 그냥 통과시켜야 한다. 수신 호스트로 지정된 호스트는 전송 데이터를 자신의 내부 버퍼에 보관하고, 데이터는 계속해서 링으로 순환시켜야 한다.
링을 한바퀴 순환한 데이터는 원래의 송신 호스트로 되돌아온다. 송신 호스트는 자신이 전송한 데이터를 링에서 회수함으로써 전송 과정을 종료하고, 이전에 확보한 토큰을 링에 들려주어 다른 호스트가 데이터를 전송할 수 있게 한다.
링형에서 여러 호스트가 데이터를 동시에 전송함으로써 발생할 수 있는 충돌 문제를 해결하려고 토큰 기능을 사용한다. 호스트들이 데이터를 전송하지 않을 때는 토큰이 링 주위를 순환하게 된다. 따라서 임의의 호스트가 데이터를 전송하고자 하면 다시 토큰을 네트워크에 돌려준다.
멀티포인트 통신
컴퓨터 통신의 가장 기본적인 형식은 두 호스트 사이의 데이터 전송을 의미하는 유니캐스팅 방식이다. 인터넷에서 제공되는 텔넷, FTP, 웹 검색과 같은 대부분의 서비스는 유니캐스팅 방식을 사용한다.
인터넷 통신 환경은 통신 주체 하나가 다수의 상대방과 통신하는 일대다(1:n)형식 뿐 아니라, 다수와 다수가 통신하는 다대다(n:n)형식의 다양한 멀티 포인트 서비스를 요구한다. 화상회의, 원격 교육, 인터넷 채팅 등이 대표적인 예에 속한다. 하나의 송신 호스트를 기준으로 수신 호스트 하나와 연결되면 멀티포인트가 된다. 송신 호스트가 한번의 전송으로 수신 호스트 하나에만 데이터를 전송할 수 있으면 유니캐스팅이고, 다수의 수신호스트에 전송할 수 있으면 멀티캐스팅이다.
멀티포인트 유니캐스팅
유니캐스팅 방식의 프로토콜은 두 호스트 사이의 일대일 통신만 지원한다.
유니캐스팅 방식을 이용해 일대다 통신을 하려면 멀티포인트 유니캐스팅 방식을 사용해야 한다.
맨 왼쪽의 송신 호스트 a가 다수의 수신 호스트(d, e, f)에 데이터를 전송하려면 먼저 각 수신 호스트와 개별적으로 연결을 설정해야 한다. 수신호스트가 세 개이므로 연결 설정이 세 개 필요하다. 데이터 전송 과정에서도 연결 설정처럼 개별 수신 호스트에 별도로 세 번 데이터를 전송해야 한다.
멀티포인트 유니캐스팅 방식은 송수신 호스트 사이의 흐름 제어와 수신 호스트의 응답 기능 및 재전송 기능 등을 구현하기 좋다.
멀티포인트 유니캐스팅의 경우, 수신 호스트 수가 적을 때는 문제없지만, 그 수가 많아지면 성능 면에서 여러 문제가 나타날 수 있다.
브로드 캐스팅
송신 호스트가 전송할 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식을 브로드캐스팅이라 한다. 수신된 데이터에 대한 처리는 전적으로 수신 호스트의 몫으로 남는다. 즉 수신 데이터를 받아들일 지 폐기할지는 수신 호스트가 목적지 주소를 근거로 한다.
브로드캐스팅 방식에서는 호스트 수가 많을수록 네트워크 트래픽이 급격히 증가하는 단점이 있다. 따라서 이 방식을 사용해야 한다면 네트워크 전체에 대해 데이터를 전송하기보다 특정 서브넷 내에서 이용하는 것이 좋다.
브로드캐스팅 방식에서는 모든 호스트가 데이터를 수신할 수 있도록 송신 호스트가 다수의 복사본을 개별 수신 호스트들에 전송하지 않고, 특정한 브로드캐스팅 주소로 전송한다. 네트워크에 연결된 라우터나 스위치 등의 네트워크 장비에서는 브로드캐스트 주소로 전달된 패킷을 복사하여 네트워크 전체로 전송해준다.
멀티 캐스팅
멀티캐스팅 방식은 프로토콜 자체에서 일대다 전송 기능을 구현하기 때문에 통신 환경을 연결 설정 요구 한번으로 지원할 수 있다. 연결 설정 요구가 세 번 필요한 것과는 비교된다. 데이터 전송 과정에서도, 멀티포인트 유니캐스팅에서는 수신 호스트의 수만큼 데이터를 반복 전송해야 하지만, 멀티캐스팅에서는 송신 호스트의 전송 요구 한 번으로 모든 수신 호스트에 데이터를 전달할 수 있다.
멀티캐스팅의 응용의 예는 매우 다양하다.
인터넷 멀티미디어 환경에서 제공하는 비디오, 오디오 서비스, 화상 회의 서비스 등을 비롯해 자사에 등록된 다수 고객을 대상으로 하는 모든 형태의 데이터 서비스가 멀티 캐스팅 서비스이다.
멀티 캐스팅을 구현하려면 멀티 캐스트 그룹을 생성하고 관리하는 기능이 필요하다. 예를 들어, 임의의 호스트가 특정 멀티캐스트 그룹에 가입하고 탈퇴하는 기능이 이에 해당한다. 또 멀티캐스트 데이터를 중개하는 라우터에서 멀티캐스트 그룹 주소를 인식하고, 다수의 수신 호스트에 중개하는 등의 멀티캐스트 트래픽에 대한 처리 기능도 구현되어야 한다.
Reference
쉽게 배우는 데이터 통신과 컴퓨터 네트워크
'CS > Network' 카테고리의 다른 글
[Chapter 4] 데이터 전송의 기초(다항코드) (0) | 2025.02.10 |
---|---|
[Chapter 4] 데이터 전송의 기초(오류 제어) (0) | 2025.02.10 |
[Chapter 3] 네트워크 기술(인터네트워킹) (0) | 2025.02.09 |
[Chapter 3] 네트워크 기술(교환 시스템) (0) | 2025.02.09 |
[Chapter 2] 네트워크 모델(TCP/IP모델) (0) | 2025.02.07 |