1. Introduction
TCP/IP Protocol suite을 사용하려면 각 호스트와 라우터에 일정량의 구성 정보가 필요하다. 구성 정보는 시스템에 로컬 이름을 지정하거나, 인터페이스에 IP 주소와 같은 식별자를 할당하는데 사용한다. 또한 DNS(Domain Name System)이나 모바일 IP Home Agent와 같은 다양한 네트워크 서비스를 제공하거나 사용하는데도 활용된다.
그럼 이러한 구성 정보는 어떻게 만들까? 여기에는 3가지 접근방법이 있다. 각각 정보를 수동으로 입력하는 법, 네트워크 서비스를 이용해 시스템이 정보를 획득하도록 하는 방법, 알고리즘을 사용해 자동으로 정보를 결정하는 법이 있다.
이전에 살펴본 바와 같이, TCP/IP 네트워킹에 사용되는 모든 인터페이스는 IP 주소, 서브넷 마스크, 브로드캐스트 주소가 필요하다. 브로드캐스트 주소는 일반적으로 IP 주소와 서브넷 마스크를 이용하여 결정할 수 있다. 이러한 최소한의 정보를 통해 같은 서브넷 내의 다른 시스템과 통신하는 것이 가능하다. (경로에 외부 네트워크 라우터가 끼지 않음. A -> R -> B)
로컬 서브넷을 넘는 통신(Foreign network)의 경우에는 특정 목적지에 도달하기 위해 사용할 라우터를 지정하는 라우팅 또는 포워딩 테이블이 필요하다. 또한 웹이나 이메일 같은 서비스를 제공하기 위해서는 인간에게 친숙한 주소 표현을 쓰는 것이 중요하다. 따라서 DNS를 통해 사용자 친화적인 도메인 이름을 IP 주소로 매핑하여야한다. 따라서 이를 사용하는 시스템은 최소한 하나의 DNS 서버에 접근하는 방법을 알아야한다.
결론적으로, IP 주소, 서브넷 마스크, DNS 서버 IP 주소, 라우터 IP 주소가 필수 기본 요소이다.
이때 IPv4 에서의 DHCP (Dynamic Host Configuration Protocol), IPv6 에서의 Stateless Address Autoconfiguration이 포함된다.
2. Dynamic Host Configuration Protocol (DHCP)
DHCP는 호스트에 구성 정보를 할당하는데 사용되는 인기있는 Client/Server Protocol이다. 대부분의 장치들은 DHCP를 사용하여 IP 주소, 서브넷 마스크, 라우터 IP 주소, DNS IP 주소를 획득한다. DHCP는 BOOTP에 기반을 두고 있으며, BOOTP는 구성 정보를 클라이언트에게 제공한 후 변경할 수 있는 기능이 없다. 따라서 DHCP는 BOOTP를 상속 가능하며, BOOTP와 DHCP 모두 UDP/IP를 통해 전달된다. DHCP는 크게 2 가지 주요 기능으로 구성된다.
1. 주소 관리 : IP 주소의 동적 할당을 처리하고, 클라이언트에게 주소를 임대한다.
2. 구성 데이터 전달 : DHCP의 메시지 형식과 State machine을 포함한다.
또한 DHCP 서버는 3 가지 수준의 주소 할당을 제공한다.
1. Automatic Allocation : 서버가 클라이언트에게 IP 주소를 할당하며 이 주소는 절대 취소되지 않는다.
2. Dynamic Allocation : 서버가 사전 정의된 범위 내의 주소 풀에서 IP를 할당하여 클라이언트에게 전달한다. 이 주소는 취소될 수 있다. (제일 일반적)
3. Manual Allocation : DHCP 프로토콜을 사용하여 주소 전달을 하지만, 해당 주소는 요청한 클라이언트 하나에 고정되며 서버가 유지하는 할당 가능한 주소 풀에서 제외된다.
1. Address Pools and Leases
동적 할당에서는 DHCP 클라이언트가 IP 주소 할당을 요청한다. DHCP 서버는 사용 가능한 주소 풀에서 하나의 주소를 선택하여 Client에 응답한다.이 풀은 DHCP에게 사전에 할당된 연속적인 IP 주소 범위로 구성된다. 각 DHCP 클라이언트에 할당된 주소는 Lease Duration으로 불리는 특정 시간 동안만 유효하다. 이 후 클라이언트가 계속 DHCP 서버에 연결이 되어있다면 임대 연장 요청을 해야한다. Lease Duration은 DHCP 서버의 중요한 구성 매개변수이다. 임대 기간은 몇 분에서 며칠 또는 그 이상까지 다양할 수 있으며, 적절한 Lease Duration을 결정하는 것은 예상되는 클라이언트 수, 주소 풀의 크기, 주소 안전성에 대한 trade-off가 된다. Long Lease Duration은 사용 가능한 주소 풀은 더 빨리 소진시키지만, 주소 안정성을 높이고 DHCP message가 줄어 네트워크 오버헤드가 줄어드는 효과가 있다. Short Lease Duration은 주소 풀을 더 타이트하게 관리하지만 안정성이 감소하고 네트워크 트래픽 부하가 증가할 가능성이 있다.
클라이언트는 Lease Duration의 절반이 경과한 시점부터 임대 갱신을 시도하기 시작한다. DHCP request에 client는 서버에 다양한 정보를 제공할 수 있다. 여기에는 client 이름, 요청된 Lease Duration, 이용 했었던 주소의 사본 등이 포함될 수 있다. 또한 주소 관리의 안정성을 위해 임대 정보는 Persistent memory에 저장되게 된다.
2. DHCP and BOOTP Message Format
DHCP는 BOOTP를 확장한 형태이다. OP는 메시지가 Request(1)인지 Reply(2)인지를 식별하는 필드이다. HW Type은 ARP에서 사용되는 값을 기반으로 할당되며 가장 일반적인 값은 1(802.3, Ethernet)이다. HW Len은 MAC 주소를 저장하는데 사용되는 바이트 수를 나타내며 Ethernet과 같은 네트워크에서는 일반적으로 6이다. Hops는 메시지가 거친 릴레이의 수를 저장하는데 사용된다. 메시지의 발신자는 이 값을 0으로 설정한다. Trascation ID는 클라이언트가 선택한 랜덤 숫자로, 요청과 응답을 매칭하는데 사용한다.
Secs 필드는 클라이언트가 주소를 설정하거나 갱신하려는 첫 번째 시도 이후 경과한 시간을 설정하는 필드이다. Flags 필드에는 Broadcast flag가 포함되어있다. 처음에 자신의 IP가 없을 때 이 기능을 사용한다. 자신이 브로드캐스트를 하지 않고 유니캐스트 방법으로는 응답을 수신할 수 없기 때문이다. 이후는 다양한 IP 주소를 나타낸다. Client HW Address 필드는 클라이언트를 고유하게 식별하는 식별자를 저장한다. 이 필드는 서버에서 활용을 위해 할당되었다. 예를 들면, 동일한 Client HW Address 필드는 가능한한 이전에 동일한 IP 주소를 제공하도록 설정할 수 있다. 전통적으로 클라이언트의 MAC 주소를 사용하였다. 남은 필드에는 Server Name, Boot File Name을 저장한다.
3. DHCP, and BOOTP Options
DHCP는 BOOTP를 확장한 프로토콜로 BOOTP 설계 당시 존재하지 않던 필드는 전부 Options으로 빼서 관리한다.
대표적인 옵션으로는 Pad(0), Subnet mask(1), DHCP Message Type(53) 등이 있으며 DHCP Message Type은 항상 DHCP message와 함께 사용되는 1바이트 길이의 옵션이다. 이 옵션에는 DHCPDISCOVER(1), DHCPOFFER(2), DHCPREQUEST(3) 과 같이 DHCP 서비스에 필요한 기능들이 들어가게 된다. 또한 Server Name, BooT File Name 필드에도 옵션이 포함될 수 있으며, 이런 경우를 Option overloading이라고 부른다. 이 필드들이 옵션을 저장하는 데 사용되었음을 알리기 위해서는 Overload option(52)를 포함시켜야한다.
길이가 255 바이트를 초과하는 옵션의 경우 Long options 매커니즘을 따라 처리한다.
4. DHCP Protocol Operation
DHCP는 본질적으로 특정 옵션 세트를 필수로 포함한 BOOTP 메시지이다. 새로운 클라이언트가 네트워크에 연결되면, 먼저 사용 가능한 DHCP 서버와 해당 서버가 제공하는 주소를 검색한다.(DHCPDISCOVER) 이후 클라이언트는 사용할 DHCP 서버와 원하는 주소를 선택하여 요청을 보낸다. 서버가 그 사이에 해당 주소를 다른 클라이언트에게 할당하지 않았다면, ACK 메시지를 보낸다. 클라이언트가 요청을 보낼 때 OP 필드를 BOOTREQUEST로 설정하고 UDP/IP 데이터그램 형식으로 전송한다.
일반적인 교환 과정에서 클라이언트는 먼저 DHCPDISCOVER 메시지를 브로드캐스트로 전송한다. 이 요청을 직접적으로 또는 릴레이를 통해 수신한 각 서버는 DHCPOFFER 메시지로 응답할 수 있으며, 이 메시지에는 Your IP Address 필드에 제공된 IP 주소가 포함된다. 또한 DNS 서버의 IP 주소, 서브넷 마스크 등 다른 구성 옵션도 포함된다. 이 때, Offer 메시지에는 Lease duration도 포함되며 갱신 시간과 재결합 시간이 포함된다. 갱신 시간은 클라이언트가 자신의 IP 주소를 갱신하기 위해 자신(서버)과 통신을 시도 시작해야하는 시간을 의미하고 재결합 시간은 클라이언트가 자신의 IP 주소를 갱신하기 위해 어떤 서버든 통신을 시도 시작해야하는 시간을 의미한다.
클라이언트가 DHCPACK 메시지와 관련 구성 정보를 수신했으면, 제공된 주소가 이미 사용 중이지 않은지 확인하기 위해 네트워크를 탐색한다. 예를 들어 ARP Request를 하여 충돌 탐지를 수행한다. 만약 충돌 시 DECLINE 메시지를 서버에 보내 해당 주소를 사용할 수 없음을 알린다.
DHCP 프로토콜은 클라이언트와 서버에서 State machine을 운영하며, 상태에 따라 프로토콜이 다음에 처리할 메시지 유형을 결정한다. 상태 간 전환은 메시지의 수신 및 전송 또는 타이머의 만료다.
그림을 보면 클라이언트는 정보가 없는 상태에서 INIT으로 시작, DISCOVER 메시지를 전송한다. Selecting 상태에서는 DHCPOFFER를 수집하며 선택이 완료되면 서버를 고르고 REQUEST를 전송한다. 이 시점에서 원하는 주소를 찾지 못하면 DECLINE 전송 후 INIT 상태로 돌아간다. 만약 찾았다면 ACK로 IP 주소 사용을 허가하고 Bound 상태로 들어가 주어진 시간 동안 주소를 사용한다. 갱신 기간(T1)이 끝났다면 기존 서버에 갱신 시도를 하고 T1 동안 갱신에 실패하면 재결합 시간 T2에 들어가 다른 DHCP 서버에도 갱신 시도를 한다. 만약 실패한다면 INIT 단계로 돌아온다.
5. DHCPv6
DCHPv6는 두가지 모드가 존재한다.
1. Stateful mode : DHCPv4와 유사하다.
2. Stateless mode : Stateless address auto configuration과 함께 작동한다.
Stateless mode에서는 IPv6 클라이언트가 스스로 IPv6 주소를 설정하는 것으로 간주되며, 추가적인 정보가 필요할 경우 DHCPv6를 사용하여 이를 얻는다.
IPv6 호스트는 일반적으로 하나의 인터페이스에 여러가지 주소를 사용한다. 또한 각 주소에는 해당 주소를 사용할 수 있는 기간과 용도를 나타내는 타이머 세트가 포함된다. IPv6에서는 주소가 Preferred lifetime과 valid lifetime으로 할당된다. 이러한 수명 값은 주소를 한 상태에서 다른 상태로 이동시키는 타임아웃을 형성하는데 이용된다.
주소는 Preferred state에 있을 때 일반적으로 사용할 수 있으며 IPv6 source, destination 주소로 사용할 수 있다. preferred timeout이 발생하면 prefer addr.는 deprecated state가 된다. 이 경우 기존 연결은 계속 이용되나 새로운 연결을 해당 주소로 구축하는 것은 불가능하다.
주소가 처음 선택되어 사용되기 시작할 때, Tentative state 또는 Optimistic state에 진입한다. 임시 상태에서는 해당 주소가 NDP를 위해서만 사용될 수 있으며, 다른 용도로는 Source, Destination Addr.로 사용되지 않는다. 이 상태에서는 같은 네트워크의 다른 노드와 주소 중복 여부를 검사한다. 이 절차를 DAD라고 하며 DAD가 성공하면 Preferred 단계로 이행된다.
DHCPv6 메시지는 UDP/IPv6 데이터그램으로 캡슐화된다. 메시지는 호스트의 link-scoped source address를 사용하여 릴레이 에이전트 또는 서버로 전송된다. DHCPv6 메시지는 2가지 형식이 있다. 하나는 C/S가 다이렉트로 연결되는 경우고 하나는 Relay Agent를 통해 연결이 될 때이다. Link Address 필드는 클라이언트가 위치한 링크를 식별하기 위해 사용하는 글로벌 IPv6 주소이고 Peer Address 필드는 릴레이가 전달할 메시지를 수신한 클라이언트 또는 릴레이 에이전트 주소를 포함한다. 릴레이는 체인 형태로 연결될 수 있으며 하나의 릴레이가 다른 릴레이로부터 받은 메시지를 다시 전달할 수 있다. DHCPv4와 v6의 주요 차이점은 DHCPv6가 IPv6 멀티캐스트 주소를 사용하는 방식이다. 클라이언트는 Request 메세지를 모든 서버에 추가로 DHCP Relay agent에게까지 보낸다.
* Identitiy Association (IA)
IA는 DHCP 클라이언트와 서버 간에 주소 집합을 참조하기 위해 사용되는 식별자이다. 각 IA는 IAID와 관련된 구성 정보를 포함한다. DHCPv6 할당 주소를 요청하는 각 클라이언트 인터페이스는 최소한 하나의 IA가 필요하며 각 IA는 단일 인터페이스만 레퍼런스한다. 클라이언트는 각 IA를 고유하게 식별하기 위해 IAID를 선택하며, 이 값은 서버와 공유된다.
IA와 연관된 구성 정보는 하나 이상의 주소와 임대 정보(T1, T2 및 전체 임대 기간 값)을 포함한다. IA 내의 각 주소는 preferred lifetime, valid lifetime을 가지며, 해당 주소의 생명 주기를 정의한다. 요청할 수 있는 주소 유형에는 일반 주소와 임시 주소가 있다. 임시 주소는 IPv6 호스트를 IPv6 주소 기반으로 추적하는 것을 방지하여 개인 정보를 보호하기 위한 주소이다. 임시 주소는 일반적으로 비임시 주소와 동시에 할당되지만, 더 자주 재생성된다.
요청에 응답할 때 서버는 서버 관리자에 의해 결정된 Address Assign Policy Set에 따라 클라이언트의 IA에 하나 이상의 주소를 할당한다. 비임시 주소와 임시 주소를 위한 IA 옵션 형식은 상단의 그림과 같다. 해당 그림을 보면 임시주소와 비임시 주소는 T1,T2 포함 여부가 차이난단 것을 알 수 있다. 임시 주소에 T1, T2를 포함하지 않는 이유는 일반적으로 이전에 획득된 비임시 주소의 T1, T2 값을 기반으로 결정되기 때문이다.
* DHCP Unique Identifier(DUID)
DUID(DHCP Unique ID)는 단일 DHv6 클라이언트 또는 서버를 식별하며 이는 시간이 지나도 유지되도록 설계되었다. 서버는 DUID를 사용하여 클라이언트를 식별하고, 클라이언트는 관심있는 서버를 식별하는데 DUID를 쓴다. 이러한 DUID는 전역적으로 고유해야하며 생성하기 쉬워야한다. DUID에는 현재 3가지 유형이 존재한다.
1. DUID-LLT : Link-layer address와 시간을 기반으로 한 DUID
2. DUID-EN : Enterprise number와 vendor assignment를 기반으로 한 DUID
3. DUID-LL : Link-layer address를 기반으로 한 DUID
HW 유형 다음에 2000년 1월 1일(UTC) 이후 경과된 초 단위 시간을 나타내는 32비트 타임스탬프를 포함시키는 DUID-LLT가 권장되는 형식이며 마지막 부분은 가변 길이의 Link-layer address가 붙는다. Link-layer address는 호스트의 인터페이스 중 하나에서 선택할 수 있으며, 한 번 선택된 DUID는 모든 인터페이스의 트래픽에 대해 동일하게 사용되어야한다. 그러므로 DUID가 생성된 네트워크 인터페이스가 제거되었을 때를 대비해 호스트 시스템에서 안정적인 저장 공간을 마련해야한다.
* Protocol Operation
DHCPv6 프로토콜은 DHCPv4와 매우 유사하게 작동한다. 클라이언트가 DHCP를 사용할지 여부는 호스트가 수신하는 Router advertisement에 포함된 구성 옵션에 따라 결정된다. Router advertise에는 2가지 중요한 비트 필드가 포함된다.
1. M 필드 : IPv6 주소를 DHCPv6를 통해 획득할 것임을 알린다.
2. O 필드 : IPv6 주소 이외의 정보를 DHCPv6를 통해 획득할 수 있음을 알린다.
M,O가 둘 다 꺼진 경우 DHCPv6를 사용하지 않으며 stateless address autoconfiguration을 통해 IPv6를 획득하여야하고, M이 꺼지고 O가 켜진 경우 stateless DHCPv6를 사용하여야한다.
일반적으로 클라이언트는 먼저 사용할 Link-Local address를 결정한 후 ICMP Router Discovery를 수행하여 연결된 네트워크에 라우터가 있는지 확인한다. DHCPv6가 사용 중인 경우, 최소한 M 비트 필드가 설정되며 클라이언트는 DHCPSOLICIT 메시지를 multicast하여 DHCPv6 서버를 찾는다. 이에 대한 응답으로 하나 이상의 DHCPADVERTISE 메시지가 전송된다.
DHCPv6 서버의 위치가 이미 알려져 있거나 주소를 할당할 필요가 없는 경우 4단계 메시지 교환 과정을 2단계 메시지 교환 과정으로 줄일 수 있다. (REQUEST, REPLY) DHCPv6 서버는 DUID, IA 유형, IAID의 조합으로 형성된 바인딩을 커밋한다.
6. Using DHCP with Relays
대부분의 단순 네트워크에서는 동일한 LAN에 있는 클라이언트에게 직접 접근이 가능한 DHCP 서버가 제공된다.
그러나 더 복잡한 기업 환경에서는 하나 이상의 DHCP relay agent를 통해 DHCP 트래픽을 중계하는 것이 필요할 수 있다.
relay agent는 DHCP의 동작을 여러 네트워크 세그먼트에 걸쳐 확장하는 데 사용된다. 상단 그림에서 A,B 네트워크 세그먼트 사이의 릴레이는 DHCP 메시지를 전달하며, 옵션을 사용하거나 빈 필드를 채워 메시지에 추가 정보를 주석으로 삽입할 수 있다. 일반적인 상황에서 relay agent는 클라이언트와 서버 간에 교환되는 모든 DHCP 트래픽에 참여하지 않는다. 대신 브로드캐스트로 전송되는 메시지(보통 첫 주소 획득 절차)만을 릴레이한다. 클라이언트가 IP 주소와 Server Identification 옵션을 사용해 서버의 IP 주소를 획득한 후에는 릴레이가 관여하지 않고 서버와 직접 Unicast 통신이 가능해진다. 전통적으로 Relay agent는 layer 3 device로 작동해야하며 라우팅 기능을 포함하는 경향이 있다. (layer 2 device로도 제한적으로 작동이 가능하다.)
7. DHCP Authentication
DHCP의 원활한 동작이 방해받는다면 호스트의 구성 정보가 망가지고 심각한 네트워크 장애가 발생할 것은 명백하다. 그러나 DHCP는 기본적으로 보안에 대한 고려를 하지 않고 설계되었다. 따라서 비인가된 DHCP 클라이언트나 서버가 실수로 혹은 의도적으로 공격을 위해 설정될 수 있으며 이는 큰 문제이다. 이러한 문제를 완화하기 위해 DHCP 메시지를 인증하는 방법이 정의되었으며 Authentication option이라는 옵션이 등자하게 되었다.
Authentication option의 목적은 DHCP 메시지가 검증된 소스로부터 온 것인지를 확인하는 데 있다.Code는 90으로 설정되며 Length 필드는 옵션의 바이트 수를 나타낸다. Protocol 및 Algorithm 필드의 값이 0일 경우 Authentication Info. 필드는 단순한 shared configuration token을 포함한다. 클라이언트와 서버에서 이 token이 일치하면 메시지가 수락된다. (비밀번호) 그러나 이러한 트래픽은 공격자에 의해 탈취당하기 쉬워 안전하지 않다. (실수로 발생하는 DHCP 문제는 방지 가능.)
다음 방법은 deferred authentication을 사용하는 것이다. Protocol, Algorithm이 1로 설정되며 DHCPDISCOVER 혹은 DHCPINFORM 메시지에 Autentication 옵션이 포함된다. 서버는 이 메시지에 인증 정보를 포함하여 응답한다. RDM(Replay Detection Method) 필드는 RDM을 정하는 방법을 서술한다. 0이 설정될 시 Replay Detection 필드는 단조롭게 증가하는 값(Ex:Time stamp)을 포함한다. 수신된 메시지는 이 값이 항상 증가하는지를 검증한다. 만약 값이 증가하지 않는다면 수신된 메시지는 DHHCP 메시지가 단순히 재전송된 것이라고 여긴다. 패킷이 재정렬되는 상황에서는 Replay Detection 필드 값이 증가하지 않을 수도 있지만, 이는 DHCP가 주로 사용되는 LAN 환경에서는 가능성이 낮다. DHCP Autentication이 널리 이용되지 못하는 이유는 클라이언트와 서버 간에 공유 키가 배포되어야한다는 점, DHCP가 이미 널리 사용된 뒤에 정의되었다는 점이 있다.
8. Reconfigure Extension
일반적인 DHCP 클라이언트는 주소 바인딩 갱신을 스스로 한다. 이와 별개로 RFC3203에서는 DHCPFORCERENEW 메시지를 정의한다. 이 확장은 서버가 단일 클라이언트를 Renewing 상태로 전환시켜 리스를 갱신시킬 수 있게 한다.
이 확장의 목적은 클라이언트가 주소를 다시 설정하거나, 네트워크 내의 중요한 상태 변화로 인해 주소를 잃게 만드는 것이다. 그러나 이 메시지를 통해 DoS 공격을 할 수 있고 따라서 DHCP 인증을 사용하여 인증되어야한다.
9. Rapid Commit
DHCP Rapid Commit 옵션은 DHCP 서버가 DHCPDISCOVER 메시지에 대해 DHCPACK으로 바로 응답할 수 있도록 허용한다. 이를 통해 DHCPREQUEST 메시지를 건너 뛸 수 있다. 이를 통해 네트워크 AP가 자꾸 바뀌는 모바일 호스트를 신속하게 구성해줄 수 있다. 서버가 이 옵션을 포함하여 응답하면, 클라이언트는 반환된 주소를 즉시 사용하기 시작한다.
10. Location Information (LCI and LoST)
일부 경우에는 구성 중인 호스트가 자신의 위치를 파악할 수 있게 하는 것이 유용하다. (위도, 경도, 고도 등)
LCI에는 위도, 경도, 고도 좌표 값 뿐만이 아니라 각각에 대한 해상도 표시도 포함된다. LCI는 응급 서비스를 포함한 다양한 목적으로 사용할 수 있다.
물리적 위치 정보가 특정 개인이나 시스템의 위치를 찾는 데 유용하다면, 경우에 따라 entity의 civic location을 아는 것이 중요할 수도 있다. Civic location이란 국가, 도시, 지역, 거리와 같은 지정학적 요소를 사용하여 위치를 표현하는 것이다. Civic location information은 LCI와 동일한 구조를 사용하여 DHCP를 통해 제공될 수있다. 그러나 Civic location의 경우 LCI와 다르게 고려해야할 점이 더 있다. 각 국가의 지정학적 위치 명명 방식이 다르기 때문이다. 또한 이러한 이름은 언어와 관계가 있다.
또한 DHCP에 위치정보를 맡긴단 것은 보안적으로 위험할 수도 있다. 대안으로 HTTP 기반 위치 전달 프로토콜이 위치 정보를 제공하는데 사용될 수 있으며 이는 DHCP에 LCI를 직접 인코딩하는 대신 DHCP 옵션 OPTION_V4_ACCESS_DOMAIN, OPTION_V6_ACCESS_DOMAIN을 통해 HELD 서버의 FQDN을 제공할 수 있다.
호스트가 자신의 위치를 알게 된 후에는 해당 위치와 관련된 서비스를 쿼리할 수도 있다. IETF의 LoST 프레임워크는 애플리케이션 계층 프로토콜을 사용하여 위치에 따라 달라지는 URI를 통해 이를 구현한다.
11. Mobility and Handoff Information (MoS and ANDSF)
셀룰러 기술을 통해 인터넷에 접속하는 모바일 컴퓨터와 스마트폰의 사용 증가에 대응하기 위해, 셀룰러 구성 및 다양한 무선 네트워크 간 Handover 정보를 전달하는 프레임워크가 정의되었다.
현재 이러한 정보와 관련된 DHCP 옵션 세트는 IEEE 802.21 MoS Discovery와 Acess Network Discovery and Selection Function(ANDSF) 두 가지가 있다. 후자는 셀룰러 데이터 통신 표준을 제정하는 조직 중 하나인 3GPP에서 표준화되고 있다.
IEEE 802.21 표준은 Media-Independent Handoff 서비스를 위한 프레임 워크를 정의하며, 3GPP, 3GPP2, IEEE(802.3, 9-2.11, 802.16) 정의 네트워크 유형 간 Handoff를 지원한다. MoS는 정보 서비스, 명령 서비스, 이벤트 서비스로 알려진 3 가지 유형의 서비스를 제공한다. 이 서비스들은 대략적으로 가용 네트워크에 대한 정보 제공, 링크 매개변수 제어 기능, 링크 상태 변경에 대한 알림을 포함한다.
MoS Discovery DHCP 옵션은 모바일 노드가 이러한 서비스를 제공하는 서버의 주소 또는 도메인 이름을 DHCPv4 or DHCPv6를 사용해 획득할 수 있는 방법을 제공한다.
RFC6153은 3GPP의 ANDSF 사양을 기반으로 ANDSF 정보를 전달하기 위한 DHCPv4 및 DHCPv6 옵션을 정의한다. 특히, 모바일 장치가 ANDSF 서버의 주소를 검색할 수 있게 해주는 옵션을 정의한다.
12. DHCP Snooping
DHCP snooping은 일부 스위치 벤더들이 자사 제품에 제공하는 기능으로 DHCP 메시지 내용을 검사하고 Access control 목록에 나열된 MAC 주소만 DHCP 트래픽을 교환할 수 있도록 보장한다. 이를 통해 rogue DHCP server로 인해 발생할 수 있는 피해를 제한할 수 있다.(다른 호스트가 해당 서버 DHCP 주소 제안을 필터링하기 때문) 그러나 MAC 주소 역시 OS 명령을 통해 변경이 가능하기 때문에 완전한 보호는 아니다.
'Computer Network' 카테고리의 다른 글
4. System Configuration: DHCP & Autoconfiguration - 2 (0) | 2025.01.22 |
---|---|
3. The Internet Protocol (IP) - 2 (0) | 2025.01.14 |
3. The Internet Protocol (IP) - 1 (0) | 2025.01.08 |
2. ARP : Address Resolution Protocol (0) | 2024.12.30 |
1. Link Layer - 2 (0) | 2024.12.26 |