MISTERY

1. 프로세스(Process)


프로그램은 윈도우나 리눅스,맥OS같은 운영체제(OS)에 의해서 실행된다. 운영체제들은 프로그램을 실행할때 프로세스 단위로 관리한다.  하나의 프로그램은 하나의 프로세스에 해당된다.


2. 멀티 프로세스(멀티 프로그램, 멀티 태스킹)

컴퓨터의 중앙처리장치(cpu)는 한번에 하나의 일만을 처리한다. 프로그램(프로세스)을 실행시킨다면 한번에 하나의 프로그램만을 실행시킬 수 있다는 말이다. 
하지만 요즘의 운영체제들은 cpu에 시분할시스템을 이용하여 메모리에 다수의 프로그램(프로세스)을 로드시켜놓고 빠른 속도로 번갈아 가면서 실행한다.  실제 사용자에게는 다수의 프로그램이 동시에 실행되는 것처럼 느껴진다.(ex : 음악을 들으면서 게임을 즐기거나 인테넷 사용을 한다) 이것을 "멀티태스킹"이라 한다.  대분의 멀티태스킹은 운영체제 차원에서 지원한다.


3. 쓰레드(Thread)

하나의 프로그램(프로세스)를 쪼개어서 보면 다수의 메서드(함수)로 구성되어 있다.  하나의 프로그램 내에서도 cpu는 한번에 하나의 메서드만을 실행시킬 수 있다. 하나의 프로그램내에서 실행되는 메서드를 쓰레드라 부른다.

※ 프로그램을 실행하면 스택영역의 메모리를 할당받고 스택영역에 올라오는 메세드를 하나씩 처리한다. 자바 프로그램 실행되는 메모리의 구조는 다음을 참조. http://cafe.naver.com/jjdev/227


4. 멀티 쓰레드(멀티 메서드)

메신저같은 프로그램의 경우를 보면 파일을 다운로드 받으면서 채팅을 즐기수 있다. cpu는 하나의 프로세스내에서 한번에 하나의 메서드만을 실행 시킬 수 있다고 했는데, 메신저의 경우 다수의 메서드가 실행되는 것처럼 느낄수 있다.
이것은 cpu가 여러개의 메서드를 빠른 속도로 번갈아 가면서 실행하기에 사용자에게는 동시에 실행되는 것처럼 느껴지는 것이다. 

※ 자바언어에서는 하나의 스택메모리에서 한번에 하나의 메서드만을 사용가능하기에 다수의 스택메모리를 만들어 서 멀티스레드를 구현한다.( java.lang.Thread 클래스 사용 http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html 참조




* 자바언어에서 멀티 쓰레드를 구현하는 방법은 http://cafe.naver.com/jjdev/1159 참조

 

 

 

 

 

출처 : http://cafe.naver.com/jjdev/1758

 

 

 

 

 

 

 

신고

Comment +0

IDSIntrusion Detection System의 약자로 네트워크나 시스템의 할동을 감시하여 시스템으로 침입하려 하거나 해를 끼치려 하는 등의 공격을 발견하고 필요한 조치를 취하는 '침입 탐지 시스템'이다.

예를 들어, 방화벽이 잠겨있는 문이라면, 침입 탐지 시스템은 그 방안에 설치되어 움직임을 알아내는 감지 장치라고 할 수 있다. IDS에 적용되는 방식에는 특정한 종류의 공격을 확인해내는 것부터, 비정상적인 트래픽을 찾아내는 방식까지 다양하다.

IDS를 분류하는 데는 다음과 같은 몇 가지 방법이 있다.

  • 오용 탐지(Misuse detection) vs. 비정상적 탐지(Anomaly detection)
    오용탐지는 특정 공격이나 시스템 취약성에 대해 축적된 정보(Knowledge Base)를 이용하여 침입을 탐지하여 경고를 낸다. 즉 오용탐지 모델에서 IDS는 등록된 공격 시나리오에 해당되는 시도만을 침입으로 간주하기 때문에 정확도는 상당히 높은 편이나 축적된 정보(Knowledge Base)에 얼마나 많은 공격 유형을 database로 가지고 있는지에 성능이 좌우된다.
    오용탐지가 이미 알려진 공격이나 시스템의 취약점을 이용하는 반면 비정상적 탐지 모델은 사용자/시스템의 평소 예상되는 행위에 대한 정보를 이용하여 이로부터 벗어난 정도를 바탕으로 침입을 탐지한다.

  • 네트워크 기반 시스템(Network based system) vs. 호스트 기반시스템 (Host based system)
    네트워크기반시스템(NIDS)은 네트워크를 통과하는 패킷(Packet)을 분석하여 침입을 탐지하며 호스트기반시스템(HIDS)에서는 IDS가 각각의 컴퓨터나 호스트 상에서의 활동을 관찰한다.

    IDS와 방화벽은 둘 다 네트워크 보안과 연관되있지만, 방화벽은 침입을 방지하기 위해 이를 감지한다는 점에서 IDS는 방화벽과 다르다.
    방화벽은 침입을 방지하기 위해 네트워크 사이의 접속을 제한하며 네트워크 내부로부터의 공격에는 대응하지 않는다. IDS는 침입으로 의심되는 움직임이 발생하는 순간 이를 평가하여 신호를 울리며 방화벽과는 달리 시스템 내부로부터 발생하는 공격도 감지한다.


    관련 사이트


  •  

     

     

     

     

     

     

     

     

     

    출처 : http://cafe.naver.com/sojw/671

     

     

     

     

     

     

     

     

    신고

    Comment +0

    RRD Tool


    1. http://www.terms.co.kr/RRDtool.htm

    RRDtool은 MRTG의 그래프 기능과 로깅 기능을 강화하여 새로 구현된 도구라고 이해할 수 있으며, 가장 큰 차이는 더욱 빠르고 유연해졌다는 점이다.

    RRD는 네트웍 대역폭, 기계실 온도, 서버의 평균 부하 등과 같은 시간대별 데이터를 저장하고 표시하기 위한 시스템이다. RRD는 매우 간결한 방법으로 데이터를 저장하므로, 시간이 흐름에 따라 양이 그리 크게 늘어나지 않는다. RRD는 항상 일정한 데이터 밀도를 강제로 유지하기 위해 데이터를 처리함으로써, 유용한 그래프를 제공한다. 이를 위해서는 쉘이나 펄 등으로부터 만들어진 단순한 래퍼 스크립트나, 또는 네트웍 장비에 주기적으로 질문을 던지고 편리한 인터페이스를 제공하는 프론트엔드의 이용 등 어떤 방식이라도 이용할 수 있다.

    RRDtool은 윈도우NT와 그 밖의 여러 가지 유닉스 플랫폼 상에서 컴파일 되며, 바이너리 버전은 현재 공식적으로 제공되지 않는다. RRDtool은 MRTG의 프론트엔드와 데이터 취득 기능을 제공하지 않으므로, 엄밀히 말해 MRTG의 대체용은 아니다 (MRTG는 RRDtool를 데이터베이스 백엔드로 이용하고, 필요에 따라 모든 mrtg 그래프를 만들어 낼 수 있는 14all 또는 mrtg-rrd와 같은 CGI 그래프 작성기와 함께 구성될 수 있다). 만약 프로그래밍이 가능한 사람이라면, 즉시 RRDtool을 사용할 수 있을 것이며, 그렇지 않다면 RRDtool을 사용하는 여러 프론트엔드를 사용할 수 있다.

    RRDtool은 GNU의 GPL 정신에 입각하여 이용할 수 있다. 이 말은 이 소프트웨어를 이용해 자신이 만든 소프트웨어를 GNU GPL이 아닌 별도의 라이선스 형태로 판매하지 않는다는 전제 하에 필요한 모든 수정을 할 수 있다는 것을 의미한다.


    2. http://lily.mmu.ac.kr/lecture/08sm/Solaris/system12.php#15

    - RRDtool이란?

    RRDtool은 연속적으로 변하면서 반복적인 데이터의 흐름을 시간의 흐름에 따라 평균값을 저장하는 방식으로 매우 간략한 하게 장기간 데이터를 보관하고 이를 그래프 파일로 생성을 합니다. 이런 연속적인 데이터의 예로는 네트워크의 흐름정보를 카운터 값으로 보관하고있는 MIB 정보, 사무실 온도, 자동차 도로의 교통 통행량, 날씨의 풍량 등(앞에서도 열거했죠)의 정보들이 있습니다. 암튼 이런 종류의 데이터들을 얼마 되지 않은 크기로 데이터베이스화 하고, 시간단위로 그래프화 하여 이것을 인터넷 상에서 실시간으로 보여 주거나 다른 프로그램에서 쓸 수 있도록 하는 툴입니다.

    - MRTG와는 어떻게 틀리나?

    MRTG는 사용자의 편의를 위해 자동화 작업을 하면서 출력 그림들이 거의 똑같지요. 또한 입력데이터도 기본이 입출력 트래픽입니다. 그래서 입력값은 2개 이하. 여기에 최대값을 추가하여 한 그래프에서 나올 수 있는 수치그래프가 얼마되지 않지요(4개). 물론 수치그래프가 많으면 많을수록 그래프를 구별하기가 어려워 힘들 때도 있겠지만요. 하지만 이 툴은 입력데이터의 제한이 없으며, 모니터링 기간, 입력데이터 시간간격조정, 그래프 파일의 디자인 변경과 기간 간격 등을 아주 자유롭게 구성 할 수 있습니다. 

    근데 둘은 한통속입니다. 물론 개발자가 같아서 이지만… MRTG의 소스를 보면 RRDtool을 직접적으로 사용을 하고 있는 것을 확인 할 수 있습니다.

    - RRDtool을 쓰려면 뭘 알아야 하나?

    표현이 자유로운 반면 해야 할 일도 많겠죠. 우선 표현하고자 하는 데이터를 추출하고 데이터 저장을 위해 Perl을 좀 알아야 해요. 보고서 기능이 막강한 스크립트죠. 그리고 정작 중요한 RRDtool의 사용방법 이것은 데이터베이스를 어떻게 저장하고 시간간격을 어떻게 하고 데이터의 종류는 어떤 것이고 그래프를 어떻게 표현 할 것인가 하는 것들입니다(음 일반적인 데이터베이스 형식과 유사). 그리고 인터넷상에서 결과 그래프를 보려고 하면 HTML 쯤은 당연하겠죠.

    기존에 MRTG을 써본 사용자라면 Perl은 제가 사용했던 소스를 조금만 수정해서 쓰면 거의(?) 완벽하게 네트워크 모니터링 그래프를 만들 수 있을 것 같네요. 또 한가지 네트워크 장비나 서버의 MIB 정보를 담고 있는 부분인 OID값을 알아야 하겠지요. 보편적으로 MRTG는 자동으로 포트 등을 검색을 해서 보여 주지만 여기서는 모두가 수동.

    기존 MRTG에 만족을 하지 못했거나, 표현해야 할 데이터들이 네트워크/서버하고 관련이 없거나, 3개 이상의 값을 한 그래프에서 모니터링 하고자 할 경우, 기타 시뮬레이션 모니터링 등에 매우 유용하게 쓸 수 있는 툴입니다. - RRDtool의 구조와 저장

    RRD 구조는 레코드, 필드를 갖는 일반 데이터베이스의 형식과 흡사하다. 먼저 데이터 수집이 시작 될 시간을 정하게 되며, 다음으로 데이터베이스의 소스 타입을 정하고, 저장 될 데이터의 저장공간을 확보하게 한다. 이로써 RRD는 생성 당시 데이터베이스의 크기가 정해진다.

    생성되는 파일은 rrd 확장자를 가지며 XML 파일로 변환과 복구가 가능하다. 저장되는 데이터는 반드시 숫자일 필요는 없으며 상태나 상황의 저장이 가능하다. 입력 데이터의 저장포맷은 binary로써 데이터 접근에 훨씬 더 빠른 처리를 속도를 나타낸다.














    신고

    Comment +0

    1. Static VLAN
    2. Dynamic VLAN
    3. End-to-End VLAN
    4. Local VLAN [ Geographic VLAN ]






    • Static VLAN [ 정적 VLAN ]
      • Static VLAN은 port-based 로 동작하게 된다. 이 말은 스위치의 각 포트별로 vlan을 할당한다는 것이다.
        예를들어 FastEthernet 0/1,2,3 은 Vlan 10 , FastEthernet0/4,5,6 은 Vlan 20 이런 방식으로 각각의 포트에 대해 다른 VLAN을 설정할 수 있는 것이다.
      • 위와 같이 포트별로 VLAN을 할당하게 되면 스위치에서는 VLAN에 의해 나눠진 포트별로 Broadcast Domain을 분할하게 된다.
        [ Inter VLAN을 이용하면 VLAN 간에 통신이 되지만 스위치에서 바로 연결되는 것이 아니라, Inter VLAN을 도와주는 장비까지 갔다가 다시 와서 다른포트로 들어가는 것이다. ]
      • 이는 Port-based 이기 때문에 End-user Device [PC와 같은 장비] 에는 어떠한 설정도 따로 해 줄 필요가 없다.
      • VLAN은 일반적으로 1005개의 VLAN을 할당할 수 있다. [ 1 - 1005 ]
        • VLAN 1002 - 1005 는 Token Ring 과 FDDI 를 위해서 예약되어 있다.
        • Extended-range VLAN [ 확장 VLAN ] 은 1 - 4094 , 4094개를 지정할 수 있으나 이는 VTP 모드를 transparent 모드로 바꿔줘야지 사용할 수 있다.

          Switch(config)#vtp mode transparent 
          Setting device to VTP TRANSPARENT mode.
          Switch(config)#
        • 위와 같이 하는 이유는 VTP 버전이 다를 때 이에 대한 충돌이 생기기 때문에 Transparent 모드에서만 확장 VLAN을 사용할 수 있다.
        • Extended-range VLAN에 대한 TIP

        • 간단하게 설정을 한번 보자면 아래와 같다.
        • Switch(config)#vlan 10
          Switch(config-vlan)#name Sales
          Switch(config-vlan)#exit
          Switch(config)#vlan 20
          Switch(config-vlan)#name Marketting
          Switch(config-vlan)#vlan 30
          Switch(config-vlan)#name C&S
          Switch(config-vlan)#end
          Switch#
          %SYS-5-CONFIG_I: Configured from console by console
          Switch#show vlan brie
          VLAN Name                             Status    Ports
          ---- -------------------------------- --------- -------------------------------
          1    default                          active    Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                                          Fa0/5, Fa0/6, Fa0/7, Fa0/8
                                                          Fa0/9, Fa0/10, Fa0/11, Fa0/12
                                                          Fa0/13, Fa0/14, Fa0/15, Fa0/16
                                                          Fa0/17, Fa0/18, Fa0/19, Fa0/20
                                                          Fa0/21, Fa0/22, Fa0/23, Fa0/24
                                                          Gig1/1, Gig1/2
          10   Sales                            active    
          20   Marketting                       active    
          30   C&S                              active    
          1002 fddi-default                     active    
          1003 token-ring-default               active    
          1004 fddinet-default                  active    
          1005 trnet-default                    active    
          Switch#
        • 위와 같이 설정을 하게 되면 VLAN을 생성하였고, 이제 포트에 VLAN을 할당해 보자.
          해야할 일은 인터페이스[포트]로 가서 Switchport의 모드를 Access 로 변경해주고, VLAN을 할당해 주면 된다.
           

          Switch(config)#int fa0/1
          Switch(config-if)#switchport mode access
          Switch(config-if)#switchport access vlan 10
          Switch(config-if)#exit
          Switch(config)#int fa0/2
          Switch(config-if)#sw mode ac
          Switch(config-if)#sw ac vlan 20
          Switch(config-if)#int fa0/3
          Switch(config-if)#sw mode acc
          Switch(config-if)#sw ac vlan 30
          Switch(config-if)#en
          %SYS-5-CONFIG_I: Configured from console by console
          Switch#show vlan
          VLAN Name                             Status    Ports
          ---- -------------------------------- --------- -------------------------------
          1    default                          active    Fa0/4, Fa0/5, Fa0/6, Fa0/7
                                                          Fa0/8, Fa0/9, Fa0/10, Fa0/11
                                                          Fa0/12, Fa0/13, Fa0/14, Fa0/15
                                                          Fa0/16, Fa0/17, Fa0/18, Fa0/19
                                                          Fa0/20, Fa0/21, Fa0/22, Fa0/23
                                                          Fa0/24, Gig1/1, Gig1/2
          10   Sales                            active    Fa0/1
          20   Marketting                       active    Fa0/2
          30   C&S                              active    Fa0/3
          1002 fddi-default                     act/unsup 
          1003 token-ring-default               act/unsup 
          1004 fddinet-default                  act/unsup 
          1005 trnet-default                    act/unsup
        • 위와같이 이제 포트에 제대로 할당된 것을 알 수 있다.


     

    • Dynamic VLAN
      • 동적 VLAN은 각 End-user Device의 MAC address-based 로 동작한다.
      • 만약 장비가 스위치 포트에 연결되면, 스위치는 VLAN 에 할당되기 위해 Database로 Query를 보내야한다.
        여기서 관리자는 user의 MAC address를 VMPS[VLAN Membership Policy Server]에 할당해 주어야 한다.
      • Cisco Switch는 이러한 관리를 위해서 Cisco Works와 같은 툴을 사용한다.
      • 더 자세히 알고 싶은 분은 아래 링크를 클릭하세요. Cisco 공식 페이지이므로 영어입니다.
        http://www.cisco.com/en/US/docs/switches/lan/catalyst3560/software/release/12.2_25_see/configuration/guide/swvlan.html#wp1212223




     

    • End-to-End VLANs [ 종단 vlan ]
      • End-to-End VLAN은 campuswide VLAN 이라고도 불려집니다.
      • 아주 쉽게 말해서 VLAN이 전체 스위치 네트워크에 걸쳐져있는 것을 말합니다.
      • 만약 사용자가 이동하더라도 user VLAN 멤버쉽은 그대로 유지됩니다.
      • 80-20
        • end-to-end vlan은 80/20 룰을 따라 설계되는것이 좋습니다. 80%의 트래픽은 Local Workgroup안에서 이루어져야 하고 나머지 20%만 remote resource를 목적지로 나가게 하는 것을 말합니다.
        • Although only 20 percent of the traffic in a VLAN is expected to cross the network core, end-toend
          VLANs make it possible for 100 percent of the traffic within a single VLAN to cross the core.
        • 모든 VLAN은 access-layer 스위치에서 다 같게 설정되어있고, 결국 모든 VLAN을 access-layer에서 distribution-layer로 나르기 때문입니다.
      • Tip: End-to-end VLANs are not recommended in an enterprise network, unless there is a
        good reason. In an end-to-end VLAN, broadcast traffic is carried over from one end of the
        network to the other, creating the possibility for a broadcast storm or Layer 2 bridging
        loop to spread across the whole extent of a VLAN. This can exhaust the bandwidth of distribution-
        and core-layer links, as well as switch CPU resources. Now the storm or loop has disrupted users on the end-to-end VLAN, in addition to users on other VLANs that might be crossing the core
        When such a problem occurs, troubleshooting becomes more difficult. In other words, the risks of end-to-end VLANs outweigh the convenience and benefits.

        뭐라뭐라 긴소리지만, End-to-End VLAN은 설정하기 간편하고 편리한 장점이 있지만, 모든 트래픽이 Core-layer을 지나가게 되므로 Broadcast Storm이나 L2 Bridging Loop와 같은 이유로 CPU의 리소스를 쳐먹게 됩니다. 그래서 위와 같은 장점에도 불구하고 Enterprise Network에서는 권장되지 않는다는 소리입니다.



     

    • Local VLAN [ 지역 VLAN ]
      • Geographic VLAN이라고도 불립니다.
      • VLAN이 각 Access-layer에 따라서 VLAN이 다르게 지정되어 있는 것을 말합니다.
      • End-to-End VLAN과는 반대로 사용자가 이동하면 다른 VLAN에 묶이게 된다.
      • VLAN이 wiring closet에 저장된다고 하는데, 잘 모르겠습니다.
        • Local or geographic VLANs range in size from a single switch in a wiring closet to an entire
          building.
      • 20-80
        • End-to-End와는 반대의 룰이라고 생각하면 된다.
        • 20%는 Local Traffic , 80%는 Remote resource [ Across the Core ] 즉, 밖으로 나가는 Traffic
      • 이와 같이 Local VLAN을 사용하면 처음 생성과 관리에는 조금 더 세세하게 설정을 하여야 하지만, 장애 발생시 장애 요인을 찾기가 훨씬 쉽다.



    마지막으로 그림으로 정리하면 한방인데... 말로 설명된 건 너무 어렵네요...


    End-to-End VLAN



    Local VLAN


     












    출처 : http://ryusstory.tistory.com/177










    신고

    Comment +0

    1. 802.1QVLAN 상에서 스위치 간에 VID(VLAN Identifier) 정보를 전달하는 방법 - 이더넷 프레임에 덧붙이는 태그 방식 즉 VLAN (가상 LAN)에 대한 IEEE 표준 2. 태그방식에 대한 표준화 이유 ㅇ 스위치 또는 브리지 등으로 구성된 망에서 ARP, RIP와 같은 브로드캐스트프레임 들은 불필요한 곳까지도 전달이 되어서 망의 대역폭을 낭비하거나 보안 문제 발생 - 이러한 문제를 해결하기 위해 특정 VLAN 그룹 간에 만 전달을 제한하게 함. ㅇ VLAN을 구별하는 VLAN ID를 전달하는 방법으로 태깅방법을 사용하는데, 스위치 제조사 마다 다른 방식(CISCO ISL, 3Com VLT 등)을 사용하는데 이를 통일 표준화함 3. IEEE 802.1Q 태그 프레임 형태 ㅇ TPID (Tag Protocol Identifier) - SA(Source Address) 바로 다음에 2 바이트짜리 VLAN 태그가 존재함을 알림 - Ethertype => "0x 8100" : VLAN Tagged Frame이 존재함 ㅇ TCI (Tag Control Information) : 2 바이트짜리 VLAN 태그 - Priority : 3 비트 필드로 0 ~ 7 까지 우선순위 (7이 우선순위 가장 높음) ☞ 802.1p - CFI (Canonical Format Identifier) . Ethernet = 0, Token Ring = 1 - VID (VLAN Identifier) : 12 비트 . 각각의 VLAN 식별 (총4,096개 중에서 0과 0xFF를 제외, 4,094개 VLAN 구별가능)
















    출처 : http://www.ktword.co.kr/abbr_view.php?m_temp1=2136
















    신고

    Comment +0