2016년 7월 31일 일요일

[Linux] 리눅스 볼륨 삭제

리눅스 볼륨 삭제


리눅스 볼륨 구성시 PV -> VG -> LV 순으로 구성하였다.
볼륨 삭제를 할때는 반대로 삭제를 진행해야한다.


리눅스 볼륨은 위와 같이 구성 되어 있다. xvdb - vg01 - lvol1, xvdc - vg01 - lvol2 볼륨을 삭제할 것이다. 


mount를 먼저 umount 시켜준다.


lvremove 명령을 이용하여 lv를 삭제한다. lvol2도 같은 방법으로 삭제한다.


vgremove로 vg01을 삭제한다.


마지막으로, pvremove로 pv를 삭제한다.

[Linux] 리눅스 볼륨 구성

리눅스 볼륨 구성


LVM Logical Volume Manager 의 약자로서, 저장장치들을 좀더 효율적이고 유연하게 관리할 수 있는 커널의 부분과 프로그램을 말한다.

LVM의 기본 개념

PE(physical media): 일반적인 물리적 하드 디스크 ex) /dev/hda, /dev/sdb
PV(Physical Volume) : 각각의 파티션을 나눈 것을 말한다(/dev/ hda1, /dev/hda2 )
PE(Physical Extents) : 하드 디스크를 제어할 때 블럭(PE) 단위로 제어한다. 블럭 하나는 대개 MB 단위의 크기를 갖는다.
VG(Volume Group) : PV로 되어 있는 파티션을 그룹으로 설정한다.
LV(Logical Volume) : 마운트 포인터로 사용할 실질적인 파티션이다. 크기를 바꿀 수 있다.
Filesystem: ext2, ext3 등의 리눅스에서 사용되는 파일 시스템

장점
  1. 쉬운 관리
  2. 서로 다른 많은 디바이스 조합 지원
  3. 직관적인 저장 장치로의 접근
  4. 뛰어난 확장성
  5. 안정성과 효율성
  6. 스냅샷 기능 지원
LVM 구성 실습

LVM 설치 확인


lvm이 설치 되어 있는지 확인을 한다. 설치가 안되있을 경우 yum install을 이용하여 설치한다.

Lsblk, df 명령으로 현재 상태 확인


lsblk와 df 명령으로 현재 상태를 확인한다.

물리볼륨 생성


pvcreate 명령을 통해 물리 볼륨을 생성한다. 생성할 물리 볼륨의 명칭은 lsblk로 확인하면 된다.

물리볼륨 확인


pvdisplay 명령을 통해 생성한 물리 볼륨을 확인한다.

볼륨그룹 설정


vgcreate 명령을 통해 볼륨 그룹을 설정한다.

볼륨그룹 확인


vgdisplay 명령을 통해 설정된 볼륨 그룹을 확인한다.

논리볼륨 생성


lvcreate 명령을 통해 논리볼륨을 생성한다.

option

  • L: LV의 사이즈를 지정하는 옵션으로 K(kilobytes), M(megabytes), G(gigabytes), T(terabytes) 단위를 붙여 지정가능하다.
  • l: LV의 사이즈를 지정하는 옵션으로 pe의 개수로 용량을 지정한다. 참고로 보통 1pe당 4MB 이다.
  • n: LV의 이름을 지정하는 옵션이다. 

파일시스템 포맷 및 마운트


mkfs명령을 통해 파일시스템 포맷을 시켜준다.


볼륨과 마운트 시켜줄 디렉토리를 만들어준다. 해당 볼륨과 디렉토리를 마운트 시켜준다.
df -h로 확인 시 디렉토리와 볼륨이 마운트 된것을 확인할 수 있다.

영구적 등록


서버 재부팅 시 마운트 기록이 사라진다. 이를 방지하기 위해 fstab에 마운트 정보를 등록해야한다.

볼륨 그룹 변경


vgrename을 통해 vg01 이였던 볼륨 그룹명을 vg02로 변경할 수 있다.

로지컬 볼륨 늘이기


lvextend 명령을 통해 해당 볼륨의 사이즈를 늘릴수 있다. 변경 된 볼륨을 확인하기 위해서는 umount를 한 후 다시 파일시스템 포맷 및 마운트를 해줘야한다.

로지컬 불륨 줄이기


lvreduce 명령을 통해 볼륨 사이즈를 줄일 수 있다.

로지컬 볼륨명 변경


lvrename 명령을 통해 로지컬 볼륨명을 변경할 수 있다.


2016년 7월 26일 화요일

[네트워크 기초] VoIP 초보 입문

1. VoIP의 기초 지식


VoIP(Voice over Internet Protocol)는 IP 네트워크망에 음성을 보내어 통화하는 기술이다.
넓은 의미의 IP 전화는 VoIP 기술을 이용한 전화 서비스 및 네트워크 내의 IP 기능을 가진 전화기를 말한다.

VoIP 이용 형태
  • 인터넷망을 사용
  • 음성이 통과하는 사내 인트라넷망을 구축
  • 통신 사업자(캐리어)가 제공하는 서비스를 이용

2. IP 전화의 구성 요소


IP 전화의 구성 요소는 단말, IP 네트워크망, 서버와 같이 크게 세 가지로 구분한다.
  • 단말
    - VoIP 게이트웨이, IP 전화기, 소프트폰(PC에  소프트웨어를 설치하며  PC를 IP전화기로 사용하는 것)
  • 서버
    - VoIP 서버
  • VoIP 게이트웨이
    - 아날로그 전화기를 IP 네트워크망에 연결하기 위한 장치

단말은 음성인 아날로그 신호를 IP 패킷으로 변환하고, 단말 간을 연결하기 위해 신호를 제어한다.

IP 네트워크망에서는 절대 우선순위 제어 기능과 대역 제어 기능에 따라 음성 품질을 보증한다.

VoIP 서버는 단말을 인증하는 기능과 전화기에서 송신되는 전화번호를 IP 주소로 변환하는 주소 변환 기능을 가지고 있다.


[출처]

풍부한 그림과 사진으로 배우는 네트워크  더 쉽게, 더 깊게 제3판, 미카미 노부오 지음 / 박상욱 옮김 

[네트워크 기초] 보안 초보 입문

1. 네트워크 보안 접근 방법


네트워크 보안에 대한 관점은 세 가지 관점이 필요하다.
  • 보안 전체의 관점
  • 네트워크 외부에서의 관점
  • 네트워크 내부에서의 관점

보안 전체의 관점

정보가 컴퓨터에서 중앙 집중저긍로 관되어 네트워크상에 존재하게 되었다.
보안 전체의 관점에서 먼저 '무엇을 보호할까? 무엇으로부터 보호할까?' 라는 관점을 가지고 네트워크를 관리해야 한다.
  • 무엇을 보호할까?
    - 하드웨어
    - 소프트웨어
  • 무엇으로부터 보호할까?
    - 외부로부터의 범행을 대비
    - 내부의 범행을 대비

2. '무엇으로부터 보호할까?' 외부 범행의 대표 예


외부로부터의 범행은 인터넷 접속에 대한 것이 중심이 된다. 대표적인 예는 다음과 같은 것들이 있다.
  • 부정 침입
    - 각종 업무 서버나 인증 서버에 허가받지 못한 계정으로 무단 접속하는 것
  • 정보 도청
    - 데이터가 통과하는 것을 가로채 다른 사람의 정보를 도용하는 것
  • 스푸핑
    - 부정으로 손에 넣은 데이터를 사용하여 본인인 척 정보를 이용하는 것
  • DoS 공격
    - 많은 데이터를 보내 정상적인 데이터 처리를 할 수 없도록 만드는 행동
  • 컴퓨터 바이러스
    - 데이터나 시스템 자체를 파기하고 업무를 할 수 없게 만드는 것

3. 외부 범행의 대책


외부로부터의 부정 액세스에 대한 원천적인 대책은 단순하고 간단하다. 
'외부에서 액세스하지 못하게 만든다.' 이다.
즉, 인터넷용 회선을 설치하지 않는 것이다. 사내 인트라넷만 이용한다면 막을 수 있다.

그러나 외부에서 인터넷을 이용한 비즈니스를 할 수없어 기업 입장에서 손실이 크다.

그래서, 외부에서 네트워크에 직접 액세스하지 못하게 만들어야한다. 구체적으로 외부 네트워크에서도 내부 네트워크에서도 격리된 네트워크를 설치하면 된다.

DMZ가 이 부분에 해당한다.

DMZ는 공개용 서버를 설치하는 전용 공간

인터넷에 연결된 인터넷에서 외부 네트워크로부터도, 내부 네트워크로부터도 격리된 장소로 DMZ를 설치하는 경우가 있다. 외부에 공개된 서버는 DMZ에 설치한다.

방화벽이란?

사내 네트워크와 외부 네트워크의 분계점이다. 데이터의 입출력 제어를 한다.
방화벽은 다음 세 가지 경계를 가진다.
  • 사내 네트워크
  • 외부 네트워크
  • DMZ
그림 방화벽은 세 가지 영역의 경계

방화벽 타입
  • 소프트웨어 제품
  • 하드웨어 일체형(네트워크 어플라이언스형) 제품

방화벽의 주요 기능
  • 액세스제어(필터링)
  • 주소 변환
  • 로그 수집

방화벽의 한계

방화벽은 모든 범행을 막는 특효약이 아니며, 다음 두 가지는 방화벽에서 처리할 수 없다.
  • 컴퓨터 바이러스
  • 사내 네트워크로부터의 공격

4. '무엇으로부터 보호할까?' 내부 범행에 대비


내부라는 측면에서도 네트워크 보안 대책을 세워두어야만 한다. 그 이유는 다음과 같다.
  • 네트워크 사용 증가
  • 정사원 이외의 사람도 같은 사무실 이용
  • 정보 가치의 상승

내부 범행

내부에서도 외부에서와 같이 범행이 발생할 수 있다.
  • 부정 침입
  • 정보 도청
  • 스푸핑
  • 컴퓨터 바이러스
  • 정보 유출

사용자 인증

네트워크에서 사용자를 인증하는 방법에는 크게 두 가지가 있다.
  • 인증 서버를 통한 인증
    - 인증 서버는 사용자 정보를 일원 관리하는데, 네트워크에 접속하고 있는 단말에서 요청이 있을 경우 저장된 사용자 정보의 ID와 암호를 이용하여 인증하는 시스템
  • 네트워크 기기를 통한 인증(로컬 인증)
    - 네트워크 기기 자체가 가지고 있는 인증 데이터베이스로 인증을 하는 방법

정보 데이터의 암호화

기밀 정보를 제3자가 악용하는 사태를 방지하기 위해 데이터를 암호화하는 것이 가장 효과적인 방법이다.

물리 보안

서버룸의 출입 허가를 명확히 하고, 비허가자의 침입을 먹아야 한다. 그거기 위해서 전체적인 물리 보안을 고려해 두는 것이 더욱 효과적이다.

5. 고속화 네트워크 활용에 대응


방화벽에서  UTM으로 

UTM은 방화벽을 발전시킨 기기로 IDS나 IPS, 바이러스 대책, 스팸 대책 등 보안 기능을 통합 제품이다. 또한 VPN 기능도 가지고 있는 제품도 많아 한 대로 인터넷 접속, 그리고 외부로부터의 보안 대책까지 일원 관리가 가능하다.

차세대 방화벽

차세대 방화벽은 애플리케이션 단위로 부정 데이터 감지나 차단이 가능하다.

차세대 방화벽의 대표적인 특징

① IP 주소뿐만 아니라 사용자나 그룹(조직) 단위로 구별
② 포트 번호나 프로콜이 아닌 애플리케이션으로 식별이 가능
③ 애플리케이션과 함께 통과하는 위협이나 중요 데이터를 실시간으로 감지하고 방어 
④ 애플리케이션의 우선순위를 결정
⑤ 사용자의 애플리케이션 사용 가시화와 액세스 제어가 실현 가능

차세대 방화벽의 동작은 크게 다음 세 가지다.

① 식별
② 분류
③ 제어


[출처]

풍부한 그림과 사진으로 배우는 네트워크  더 쉽게, 더 깊게 제3판, 미카미 노부오 지음 / 박상욱 옮김 

[AWS] FileZilla (FTP) 이용하기

1. FileZilla 다운로드



자신의 운영체제에 맞는 FileZilla를 다운받는다.


install 후 FileZilla를 열면 위와 같은 화면을 볼 수 있다.

2. AWS FTP 설정


메뉴 NETWORK & SECURITY -> Security Gropus 에 들어간 후 해당 인스턴스에 FTP 20,21 Port를 추가해준다.


3. AWS server와 연동



FileZilla를 이용해 파일을 옴길 aws server의 IP 주소를 먼저 확인한다.


메뉴에서 Edit -> Settings로 들어간다.


SFTP 클릭 후 aws server의 ******.key.ppk 파일을 Add key file로 추가한다.



메뉴에서 File -> Site Manager로 들어간다.


aws server의 IP와 User ec2-user를 입력 후 Connect로 접속을 한다.


위와 같이 aws server와 연결된 모습을 확인할 수 있다.


2016년 7월 25일 월요일

[네트워크 기초] 라우터 초보 입문

1. 네트워크 전체에서의 라우터 위치


  • 라우터는 각 거점 LAN을 연결하는 WAN와 LAN의 경계선에 위치하는 네트워크 기기다.
  • 소규모 거점에 있어서의 라우터는 데이터 전달부터 보안 기능까지 여러 역할을 한 대로 처리한다.
  • 중/대규모 거점에 있어서의 라우터는 외부와의 데이터 전송에 특화된다. 네트워크를 정지 하지 않고 빠른 패킷을 전송하는 것이 역할이다.

2. 라우터의 역할과 기본 원리


라우터는 제3계층 네트워크 계층에 해당된다. 
브릿지나 스위치가 제2계층의 데이터 링크 계층에 속해 있어 물리 주소인 MAC 주소를 기반으로 처리하는것에 비해, 라우터는 네트워크 계층의 논리 주소인 IP 주소를 기반으로 라우팅을 처리한다.

라우팅


라우팅은 다른 네트워크를 연결하는 역할 뿐만 아니라, 적절한 네트워크로 분배하는 역할을 한다.

라우터는 자신이 가지고 있는 라우팅 테이블 정보를 가지고 패킷을 라우팅한다.


그림 라우팅

라우팅테이블 안에는 목적지 경로를 나누기 위한 정보로 다음과 같은것들을 가지고 있다.
  • 목적지의 네트워크 주소
  • 목적지의 네트워크로 패킷을 보내기 위한 자신의 인터페이스
  • 목적지의 네트워크에 패킷을 보낼 때의 다음 경로 주소
  • 목적지의 최적 경로를 선택하기 위한 값
라우팅 테이블에 라우팅 정보를 학습시키기 위해서는 두 가지 방법이 있다.
  • 정적(스태틱 라우팅) 방식
    - 네트워크 관리자가 라우팅 테이블에 라우팅 정보를 하나하나 등록하는 방법
  • 동적(다이나믹 라우팅) 방식
    - 라우팅 정보를 다른 라우터에게 자동으로 받는 방법(라우팅 프로토콜 사용)

라우팅 프로토콜


라우팅 알고리즘은 크게 세 가지가 있다.
  • 디스턴스 벡터 알고리즘(Distance Vector Routing Algorithm)
  • 링크 스테이트 알고리즘(Link State Routing Algorithm)
  • 패스 벡터 알고리즘(Path Vector Algorithm)

디스턴스 벡터 알고리즘

디스턴스 벡터 알로리즘은 인접한 라우터 끼리 라우팅 정보를 교환함으로써 라우팅 테이블을 만들어 가는 알로리즘이다. 대표적인 프로토콜에는 RIP이 있다.

RIP의 특징은 아래와 같다.
  • RIP는 디스턴스 벡터 알고리즘 프로토콜
  • 단순하고 설정도 간단하지만, 대규모 네트워크 환경에 부적합
  • 패킷을 최대 15홉 라우터 까지 전송

링크 스테이트 알고리즘

링크 스테이트 알고리즘은 라우터 자체가 접속해 있는 네트워크에 대한 정보를 특정 범위 내에 있는 모든 라우터에 통지한다.
다른 라우터의 링크 상태를 수신한 라우터는 그 정보를 기반으로 경로의 정보를 학습하고 라우팅 테이블을 생성한다. 대표적인 프로토콜에는 OSPF가 있다.

OSPF의 특징은 아래와 같다.
  • OSPF는 링크 스테이트 알고리즘의 프로토콜
  • 대규모나 복잡한 네트워크에 적당하나 설정이 조금 복잡

일치하는 라우팅정보가 없을 때 할당 되는 경로
  • 기본 경로를 설정해 두면 라우팅 테이블 내에 일치하는 라우팅 정보가 없을 때에도 패킷을 파기하지 않고 기본 경로에 보낸다


3. 레이어3 스위치와의 차이점


라우터와 레이어3 스위치의 큰 차이점은 패킷의 전송 처리를 소프트웨어적으로 하는가, 하드웨어적으로 하는가다. 여기서 라우터는 전자에 해당하며, 레이어3 스위치 경우는 후자다.

하드웨어 처리를 하는 레이어3 스위치 쪽이 더 고속으로 처리할 수 있다. 그러나 최근에는 하드웨어 처리를 하는 라우터가 늘어나는 추세다.

라우터의 장점의 장점은 WAN과 인터넷 연결에 특화시킨 기능이다.
  • NAT/NATP(주소변환)
  • VPN
  • PPPoE


[출처]

풍부한 그림과 사진으로 배우는 네트워크  더 쉽게, 더 깊게 제3판, 미카미 노부오 지음 / 박상욱 옮김 

2016년 7월 24일 일요일

[네트워크 기초] 스위치 초보 입문

1. 리피터 허브와 브릿지


스위치는 네트워크의 중심 역할을 하는 기기이다. 기업 네트워크에서는 리피터 허브도 스위치로 바뀌었다. 다음과 같은 이유를 들수 있다.
  • 향상된 네트워크 속도 제공
    - 각 컴퓨터에서 주고 받는 데이터가 허브처럼 다른 모든 컴퓨터에 전송되는 것이 아니라, 데이터를 필요로 하는 컴퓨터에만 전송되기 때문에 가능
  • 병목 현상이 쉽게 생기지 않음
  • 전이중 통신방식(full duplex)을 지원하기 때문에 송신과 수신이 동시에 일어나는 경우 훨씬 향상된 속도를 제공

CSMA/CD 방식


리피터 허브는 PC나 네트워크 기기 등의 단말에서 LAN 케이블을 꽂고 통신 데이터를 중계하기 위한 기기다. 리피터 허브는 데이터를 보내기 위한 규칙으로 CSMA/CD 방식을 채용하고 있다.

CSMA/CD(Carrier Sense Multiple Access with Collision Detection)란, 다음과 같은 방식이다.

① 먼저 데이터를 기다린다 - CS(Carrier Sense)

송신한 데이터를 기다리는 단말은 전송로를 다른 단말이 사용하고 있지 않은가를 확인한다.

그림 CS(Carrier Sense)

전송로에 접속된 모든 단말은 항상 전송로 상의 모든 신호를 듣고, 보고 있으므로 저송로가 비어 있는지 알 수 있다.

② 누구라도 송신할 수 있다 - MA(Multiple Access)

데이터를 송신하고 싶은 단말은 ①의 CS에서 다른 단말이 통신하지 않는 것이 확인되면 언제든 송신할 수 있다.

이때, 어떤 특징 단말만이 아닌, 데이터를 송신하고 싶은 모든 단말에 송신할 수 있는 권리가 있다. 이것을 멀티플 액세스(이하 MA)라고 부른다.

그림 MA(Multiple Access)

③ 충돌을 검출한다 - CD(Collision Detection)


만약 거의 같은 시간에 여러 대의 단말에서 액세르를 시작했을 경우, 전송로상에서 데이터를 충돌(콜리전)이 발생한다. 이것이 발생하면 각각의 데이터가 손실되므로 송신 측 단말은 콜리전을 검출하면 정산적인 ㅈ어보를 다시 보내야만 한다. 이 콜리전을 검출하는 구조를 콜리전 디텍션(이하 CD)이라고 부른다.

그림 CD(Collision Detection)

콜리전 도메인


CSMA/CD 방식에 있어서 데이터 손실이 발생하는 범위를 콜리전 도메인이라고 부른다. 콜리전 도메인 안에서는 한 번에 일대일 단말밖에 통신할 수 없다.

그림 콜리전 도메인 내에서 통신할 수 있는 것은 일대일 통신뿐이다

예를 들어, 단말 A가 단말C에게 송신하고 있는 상황에서 다른 모든 단말은 데이터를 송신할 수 없다.

CSMA/CD에 의한 액세스 제어로는 데이터 충돌이 일어나 더는 사용할 수 없게 된다. 여기서 문제는 '하나의 콜리전 도메인 아에 여러 대의 단말이 존대하고 있다.' 라는 것이다. 콜리전 도메인을 작게 나누어서 여러 대의 단말로 분리해 대수를 줄이면 될 것이다. 이것은 리피터 허브 기능에서는 구현이 불가능하나, 스위치와 브릿지라면 구현할 수 있다.

콜리전 도메인을 분할할 수 있는 브릿지


콜리전 도메인을 분할하는 네트워크 기기로 스위치 이외에 브릿지라는 기기가 있다.
스위치와 마찬가지로 데이터 링크 계층에 위치하여 동일한 기능을 제공하는 네트워크 기기다.

콜리전도메인을 분할하는 열쇠는 브릿지가 가진 필터링 기능이다.

필터링
- 프레임 내의 MAC 주소를 평가하여 그 프레임을 브릿지를 통해 중계할 것인지를 판단하는 기능을 말한다. (네트워크 간의 필요 없는 데이터 송신을 억제, 콜리전 발생을 방지)

필터링 기능의 구조
- 네트워크를 넘어가지 못하도록 한다
- 트래픽을 정리하고 LAN의 중계 역할을 한다


2. 스위치의 기본


리피터 허브와의 차이

  • 리피터 허브는 장비 자체가 콜리전 도메인
  • 브릿지나 스위치는 각 포트가 콜리전 도메인

브릿지와 스위치의 차이

  • 브릿지는 소프트웨어 처리
  • 스위치는 하드웨어 처리

스위치의 포인트


스위치는 OSI 기본 참조 모델의 2계층(데이터링크)에 해당되는 중계기라고 생각하면 된다.

그림 스위치는 데이터링크 계층에 해당되는 중계기

레이어2 스위치는 접속하고 있는 단말의 MAC 주소나 접속 포트 등의 정보를 자동적으로 학습하고 MAC 주소 테이블에 저장하여 그 정보를 기반으로 해당 포트에 프레임을 전송한다. 그로 인해, 동시에 여러 포트로 통신함으로써 전송 효율이 높은 네트워크를 구현한다.

스위치의 사용 예


스위치는 포트별로 콜리전 도메인을 분할한다. 이것을 이용하면 효율적인 네트워크를 구상해 볼 수 있다.

예를 들어, 아래 그림과 같이 네트워크는 리피터 허브로만 구성되어 있다. 이 구성이라면 각 그룹 내에세 대량의 데이터가 오고 갈 때, 그룹 A 내에서 통신이 이루어지고 있다면, 그룹 B,C는 통신할 수 없다. 다른 그룹도 마찬가지이다.

그림 리피터 허브로는 비효율적

아래와 같이 스위치를 도입하면 그룹별로 콜리전 도메인이 분할된다. 그룹 A 내에서 통신이 이루어질 때,  그룹 B,C 내에서도 통신을 할 수 있다.

그림 스위치로 콜리전 도메인을 분할

브로드캐스트 도메인


레이어2 스위치는 MAC 주소 테이블을 참조하여 프레임의 목적지 포트를 결정하지만, 목적지 MAC 주소가 보르대캐스트 주소(FFFF:FFFF:FFFF)로 되어 있는 브로드캐스트 프레임에 대해서는 모든 포트에 전송하게 된다. 단, VLAN 기능이 있다면 이것을 조정할 수 있다.

MAC 주소의 학습 프로세스


스위치는 접속되어 있는 단말의 MAC 주소를 자동으로 학습하고 MAC 주소 테이블에 등록한다. 네트워크 관리자가 수동으로도 등록할 수도 있다.

3. VLAN


VLAN이란, 하나의 물리적인 네트워크를 복수의 논리적 네트워크로 분할하는 기술이다.
VLAN의 이점으로는 다음의 세 가지가 있다.
  • 네트워크 구성을 간단히 변경
  • 조직에 맞춰 네트워크를 분할하여 보안을 강화
  • 브로드캐스트로 대역폭의 소비를 절약
VLAN의 종류에는 스위치 포트와 VLAN을 대응시킨 포트 VLAN(고정 VLAN)과 스위치의 포트에 접속한 호스트 정보를 보고 소속된 VLAN을 동적으로 변경하는 동적 VLAN이 있다.

4. 스위치의 종류


스위치에는 레이어2 이외의 계층을 제어할 수 있는 스위치가 있고, OSI 기본 참조 모델 일곱 계층 중에 어느 계층에 속하는지에 따라 레이어3 스위치, 레이어 4~7 스위치라고 부른다.

레이어3 스위치

- 레이어2 스위치에 라우터 기능을 추가한 것이다.
- VLAN 간 통신이 가능하다.
- IP 패킷 전송을 하드웨어로 처리한다.

네트워크 부하를 분산하는 로드밸런서(레이어4~7 스위치)

'웹서버에서 응답 속도가 느려졌다.'라는 애플리케이션 레벨의 문제는 다음 두가지 원인을 생각할 수 있다.
  • 네트워크 인프라 전체에 발생한 문제인가?
  • 웹 서버(애플리케이션) 자체의 문제인가?
레이어4 이상의 애플리케이션 레벨 보완에 사용되는 기기가 레이어4~7 스위치다.

※ 로드밸런서기능
  • 부하분산 기능
  • 산태 확인 기능

[출처]
풍부한 그림과 사진으로 배우는 네트워크  더 쉽게, 더 깊게 제3판, 미카미 노부오 지음 / 박상욱 옮김 

[네트워크 기초] WAN 초보 입문

1. WAN이란?



  • WAN이란, LAN과 LAN을 연결하는 광범위 대규모 네트워크다.
  • WAN 회선은 국가에 통신 사업자 등록, 신고를 한 전기 토신 사업자가 구축·관리하고 있다.
  • 네트워크 규모나 이용자가 늘어나면 네트워크의 연속성을 위해 WAN을 이중화로 구성해야한다.

2. WAN에서의 등장인물


  • WAN의 구성 요소는 크게 나누어 다음 네 가지다.
    ① 건물 내 장치(액세스 라우터)
    ② 회선 종단 장치
    ③ 액세스 회선
    ④ WAN 중계망
  • 건물 내 장치(액세스 라우터)는 WAN에 연결하기 위한 라우터다. LAN과 WAN을 구분하는 부분이다.
  • 회선 종단 장치는 WAN의 전송 방식과 LAN의 전송 방식을 변환한다. 예를 들어, WAN의 광 케이블의 광 신호와 LAN의 UTP 케이블(이더넷)의 전기 신호를 변환한다.
  • 액세스 회선은 WAN의 서비스를 이용하기 위한 WAN 액세스 포인트까지 연결하는 회선이다.
  • WAN 중계망은 액세스 포인트 사이를 중계하는 역할을 담당한다.

3. WAN 회선 서비스


  • WAN 서비스는 크게 두 가지로 분류할 수 있다.
    - 통신 사업자가 제공하는 통신망
    - 인터넷망
  • 통신 사업자가 제공하는 통신망으로는 IP-VPN망과 광역 이더넷망이 있다.
  • IP-VPN망은 통신 사업자가 독자적으로 구축한 폐쇄 IP망이다. 용도는 다음 세 가지로 나눌수 있다.
    - 중규모에서 대규모 거점 네트워크용
    - 보안이 중시되는 네트워크용
    - 통신 품질이 요구되는 네트워크용
  • 인터넷 VPN은 인터넷상에서 구현된 VPN이다. 용도는 다음 두 가지로 나눌 수 있다.
    - 소규모에서 중규모 거점 네트워크용
    - 다점포용
  • 광역 이더넷망은 통신 사업자가 독자적으로 구축한 폐쇄망이다. 거점 간은 각 네트워크로 연결되어 있지만, 마치 하나의 LAN과 같이 네트워크를 구성할 수 있다. 광역 이더넷망에는 다음과 같은 장점과 단점이 있다.
    - 통신 속도가 빠르고 지연도 적다.
    - IP 이외의 프로토콜이 전송 가능하다.
    - 서비스 자체를 제공할 수 있는 범위가 좁고 액세스 회선 비용이 많이 발생한다.
  • 인터넷망은 사용료가 저렴하다. 대신 보안 측면에서 취약성을 지니고 있으므로, 각자 보안 대책을 세울 필요가 있다.

[출처]
풍부한 그림과 사진으로 배우는 네트워크  더 쉽게, 더 깊게 제3판, 미카미 노부오 지음 / 박상욱 옮김 

2016년 7월 21일 목요일

[용어정리] 기간계, 계정계, 정보계, 대외계

IT 용어 정리


1. 기간계

정의: 고객이 사용하던 기존 시스템(새로운 시스템 도입 기준 시점)

2. 계정계

정의: 금융권 영업점에서 실시간으로 고객의 거래를 처리하기 위한 업무 정보
사용 예: 고객의 통장 정보(계좌 번호, 입 출금, 이체, 펀드, 주식 등)

3. 정보계

정의: 거개의 데이터를 관리하고, 그 데이터의 통계 및 분석하는 시스템
특징: 저장된 데이터를 바탕으로 앞으로의 예측, 결산, 분석 등의 업무를 처리
        정보계에서 데이터로의 접근성에 대한 속도가 중요

4.대외계

정의: 각 금융기관의 대내외 망을 연결하는 시스템
사용 예: 전자금융, 사이버 증권, 기업 뱅킹, CD공동망, 신용 정보

[출처]

http://hoonstudio.tistory.com/24

2016년 7월 20일 수요일

[Machine Learning] 기계학습이란?

Machine Learning 이란?

머신 러닝 또는 기계 학습은 컴퓨터 과학 중 인공지능의 한 분야로, 패턴인식과 컴퓨터 학습 이론의 연구로부터 진화한 분야이다. 머신 러닝은 경험적 데이터를 기반으로 학습을 하고 예측을 수행하고 스스로의 성능을 향상시키는 시스템과 이를 위한 알고리즘을 연구하고 구축하는 기술이라 할 수 있다. 머신 러닝의 알고리즘들은 엄격하게 정해진 정적인 프로그램 명령들을 수행하는 것이라기보다, 입력 데이터를 기반으로 예측이나 결정을 이끌어내기 위해 특정한 모델을 구축하는 방식을 취한다.

Machine Learning 역사

1959년 아서 사무엘(Arthur Samuel)이 기계 학습을 "컴퓨터에게 배울 수 있는 능력, 즉 코드로 정의하지 않은 동작을 싱행하는 능력에 대한 연구 분야"라고 정의하였다. 그는 1952년 체커를 소재로하여 기계 학습을 하여 스스로 강해질 수 있는 프로그램을 만들었다. 여기서 사용한 기계 학습은 파라미터 조정에 기초한 기계학습 방법이다.

Machine Learning 현황

머신 러닝은 컴퓨터 과학을 포함한 대부분의 모든 분야에서 활용되고 있으며, 컴퓨터 시각(문자 인식, 물체 인식, 얼굴 인식), 자연어 처리(자동 번역, 대화 분석), 음성 인식 및 필기 인식, 정보 검색 및 검색 엔진(텍스트마이닝, 스팸 필터, 추출 및 요약, 추천 시스템), 생물 정보학(유전자 분석, 단백질 분류, 질병 진단), 컴퓨터 그래픽 및 게임(애니메이션, 가상현실), 로보틱스(경로 탐색, 무인 자동차, 물체 인식 및 분류) 등의 분야에서 응용되고 있다.

Machine Learning 모델

  • 일반화 : 과거의 데이터를 이용하여 기계 학습을 진행하여 새로운 패턴에 대해 효과적으로 처리할 수 있는 능력
  • 데이터 마이닝 : 인터넷 등으로 인해 축적된 대용량 데이터를 해석하여 규칙성과 법칙을 찾아내는 행위의 총칭
  • 텍스트 마이닝 : 데이터 마이닝의 대상이 문자나 문장 같은 텍스트일 때 부르는 명칭


[출처]

http://terms.naver.com/entry.nhn?docId=3347329&cid=40942&categoryId=32845

2016년 7월 7일 목요일

[PostgreSQL] PostgreSQL 소개

PostgreSQL 소개



PostgreSQL이란?



PostgreSQL은 POSTGRES, 버전 4.2를 기반으로 하는 개체 관계 데이터베이스 관리 시스템이며, UC 버클리 컴퓨터 공학부에서 개발했다. POSTGRES는 여러 가지 개념을 개척했는데, 이것은 한참 뒤에 일부 상업용 데이터 베이스 시스템에서 구현되었다.
PostgreSQL은 이 오리지널 버클리 코드에서 유래된 오픈소스다. 이것은 SQL 표준의 대부분을 지원하며 다음과 같은 최신 기능을 다수 제공한다.

  • 복합 쿼리
  • 외래키
  • 트리거
  • 업데이트 가능한 뷰
  • 트랜잭션 무결성
  • 멀티버전 동시성 제어

PostgreSQL을 사용자가 여러 가지 방법으로 확장할 수도 있다. 예를 들면, 다음을 새로 추가 할 수 있다.

  • 데이터 타입
  • 함수
  • 연산자
  • 집계 함수
  • 인덱스 메소드
  • 프로시저 언어

그리고 자유로운 라이선스 때문에 누구든 자유롭게 PostgreSQL을 사적으로, 상업적으로 또
는 교육용으로 사용, 수정 및 배포할 수 있다.

PostgreSQL 역사


<출저> http://postgresblog.co.kr/220610281187

<출처> http://postgresblog.co.kr/220610281187

PostgreSQL 특징


  1. Portable
    - PostgreSQL의 ANSI C로 개발됨
    - 지원하는 플랫폼: Windows, Linux, MAC OSX 또는 Unix Platform 등 다양
  2. Reliable
    - 트랜잭션 속성인 ACID에 구현 및 MVCC
    - 로우 레벨 라킹 등 구현
  3. Scalable
    - PostgreSQL의 멀티 버전 사용 가능
    - 대용량 데이터 처리를 위한 Table Partitioning과 Tablespace 기능 구현
  4. Secure
    - 호스트 기반 접근제어, object-level 권한
    - ssl 통신을 통한 클라이언트와 네트워크 구간의 전송 데이터 암호화
  5. Recovery & Availability
    - Streaming Replication을 기본적으로 동기식, 비동기식의 Hot Standby 서버 구축
  6. Advanced
    - PostgreSQL upgrade
    - 모니터링 및 관리, 튜닝
    - 스크립트 언어 지원(Perl, java, php)


[출처]

PostgreSQL 9.4 공식 가이트 Vol.1 서버 관리, The PostgreSQL Global Development Group 지음 (주) 비트나인 옮김
http://postgresblog.co.kr/220610281187

[JAVA] 문자열 역순

문자열 역순


public static void main(String[] args) {
  Scanner input = new Scanner(System.in);
  String str;
  System.out.println("문자열 입력:");
  str = input.nextLine();  
  char[] array = str.toCharArray();
  int len = str.length();
  for(int i = 0; i < len/2 ; i++)
  {
   char temp = array[i];
   array[i] = array[len-i-1];
   array[len-i-1] = temp;
  }
  for(int j = 0; j < len; j++)
   System.out.print(array[j]);  
 }

[JAVA] 랜덤함수

1. 랜덤 함수


 public static void main(String[] args) {

 {
         int num1 = (int) (Math.random()*10);
         int num2 = (int) (Math.random()*10);
         int num3 = (int) (Math.random()*10);
         System.out.println(num1 +"," + num2 +","+ num3 );
       
         System.out.println("=========================");
       
         Random random = new Random();
         int num4 = random.nextInt(10);
         int num5 = random.nextInt(10);
         int num6 = random.nextInt(10);
       
         System.out.println(num4 + ","+ num5 + "," + num6);
     }
 }

실행결과
1.
9,9,9
=========================
8,2,2

2.
2,8,6
=========================
0,3,2

2. 중복 되지 않는 랜덤 함수


 public static void main(String[] args) {

  Scanner scanner = new Scanner(System.in);

  Random randomObj = new Random();
  System.out.println("1.");
  int [] arr = new int[5];
  for ( int i = 0; i < arr.length ; i++){
   arr[i] = randomObj.nextInt(arr.length);
   for(int j = i-1; j >=0; j--){
    if(arr[i]==arr[j]){
     i--;
     break;
    }
   }
  }
  for( int i = 0; i<arr.length ; i++)
   System.out.print(arr[i]);
 }

[Linux] Swap 생성

Linux Swap 생성


파일 이용


1. swap으로 사용할 디렉토리 생성
swap 생성에 사용할 디렉토리를 생성한다.
touch 명령어를 이용하여 swapfile 을 생성한다.

2. swap으로 사용할 파일 생성
dd if=dev/zero of=/swap_dir/swapfile bs=500M count=1 명령을 이용하여 swap으로 사용할 파일을 생성한다.
  • /dev/zero
    - 널문자를 무한히 제공하는 리눅스 장치 파일
    - 블랙홀(/dev/null)과 같은 용도로 사용해도 됨
  • dd명령어 옵션
    if=FILE: 표준 입력 대신 지정한 파일을 입력으로 받는다.
    of=FILE: 표준 출력 대신 지정된 파일에 출력한다.
    bs(블럭사이즈)=BYTES: 한 번에 BYTES씩 읽어 들이고 출력한다.
    count=BLOCKS : 입력 블록의 크기만큼만 복사한다. (블럭사이즈 만큼을 몇번 읽어서 저장할지를 정해주는 값)
3. swap 파일의 권한 변경
기존의 644 권한을 가지고 있는 swapfile을 chmod 명령어를 이용하여 600 권한으로 만들어준다.

4. swap 파일로 포맷
mkswap 명령어를 이용하여 swap 파일로 포맷을 시켜준다.

5. swap 활성화 후 확인
swapon 명령어를 통해 swap을 활성화 시킨 후 swapon -s, free를 사용하여 확인을 한다.

6. swap 제거 방법
swapoff로 swap 비활성화를 시킨 후 rm 명령어를 이용하여 제거한다.

파티션 이용


1. 파티션 확인
lsblk 명령어를 이용하여 파티션을 확인한다. xvdd에서 swap 파티션을 구성할 것 이다.

2. 파티션 구성
4기가, 6기가 2개의 primary를 구성하였으며, 4기가 파티션을 swap 으로 만들것이다.

두개의 파티션으로 나뉜것을 확인할 수 있으며, swap으로 만들 1번 파티션을 Linux swap / Solaris 시스템 id로 변경해준다.

3. swap 만들기
mkswap으로 swap 파일 포맷을 한 후, swap을 활성화 시킨다.
xvdd1 파티션에 swap이 구성된것을 확인 할 수 있다.

4. fstab 설정

마지막으로 fstab 설정을 한다.