2016년 6월 21일 화요일

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

1. OSI 기본 참조 모델


통신을 위한 대전제

프로토콜이란?
- 컴퓨터 통신에 필요한 약속(공통의 수단)을 정한 것
- 필요한 기능에 맞춰 여러 가지 프로토콜이 존재한다.

OSI 기본 참조 모델

다른 제조사의 컴퓨터나 시스템을 상호 접속되게 하는 것을 목적으로 제정된 것이다. 일곱 계층으로 나누어 모델화시킨 것이 특징이다.

1. 물리 계층: 커넥터 등의 형태와 전기 특성의 변환, ex) UDP 케이블, 광 케이블 등
2.
데이터 링크 계층: 물리적 통신 경로 확립, ex) 이더넷, MAC 주소, 스위칭 등
3.
네트워크 계층: 주소의 관리와 경로 선택 ex) IP, 라우팅 등
4.
트랜스포트 계층: 데이터를 통신 상대에게 확실히 전달 ex) TCP, UDP
5.
세션 계층: 커넥션의 확립과 절단
6.
프레젠테이션 계층: 데이터를 통신에 맞는 형식으로 변환 ex) 문자 코드, 압축 형식 등
7.
애플리케이션 계층: 애플리케이션 계층

OSI 각 계층의 역할

1계층 ~ 4계층은 통신 기능을 실현한다
5계층 ~ 7계층은 애플리케이션 기능을 실현한다
네트워크의 기능을 계층화한 이유는 각 계층의 독립성과 전문성을 높여 새로운 기술에 유연히 대응하도록 만들기 위해서다.
개발 기간 단축도 되고 보다 전문적인 기술 개발이 가능하다.

트러블슈팅: 계층을 구조화 시켜 트러블을 해결

OSI 각 계층의 데이터 단위

OSI의 각 계층별로 PDU를 부르는 이름이 달라진다.
4계층 트랜프포트 계층: 세그먼트
3계층 네트워크 계층: 패킷
2계층 데이터 링크 계층: 프레임

2. LAN


네트워크 전체에서의 LAN의 위치

라우터 부분이 LANWAN의 구분점 이다.

LAN의 구성요소


LAN은 이더넷으로 구성되는 것이 대부분이다.

이더넷은 OSI 기본 참조 모델의 물리 계층과 데이터 링크 계층에 대한 규격이다.
이더넷으로 LAN을 구축하기 위해서는 LAN카드, UTP 케이블, 스위치(허브)를 사용한다.
이더넷 통신에는 MAC 주소가 사용 된다.

케이블 사용 구분


다이렉트 케이블은 라우터와 스위치 간, 스위치와 PC 단말 간의 접속에 사용한다.

크로스 케이블은 스위치 간이나 라우터와 PC단말을 직접 연결할 때 사용한다.


3. IP 주소


네트워크 기기에 주소를 할당

IP 주소: 데이터를 네트워크 기기나 단말에 보내기 위한 식별 정보
MAC 주소가 비교적 좁은 범위의 레이어2 통신에서 사용되는 반면, IP주소는 라우터를 통한 다른 네트워크와 통신하는 넓은 범위의 통신(레이어3 통신)을 위해 필요하다.
IP 주소는 TCP/IPIP 프로토콜로 사용되는 것이며, 사람이 이해 하기 쉽게 10진수로 표기되어 있다. 주소 길이는 32비트다.
윈도우 환경에서 명령 프롬포트에서 ipconfig/all 명렁어를 실행하면 자신의 PCIP 주소와 MAC 주소를 확인할 수 있다.


IP 주소의 클래스

네트워크 주소 부분과 호스트 주소 부분으로 나뉘지만, 그 경계가 고정된 것은 아니다
클래스 A ~ 클래스 E 까지 다섯 개의 클래스
사용자에게 할당되는 주소는 클래스 A ~ 클래스 C 범위
주소 시작이 1~126이면 클래스 A
클래스 A는 맨 앞의 1비트가 0으로 시작한다
상위 8비트가 네트워크 주소 부분, 하위 24비트가 호스트 주소 부분
주소의 시작이 128~191이면 클래스B
클래스 B는 맨 앞의 2비트가 10으로 시작한다
 상위 16비트가 네트워크 주소 부분, 하위 16비트가 호스트 주소 부분
주소의 시작이 192~223이면 클래스C
클래스 C는 맨 앞의 3비트가 110으로 시작한다.
상위 24비트가 네트워크 주소 부분, 하위 8비트가 호스트 주소 부분
클래스 DE는 사용자의 주소를 할당할 수 없다. 클래스 D는 멀티캐스트용, 클래스 E는 실험용 주소

할당할 수 없는 주소

- 호스트 주소 부분의 비트가 전부 0
- 호스트 주소 보분의 비트가 전부 1
호스트 주소 부분의 비트가 전부 0인 주소는 네트워크 그 자체를 나타내는 네트워크 주소
10.0.0.0
172.16.0.0
192.168.0.0
호스트 주소 부분의 비트가 전부 1인 것은 브로드캐스트 주소
10.255.255.255
172.16.255.255
192.168.1.255
브로드캐스트란, 네트워크 내의 불특정 다수에게 패킷을 동시에 전달하는 것 

특수 용도의 주소

PC가 네트워크에 연결 되지 않았을 때, 자신의 PCTCP/IP가 활성화 되어 있는가가 제일 중요
루프백: 네트워크상에서 자기 자신을 나타내는 인터페이스 또는 그 주소를 말한다,. 일반적인 주소는 127.0.0.1 이다.
루프백 주소 통신
명령 프롬프트에서 127.0.0.1 이라고 명령어를 실행

Ping 명령어에서 상대방 주소에 루프백 주소를 지정하면, 자신의 PCTCP/IP가 활성화 된 것을 확인할 수 있다.


서브넷 마스크

IP 주소의 클래스는 구분이 너무 대략적이라는 문제가 있다.
클래스
네크워크 수
호스트 수(한 네트워크 당)
클래스 A
136
16,777,214
클래스 B
16,384
65,534
클래스 C
2,097,152
254

여러 개의 단말을 하나의 네트워크로 관리하는 것은 현실적으로 불가능하다. 그래서 사용하는 것이 바로 서브넷 마스크 이다.

공인 주소와 사설 주소

IP 주소는 조직 외에서 사용하는 공인 주소와 조직 내에서 사용하는 사설 주소로 구분된다.

Ipv6

Ipv6Ipv4 주소 고갈의 문제를 대처하는 방법 중 하나로, 책정된 Ipv4를 잇는 규격이다.


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

[네트워크 기초] 네트워크 전반에 대한 이해

1. 누구를 위한 네트워크인가?


누가 네트워크를 사용하는가?
- 일반 사용자
- 기업

네트워크를 어디에사용하나?
집, 회사 등

가정용과 기업용의 차이
- 사용자가 사용하는 애플리케이션 종류
- 네트워크의 물리적 규모
여기서 말하는 애플리케이션은 전자우편이나 웹 브라우저처럼 사용자가 이용하는 소프트웨어를 말한다.
가정용: ADSL, 광 회선 등의 액세스 회선
기업용: 인터넷 회선, 사내 전용 전화망, IP 네트워크망 등

서비스 프로바이더 네트워크
서비스 프로바이더용 네트워크는 기업에 통신회선 서비스(WAN)를 제공하기 위해 통신 사업자나 ISP에 의해 구축된다.

2. 네트워크 형태


LAN/WAN/MAN
LAN(Local Area Network): 회사 건물 내부나 가정 내부의 비교적 작은 범위의 컴퓨터 네트워크
WAN(Wide Area Network): 멀리 떨어진 LAN 간을 서로 이어 주는 통신 사멍자망을 이용하여 구축된 네트워크 
MAN(Metropolitan Area Network): LAN과 WAN의 중간 범위에 위치 ex. 도시형 네트워크(CCTV 네트워크)

인트라넷(사내 인트라넷)
- 기업 내의 열려 있는 네트워크
- 일반적으로 인터넷과 구별하기 위해 '사내 인트라넷' 이라고 부른다.

3. 일반적인 네트워크 구성


네트워크의 전체 구성
네트워크 구성은 대규모 거점, 중규모 거점, 소규모 거점으로 구분된다.
소규모 거점 네트워크: 세 영역 이내의 단순한 네트워크로 구성된다.
중규모 거점 네트워크: 복수 영역의 이중화 구성을 고려한 네트워크로 구성된다.
대규모 거점 네트워크: 여러 영역의 모든 부분에 대한 이중화를 고려한 네트워크로 구성된다.



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


2016년 6월 14일 화요일

[OpenSourceDB] 오픈소스 DBMS의 종류 및 특징

1. Open Source란?

오픈소스(Open Source), 또는 공개 소프트웨어는 저작권자가 소스코드를 공개하여 누구나 특별한 제한 없이 자유롭게 사용, 복제, 배포, 수정할 수 있는 소프트웨어입니다.

장점
단점
낮은 진입비용
애플리케이션의 부족
빠르고 유연한 개발
빈약한 문서
호환성
불확실한 로드맵
신뢰성과 안전성
지적재산권


2. Open Source DB를 사용 하는 이유

오픈소스 기술이 세분화되면서 데이터베이스(DB) 업계에서도 오픈소스 모델로 개발되는 기술이 늘어나고 있다. 많은 기업들이 오픈소스 데이터베이스 관리 시스템(DBMS)을 사용하는 까닭은 명확하다. 기존 기업들이 내놓은 DBMS보다 가격이 저렴하고 개발도 훨씬 유연하게 할 수 있기 때문이다.

3. Open Source DB 종류 및 특징


RDBMS vs NoSQL

구분
RDBMS
(
관계형 데이터베이스 관리 시스템)
NoSQL
(
고성능 비관계형 데이터베이스)
장점
정규화된 데이터 모델
데이터 무결성/정합성 보장
작은 크기의 트랜잭션
Web, SNS 환경의 다양한 정보를 검색 및 저장
단점
확장성의 한계
클라우드 분산환경 부적합
데이터 무결성/정합성 보장 못함
특징
Join을 통해 정보 연계 가능
트랜잭션의 안정성 확보를 위한 ACID
(
원자성, 일관성, 고립성, 지속성)
정형적인 스키마 구조
데이터의 수정/삭제가 거의 없고 Insert위주
강한 Consistency 불필요
노드 추가/삭제, 데이터 분산에 유연

MySQL

MySQL이란?
MySQL은 제일 많이 사용되는 오픈소스 데이터베이스 입니다. 효율적인 아키텍처를 채택하여 빠른 성능과 쉬운 사용자 구성을 가능하게 해줍니다. 다양한 함수와 여러 기능면에서 상용 데이터베이스가 가지지 못한 점을 가진 것도 있습니다. 속도와 간결성, 안정성과 용이한 관리를 보장해주는 데이터베이스 관리 시스템이다.

MySQL의 특징
1. 무료 사용 2. 리눅스에서 아파치, PHP와 연동하여 사용 가능 3. 사용이 간단 4. 수행속도가 빠름 5. 소형 DB 구축 활용에 용이 6. 대용량 처리와 보안이 뛰어남

PostgreSQL

PostgreSQL이란?
PostgreSQL은 POSTGRES, 버전 4.2를 기반으로 하는 개체 관계 데이터베이스 관리 시스템이다. 오픈 소스 코드이기 때문에 확장할 때 무료로 쉽게 사용할 수 있으며, GUI 인터페이스를 통해 DB 설계 및 관리 할 수 있다. 

PostgreSQL의 특징
구분
설명
Portable(이식성)
지원하는 플랫폼: Windows, Linux, MAC OS/X 또는 Unix Platform등 다양
Reliable(신뢰성)
트랜잭션 속성인 ACID(원자성, 일관성, 고립성, 지속성)에 대한 구현 및 MVCC
Scalable(확장성)
PostgreSQL의 멀티-버전 사용 가능
Secure(보안성)
호스트 기반 접근제어, ssl 통신을 통한 클라이언트와 네트워크 구간의 전송 데이터 암호화
Advanced
PostgreSQL upgrade, 모티너링 및 관리, 튜닝까지 가능, 스크립트 언어 지원(Perl, java, php)

PostgreSQL의 단점
1. 수많은 사용자를 동시에 서버에 접속 할 때 불안하다.
2. 기술지원에 대한 안정성 확보가 부족하며, PostgreSQL 매뉴얼을 확인 해보면 대부분 에러에 대한 내용을 사용자에게 맡기고 있다.(풍부한 데이터 사전이 존재하지 않는다.) 
3. 정기적인 Vacuum 작업 을 해야 한다. 

카산드라DB

카산드라DB란?
카산드라는 구글의 BigTable 컬럼 기반의 데이터 모델과 FaceBook에서 만든 Dynamo의 분산 모델을 기반으로 제작되어 Facebook에 의해 2008년에 아파치 오픈소스로 공개된 분산 데이터 베이스 입니다. 

카산드라DB의 특징
1. 분산 대용량 저장소(NoSQL)
2. 수평적 확장이 용이한 Ring 구조의 클러스터 아키텍처
3. Write가 Read 보다 빠르고, Read도 RDB(relational database)보다 빠름.
4. 서비스 중에 노드를 추가하여 용량 확장 가능