RSS 란?

RSS는 Rich Site Summary(RDF Site Summary or Really Simple Syndication)의 줄임말로 블로그, 뉴스, 기업정보, 사이트 공지사항, 취업정보, 쇼핑정보등과 같이 컨텐츠가 자주 업데이트가 되는 사이트들의 업데이트된 정보를 쉽게 사용자들에게 제공하기 위해 만들어진 포맷입니다.

즉, RSS를 사용하면 여러분은 새로운 소식이 있는지 사이트에 방문할 필요없이 새로운 글이 업데이트 될 때마다 쉽고 편리하게 알 수 있습니다.

이 버튼이 있는 페이지는 RSS 서비스를 지원한다는 것을 의미합니다.
그 외에도 , , , XML, Syndicate this site (XML), 등의 방법으로 표시되고 있습니다.
RSS 버튼이 작고 한쪽 구석에 있기 때문에 눈에 잘 띄지 않는 경우가 많이 있습니다. RSS 리더를 사용하면 RSS 서비스가 되는지 자동으로 찾아주고 있기 때문에
RSS버튼을 찾는 번거로움을 해소할 수 있습니다.

출처 http://www.funnytalk.co.kr/express.html#A

OSI 7 계층에 따른 해당 프로토콜 목록

Reference model, sniffers inspect the two lowest levels, the physical and data link layers.

 

OSI
계층번호
계층명 해당 프로토콜
Layer 7 Application DNS, FTP, HTTP, SMTP, SNMP, Telnet
Layer 6 Presentation XDR(External Data Representation)
Layer 5 Session Named Pipes, RPC
Layer 4 Transport NetBIOS, TCP, UDP
Layer 3 Network ARP, IP, IPX, OSPF
Layer 2 Data Link Arcnet, Ethernet, Token Ring
Layer 1 Physical Coaxial, Fiber Optic, UTP

IP공유기 사용금지는 소비자 권익 침해

[지디넷코리아]소비자단체와 KT가 개인 인터넷사용자의 IP(인터넷프로토콜)공유기 사용을 놓고 대립각을 세우면서 IP공유기 문제가 새로운 국면을 맞고 있다.

소비자단체인 녹색소비자연대는 23일 `KT의 공유기 사용금지 조치에 대한 입장’이라는 성명서를 통해 “KT의 IP공유기 사용금지 조치는 초고속망을 이용하는 일반이용자의 공동 이해가 걸려있는 중요한 통신소비자 문제”라며 약관위반ㆍ트래픽 증가 등 KT의 IP공유기 사용금지 근거들을 조목조목 반박했다.

녹색소비자연대는 특히 영리를 목적으로 하는 기업체의 공유기 사용에 대한 KT 금지조치에는 공감한다는 입장을 밝혔지만 “(비영리 목적의) 개인 또는 가구별 사용자가 IP공유기 등을 사용, 이용자 편의환경을 구축하는 것에 대해서도 KT가 금지조치를 내리는 사태가 발생할 경우 이를 소비자의 정당한 권익을 침해하는 행위로 보고 이에 대응해 나갈 것”이라고 경고했다.

이에 따라 KT가 향후 기업체를 시작으로 IP공유기 사용금지 범위를 개인 및 가구별 사용자까지 확대할 경우 IP공유기 문제가 소비자단체와 KT간 갈등의 핵으로 부상할 가능성이 높아졌다.

KT가 일단의 여론의 동향을 주시하겠지만, 실질적으로 영리와 비영리 사용의 구분이 불명확한 데다 매출확대 차원에선 개인 및 가구별 사용자의 IP공유기 사용도 차단할 필요성이 있기 때문이다.

KT는 IP공유기 사용금지 문제가 사회적으로 이슈화되자 이달 중 실시할 예정이던 기업 고객에 대한 IP공유기 사용실태 조사를 다소 늦추는 등 완급조절에 나섰다.

하지만 KT 관계자는 “개인에겐 IP공유기 사용을 허용하고, 기업체엔 금지하는 것을 형평성 문제가 있다”며 궁극적으로 개인과 기업체에 관계없이 IP공유기 사용을 전면 금지하겠다는 입장을 분명히 했다.

KT는 다음달 중순까지 IP공유기 사용이 의심되는 주요 기업을 대상으로 한 실태조사를 완료하고 관련 부서간 협의를 통해 공문발송·회선제공 차단 등 단계적인 조치를 취할 예정이다.

KT는 특히 추가 IP수를 줄이는 대신 추가 IP할당비용을 기존 1만 5000원에서 대폭 깍아줌으로써 기존 IP공유기를 사용하던 기업체 및 개인 고객들의 양성화를 적극 유도한다는 방침이다.

업계 전문가는 “기업체과 개인을 구별해 IP공유기 사용을 금지하자는 소비자 단체의 입장은 소기업·소호 등이 IP공유기를 많이 사용하고 있는 점을 고려하면 현실성이 다소 떨어진다”며 “현상태로는 KT도 개인소비자의 IP공유기 사용을 묵인하기 어려운 만큼 양측의 갈등을 일으킬 가능성이

출처

커널 비교 : 웹 서빙 (2.4 vs 2.6)

더욱 빠르고 신뢰성 있는 웹 퍼포먼스를 위한 새로운 기능들

Li Ge, Staff Software Engineer, Linux Technology Center, IBM

요약:  리눅스 2.6 커널이 엔터프라이즈 애플리케이션에 맞게 발전을 거듭했다. 이 글은 IBM Linux Technology Center가 리눅스 커널 2.4와 2.6의 다양한 측면을 비교하며 수행했던 웹 서빙 테스트 결과이다. 이 글에서 강조한 부분은 2.6 커널에서 뚜렷한 향상을 보인 것이다. 또한 테스트 방법과 테스트 결과도 설명할 것이다. 2.6 커널은 웹 페이지 공급력에 있어서 2.4 보다 훨씬 빠르다. 신뢰성에 대한 손실도 전혀 없다.

원문 게재일:  2004 년 2 월 01 일
난이도:  초급
페이지뷰:  570 회
의견:   0 (보기 | 의견 추가 – 로그인)

평균 평가 등급 1 개 총 1표 평균 평가 등급 (1 투표수)
아티클 순위

IBM Linux Technology Center (LTC)의 리눅스 웹 서빙 테스트 목적은 리눅스 커널의 단점들을 밝혀내는 것이다. 웹 서버/애플리케이션 서버를 사용하는 실제 엔터프라이즈 사용자 환경과 관계 있는 워크로드를 주로 테스트 했다. 또한 리눅스 커널의 안정성, 확장성, 웹 서버/애플리케이션 서버와의 호환성 면에서 어떤 발전이 있는지도 연구했다. 웹 서버와 애플리케이션 서버의 단점 규명은 이 글의 핵심 주제가 아니다.

웹 서빙 테스트의 두 가지 범주

웹 서빙에 사용할 수 있는 두 가지 주요 서버가 있다. 웹 서버와 애플리케이션 서버가 그것이다. 이 글에서는 이들을 웹 서빙이라는 용어로 표현하겠다.

  • 웹서버는 HTTP 프로토콜을 통해 요청을 처리할 때 웹 브라우저에 보여지는 페이지를 공급한다.
  • 애플리케이션 서버는 비즈니스 로직을 다양한 프로토콜(대게 HTTP)을 통해 클라이언트 애플리케이션에 노출하는 일반적인 서버이다. 웹 서버 보다 복잡하고 강력한 기능을 제공한다. 세션 관리, 로드 밸런싱, 메시징, 트랜잭션 관리, 보안 등이 그 기능이다. 어떤 면에서는 애플리케이션 서버는 웹 서버의 상위 개념이다.

리눅스 커널 테스트 환경을 위해 몇 가지 웹 서버와 애플리케이션 서버들을 선택했다. Apache, Jakarta-Tomcat, IBM® WebSphere® Application Server, Jboss 등이다. 이들 대부분은 오픈 소스 프로젝트이고 무료로 다운로드 할 수 있다. (참고자료)

2.4와 2.6 커널의 테스트 차이

테스트 워크로드로서 웹 서버와 애플리케이션 서버를 사용한 2.5/2.6 커널의 테스트 작업은 2.4 커널 보다 훨씬 더 확대된 것이다. 2.4 커널을 테스트 할 때는, Apache와 WebSphere Application Server가 통합 테스트 시나리오에 사용된 유일한 두 개의 서버였다. Web Performance Tool (WPT)은 주요한 웹 테스트 툴로 사용되었다. 웹 서빙 테스트는 커널에 주요한 변화가 생겼을 때 수행되거나 가끔씩 소프트웨어 인증 요청이 있을 때 수행되었다.

2.5/2.6 커널 테스트에서, 보다 견고하고 완전한 테스트 플랜을 만들었다. (참고자료) 테스트 범위, 테스트 방법, 테스트 시간표 등이 그 계획표에 잘 정의되어 있다. 웹 서버와 애플리케이션 서버 테스팅은 통합 테스트, 집중 테스트, 시뮬레이션 테스트에서 광범위하게 사용되었다.

더 많은 서버를 사용할 것 외에도 다양한 웹 클라이언트 테스트 툴(WPT, Hammerhead, Httperf, Pagepoker)을 사용하여 다양한 유형의 사용자 환경을 시뮬레이션 했다. 모든 서버와 클라이언트 툴은 시간에 변화를 주어(24시간/96시간) 실행되었다.

테스트 하드웨어는 인텔 기반의 싱글 프로세서 시스템으로만 제한하지 않았다. 1-way, 4-way, 8-way IBM eServer™ xSeries® 머신에서 수행되었으며 64-bit IBM PowerPC® 시스템에서도 수행되었다. 커널의 단점들은 리눅스 커널 버그 트래킹 시스템에 개방되었다.

위로

2.6 커널의 주요 변화

웹 서빙은 엔터프라이즈 세계에서 중요한 역할을 한다. 2.6 커널은 엔터프라이즈 애플리케이션에 맞게 발전과 변화를 거듭했다. 새로운 하드웨어 지원, 소프트웨어 지원, 커널 내부 향상으로 인해 2.6 커널은 보다 확장성있고 안정적인 커널이 되었다. 2.6 커널은 많은 CPU와 많은 메모리, 높은 부하 하에서도 2.4 커널 보다 훨씬 낳은 수행력을 보였다. 2.6의 몇 가지 핵심 기능들은 엔터프라이즈 애플리케이션에 딱 들어 맞는다:

새로운 하드웨어 지원

리눅스는 광범위한 하드웨어 플랫폼을 지원한다. 2.6 커널은 64-bit PowerPC, 64-bit AMD Opteron, 임베디드 프로세서 같은 새로운 아키텍쳐를 지원한다.

하이퍼 쓰레딩으로 웹 서버와 애플리케이션 서버는 많은 혜택을 누릴 수 있다. 프로세스 될 수 있는 트랜잭션의 수를 늘릴 수 있고 서버 응답 시간이 빨라지며 많은 워크로드와 더욱 많은 사용자 요청을 서버가 핸들 할 수 있다. 현재는 Intel Pentium 4 Xeon 프로세서에 하이퍼 쓰레딩 하드웨어가 빌트인 되었다.

NUMA (Non-Uniform Memory Access)
NUMA는 시스템 퍼포먼스를 향상시키기 위해 리눅스 2.6 커널에 추가된 또 하나의 주요 기능이다. 전통적인 멀티프로세서 지원 모델(symmetric multiprocessing(SMP))에서 각 프로세서는 메모리와 I/O에 같은 액세스를 가지고 있다. 프로세서 버스의 높은 경쟁률은 퍼포먼스 병목현상의 원인이 된다. NUMA 아키텍쳐는 프로세서 버스에 부하를 늘리지 않고도 프로세서 속도를 높일 수 있다. NUMA 시스템에서 각 프로세서는 메모리의 일부와 유사하다. 프로세서는 노드라고 하는 더 작은 구역에 정렬된다. 각 노드는 자신의 프로세서와 메모리를 갖고 있다. 다른 노드 보다는 로컬 노드에서 메모리에 액세스 하는 것이 더 빠르다. 노드 간 통신을 최소화 하면 시스템 퍼포먼스를 높일 수 있다.

NUMA 하드웨어를 지원하기 위해 리눅스 커널은 스케쥴러, 다중-경로 I/O, 사용자 레벨 API 내부 커널 API를 추가했다.

디바이스 지원 확대

2.6 커널에서는 더욱 많은 유형의 디바이스들이 지원을 받는다. 2.6 커널은 메이저 넘버의 한계를 255에서 4095로 확대하고 유형 당 백만 개 이상의 하위 디바이스를 허용했다. 최첨단 엔터프라이즈 시스템의 효율적 지원이 기대된다.

쓰레딩 향상

2.6 커널은 새로운 쓰레드 라이브러리인 Native POSIX Thread Library (NPTL)를 채택했다. 이 새로운 라이브러리는 1:1 모델과 완전한 POSIX 호환에 기반한다. Red Hat에서 수행된 테스트에서, NPTL을 사용하여 구 IA-32 dual 450MHz PII Xeon 시스템에서 100,000 쓰레드가 만들어질 수 있고 2.3초안에 파괴될 수 있다는 결과가 나왔다.

NPTL은 SMP 환경에서 멀티 쓰레딩 애플리케이션의 퍼포먼스 향상에 기여했다. 대단위의 멀티 쓰레디드 엔터프라이즈급 애플리케이션- Java® 애플리케이션, 웹 서버, 애플리케이션 서버 애플리케이션-에 특히 가치가 있다.

2.6 커널의 또 다른 쓰레딩 향상을 들자면, 할당될 수 있는 PID의 수가 32,000에서 10억 개로 증가했다는 것이다. 쓰레딩의 변화로 인해 높은 부하 시스템에서의 애플리케이션 시작 퍼포먼스가 향상된다.

O(1) 스케쥴러

O(1) 스케쥴러는 2002년 공식적인 리눅스 2.5 커널 트리에 허용되었다. O(1) 스케쥴러는 리눅스 확장성과 전체 퍼포먼스를 높인다. O(1)은 많은 태스크와 CPU에 더욱 잘 확장되고 CPU들 간 태스크 바운싱을 피한다. O(1) 스케쥴러는 CPU와 NUMA 인식의 로드 밸런싱을 통한 로드 밸런싱을 적용한다..

I/O 향상

Block I/O Layer
2.6 커널의 Block I/O Layer는 커널 확장성과 퍼포먼스를 위해 재작성되었다. 2.4의 글로벌 I/O 요청 락(lock)은 제거되었다. 2.6 커널의 block I/O 버퍼 (kiobuf)는 PAGE_SIZE 보다 큰 I/O 요청을 허용한다. 대부분의 문제들은 버퍼 헤드와 kiobuf의 사용 때문에 발생하고 새로운 레이어에서 다뤄진다. I/O 스케쥴러는 전부 재작성되었다. SCSI 지원에 있어 혁혁한 향상을 보인다.

비동기식 I/O
비동기식 I/O는 2.6 커널의 새로운 점이다. 웹 서버와 데이터베이스 같은 엔터프라이즈 애플리케이션들이 복잡한 내부의 풀링(pooling) 메커니즘에 의지하지 않고서도 확장될 수 있는 방식을 제공한다. .

기타

이외에도 뚜렷한 변화와 새로운 기능들이 몇 가지 있다. 예를 들어 2.6 커널은 여러 가지 새로운 파일 시스템들을 지원한다. JFS, XFS, NFS v4, Andrew File System (AFS) 등이 그것이다. 새로운 네트워킹 프로토콜과 기능들 (Stream Control Transmission Protocol (SCTP), Internet Protocol Security (IPSec), IPv6 지원 확대, IP Payload Compression (IPComp) 등은 리눅스 2.6 커널의 네트워크 안정성과 전송 품질에 기여했다.

2.6 커널의 이런 개선점들이 엔터프라이즈 애플리케이션에 모두 적용되는 것은 아니다. 특별한 하드웨어 및 소프트웨어 요구 사항들이 있기 마련이다. 하지만 여기에서 언급한 대부분은 리눅스가 엔터프라이즈 장벽을 깰 수 있도록 하는데 기여한 것은 틀림없다.

위로

테스트 인프라

이 섹션에서는 웹 서빙 테스트가 수행되었던 방법을 설명하겠다. 하드웨어 환경을 포함하여 웹 서버/애플리케이션 서버와 웹 테스트 툴, 전형적인 테스트 시나리오를 이용한 테스팅 전략 등을 소개하겠다. 이어지는 논의는 2.6 커널 기반이다.

웹 서빙 서버

리눅스 2.6 커널 테스팅에는 네 개의 웹 서빙 서버가 사용되었다. 두 개는 웹 서버(Apache 와 Jakarta-Tomcat)이고 나머지 두 개는 애플리케이션 서버(WebSphere Application Server 와 Jboss)이다.

Apache는 시장을 선도하는 웹 서버이다. Netcraft Web Server Survey는 64% 이상의 웹 사이트가 Apache를 사용하고 있음을 밝힌 바 있다. 이는 오픈 소스 프로젝트이다.

Jakarta-Tomcat은 Apache 라이센스로 사용할 수 있는 JSP 환경을 포함하고 있는 오픈 소스 서블릿 컨테이너이다. Jakarta-Tomcat은 빌트인 웹 서버를 가지고 있고 다른 환경의 웹 서버를 이용할 수도 있다.

WebSphere Application Server는 엔터프라이즈급 애플리케이션 서버로서 동적 이비지니스 애플리케이션을 위한 서버이다. J2EE와 웹 서비스는 이 서버의 기초가 된다. IBM WebSphere Application Server는 고성능의 확장성 있는 트랜잭션 엔진을 제공한다. 점점 더 많은 WebSphere 애플리케이션 서버들이 전통적인 UNIX OS에서 리눅스로 마이그레이션 되고 있다. 비슷한 퍼포먼스에 가격이 더 적게 들기 때문이다.

Jboss Application Server 역시 완전한 J2EE 기능을 갖춘 오픈 소스 애플리케이션 서버이다. 오픈 소스 EJB 컨테이너로 시작한 Jboss는 엔터프라이즈 애플리케이션 서버를 겨냥하고 있다.

웹 테스트 툴

상당수의 웹 테스트 툴과 벤치마크를 온라인으로도 이용할 수 있다. 다음은 네 개의 오픈 소스 툴로서 2.6 커널 테스트 환경에서 웹-클라이언트 스트레스를 시뮬레이션 할 때 사용했었다.(참고자료):

  • Httperf는 웹 서버 퍼포먼스 측정 툴이다. Httperf 툴은 요청이 발생하는 비율, 총 연결 수, 타임아웃 한계 등을 제어할 수 있다.
  • Hammerhead는 스트레스 테스트 툴로서 웹 서버 테스트에 쓰인다. Hammerhead는 IP 앨리어스에서 많은 커넥션을 초기화하고 많은 (256+) 사용자들을 주어진 시간동안 시뮬레이션 할 수 있다.
  • PagePoker는 웹 서버 테스팅 기능을 갖춘 브라우저 에이전트를 정의하는 Perl 패키지이다. PagePoker는 멀티 클라이언트, 스트레스 테스팅, 벤치마킹을 포함하여 다양한 사용자들을 위한 세 개의 스크립트를 제공한다.
  • Web Performance Tool (WPT)은 IBM이 개발한 웹 테스트 툴이다.

웹 서빙 테스트에서 논의한 툴 외에도 Trade3(IBM) 라는 툴도 있다. 이것은 WebSphere end-to-end 벤치마크 이며 퍼포먼스 샘플 애플리케이션이다. Trade3 벤치마크는 온라인 주식 거래 애플리케이션을 모델링하고 WebSphere 컴포넌트와 기능을 구동하여 실제 워크로드를 제공한다.

테스트 전략

웹 서빙 테스트는 시스템을 전체적으로 관찰하는 사용자 시나리오를 만들기로 했다. 테스트 기간의 경우, 첫 번째 실행은 24시간 이다. 두 번째 실행은 96 시간으로 늘렸고 세 번째, 네 번째 실행은 각각 7일과 14일로 늘어났다. 서버와 클라이언트 툴의 다양한 조합에 근거한 모든 시나리오는 8-way IBM xSeries 및 pSeries® 서버에서 실행되었다. 시스템 유틸리티 모니터링 툴은 커널 스트레스 레벨을 기록하는데 사용되었다.

그림 1은 다양한 테스트 툴들이 다양한 웹 서버 또는 애플리케이션 서버로 가는 방법을 보여준다. 다양한 테스트 툴은 다양한 유형의 사용자 환경을 시뮬레이션 하려고 했다.
그림 1.테스트 환경
Test environment

그림 2. 스트레스 테스트 환경
Stress test environment

위로

테스트 결과 요약

이 섹션에서는 2.4/2.6 커널에서 사용한 전형적인 시나리오에 근거한 웹 서빙 테스팅의 스냅샷을 보여주겠다. 8-way SMP IBM xSeries 시스템에서 수행된 전형적인 Apache/WPT 테스트는 2.6 커널에서 눈에 띄는 퍼포먼스 향상을 보여주고 있다.

테스트 환경

  • Machine: IBM xSeries Netfinity 8500R 8681-7RY
  • CPU: (8) Pentium III-700MHz
  • Memory: 9 GB
  • Swap space: 2 GB
  • Linux distribution: Red Hat 7.3
  • Web server: Apache Http Server 2.0.47
  • Web test tool: WPT 1.9.4

관찰

  • 두 개의 테스트가 같은 시스템, 같은 설정으로 수행되었다. 유일한 차이는 커널 버전이였다.
  • 자동화된 웹 서비스 툴(WPT)은 웹 클라이언트를 시뮬레이션 하는데 사용하였다. 30 개의 가상 클라이언트가 만들어졌고 각 클라이언트는 두 개의 쓰레드를 가졌다.
  • 같은 기간동안, 2.6 커널에서, Apache 서버는 2.4 커널 보다 6 배나 많은 웹 페이지를 공급했다. 2.6 커널의 페이지 프로세싱 시간은 2.4 커널의 5분의1에 불과했다.
  • 서버 조기 종료, 요청 쓰기 실패, 타임아웃 등의 연결 실패는 24시간 실행 시간동안 발생하지 않았다.

표1. 결과 비교

커널 CPU 사용 평균 메모리 사용 평균 스왑 사용 평균 제공된 총 웹 페이지 초당 제공된 페이지 프로세스 시간(millisecs) 연결 실패
2.4.18 -smp 100% (user:7.38% system:92.62%) 6.41% 0% 8,845,147 102.37 294.44 0
2.6.0 ?test5 99.42% (user:39.35% system:60.07%) 35.96% 0% 53,827,939 623.00 57.71 0

그림 3. 제공된 웹 페이지 vs. 시간
Web pages served vs. time
참고자료

출처

자주 사용되는 프로그램들의 포트 (port) 목록

tcp     554             RTSP (Realtime Streaming Protocol)
udp     554             RTSP (Realtime Streaming Protocol)
tcp     22              Secure Shell
tcp     5001            ToToDisk www.totodisk.com P2P
tcp     5090            ToToDisk www.totodisk.com P2P
tcp     6464            ToToDisk www.totodisk.com P2P
tcp     2040            Xpopup 빨간 전화기
udp     1081            Xpopup 빨간 전화기
udp     2040            Xpopup 빨간 전화기
tcp     4662            eDonkey
udp     1318            eDonkey
udp     1556            eDonkey
udp     4672            eDonkey
tcp     4711            eMule Web Server (eDonkey)
tcp     9292            구루구루 P2P
tcp     22322           소리바다
tcp     7675            소리바다
tcp     7677            소리바다
udp     22321           소리바다
udp     7674            소리바다
udp     8888            소리바다
tcp     10003           파일구리
tcp     9493            파일구리
tcp     7128            파일사냥 (네오폴더)
tcp     7131            파일사냥 (네오폴더)
tcp     9710            훈민 매모패드
tcp     9712            훈민 매모패드

DSN 과 MDN (email)

DSN is server-based. If your mail server and the recipient’s mail server both support DSN, the return receipt feature will have your mail server send you a message indicating whether or not the mail was successfully delivered, i.e., a delivery verification receipt. Because it is server-based, it has no way of telling whether the message has been opened on the recipient’s computer.

If both ends support DSN, then you’ll get a message back saying that the message was successfully delivered to the destination mailbox. If your server supports DSN but the other end does not, the return receipt will say only that the message was relayed to a non-DSN-aware mailer. If your server does not support it, you won’t get anything back.

MDN provides message opened verification: It will indicate if the message has actually been opened, rather than merely if it was delivered to the mailbox. If the recipient does not have an MDN-compliant  mail program, there will be no receipt.

DSN: Delivery Status Notifications
MDN: Message Disposition Notification