Windows 7의 네트워크 기능 향상, BranchCache – Windows Server 2008 R2와 만났을 때 (1)

Windows7_h_rgb WS08-R2_h_rgb

Windows 7에 대한 많은 포스팅이 일반 사용자 분들을 위한 기술, 가치가 많았습니다. Windows 7의 경우, 일반 사용자 분들을 위한 기술뿐만 아니라, 기업내 사용자, 다시 말해 지식 근로자와 IT Pro(엔지니어, 매니저) 분들을 위한 기술도 많이 내장되어져 있습니다.

이러한 기술 및 가치에 대해서는 Windows Server 2008 R2와 만났을 때라는 부제를 가지고 포스팅해보려고 합니다.

오늘의 첫번째 기능은 네트워크 기능 향상 포인트중 하나인 BranchCache (Codename Vortex) 기술입니다.

Microsoft도 시애틀에 본사를 두고, 전 세계에 걸쳐 많은 지사를 가지고 있습니다. 본사 이외에 다른 지역에서 사용하는 서버의 형태를 조사해놓은 재미있는 결과가 하나 있더군요. (2007년 조사 결과)

image

지사에서 사용하는 서버의 대부분이 응용 프로그램 서버 또는 인프라스트럭쳐 서버의 형태였습니다. 인프라스트럭쳐 서버의 경우에는 도메인 컨트롤러, DNS, DHCP와 같은 필수적으로 IT 인프라를 운영하는데 필요한 서버들을 의미합니다. 이런 서버들에 대한 관리를 어떻게 할 것이냐가, IT 엔지니어 분들에게는 매우 중요한 포인트입니다. 크게 두가지 중 하나로 하게 되는데요. 바로 모든 서버를 중앙 관리할 것인지, 아니면 지사에 두고 관리를 할 것인지에 대한 부분입니다.

먼저 중앙 관리의 경우에는, 배포의 용이성, 관리의 간소화, 성능, 단일 실패 지점 관리등의 장점이 있습니다. 지사에서 관리를 하는 경우에는, 빠른 응답, 성능이라는 장점을 가지고 있지만, 관리 비용이 문제점이기도 하죠. 중앙 관리의 경우에는 본 지사간의 네트워크가 얼마나 빠르고, 잘 구성되어져 있느냐가 큰 포인트로 작용하게 됩니다. LAN 대기 시간이 1ms이하인 경우에는 문제가 없지만, 본 지사간의 속도가 100ms 이상인 경우, 10번의 TCP Ack에 대해서 1초의 추가적인 오버헤드가 걸리게 됩니다.

서버에 대한 관리는 용이할 수 있으나, 다른 업무의 관리자, 즉 네트워크 엔지니어의 경우에는, 본, 지사간에 사용자들이 사용하는 네트워크가 정말 업무용에 더 비중을 두고 있는지, 특정 사용자가 바이러스나 웜에 걸려 문제를 일으키고 있는건 아닌지, 여러 LOB 응용 프로그램에 대한 QoS와 같은 업무를 위한 추가적인 작업이 필요하죠.

길게 이야기헀습니다만, 결국에는 네트워크 대역폭을 얼마나 잘, 그리고 효율적으로 관리하고 사용할 것이냐? 가 현재 필요한 요소가 됩니다.

Microsoft의 경우, Windows 플랫폼에 내장되어져 있는 프로토콜을 지속적으로 개선, 향상하여, 사용자들이 더 향상되고 빠른 사용자 경험을 할 수 있도록 노력하고 있으며, Windows Server 플랫폼에 추가적인 기능을 개발하여, 지사에 대해 적절한 솔루션을 제공하도록 합니다. 당연히 파트너쉽을 통해 WAN 구간에 대한 다양한 컨트롤을 제공하기도 하고요.

Windows 7에는 이러한 네트워크 사용에 대한 효율성 및 성능을 위해 2가지 새로운 기술이 추가되고, 일부는 Windows Server 2008 R2와 연동되어져 있습니다.

  1. Transparent Caching
  2. BranchCache

현재까지의 Windows는 본사, 다시 말해 네트워크적으로 떨어진 구간에 있는 파일을 열었다가, 다시 열더라도, 해당 파일을 다시 다운로드 or 복사하는 아키텍쳐를 가지고 있으므로, 사용자는 방금 전에 열었던 파일을 다시 열때에도, 제법 긴 시간을 기다릴 수도 있습니다.

Windows 7에서는 SMB(폴더 및 파일 공유)에 대해서 자동으로 디스크에 캐시를 할 수 있게 되며, 차후, 해당 파일을 다시 열경우, 캐시에서 이를 열게 됩니다. 당연히 이러한 사항은 사용자에겐 빠른 업무 환경에 대한 구성으로 이어질 수 있겠죠. IT 관리자의 입장에선 네트워크 대역폭 사용을 줄일 수 있다는 장점을 얻을 수 있습니다.

아키텍쳐 상으로 BranchCache는 SMB(파일 공유)와 HTTP 처리쪽보다 더 하단에 자리하고 있습니다.

image image

그 의미는 단순하게 파일 공유에서 뿐만 아니라, HTTP에 대한 처리 역시 BranchCache를 사용할 수 있다는 의미입니다. 다양한 웹 솔루션, 특히 미디어까지 가미된 솔루션을 사용하신다면, 이러한 BranchCache는 IIS 웹 서버와 더불어 클라이언트에게 큰 의미를 부여할 수 있습니다.

자.. 그렇다면 해당 설정은 어디서 할까요?

image

컴퓨터 구성 – 관리 템플릿 – 네트워크 – 오프라인 파일내 Enable Transparent Caching을 사용하시면 되고, 액티브 디렉터리가 있을 경우에는 중앙에서 빠르게 이를 내릴 수 있습니다.

이제 Windows 7내 네트워크 기술중 가장 향상이 많이 된 부분은 바로 캐싱 관리, Branchcache를 살펴보겠습니다. BranchCache는 크게 두가지 형태로 되어져 있습니다. Distributed Cache, Hosted Cache입니다.

image image

이름에서도 느끼시겠지만, Distributed Cache는 Windows 7 클라이언트간의 협동 모드입니다. 초기엔 이를 Cooperative Mode라고 부르기도 했었습니다. 최초의 클라이언트가 본사의 서버, 또는 거리가 먼 곳에 위치된 서버에서 데이터를 받아오면, 이 데이터와 더불어, 데이터에 대한 Hash 값을 가지고 있게 됩니다. 당연히 본사의 서버에는 BranchCache에 대한 서버 모듈이 설치되어져 있어야 합니다. 또다른 클라이언트가 동일한 파일을 요구하게 되면, 파일에 대한 Hash를 우선 받아와, 로컬내 클라이언트에게 이에 대한 소유 여부를 쿼리합니다.(Hash가 있으므로) 쿼리를 상호간에 진행하고, 데이터를 받아오려면, 이와 관련된 포트가 2개(피어 검색 방화벽 규칙(WS-Discovery UDP 3702), 콘텐츠 검색 방화벽 규칙(HTTP TCP 80))가 필요합니다. 해당 포트가 열려있어야겠죠.

image

Hosted Cache는 Windows Server 2008 R2가 있어야 합니다. Distributed Cache는 Windows 7간에 캐시를 상호 검색, 이용하는 모드였지만, Hosted Cache는 캐시에 대한 저장을 Windows Server 2008 R2에 저장하는 모드입니다. 이를 위해서 Windows Server 2008 R2에서 BranchCache 기능을 설치해야 합니다.

아까와 동일한 아키텍쳐입니다만, 캐시를 저장하고 검색하는 대상이 Windows Server라는 점이 틀리다는 것이고, 서버에서 데이터를 검색할 때, HTTP를 사용합니다.

image 

이에 대한 클라이언트 설정은 액티브 디렉터리나 로컬에서 직접 설정할 수 있으며, 컴퓨터 구성 – 관리 템플릿 – 네트워크 - BranchCache에서 할 수 있습니다.

이에 대한 확인은 성능 모니터에서 할 수 있다는 것도 추가로 알려드리고요 :)

image 

Windows 7 내 여러 가치 중 오늘은 먼저 네트워크쪽에 대한 향상점을 살펴보았습니다. 어떠신가요? 특히 본, 지사간 네트워크 소통량이 많은 경우에, 이는 더욱 큰 가치를 발휘할 거라 생각합니다.