Ad hoc 이란 - ad hoc ilan

Ad hoc 이란 - ad hoc ilan
테더링에 관한 내용은 Wi-Fi 문서를 읽어주세요.

아드 호크(Ad Hoc)은 라틴어로, 직역하면 그것에 대해서라는 뜻이다. 하지만 주로 학문적인 의미로 쓰이는데, 이때는 어떤 이론이나 논리에 대한 반박에 대해, "그것에 대해서" 반박하는 의미 말고는 아무런 의미가 없는 재반박을 가하는 경우를 일컫는다.

나무위키:내 차고 안의 용 문서를 보고, 용을 찾는 사람들이 질문을 던질 때마다 "그것에 대해서" 의미 없는 반박을 계속 가하는 화자의 모습을 지켜보면, 이런 논증이 왜 Ad Hoc 이란 이름이 붙었는지를 제대로 알 수 있을 것이다. ("이건 왜 그런데?" / "아~ 그건 말이지~ 어쩌구저쩌구..." / "그럼 이건?" / "아~ 그건 말이지~")

일반적으로 "애드 호크"라고 발음하지만, 라틴어 원어의 발음은 "아드 호크"이므로 문서의 제목은 라틴어 원어 표기인 Ad Hoc으로 작성되었다. 애드호크, 애드혹 등으로 들어올 수도 있다.

1 예시[편집]

실제 과학사(科學史)에 있었던 대표적인 Ad Hoc의 예로는 갈릴레오 갈릴레이가 망원경을 이용해 달 표면이 완전한 구형이 아니라는 것을 증명했을 때의 일화를 들 수 있다. 갈릴레이 이전까지는 아리스토텔레스의 자연철학에 의해 천상에 존재하는 물체들은 "가장 완벽한 형태인" 구형으로 이뤄지고 "가장 완벽한 형태인" 원궤도를 돌아야 한다고 의제되어 있었다.

  • 갈릴레이 : 내가 망원경이란 걸 만들어서 관찰해 보니까 자연철학자들 너님 말이 틀린 듯. 천체는 완벽해서 완벽한 구형이라더니 내가 보니까 웬 이상한 구멍들이 숭숭 뚫려 있고 이거 뭥미...
  • 자연철학자 : 상관없음. 겉보기엔 그래 보여도, 보이지 않고 만질 수도 없는 물질들이 저 구멍들을 다 덮고 있어서 달 표면은 겉보기에 상관없이 완벽한 구형임.
  • 갈릴레이 : (야이 ㅆㅃ것들아) 그래. 그런 반증 불가능한[1] 물체가 있다는 거 인정할게. 근데 그런 물체는 니네들이 말하는 것처럼 달 표면을 완벽하게 구형으로 덮고 있는 게 아니라, 달에 있는 산꼭대기에 전부 다 몰려 있다? 그래서 달은 내가 망원경으로 관측한 것보다 더 울퉁불퉁하거든? 자, 어떻게 반박할래?

이 대화 내용 자체는 후대의 윤색이 들어가 있을 수 있으나, 위에서 자연철학자가 말한 그 '보이지도 않고 만질 수도 없는 물질'을 가정하는 것이 바로 Ad Hoc의 적절한 예시가 된다.

과학사에서의 다른 예시로, 금속이 산화를 하면 '플로지스톤'이 빠져나가는데도 오히려 질량이 증가한다는 점을 들어 플로지스톤설을 반박하는 이야기가 나왔을 때, 그 당시 화학자들이 "금속에 들어 있는 플로지스톤은 음의 질량을 갖고 있음" 신공을 써서 문제를 회피하던 것이 있다.

2 Ad Hoc 논증이 문제가 되는 이유[편집]

위에서 예시로 들었던 '보이지도 않고 만질 수도 없는 물질'과 '음의 질량을 가진 플로지스톤' 등은 바로 그 논증을(Ad Hoc) 반박하기 위해서만 존재하는 개념이라 문제가 된다. 어떤 물체나 개념이 실제로 존재한다고 할 수 있으려면 그것을 주장하는 자가 주장하는 방식 말고도 다른 방식으로도 그것의 존재를 증명할 수 있어야 하는데[2] Ad Hoc 논증에 등장하는 개념은 그런 방법을 시도하는 것 자체를 불허한다. 갈릴레이와 자연철학자의 논증에 나온 '보이지도 않고 만질 수도 없는 물질'은 '아리스토텔레스의 천체 이론을 만족시킨다' 이외의 논리로는 절대로 정당화될 수 없으며[3], '음의 질량을 가진 어떤 물질'이라는 존재는 플로지스톤설에 의해서 금속의 연소를 설명하기 위한 시도 이외의 방법으로는 정당화할 수 없다.

3 Ad Hoc 논증이 문제가 되지 않는 경우[편집]

다만 Ad Hoc 논증이라고 무조건 배척해야만 하는 것은 아니다. 정말로 그거 아니면 설명이 안 되는 일도 있기 때문. 김광수 교수의 <논리와 비판적 사고>에서도, 다른 대안이 정말로 없을 때는 Ad Hoc 논증을 사용해도 된다고 언급하고 있으며, 역시 과학사에서 올바르게 쓰였던 Ad Hoc 논증의 사례를 들어주면 화학에서의 결합수와 산화수 등의 개념이 있다.

해당 개념은 화학 결합과 산화/환원 반응 등을 제외하면 어떤 방식으로도 유도할 수 없고 어떤 방식으로도 반증할 수도 없었으므로 Ad Hoc 논증의 정의에 완벽히 부합하지만, 그 당시 과학 수준에서는 결합수와 산화수를 사용하지 않고서는 화학 반응을 설명할 수 없었으므로 그런 개념을 가정하는 것이 용인되었고, 결합수와 산화수 개념은 그 당시까지 알려져 있었던 화학 반응을 아주 놀랍도록 잘 설명했으므로 화학에서 아주 유용하게 사용되었다.

후일담을 말해 주자면, 원자의 내부 구조가 밝혀지고 VESPR 등의 이론이 등장하면서 화학 결합과 산화/환원 반응 이외의 방법으로도 (그러니까, 전자쌍의 공유라는 모델을 사용하면서) 결합수와 산화수 등이 말하는 것을 완벽하게 말할 수 있게 됨으로써 결합수와 산화수 등의 개념은 Ad Hoc 논증의 지위를 벗게 되었다.

혹시 윗 문단의 이야기를 읽고 "결합수와 산화수가 대체 왜 Ad Hoc임?"이라는 생각을 했던 사람이 있으시다면, 전자의 재배치를 가지고 화학 반응을 설명하고 있는 현대 화학의 방법론이 존재하는 상태에서는 결합수와 산화수 개념이 Ad Hoc 논증이 아니라는 것을 다시 한번 말해둔다. 원자의 내부 구조를 모르던 상태에 결합수와 산화수만 가지고 화학 반응을 설명하던 19세기 화학에서는 해당 개념은 Ad Hoc 논증이 맞았다.

비슷한 예로, 전기장과 자기장 역시 전자기파라는 물리 현상이 밝혀지기 전까지는 Ad Hoc 논증이었다. 그 물리 현상이 밝혀지기 전까지는 전기력과 자기력이 작용한다는 사실 하나만으로 전기장과 자기장의 존재를 증명할 수밖에 없었는데, 전자기파라는 물리 현상이 밝혀짐으로써 전기장과 자기장의 존재를 다른 방식으로 증명할 수 있는 길이 열렸기 때문. 차동우 교수의 '교양 물리' 참고.

4 Ad Hoc 논증을 볼 수 있는 곳[편집]

  • 일단 본문의 윗부분에 있는 그 사례들
  • 각종의 유사과학
  • 성서무오설

5 각주

  1. 물론 저 '반증 가능성' 개념을 만든 칼 포퍼는 갈릴레이 사후 몇백 년 후에야 태어나는 사람이지만, 갈릴레이가 사용한 개념 자체는 똑같으므로.
  2. 완전히 추상적인 개념을 다루는 학문인 수학에서도 마찬가지라, 수학자들은 이미 증명이 완료된 개념이라도 최대한 다양한 방식으로 증명을 하려고 노력한다.
  3. 정당화될 수 없다는 것과 반박을 할 수 있다는 것은 결코 같은 말이 아님을 이 문서의 독자들은 알 수 있을 것이다. 바로 이곳에 Ad Hoc 논리의 문제가 있는 것이다.

오늘은 Ad hoc 네트워크에 대해 정리해 보려고 합니다. 

주로 응용 프로그램이나 웹 프로그램을 만들던 상황이어서 네트워크에는 사실 관심이 없었는데요

작년에 대학원에서 VANET, 이동컴퓨팅 같은 수업을 들으면서 의외로 재미있겠다는 생각이 들더라구요

그래서 블로그를 통해서 네트워크 관련 사항들을 하나씩 정리해 보려고 합니다. 

일반적으로 네트워크라 하면 유선환경에 기반을 둔 AP나 기지국 같은 것이 있어서 여기에 연결해서 인터넷과 같은 네트워크에 연결할 수 있습니다. 

그러나 만약 특수한 상황에 이런 유선환경에 연결된 네트워크가 없다면 어떻게 될까요?

이럴때 사용할 수 있는 개념이 바로 Ad hoc 네트워크입니다. 

이것도 군사적인 목적에서 출발한 개념이라고 합니다. 전쟁이나 재해로 고립되어 있을 때, 이동 단말들이 어떻게 네트워크를 구축해서 통신할 수 있느냐에서 시작한 것이라고 하네요.

요즘에는 휴대용 단말들이 데스크탑 이상의 성능을 보이고 있고, 또한 무선 기술들이 발전함에 따라 Ad hoc 네트워크를 구축하기 위한 환경이 좀 더 잘 갖추어져 있다고 볼 수 있겠죠..

Ad hoc 네트워크의 정의

항상 그렇듯 모든 것의 출발점은 정의를 제대로 아는 것이 아닌가 합니다. 

Ad-Hoc 네트워크는 고정된 유선망을 가지지 않고 이동호스트(Mobile Host)로만 이루어져 통신되는 망이다. 따라서 유선망을 구성하기 어렵거나 망을 구성한 후 단기간 사용되는 경우에 적합하며 Ad-Hoc 네트워크에서는 호스트의 이동에 제약이 없고 유선망 과 기지국(Base Station)이 필요 없으므로 빠른 망 구성 과 저렴한 비용의 장점이 있다.

핸드폰처럼 기지국과 단말이 통신하는 형태가 아니라,각 단말끼리 연결이 되는 형태로 멀리 떨어져 있는 단말끼리는 중간에 있는 단말들이 중계기 역할을 해 주어서 통신을 하게 된다. 통신기기간 특별한 무선 통신을 ‘Ad-hoc 네트워킹’이라고 부른다. Ad-Hoc 네트워킹은 중앙 시스템의 도움 없이 언제, 어디서나 기기간 통신을 가능하게 해준다. 

핵심은 중앙 집중화된 관리가 지원되지 않는 환경에서 이동 호스트 간의 네트워크가 가능하다는 겁니다. 

Ad hoc과 구분하여 기존의 네트워크를 Infrastructure 네트워크라고 하는데요.. 우리가 주로 사용하는 이동전화망이나 무선 LAN도 Infrastructure 네트워크라고 할 수 있습니다. 


기본적으로 Ad hoc 네트워크는 기존 인터넷망을 사용하기 위한 것이 아니고 무선 기기들끼리 네트워크가 가능하도록 하는 것입니다. 그러나 그림 (b)에서 보는 것과 같이 Ad hoc 네트워크에 포함된 기기중 하나라도 인터넷에 연결되면 Ad hoc 네트워크에 포함된 모든 단말이 인터넷에 접속할 수 있게 되는 것이죠

이를 토대로 Ad hoc 네트워크의 특징을 요약하면 다음과 같습니다.

  • 분산운영
  • Dynamic한 네트워크 형태
  • 불규칙한 링크 용량
  • 저 전력 기기

Ad hoc 네트워크의 기능

Ad hoc 네트워크가 가져야 할 기능에 대해서 잘 요약해 놓은 것이 있어 옮겨 봅니다. 

크게 보안, 라우팅, 이동성에 대해서 이야기를 하고 있는데요. 라우팅에 대해서는 밑에서 다시 한번 다루도록 하지요

보안 
기본적으로 ad hoc 네트워크의 보안 요구조건은 다른 통신 네트워크에서 요구되는 것과 동일하다. 다만 무선 ad hoc 네트워크의 경우, 매체를 신뢰할 수 없는 상황에서 암호를 사용할 수밖에 없어 암호 키에 크게 의존한다. 따라서 키 사이에 신뢰할 수 있는 관계를 형성하고, 이를 ad hoc 네트워크 전반에 분배하는 것이 주요 과제가 된다. Ad hoc 네트워크에서 주로 사용하는 방식은 공개키(public key: 지정된 인증기관에 의해 제공되는 키 값) 접근 방식에 기반하고 있다. 예를 들어, ad hoc 네트워크 내 A, B, C라는 그룹들이 각각 존재한다고 할 때, 그룹 A의 대표 노드가 서버 노드 역할을 하며 신뢰 위임(trust delegation) 절차를 주도한다. 그러면 각각 그룹의 대표 노드들은 자기 그룹이 정한 공개키를 다른 그룹과 교환하며 그룹 간 신뢰관계를 형성하게 되는 것이다. 이 같은 방식은 임의의 ad hoc 네트워크에서 신뢰를 분배하는 역할을 담당하는 프로토콜로 일반화할 수 있다. 


라우팅 
무선 ad hoc 네트워크의 경우, 노드가 네트워크 내에서 제대로 움직이기 때문에 노드 간 패킷을 라우팅하는 문제가 중요한 이슈가 된다. 그런데 기존 라우팅 프로토콜은 트래픽이 아무런 영향을 받지 않는 경우에도 변화에 반응을 보이고, 네트워크상의 모든 노드에 루트를 유지하기 위해 주기적으로 컨트롤 메시지를 보내야 한다. 이를 위해서는, ad hoc 네트워크처럼 노드 이동성이 심한 경우 전원이나 링크 대역폭 등 가뜩이나 부족한 자원들이 더 자주 소모되는 단점이 있다. 이에 대한 대안으로 설정된 것이 반응 루트(reactive route)이다. 이 방식을 통해, 패킷 라우팅이 분명히 필요한 경우에만 노드 간 루트가 성립되도록 할 수 있다. 

Ad hoc 이란 - ad hoc ilan


이동성
오늘날 무선 네트워크의 경우, 노드와 사용자 이동성은 주로 포워딩을 통해 처리된다. 하지만 이 같은 포워딩 방식은, 네트워크 가장자리에 있는 노드(단말기)가 움직일 때만 적용되기 때문에 ad hoc 네트워크처럼 네트워크 중앙에 위치한 노드가 움직이거나 통신 기기가 라우터와 호스트 기능을 동시에 수행하는 경우에는 불가능하다. 따라서 ad hoc 네트워크의 경우, 라우팅 알고리즘이 이동성을 직접 처리한다. 만약 노드가 움직여 트래픽을 다른 쪽으로 강제로 옮기면, 라우팅 프로토콜은 노드의 라우팅 테이블에 일어난 변화를 관리한다.  


Ad hoc 네트워크의 프로토콜

Ad hoc 네트워크의 효율적인 라우팅을 위한 프로토콜을 크게 분류하면 두가지가 있다고 합니다. 

  1. 트리 기반(Tree-based) 방식: Source측으로부터 각 목적지에 대해 유일한 최단 경로가 결정되어 이를 통해 데이터를 전달하는 방식

  2. 메쉬 기반(Mesh-based) 방식: 하나 이상의 경로를 통하여 데이터를 전달하는 방식

즉, 소스에서 목적지로 가는 길이 어떻게 구성되느냐에 따라 달라지는 것인데요.. 메쉬 네트워크에 대해서는 추후 한번 더 다뤄보도록 하지요.. 

일단 트리 기반 프로토콜은 AMRoute(Adhoc Multicast Routing), AMRIS(Ad hoc Multicast Routing protocol utilizing Increasing id-numberS)가 있구요 

메쉬 기반 프로토콜은 ODMRP(On-Demand Multicast Routing Protocol), CAMP(Core-Asisted Mesh Protocol) 등이 있다고 합니다. ODMRP는 멀티캐스트 그룹의 Source마다 Mesh를 만드는 반면, CAMP는 멀티캐스트 그룹의 공유 Mesh를 만들어 데이터를 전송한다고 합니다.

라우팅과 관련해서 고민해야 하는 또 하나의 부분이 있습니다. 바로 Ad hoc 네트워크의 기능 중 하나인 이동성과 관련된 문제인데요. 이동을 하면 라우팅 테이블이 계속 변한다는데 문제가 있는 겁니다. 그렇다면 라우팅 테이블을 어떻게 유지할 것이냐가 하나의 문제가 되겠지요 

이와 같이 이동성에 기반을 둔 Ad hoc 네트워크를 MANET(Mobile Ad Hoc Network)라고 합니다.

MANET의 프로토콜도 크게 proactive(table-driven) 방식과 reactive(on-demand) 방식으로 나눌 수 있습니다. 

proactive 방식은 네트워크 내의 모든 노드가 자신을 제외한 나머지 노드의 라우팅 정보를 유지하는 것으로 노드의 라우팅 테이블이 하나 이상 존재합니다. 그리고 모든 노드들은 주기적으로 라우팅 정보를 broadcast하며 모든 노드들은 자신의 라우팅 정보가 변경되었을 때 이를 다른 노드들에게 전파시키게 됩니다.

이것은 모든 노드의 라우팅 정보를 유지함으로 경로 설정 시 경로 획득 절차가 불필요하여 지연 시간이 적고, 노드가 적은 소형 Ad hoc 네트워크에 적합하다고 합니다. 그러나 라우팅 정보를 유지하기 위한 메시지로 인하여 오버헤드가 증가하는 단점이 있습니다.  


위 그림에서 보면 7번 노드(흰색)가 주황색 위치로 이동을 하면 전체 라우팅 테이블이 갱신된 이후에 통신이 가능해 진다는 것을 나타내고 있습니다. 

reactive 방식은 요구가 있을 때만 경로 설정 절차를 수행하는 방식입니다. 이것은 위치 이동이 많은 Ad hoc 네트워크에 적합하지만 경로 설정 요구 시 전체 망의 검색이 필요하여 지연 시간이 길어서 실시간 통신으로는 부적합하고, 많은 제어 트래픽을 발생시킬 수도 있다고 합니다. 


위 그림에서 보면 요청/응답을 통해서 D가 이동했을때 새로운 라우팅 경로를 확인하고 있습니다. reactive라고 해서 무조건 라우팅 경로를 요청하는 것은 아니고 캐쉬를 활용한다고 하네요

마지막으로 두 가지 방식의 장점을 혼합한 Hybrid 방식도 있다고 하네요

이상으로 Ad hoc 네트워크에 대해서 정리해 봤습니다. 확실히 정리를 하면 저도 좀더 이해를 하게 되는 것 같습니다. 

참고자료

Ad hoc 네트워크 기술동향 (전자정보센터)

Mobile Ad Hoc Networking (전자정보센터)