왜 무선랜은 CSMA/CA를 사용할까?

“성주야 알고리즘을 공부할 때는 개념에 대해 깊게 공부할 필요가 있어. 우선 <CSMA> 프로토콜에 대해 이야기해볼까?”

“여러 호스트가 네트워크 사용하고자 할 때, 가장 중요한 것은 서로 충돌이 되지 않도록 질서가 있어야 하는데, <CSMA>는 성주도 알고 있는 것처럼 데이터를 전송하기 전에 다른 호스트가 먼저 사용 중인지 신호를 감지하는 프로토콜이야”

성주는 학교 다닐 때 네트워크 동아리에서 지원 선배에게 네트워크기술을 배웠던 기억이 떠올랐다.

“유선의 <CD>는 <Collision Detect>, 충돌을 감지해서 질서를 유지하는 방법이고, 무선 <CA>는 <Collision Avoidance>는 충돌을 회피하는 방식이지, 여기서 핵심은 무선은 왜 회피를 할까?”

성주도 황과장의 교육 때 이 부분이 이해가 안 갔다.

“성주야! 무선랜에서는 두 가지 문제 때문에 <CSMA/CD> 기술을 사용하지 못하고 <CSMA/CA> 기술을 사용하는 거야”

‘두 가지 문제’

“첫 번째는 <Hidden Terminal Problem> 우리말로 하면 <숨겨진 단말 문제>, 말이 조금 이상하지?

그리고 두 번째는 <Signal Fading> 문제”

성주는 지원의 설명에 집중했다.

그런데 지원은 성주를 바라보며 갑자기 웃었다.

“오랜만에 만났는데 일 이야기만 하네, 이놈의 직업병. 성주야 한잔하자~”

지원은 성주의 잔에 술을 따라주고는 가방에서 책 한권을 꺼내 이리저리 페이지를 넘겼다

“여기 어디쯤 있었는데….. 아~ 여기있다.”

지원은 책을 성주에게 보여주며 설명을 했다.

“첫 번째 <Hidden Terminal Problem>은 단말기들이 서로를 인지하지 못하는 현상인데, 예들 들어 유선 네트워크는 컴퓨터들이 스위치에 UTP 케이블로 연결되어 있어서, 서로 인지할 수 있지, 그래서 충돌 감지를 통해 질서를 유지할 수 있어.”


“하지만 무선 통신은 그림처럼 <컴퓨터A>와 <컴퓨터C>는 서로를 인지하지 못하기 때문에 <CSMA/CD> 기술을 사용한다면 계속 충돌이 발생하면서 통신할 수 없는 상황이 되겠지.”

성주는 지원의 설명 덕분에 궁금한 부분이 이해가 되었다.

“그럼 선배 <Signal Fading>은?”

“<Signal Fading>은 전파의 강도가 시간상으로 변동하는 현상을 이야기하는 거야, 유선은 <Fading> 현상이 일어나지 않는데 그 이유는 간단해, 유선 네트워크에서 UTP 케이블을 100m 이상 사용하면 안 되지? 그 이유 알아?”

성주는 케이블을 공부할 때 그냥 외웠던 내용을 갑자기 물어보자 당황했다.

“시간 때문에 그래, 충돌을 탐색하는 시간이 100m야”

‘시간’

성주는 지원 선배의 말이 이해가 안 가는지 고개를 갸우뚱했다.

“성주야 잘 들어봐, 컴퓨터는 통신하기 위해 데이터를 <MTU Maximum transmission unit> 즉, 최대 전송 단위 기준에 의해 수십 또는 수백, 또는 수천 개로 쪼개지?”

“응 선배”

“자 그럼 컴퓨터가 쪼개진 프레임을 보낸다고 가정해보자”

성주는 의자를 선배 쪽으로 바짝 당겨 앉으면서 설명에 집중했다.

“컴퓨터는 첫 번째 프레임을 보내고, 100m 거리만큼 시간을 기다리지 정해진 시간 안에 충돌 메시지가 안 오면 컴퓨터는 두 번째 프레임을 보내”

지원 선배는 집중하고 있는 성주를 보며 설명을 이어갔다.

“그렇게 프레임을 보내다 충돌이 나면 충돌과 동시에 <ZAM Signal>이 <Collision Domain> 전체로 뿌려져, <ZAN Signal>을 받은 컴퓨터들은 무작위 시간 동안 프레임 전송을 대기하고, 일정 시간 이후에 프레임을 다시 전송해, 이런 식으로 유선은 충돌을 관리하면서 통신을 하지”

“아~ 그럼 UTP 케이블이 100M 이상 끌었다면, 시간이 틀어지겠네 선배?”

성주는 이해했는지 환한 미소와 함께 목소리가 자연스럽게 커졌다.

“그치, 그런데 무선은 신호가 갔다 오면서 여러 장애물을 만나 감쇄가 일어나기 때문에 충돌 여부를 판단할 수가 없지, 그래서 무선은 <CSMA/CD>를 사용할 수 없는 거야”

성주는 지원의 설명 덕분에 <CSMA/CD>를 무선랜에서 사용하지 않고 <CSMA/CA>를 사용하는지 이해했다.

“선배 그래서 <CSMA/CA>는 <RTS>, <CTS> 기술을 통해 해결하는 거구나”

“응 그렇지, 정확하게 <RTS/CTS Handshake>라고 해, 그럼 이해한 기념으로 건배~”

성주와 지원과의 술자리는 8시가 되어 갔다.

“선배 그런데 나에 대해서만 계속 물어보고, 선배에 대해서는 하나도 이야기를 안 해주네?”

술이 조금 취한 성주는 술에 힘을 빌려 지원에게 조심스럽게 질문을 했다.

“응...”

지원은 한동안 말을 하지 않았다. 성주는 괜한 질문을 한 것 같아 미안했다.

“우리 2차 갈까? 건너편에 수제 맥주집이 있는데 분위기도 좋고 맥주 맛도 괜찮아”

지원은 갑자기 2차를 가자고 하면서 일어났다. 성주는 지원을 앞질러 카운터로 가서 저녁을 계산하려고 했는데, 지원이 조금 전 화장실을 다녀오면서 미리 계산했다.

“신입사원이 돈이 어디 있어? 월급 타면 그때 한턱 내고, 오늘은 내가 2차까지 쏠게!”

성주는 지원과 길 건너 수제 맥주집으로 향했다.

“성주야 이거 마셔봐, 여기는 이게 제일 맛있어~ 그리고 이것도”

지원은 메뉴판을 보면서 이것저것 맥주를 추천해 주었다.

성주는 자신도 모르게 지원을 그냥 바라보고 있었다.

“참 성주야 윤재덕 교수님은 자주 보니?”

“아 맞다 선배도 교수님 수업 들었지”

“응 지금 다니는 회사도 교수님이 추천 해 주셨는데, 국내에 들어오고 인사도 못 드렸네”

“나도 지금 회사 교수님이 추천 해 주셨는데”

“추천?”

선배는 이상하다는 듯 나를 아무 말없이 쳐다봤다.

그렇게 선배와 한 시간 가량 맥주를 마시고 헤어졌다. 2차에서도 선배의 이야기는 못 듣고, 주로 학교 다닐 때 이야기를 했다.