K 개발자

데이터 전송 방식 본문

OS/네트워크

데이터 전송 방식

ddingz 2021. 7. 17. 23:13

전송과 교환

전송과 교환

교환Switching은 전달 경로가 둘 이상일 때 라우터에서 데이터를 어느 방향으로 전달할지를 선택하는 기능으로, 다양한 기준에 따라 데이터를 올바른 경로로 전달할 수 있도록 해준다.
전송Transmission은 특정한 물리 매체에 의하여 일대일(1:1)로 직접 연결된 두 시스템 간의 신뢰성 있는 데이터 전송을 보장하기 위한 것이다.
전송에는 라우팅 개념이 포함되지 않는다.

전송 방식의 종류

네트워크를 다양한 기준으로 분류할 수 있지만, 네트워크에 연결된 호스트의 지리적 분포에 따라 구분하는 방식과 데이터 전송·교환 기술로 분류하는 방식이 대표적이다.
지리적 분포에 따른 분류 방식에는 LANLocal Area Network(근거리 통신망), MANMetropolitan Area Network(도시 규모의 통신망), WANWide Area Network(원거리 통신망) 등이 있다.
데이터 전송·교환 기술에 따라 네트워크를 분류하는 방식에는 각 호스트를 일대일로 직접 연결해 목적지 호스트에만 데이터를 전송하는 점대점Point-to-Point 방식과 네트워크에 연결된 모든 호스트에 데이터를 전송하는 브로드캐스팅Broadcasting 방식이 있다.


점대점 방식

점대점Point-to-Point 방식 네트워크에서는 교환 호스트가 송수신 호스트의 중간에 위치한다.
이들을 연결하는 방식은 그 구성 형태에 따라 기술적으로 영향을 많이 받는다.
대표적인 점대점 방식으로 스타형, 링형, 완전형, 불규칙형이 있다.

점대점 방식은 전체 연결 개수가 많아지면 성능 면에서 유리하지만 전송 매체의 길이가 증가해 비용이 많이 든다.
반대로 연결 개수가 적어지면 전송 매체를 더 많이 공유해 네트워크 혼잡도가 증가한다.
따라서 네트워크 트래픽이 많이 발생하는 구간에서는 전송 매체의 수를 늘리고, 그렇지 않은 구간에서는 줄이는 것이 좋다.

스타형

스타형

스타Star형은 중앙에 있는 하나의 중개 호스트 주위로 여러 호스트를 일대일로 연결하는 형태이다.
주변 호스트가 데이터를 송수신하려면 반드시 중앙의 중개 호스트를 거쳐야 한다.
따라서 중앙 호스트의 신뢰성과 성능이 전체 네트워크의 성능과 신뢰성에 영향을 많이 준다.
또 데이터를 적절한 목적지로 전송하는 중개 기능도 중앙 호스트가 독점적으로 담당한다.

트리 구조

스타형은 다단계로 확장할 수 있는데, 중앙에 있는 스타 구조 주변에 위치한 호스트들을 중심으로 새로운 스타 구조가 확장되는 형태이다.
이를 트리Tree형이라 하는데, 이 구조에서는 주변 호스트가 중개 호스트로 확장되는 과정을 반복해 네트워크를 무한대로 펼칠 수 있다.
트리형의 장점은 모든 데이터가 중앙 호스트를 중심으로 라우팅되므로 중개 과정이 간단하다는 점이다.
반대로 중앙 호스트에 문제가 발생하면 전체 네트워크의 동작에 영향을 많이 준다는 단점이 있다.

링형

링형

Ring형은 호스트의 연결이 순환 고리 구조이며, 전송 데이터가 브로드캐스팅되는 특징이 있다.
그러나 호스트가 일대일로 직접 연결되기 때문에 점대점 방식에도 포함된다.
링형의 단점은 한 호스트가 고장나면 전체 네트워크가 동작하지 않을 수 있다는 것이다.
따라서 정전이나 기타 원인에 의해 오동작하는 호스트는 네트워크에서 논리적으로 분리하여 고립시킬 수 있어야 한다.

완전형

완전형

완전형은 네트워크에 존재하는 모든 호스트가 다른 모든 호스트와 일대일로 직접 연결하는 방식이다.
호스트끼리 서로 공유하지 않는 전용 전송 매체로 직접 연결하기 때문에 교환 기능이 필요 없다.
완전형의 단점은 사용하는 전송 매체의 개수가 증가하면 비용 측면에서 극단적으로 비효율적이라는 것이다.

불규칙형

불규칙형

불규칙형은 말 그대로 전송 매체에 의한 연결 구조를 특정 패턴으로 분류할 수 없다는 뜻이다.
일반 네트워크의 연결 형태는 불규칙형이며, 네트워크에서 고려해야 하는 여러 환경 요인에 의해 연결 구조가 결정된다.
예를 들어, 특정한 두 호스트 사이에 통신 트래픽이 많으면 이들을 직접 연결하고, 적으면 다른 호스트의 중개 과정을 거쳐서 데이터를 주고받도록 설계한다.


브로드캐스팅 방식

브로드캐스팅Broadcasting 방식은 특정 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전달된다는 특징이 있다.
브로드캐스팅 방식은 네트워크의 모든 호스트가 하나의 전송 매체를 공유하므로 임의의 송신 호스트에서 보낸 데이터가 네트워크의 모든 호스트에 전달된다.
따라서 데이터를 수신하도록 지정된 호스트는 해당 데이터를 수신하고 보관하지만, 다른 호스트들은 수신 데이터를 버린다.
버스형과 링형이 브로드캐스팅 방식을 지원한다.

버스형

버스형

버스Bus형 구조에서는 다수의 호스트가 하나의 전송 매체를 공유하므로 전송 데이터를 모든 호스트에서 수신할 수 있다.
그러나 둘 이상의 호스트에서 데이터를 동시에 전송하면 데이터 충돌Collision이 발생할 수 있으므로 충돌에 따른 오류 문제를 해결해야 한다.
충돌 문제는 크게 두 가지 방법으로 해결할 수 있다.

  1. 호스트의 전송 권한을 제한함으로써 사전에 충돌을 예방할 수 있다. 이 방식에서 호스트가 데이터를 전송하려면 사전에 전송 권한을 확보해야 한다. 전송 권한을 확보하는 방법에는 전송 시간대를 분할하여 각 호스트별로 데이터를 전송할 수 있는 시간대Time Slice를 다르게 지정하는 방법과 토큰Token으로 전송 권한을 순환적으로 이용하는 방법이 있다.
  2. 충돌을 허용한다. 둘 이상의 호스트가 데이터를 동시에 전송할 수 있도록 허용하지만, 충돌이 발생했을 때 이를 감지하고 해결하는 과정이 필요하다.

대표적인 공유 버스 방식인 이더넷Ethernet에서 채택하는 방식이 충돌 허용의 예이다.

링형

링형

Ring형에서는 전송 데이터가 링 주위를 특정 방향으로 순환하면서 전달된다.
자신이 수신 호스트가 아닌 호스트는 데이터를 수신하지 않고 그냥 통과시켜야 한다.
수신 호스트로 지정된 호스트는 전송 데이터를 자신의 내부 버퍼에 보관하고, 데이터는 계속해서 링으로 순환시켜야 한다.
링을 한 바퀴 순환한 데이터는 원래의 송신 호스트로 되돌아온다.
송신 호스트는 자신이 전송한 데이터를 링에서 회수함으로써 전송 과정을 종료한다.

링형에서는 여러 호스트가 데이터를 동시에 전송함으로써 발생할 수 있는 충돌 문제를 해결하려고 토큰 기능을 사용한다.
호스트들이 데이터를 전송하지 않을 때는 토큰이 링 주위를 순환하게 된다.
따라서 임의의 호스트가 데이터를 전송하고자 하면 이 토큰을 획득하여 데이터를 전송하고, 데이터 전송을 완료하면 다시 토큰을 네트워크에 돌려준다.


멀티포인트 통신

하나의 송신 호스트를 기준으로, 수신 호스트 하나와 연결되면 유니포인트Unipoint가 되고, 다수의 수신 호스트와 연결되면 멀티포인트Multipoint가 된다.
송신 호스트가 한 번의 전송으로 수신 호스트 하나에만 데이터를 전송할 수 있으면 유니캐스팅Unicasting이고, 다수의 수신 호스트에 전송할 수 있으면 멀티캐스팅Multicasting이다.

멀티포인트 유니캐스팅

멀티포인트 유니캐스팅

유니캐스팅 방식의 프로토콜은 두 호스트 사이의 일대일 통신만 지원한다.
따라서 유니캐스팅 방식을 이용해 일대다 통신을 하려면 멀티포인트 유니캐스팅Multipoint Unicasting 방식을 사용해야 한다.
유니캐스팅과 멀티포인트 유니캐스팅 방식은 송수신 호스트 사이의 흐름 제어와 수신 호스트의 응답 기능 및 재전송 기능 등을 구현하기 좋다.
그러나 멀티포인트 유니캐스팅의 경우, 수신 호스트 수가 적을 때는 문제없지만, 그 수가 많아지면 성능 면에서 여러 문제가 나타날 수 있다.

브로드캐스팅

브로드캐스팅

송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식을 브로드캐스팅Broadcasting이라 한다.
수신된 데이터에 대한 처리는 전적으로 수신 호스트의 몫으로 남는다.
즉 수신 데이터를 받아들일지, 폐기할지는 수신 호스트가 목적지 주소를 근거로 결정한다.
브로드캐스팅 방식에서는 호스트 수가 많을수록 네트워크 트래픽이 급격히 증가하는 단점이 있다.
따라서 이 방식을 사용해야 한다면 네트워크 전체에 대해 데이터를 전송하기보다 특정 서브넷Subnet 내에서 이용하는 것이 좋다.

멀티캐스팅

멀티캐스팅

멀티캐스팅Multicasting 방식은 프로토콜 자체에서 일대다 전송 기능을 구현하기 때문에 통신 환경을 연결 설정 요구 한 번으로 지원할 수 있다.
데이터 전송 과정에서도, 멀티포인트 유니캐스팅에서는 수신 호스트의 수만큼 데이터를 반복 전송해야 하지만, 멀티캐스팅에서는 송신 호스트의 전송 요구 한 번으로 모든 수신 호스트에 데이터를 전달할 수 있다.

'OS > 네트워크' 카테고리의 다른 글

프레임  (0) 2021.07.21
오류 제어  (0) 2021.07.21
서비스 품질(QoS)  (0) 2021.07.15
인터네트워킹  (0) 2021.07.15
LAN, MAN, WAN  (0) 2021.07.14
Comments