3. 프로젝트의 개요
공유기에 연결된 네트워크 저장 장치들을 통합하여 사용 할
수 있도록 만들어보자!
공유기에 연결되어 인터넷을 리스하는
모든 장치들을 원격으로 접속하여 파일시스템을 관리함.
공유기를 통해 연결되어 있는 장치들을 통합된 인터페이스
로 관리한다.
4. 기존의 목표
중간 제안에서는 기존의 NAS(Network-attached storage)를
공유기와 기타 네트워크 장치를 통해 구현하는 것이 목표였
음.
스마트 폰과 OpenWrt 조합을 통해 스마트 폰의 확장성을 이
용하여 부가적인 기능을 활용.
(NAS 그림 인터넷에서 하나 따와서 붙일 것)
5. 발전 사항
접근할 수 있는 네트워크 저장 장치가 하나가 아니라, 공유기
에 접속하고 있는 네크워크 장치들을 통합한다.
공유기에 접속해 있는 다수의 네트워크 저장 장치
공유기를 통한 접근으로 용이한 외부로부터의 접근
외부에서도 다양한 네트워크 저장 장치들을 공유기를 통해
관리가 가능해진 것.
7. 프로젝트 세부 사항 (1)
클라이언트 프로그램은 모든 웹브라우저 내에서
작동하는 웹앱 형태로 구현함.
파일 시스템을 관리하는 것은 아무나 하면 안되므로
로그인 기능 구현
로그인 후 메인 페이지에서 네트워크 저장 장치 관리
8. 프로젝트 세부 사항 (2)
메인 페이지 상단에는
파일 시스템의 목록
메인 페이지 중간에는
파일 시스템 관리 창
네트워크 저장 장치는 네트워크 드라이브 마운트를 통해
OpenWrt와 연결
9. 프로젝트 세부 사항 (3)
파일 시스템의 목록의 마지막에는 늘 “+”로 파일 시스템을
추가하는 기작의 버튼이 있음.
파일 시스템을 등록할 때, 파일 시스템의 로컬 주소, 사용할
포트, 파일 시스템에 접속하는 유저이름, 비밀번호, 파일시스
템의 이름 등을 입력 받고, 데이터베이스에 저장.
파일 시스템을 등록하는 시점에서, 등록한 파일시스템이 사
용가능한 상태인지 판단하여 알려줌.
10. 어려웠던 점 (1)
처음에는 파일 관리를 ftp 접속으로 하려고 했으나, 외부에서
는 로컬내의 네트워크 저장 장치 접근이 어려움.
파일 다운로드를 위해서는 직접적인 접근이 요구되어 부담
이 증가
크로스 도메인 문제
리스팅/업로드/다운로드/수정/삭제를 직접 구현함.
마운트를 통해 직접 해당 장치의 파일 시스템을 관리
11. 어려웠던 점 (1)
크로스 도메인 문제
처음에는 파일 관리를 ftp 접속으로 하려고 했으나, 외부에서
는 로컬내의 네트워크 저장 장치 접근이 어려움.
파일 다운로드를 위해서는 직접적인 접근이 요구되어 부담
이 증가
리스팅/업로드/다운로드/수정/삭제를 직접 구현함.
데이터 베이스에는 등록된 리스 디바이스들의 로컬 주소가
저장. 단순히 ftp 접속으로 하는 경우 실제 IP 주소가 필요함.
따라서 마운트를 통해 직접 해당 장치의 파일 시스템을 관리
13. 어려웠던 점 (1)
처음에는 파일 관리를 ftp 접속으로 하려고 했으나, 외부에서
는 로컬내의 네트워크 저장 장치 접근이 어려움.
파일 다운로드를 위해서는 직접적인 접근이 요구되어 부담
이 증가
크로스 도메인 문제
리스팅/업로드/다운로드/수정/삭제를 직접 구현함.
마운트를 통해 직접 해당 장치의 파일 시스템을 관리
CIFS(Common Internet File System)
14. 어려웠던 점 (2)
디바이스가 현재 공유기에 물려있는지 확인하려면 공유기
시스템 정보를 가져와야 함.
장치의 네트워크 연결 외에 마운트 상황을 확인해야 함.
어차피 웹사이트가 php로 구현되었으므로, php를 이용해서
시스템 파일에 접근한 후, 얻은 파일을 파싱하여 리스 디바이
스들의 정보들을 가져올 수 있었음.
OpewnWrt 공유기 성능의 한계