본문 바로가기

전체 글

(89)
Netty 예제 분석 - Quote of the Moment Quote of the Moment UDP/IP 브로드캐스트 예제 기존에 예제들 처럼 1:1 통신이 아니라 브로드캐스트 통신 예제이다. 우선 클리이언트를 살펴보면 49 ConnectionlessBootstrap b = new ConnectionlessBootstrap(f);62 b.setOption("broadcast", "true"); ClientBootstrap 이 아니라 ConnectionlessBootstrap을 사용하고 있다.ConnectionlessBootstrap은 UDP/IP와 같은 연결지속성이 없는 네트워크를위해 사용된다. 그리고 브로드캐스트 형태로 통신하도록 옵션을 설정했다. 74 b.setOption( 75 "receiveBufferSizePredictorFactory", 76 new..
Netty 예제 분석 - Telnet Telnet http://docs.jboss.org/netty/3.2/xref/org/jboss/netty/example/telnet/package-summary.html 우선 클라이언트를 살펴보자. main 함수에서 키보드로 입력한 데이터를 서버에 전송한다. 직접 서버에 데이터를 전송한다. 'bye' 를 칠때 까지 계속 전송한다. 'bye'를 치면 접속을 종료한다. 71 // Read commands from the stdin. 72 ChannelFuture lastWriteFuture = null; 73 BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); 74 for (;;) { 75 String line = in.rea..
Netty 예제 분석 - HTTP.snoop HTTP.snoop http://docs.jboss.org/netty/3.2/xref/org/jboss/netty/example/http/snoop/package-summary.html 간단한 HTTP 클라이언트와 서버를 구현하고 있다. 클라이언트 부터 살펴보자. 기존 다른 예제와 다르게 클라이언트 main 함수에서 하는일들이 참 많다. 79 bootstrap.setPipelineFactory(new HttpClientPipelineFactory(ssl));PipelineFactory는 Anonymous 클래스를 사용하지않고 HttpClientPiplelineFactory 클래스를 별도로 생성했다. PipelineFactory는 결국 핸들러들을 등록하는 역할을 수행하는데 좀 더 많은 핸들러를 조건에 따라..
Netty 예제 분석 - Uptime Uptime http://docs.jboss.org/netty/3.2/xref/org/jboss/netty/example/uptime/package-summary.html Uptime 예제는 연결을 끊기면 재접속을 시도하는 클라이언트측 프로그램이다. Discard와 Echo 클라이언트 프로그램과 다른 코드 부분을 살펴보면 다음과 같다. 72 bootstrap.setPipelineFactory(new ChannelPipelineFactory() { 73 public ChannelPipeline getPipeline() throws Exception { 74 return Channels.pipeline( 75 new ReadTimeoutHandler(timer, READ_TIMEOUT), 76 new Upt..
Netty 예제 분석 - Echo Echo http://docs.jboss.org/netty/3.2/xref/org/jboss/netty/example/echo/package-summary.html Discard 와 다른점은 클라이언트가 전달한 데이터를 서버가 응답한다는 것이다. 핸들러에 messageReceived라는 함수가 다음과 같이 구현되었다. 47 @Override 48 public void messageReceived( 49 ChannelHandlerContext ctx, MessageEvent e) { 50 // Send back the received message to the remote peer. 51 transferredBytes.addAndGet(((ChannelBuffer) e.getMessage()).readab..
Netty 예제 분석 - Discard http://docs.jboss.org/netty/3.2/xref/org/jboss/netty/example/discard/package-summary.html 서버 측 프로그램 개발. 프로그램 플로우. 1. ServerBootstrap을 생성한다. 2. ServerBootstrap에 파이프라인을 지정한다. 3. 파이프라인을 다룰 핸들러를 지정한다. 4. 핸들러에서 데이터 처리를 수행한다. 또는 핸들러에서 별도의 데이터 처리를 위해 작성한 컴포넌트를 호출한다. 프로그래밍 플로우. 1. 내가 처리할 데이터가 무엇인지 모델링한다. 주고 받는 포멧(Protocol) 작성 2. 데이터를 받았을 때 무슨 작업을 해야할 지 정의한다. 비즈니스 로직으로 전달 3. 다 처리한 후 또는 예외가 발생했을 때 무엇을 해야할..
An extended XACML model to ensure secure information access for web services 초록 점점더 웹 서비스를 기반으로 하는 소프트웨어 시스템이 개발되오고 있다. 웹서비스 개발 기술은 그래서 매우 중요한다. 안전한 정보 접근을 보장하기 위하여, 접근 제어는 웹서비스를 개발할때 고려되어야만 한다. 이 논문은 웹서비스를 위한 안전한 정보 접근을 보장하기 위한 확장된 XACML 모델을 제안한다. 이느 정보 흐름 제어 기술에 기반한다. 이 모델에 의해 제공되는 주요 특징은 (1) 요청자들의 정보와 웹서비스들의 정보는 보호받는다. (2) 웹서비스 접근 제어는 기존 모델에서의 "허용" 또는 "거부"보다 좀더 정확하다. (3) 모델은 요청자가 웹서비스를 호출하도록 허락 받았을 때 웹서비스를 실행하는 동안 안전하지 못한 정보 접근을 거부할 것이다. 1. 서론 소프트웨어 시스템들이 점점더 네트워크위에서 ..
Grid Computing Security 2007년 그리드 컴퓨팅은 컴퓨팅 구성요소, 운영체제, 정책 결정과 환경에 관한 이질성을 극복하게 도와준다. 그러나 보안 이슈는 그리드가 광범위한 IT 가상화 해결책으로써 채택되는 것을 방해한다. 그래서 우리는 이러한 이슈들을 다루기 위한 해결책들을 개발해야만 한다. 분산 컴퓨팅 공동체안에서 작업은 협업의 문제와 자연스러운 데이터 공유, 계산 문제를 다루는 그리드 기술을 가져온다. 그리드 컴퓨팅에서 지역적으로 분산된 이질적 리소스들은 통합된 전체로써 가상화 된다. 결과적으로, 그리드 컴퓨팅은 리소스 공유와 가상화를 통해 수많은 이익을 제공한다. 커다란 잠재력 덕택으로 엔터프라이즈 IT 공동체들은 그리드 컴퓨팅 가능성에 고무적이다. 그러나 연구자와 전문가들은 보안 이슈와 영향에 걱정한다. 전통적인 보안 이..