KOCW 컴퓨터네트워크-이석복 강의를 수강하며, 해당 내용을 바탕으로 배운 점들을 정리하였다.
무선 네트워크 신호는 파장의 형태로 퍼져나간다. 따라서 다음과 같은 특징을 가지게 된다.
위 그림에서 A와B가 통신을 하는 상태여도 C의 탐지 범위에서 B는 통신을 하지 않는 상태이다. 따라서 C도 데이터를 전송하게 되고 충돌이 발생한다.
유선 네트워크에서 케이블을 통해 데이터를 전송하지만, 무선 네트워크에서는 전파를 이용해 서로 통신한다.
이 차이점 때문에 통신 방식에 차이가 발생한다.
무선 통신의 입출구로서 작동하는 AP가 유선으로 라우터와 연결된다.
무선 통신 기기들은 AP를 통해 네트워크에 접근하여 통신한다.
무선 기기들은 AP를 탐지하여 접근한다.
passive scanning
AP에서 주기적으로 자신의 정보를 알리는 신호를 발산한다.
해당 신호를 탐지한 host가 탐지되는 신호 중 접근할 AP를 결정한다.
active scanning
host가 탐지 범위 안에 있는 AP들에게 정보를 요청한다.
해당 신호를 탐지한 AP가 자신에 대한 정보를 알리는 신호를 발산한다.
host가 접근할 AP를 결정한다.
무선 네트워크 통신의 경우 Collision detection이 불가능하다.
즉 탐지 가능한 범위 안에서 충돌이 발생하지 않았더라도 실제로 충돌이 발생했을 가능성이 존재한다.
이러한 특징 때문에 유선 네트워크와 프로토콜의 차이가 발생한다.
충돌 감지가 정상적으로 이뤄지지 않기 때문에, 충돌이 발생하면 즉시 전송을 멈추는 유선 네트워크와 달리 모든 데이터를 전송하며 자원을 더 낭비시킨다. 따라서 효율적인 통신을 위해서는 추가적인 해결방안이 필요하다.
앞서 말했듯 무선 네트워크에서 충돌감지가 되지 않았다고 해서 정상적인 통신이 이뤄졌다는 보장이 없다. (탐지 범위 밖에서 충돌이 발생한 경우 알 수 없다.)
따라서 ACK를 통해 정상적으로 수신했음을 sender에게 알린다.
SIFS
receiver가 ACK를 보내기 전 데이터를 검증하고 ACK 메시지를 만드는 시간이 필요하기 때문에 전송 전 일정 시간을 가진다.
DIFS
SIFS동안 통신이 이뤄지지 않는다고 해서 다른 sender가 메시지를 전송하면 충돌이 발생한다. 따라서 SIFS < DIFS 이고, DIFS시간동안 다른 통신이 감지되지 않는다면 메시지를 전송한다.
무선 네트워크 통신에서 Collision은 유선네트워크에서보다 치명적이다. 충돌이 발생해도 전송을 멈추지 않기 때문이다. 따라서 충돌이 발생해도 손실이 크지 않은 메시지를 통해 채널을 확보하고 통신을 진행하는 CSMA/CA(Collision Avoidence) 방식을 사용한다.
2
통신을 진행하기 위해 AP에게 RTS 메시지를 전송한다.
RTS메시지를 받은 AP가 CTS메시지를 broadcast한다.
CTS에 해당하는 host를 제외한 나머지 host들은 통신이 끝났음을 의미하는 ACK메시지를 받을 때까지 대기한다.
RTS와 CTS메시지는 상대적으로 전송 data에 비해 크기가 작기 때문에 충돌 발생시 손실이 적다.
또 통신이 진행되는 동안 나머지 host는 대기하면서 작동 자체를 중지한다는 점에서도 자원 절약이 가능하다.
CSMA/CA 프로토콜의 frame 구조를 보면 address 필드가 3개 존재한다.
유선 네트워크 통신에서는 source, dest 두개의 주소 정보가 존재했는데 무선 통신에서는 왜 3개가 필요한 것인가?
Host가 기본적으로 네트워크 통신을 하기 위해서는 source address와 dest address가 필요하다.
여기에 더해 무선 네트워크 통신에서는 AP의 MAC address가 필요하다. 특정 AP와 통신함으로써 실제 인터넷 네트워크에 접근하기 때문이다.
만약 AP에 대한 정보가 없으면 처음 무선 네트워크로 통신이 불가능해진다.
AP는 무선 네트워크 프레임을 유선 네트워크 프레임으로 변형하여 라우터에 전달해주고, 응답이 온 경우에도 규격을 맞추어 Host에게 전송해주는 역할을 한다.