티스토리 뷰


이 포스트는 「Computer Networks: A System Approach , By L.Peterson , 5th, 2011」을 참고하여 작성했습니다.



무선 링크(Wireless Links)

유선링크 대신 무선 링크를 사용해야 하는 경우가 있다.
이동성을 지원해야하거나, 즉시 사용 가능해야 하는 경우에는 무선 링크를 사용한다.

무선 링크는 이동 중에 사용할 수 있으며 별도의 설치비용 없이 즉시 사용 가능하다는 장점이 있다.
하지만 공중을 통해 퍼져나가기에 유선에 비해 전송품질이 떨어질 수 있으며, 인접한 링크 사이에 간섭이 일어날 수 있다.
또한 같은 신호여도 전달되는 방식이 달라 생기는 문제인 multipath problem이 발생할 수 있다.

보통은 전파사용의 규제(라이센스 제도)를 통하여 무선 링크를 관리하지만 고속 통신에서는 규제나 라이선스로도 해결하지 못한다.

무선 링크에는 이동통신, 고정 무선통신, 위성통신, 단거리 무선통신 등이 있다.

이동통신(Cellualar Networks)은 우리가 흔히 생각하는 핸드폰의 통신방식이다.
기지국과 단말기가 서로 통신한다. 기지국은 일정 범위의 지역을 관할하며 이를 셀이라고 한다.
이동통신을 사용할 경우에는 기지국의 관할 셀을 넘어갔을 때 셀을 옮겨가며 통신을 지속하게 하는 hand-off문제를 해결해야 한다.

그림 1.1

셀은 위 그림과 같이 설계할 수 있다. 각 셀마다의 중복된 공간은 hand-off를 위해 중복된 공간이다. 
이전에는 셀을 최대한 크게하여 사용했지만 점점 이동통신의 사용자가 많아져 쓸 수 있는 주파수가 한정되기에 셀을 점점 작게 만들고 있다. 기지국의 설치비용이 점점 저렴해짐에 따라 이와 같은 설계가 가능하며 셀을 작게 만들었을 때는 셀을 나눠 주파수를 재사용할 수 있는 space division을 활용할 수 있다.

고정 무선통신(Wireless Fixed links)는 유선 링크를 설치하기에 적합하지 않을 경우에 사용한다.

핸드폰처럼 계속 이동하며 해야하는 통신이 아닌, 하나의 건물에서 하나의 건물의 통신처럼 움직이지 않는 건물 사이의 통신에 쓰인다. 유선 링크를 설치하는 것보다 저렴하게 사용할 수 있을 때 사용하지만 유선 링크만큼 안정적이지는 않다.(기후, 날씨 등 외부요인에 영향을 받음)

그림 1.2

위 그림 처럼 각각의 건물 옥상에 안테나(?)를 설치하여 고정 무선통신이 가능하게 한다.

위성통신(Satellite system)은 TV와 같은 통신에 쓰인다. 정지궤도 방송/전화, 정지궤도 데이터 등에 사용하여 위성방송/DMB 등이 이에 해당한다.

그림 1.3

예전에 실제로 위성통신을 했을땐 바로 노드 간 통신을 한 것이 아니라 위 그림처럼 위성은 단순히 전달 역할만 수행하며 지상에 있는 HUB를 통해 Switching을 했다. 이렇게 한 이유는 통신에 문제가 생겼을 때 위성을 수정하는 것은 매우 어려운 작업이기 때문이다. 하지만 최근엔 기술의 발달로 바로 위성에서 처리가 가능하다.

위성과 각각의 안테나를 통해 통신했으며 일반적으로 수신만 받는 상황이라면(TV) 안테나의 크기가 작았으며 수신과 송신을 모두 해야 한다면(결제기 등) 큰 안테나를 사용했다.

단거리 무선통신(Short Range)에는 Public band, 적외선통신, 무선 LAN, WiMedia, Bluetooth, ZigBee가 존재한다.

Public band는 누구나 사용할 수 있는 범위이다. 그러나 누구나 사용할 수 있기에 간섭이 일어나므로 band를 나누어 사용해야 하는 기술적 제약이 존재한다.

무선 LAN은 우리가 흔히 아는 Wifi이다. 범위가 넓어야 하며 속도도 빨라야 한다.

Bluetooth는 휴대용 기기 사이 통신이며 무선LAN에 비해 범위가 좁고 속도가 느리다.

ZigBee는 IOT제어등 저전력 통신에 사용된다.

그림 1.4

단거리 무선통신의 범위와 속도를 그림으로 나타내면 위와 같다.


인코딩(Encoding)

신호는 결국 물리적 매체를 통해 전달이 된다. 신호에는 디지털 신호와 아날로그 신호가 있다. 그러나 데이터는 디지털 데이터만을 취급한다. 그렇기에 아날로그 데이터의 경우 디지털 데이터로 변환하는 작업이 필요하다. 이를 인코딩이라고 한다. 만약 디지털 데이터에서 아날로그 데이터로 변환한다면 모듈레이션이라고도 한다.

그림 2.1

노드 간 통신을 할때 처음엔 디지털 데이터로 되어있던 것을 Adaptor의 링크 쪽에서 모듈레이션을 통하여 신호로 전달하게 된다.

인코딩의 방법중 디지털 전송(Transmission)은 신호 중계 방법이다. 앰프를 사용하여 단순히 신호를 증폭하여 전송하는 아날로그 전송방법과 리피터를 사용하여 데이터를 복원하여 다시 신호화하는 디지털 전송 방법이 있다.

리피터를 사용한 디지털 전송방법은 디모듈레이션을 한 후 다시 모듈레이션의 작업을 거쳐 처음의 데이터만 전송하게 한다. 만약 앰프를 사용한다면 노이즈 등 함께 전송될 수 있지만 이 방법을 사용하면 원본 데이터를 최대한 깔끔하게 전송할 수 있다.

점점 기기 비용이 저렴해지고 또 부가 기능도 사용할 수 있다는 점에서 거의 모든 전송 방법이 디지털 전송을 사용하고 있다.

디지털 전송을 위해서는 아날로그 데이터를 사용할 수 없다. 신호가 담고 있는 내용이 디지털 데이 터여야지 리피터를 통한 디모듈레이션-모듈레이션 작업이 가능하다. 따라서 데이터는 디지털 데이터로, 전송은 디지털 전송을 사용하며 신호는 아날로그와 디지털 신호 모두 사용한다.

아날로그 데이터를 디지털데이터로 변환하는 방법에는 PCM(Pulse Code Modulation) 방법이 있다.

그림 2.2

위 그림과 같은 과정을 거치며 먼저 샘플링을 하고 정해진 Bit로 자르는 작업을 수행한다.
하지만 Sampling주기가 길다면 데이터가 보존되지 않으며 Bit수가 높아야 정확도가 보장이 된다.
따라서 성능과 Cost는 Trade-off관계에 놓여있다.

Sampling rate = 2 * 가장 높은 주파수 의 공식을 따른다. 만약 4 kHz voice라면 8kHz sampling rate일 때 데이터를 깔끔하게 변환할 수 있다. 즉 1초당 8000 sampling을 수행해야 한다.
그래서 예전에 사용한 기본적인 전화링크가 64 kbps였던 이유는 8k sample/sec * 8bit/sample = 64 kbps이기 때문이다.
최근에는 압축기술이 발달하여 크기가 더 작아지고 있다.

디지털데이터를 아날로그 데이터로 변환하는 방법은 여러 가지가 존재한다.

Amplitude Modulation 방법은 신호와 주파수의 신호(Carrier)를 합하여 신호의 크기로 데이터를 판단한다.

그림 2.3 Amplitude modulation

하나의 Carrier를 이용하여 다양한 경우를 표현 가능한 Quadrature amplitude modulation방법도 있다. 그러나 한계가 존재하며 오류가 발생할 수 있다.

그림 2.4 Quadrature amplitude modulation

주파수 변조(Freq Modulation)방법은 주파수의 주기를 통하여 데이터를 판단하는 방법이다. 그 외에 위상 변조 등이 있다.

모듈레이션 기술의 변화로 하나의 bit를 나르던게 점점 변화하고 있다. 하지만 계속하여 쪼개다 보면 비트 폭이 점점 좁아지므로 한계에 다다르게 된다. 따라서 점점 고주파의 carrier를 사용하지만 이것 역시 한계가 존재하며 병렬 처리를 통해 성능을 향상하고 있다.

지금까지 디지털데이터를 아날로그 데이터로 변환하는 모듈레이션에 대해 살펴보았다. 이제 데이터를 디지털 데이터로 변환하는 인코딩에 대해 알아보자.

인코딩 방법에는 NRZ(Non-Return-Zero)방법이 있다. 이는 노드 내부의 데이터 표현과 일치하여 별도의 인코딩이 필요 없다. 하지만 1이나 0이 지속되는 경우 0이 지속된다면 수신자는 이것이 신호가 종료된 것으로 오해할 수 있으며 1이 지속되는 경우 기저 전압이 혼돈을 야기하게 된다.

또 가장큰 문제점은 클럭 복구가 불가능하다는 점이다. 즉 송신자와 수신자의 클럭이 맞지 않으면 수신자가 송신자의 클럭에 맞게 자신의 클럭을 맞추는 작업을 하는데 이로 인해 엉뚱한 데이터가 전달될 수 있다. 이는 서로 다른 PC 간 클럭을 공유하지 않기에 생기는 문제이다.

이를 해결하기 위해 NRZI와 Manchester방법이 존재한다. NRZI방법은 1을 인코드할때 현재의 신호의 중앙지점에서 Invert를 하고 0을 인코드 할 경우에는 현재 신호상태를 유지하는 방법이다. 중앙지점에서 invert 하기에 수신자가 클락을 adjust 할 수 있으며 inverting의 유무로 데이터를 판단하므로 볼트를 통해 판단하는 것보다 정확도가 높다. 하지만 이 방법은 0이 지속되는 문제는 해결하지 못한다.

Manchester방법은 데이터와 클락의 XOR연산을 통한 방법이다. NRZ방식으로 인코드된 데이터와 클락을 XOR연산을 수행한다. 즉 데이터 XOR 클락 = Manchester가 된다. 따라서 Manchester와 Clock혹은 Manchester와 Data를 XOR 하여 Data 혹은 Clock의 값을 꺼낼 수 있다. 하지만 이는 50% 효율만을 갖는다는 문제점이 존재한다.(클럭을 보내느라 효율 허비)

그림 2.5

결국 이러한 문제들을 극복하기 위하여 4B/5B 아이디어를 사용한다.
이는 데이터를 4bit마다 5bit코드로 인코드 하며 5bit의 코드에 앞에는 최대 1개, 뒤에는 최대 2개의 0을 갖게 한다. 따라서 연속되는 0이 최대 3개로 제한하여 0이 계속되는 문제를 해결하며 효율이 100%인 NRZI방법을 사용하여 4bit->5bit이 되는 것만 제외하며 80% 효율로 전송이 가능하게 한다. 4bit->5bit의 전환은 HW에서 이루어지게 된다.


Lecture Note #6에 계속..

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함