본문 바로가기

컴퓨터공학/분산시스템

분산시스템의 네이밍

반응형

Names, Identifiers, and Addresses

○ Name(이름)

- 임의의 실체(Entity, Object 등)에 부여

- 실체를 구분하고 원하는 대상을 찾기 위함

○ Identifier(ID, 식별자)

- 동일한 이름을 가지는 실체를 구분

- 식별자와 실체는 1:1 관계

- 동일한 식별자는 항상 동일한 실체를 가리켜야 함

○ Address(주소)

- 실체에 Access 하는 방법

- Access Point

 

Naming 방법

 Flat

- Forwarding Pointer

- HBA(Home-Based Address)

- DHT(Distributed Hash Table)

- HA(Hierarchical Approach)

 Structured

- NS(Name Space): File System, Web

 Attribute-Based

- LDAP

 

Flat - Forwarding Point

▲ Object가 이동 위치마다 Pointer 생성, Chain을 따라 Object 실제 위치 추적, 단 이동이 많은 경우 체인이 너무 길어짐

▲ 체인 길어짐을 Shortcut을 이용하여 해결
-  이동이 많은 경우 Chain이 길어지는데, 불필요한 위치를 제거하여 Chain 단축

 

Flat - Home-based Approaches

○ Mobile IP에 응용 
○ Home Agent(HA)는 Mobile Host(대상)의 현재 위치를 알고 있음
- HA는 Mobile Host가 Channel에 최초로 가입한 지점
- 홈페이스가 클라이언트에게 위치를 알려줌
○ Mobile Host에 메시지 전송, Access 하려면 HA에 Query를 보내면 됨

 

Flat - Distributed Hash Tables

 

▲ 실제 노드가 Data 또는 Object 관리
○ P2P, Blockchain에 응용
○ Hash Table상 Key는 어떤 Node를 가리킴
○ Ex. Chord 구조 DHT(교재예제)
- 짙은 원: 실제 Node, 이전 Node 이후의 Key부터 자신까지 Key값 할당
- 개별 Node는 Key값과 Node 쌍의 Finger Table 보유
- 원하는 Key가 Finger Table내 Key범위에 없을 경우 가장 큰 값 선택
- 원하는 Key가 Finger Table 내 Key 범위에 있을 경우 범위의 가장 작은 값 선택



Flat- Hierarchical Approaches (계층구조)

 

 

 

 

○ Tree형태 Domain 구조
○ 서로 다른 Domain 내 같은 Entity 존재 가능
○ Domain 관리는 Root가 관리
○ 탐색
- 찾는 Entity가 현재 Domain내에 없다면 상위 Domain으로 이동하여 탐색
- 한번 Entity를 찾으면 상위 Domain의 Root 만 방문하면 됨



 

Structured - Name Space

 

○ File System, Domain Name(인터넷)에 응용
○ Tree 형태 Directory 사용
○ Unix의 File System은 Name과 inode 속성을 가짐
- inode(index node): index node, 식별자이며 DISK 주소값을 가짐, 이름만으로도 File을 혼동할 수 있으므로 사용
○ 원격으로 Storage가 흩어져있는 경우 분산 File System(Linking and Mounting) 사용

 

Structured - Name Space - Linking and Mounting

 



 
○ 원격에 있는 File을 Local에 있는 것처럼 사용
○ 자신의 Directory Tree에 원격의 File System을 연결하고 Mounting
- Mounting에 필요한 정보: Access Protocol, 서버 이름, Mounting 지점에 관한 외부 Name Space
 

Structured - Name Space - Name Space Distribution

 




○ DNS, Web Site에 응용
○ 사람이 이용하기 쉽도록 이름을 통해 Entity 접근
- Flat Model보다 사람이 이용하기 쉽도록 고안된 것이 Structured (naming) Model
 DNS: 이름을 Entity의 IP 주소로 Mapping
○ 구현 시 Global Level에서는 가용성이, Manage Level에서는 성능이 중요

 

Implementation of Name Resolution

 
○ DNS Query 동작
- Iterative: 클라이언트가 직접 Root부터 각 Level 서버를 Query
- Recursive: 클라이언트는 Root 서버만 Query, 이후 Root 서버에서 각 Level 서버로 Query 순회
○ 원거리 통신의 경우 Iterative 방식은 Recursive보다 Delay 발생
○ Ex. www.hanyang.ac.kr
- 점을 구분으로 하여 뒤에서부터 탐색
- Root Level: kr
- 2nd Level: ac
- 3rd Level: hanyang
- 4th Level: www
반응형