분류 전체보기

리눅스 소개

2009. 4. 7. 02:31

리눅스는 다중 작업, 다중 사용자 운영체제이고 다중 프로세스 시스템을 지원하는 고성능, 고가용성 운영체제이다. 그리고 이 모든 성능과 기능들은 무료로 제공된다. IEEE POSIX, System V, BSD와 소스 수준에서 많은 유닉스 표준과 거의 호환된다. 그밖에 윈도우 95/98, 윈도우 NT/2000/XP, Max OS, BSD 등과 같은 다양한 운영체제와 멀티 부팅을 통해 한 시스템에서 공존할 수 있다. 멀티 부팅의 경우 리눅스 부트로더 (LILO)와 그루브(GRUB; GRand Unified Bootloader)를 통해 부팅할 운영체제를 선택할 수 있고, 윈도우 2000/XP 등의 부트로더와도 호환된다.

인텔x86, 아이태니움, 스팍/울트라스팍, AMD 64, ARM, PA-RISC, Alpha, PowerPC, MIPS, m68k, IBM 390과 z시리즈 메인프레임 등 다양한 CPU 아키텍처에서 동작한다. 다수의 임베디드 프로세서에 포팅되었으며, 팜파일럿과 컴팩iPAQ와 같은 PDA에도 포팅되어 있다. 더욱이 클러스터를 활용한 수퍼컴퓨터의 영역에서도 사용된다.

다양한 파일시스템 유형을 지원하며, ext2fs와 같은 리눅스 전용 파일시스템외에 NTFS, VFAT, FAT16/32, 매킨토시, OS/2 등 수많은 운영체제의 파일시스템을 지원한다.

리눅스는 완전한 TCP/IP 네트워킹을 구현하고 있으며, 이더넷 카드, PPP, SLIP, PLIP, ADSL 등 장치 드라이버를 포함한다. IPv6 프로토콜 모음과 DHCP, AppleTalk, IrDA, DECnet, 패킷 라디오 통신 프로토콜인 AX.25 등 다양한 프로토콜을 지원한다.

FTP, Telnet, NNTP, SMTP, POP3, IMAP, NFS, Microsoft의 도메인에 참여할 수 있도록 해주는 마이크로소프트 프로토콜 등 완전한 TCP/IP 클라이언트와 서비스를 갖추고 있다.

리눅스는 커널 차원의 방화벽 지원이 있기 때문에 네트워크 패킷의 차단을 구현할 수 있다.

1. 커널 (Kernel)

리눅스 운영체제의 핵심 엔진부이다. 커널은 사용자 프로그램과 하드웨어 장치 간의 인터페이스, 멀티태스킹 구현을 위한 프로세서 스케줄링 등 다양한 시스템 제어를 위한 코드이다. 시스템 메모리를 최적으로 사용하기 위해 가상 메모리가 구현되어 있으며, 스왑 공간을 디스크에 할당할 수 있다.

2. 명령과 쉘(Shell)

쉘은 사용자가 입력한 명령을 실행하는 프로그램이다. 그밖에 작업 제어, 입출력 리다이렉트, 파이프 등을 지원하고 쉘 스크립트 프로그래밍을 위한 명령 언어를 제공한다. 현재 리눅스의 표준 쉘은 BASH (Bourn Again SHell)이며 '배쉬'라고 읽는다.

BASH외에 sh, csh, tcsh, ksh, zsh 등 다양한 유닉스 표준 쉘을 함께 제공하고 있다.

3. 텍스트 프로세싱과 워드 프로세싱

리눅스는 vi와 emacs라는 매우 훌륭한 편집기를 제공하여 다양한 용도로 강력한 텍스트 편집 기능을 제공하며, 오픈오피스를 통해 마이크로소프트 오피스와 거의 호환되는 오피스 프로그램 또한 제공하고 있다.

4. 개발 환경

GNU의 컴파일러인 gcc를 제공하여 C, C++, Object C, 포트란, 자바 등 대부분의 개발 환경을 제공하고 있다.

5. X-Window 시스템

1980년대 MIT에서 다양한 유닉스 시스템을 지원하는 윈도우 시스템인 X를 선보인 이래 리눅스의 윈도우 시스템으로 자리잡아 오고 있다. 현재 리눅스에서 사용가능한 X 버전은 X.org라 부르며 리눅스와 같은 PC 기반의 유닉스 시스템으로 자유롭게 배포 가능한 X11R6으로부터 개발한 것이다.

6. KDE와 GNOME

X 윈도우 시스템은 유연한 설계로 인해 다양한 데스크톱 환경을 가질 수 있으며 대표적인 데스크톰 환경으로 KDE와 GNOME('그놈'이라고 읽는다)을 제공하여 현대적인 윈도우 시스템을 제공하고 있다.

7. 배포판

리눅스 시스템은 커널을 개발하여 공개한 리누스와 수많은 오픈 소스 개발자들의 다양한 개발 커뮤니티들에 의해 만들어진 유틸리티 들의 조립품이며 이 모든 것들을 모아서 하나의 사용가능한 시스템으로 만들어 놓은 것이 배포판이다. 배포판 역시 개인으로부터 기업에 이르는 다양한 배포판 개발팀에 의해 만들어지며 수많은 배포판이 존재한다.

대표적이 배포판으로는 Redhat Enterprise, Fedora, Debian, Ubunto, GenOS, gentoo, SLACKWARE 등이 있다.

Active Directory (AD) 소개

1. AD의 역할, 기능, 역사

액티브 디렉터리(AD; Active Directory)는 업계 표준인 X.500과 LDAP(Lightweight Directory Access Protocol)를 이용하여 디렉터리안의 모든 객체를 손쉽게 검색하고 중앙집중적으로 관리할 수 있게 한다.

▷ 객체(Object) 사용자, 그룹, 컴퓨터, 서버, 도메인, 사이트 등을 의미하며 이러한 객체들을 AD내에서 검색하기 위해 객체의 이름에 기반한다.

▷ 스키마(Schema) 모든 객체 유형과 그 속성들의 정의. 객체 클래스와 속성의 2가지 형태 정의가 저장된다. 스키마는 사용자의 어플리케이션으로 검색될 수 있으며 사용자 정의 객체 클래스와 속성을 사용하도록 허락되도록 변경될 수 있다. 권한 없이 변경되는 것을 막기위해 임의 접근 제어 리스트(DACL; Discretionary Access Control List)를 사용하여 각 객체의 보안을 유지한다. 이러한 DACL은 오직 권한이 있는 사용자만이 스키마에 접근할 수 있다.

▷ 디렉터리 서비스 프로토콜 액티브 디렉터리는 산업 표준인 LDAP를 이용하여 디렉터리 내에서 데이터와 같은 필요한 서비스를 요청하고 데이터를 업데이트 하기 위해 사용한다.

2. AD의 구성

1) 논리적 구성

▷ 도메인 (Domain) 다른 네트워크를 구별짓는 보안 경계(Security boundary)로, 각 도메인은 네트워크를 관리할 관리자 계정들을 가지고 있고, 그 관리자 계정들은 도메인 전역 또는 정해진 도메인 관리를 위한 전체(full control) 권한을 할당 받을 수 있다. 도메인은 자신의 사용자들과 그룹들을 가지고 있으며 이러한 사용자들은 필요시 다른 도메인에서 권한을 부여 받을 수 있다. 도메인은 복제 목적으로도 사용된다. 도메인 안에 있는 도메인 컨트롤러(DC; Domain Controller)는 서로 복제하여 도메인 정보를 공유한다.

▷ 조직 단위 (Organization Unit) 디렉토리 내에서 객체를 구성하기 위해 사용되는 컨테이너 객체(Container Object)이다. OU들은 보통 사용자 객체와 그룹 객체를 포함하고 그밖에 컴퓨터와 다른 OU들을 포함할 수 있다. 권한의 지정은 OU 단계에서 할당되며 특정 사용자들에게 관리자적 권한을 부여하기 위해 할당된다.

▷ 트리 (Tree) 도메인은 트리 구조로 병합되며 첫번째 설치된 도메인을 루트 도메인(Root domain)이라고 한다. 트리내의 모든 도메인은 공통 스키마와 공통 글로벌 카달로그를 공유한다. 트리에서 계층 구조를 구성하는 도메인들은 인터넷 Domain 이름과 같이 사용된다. 예를 들어 "myad.local"이라고 루트 도메인을 만들고 하위에 두번째로 만들어진 "myou"라는 도메인의 전체 이름은 "myou.myad.local"이 된다.

▷ 포리스트 (Forest) 트리의 집합이며 포리스트안의 트리들은 인접 이름 공간(contiguous namespace)를 공유할 필요가 없다. 즉 트리와 같이 계층 구조의 이름을 가질 필요가 없으며 각자 루트 도메인을 유지한채 공통적인 스키마와 글로벌 카달로그를 공유한다. 이때 두 트리는 양방향 트러스트(trust) 관계를 통해 서로 합쳐진다.

▷ 글로벌 카달로그 (GC; Global Catalog) 포리스트 안에 있는 공통적으로 많이 검색되어지는 속성으로 정의된 것들의 부분을 가지고 있다. 글로벌 카달로그는 사용자가 접근 권한을 이용해 포리스트내 자원의 접근을 제어하여 원격지 도메인에 있는 도메인 컨트롤러에 접근하지 못하도록 하여 네트워크 트래픽을 감소시킬 수 있다. 그리고 윈도우 2003 네트워크가 가려지는 논리적인 구조를 만들 수 있도록 한다.

2) 물리적 구성

▷ 도메인 컨트롤러 (DC; Domain Controller) 액티브 디렉토리(AD; Active Directory) 데이터베이스의 복사본을 저장하는 윈도우 2003 네트워크 상에 있는 서버. DC는 데이터에 변화가 있을시 도메인 내의 다른 도메인에게 변경 사항을 복제해주어야 한다. 소규모 네트워크에서는 2개의 DC만 있으면 되고 결함허용 목적으로는 2대이상이 권장된다. 그리고 DC는 사용자가 네트워크에 로그인할 때 인증을 담당한다. 인증을 통해 그룹 멤버쉽(group membership)과 각 사용자에 대한 권한을 가지고 있는 보안 토큰(security token)을 할당한다.

▷ 사이트 (Site) 빠른 속도(보통 10Mbps 이상)의 링크로 연결된 하나 또는 그 이상의 IP 서브넷의 그룹으로 정의 한다. 사이트는 AD 복제 트래픽과 사용자 인증을 최적화하기 위해 네트워크 상에서 사용된다.

3. AD를 이용한 Windows 2003 Server의 관리

▷ 중앙 집중적인 관리 (Centralized management) AD는 중앙집중적으로 데이터를 저장하여 관리자로 하여금 객체 관리를 쉽게 한다. AD는 OU를 통해 객체를 그룹화하고 다중 단계(multiple level)와 상속(inheritance)을 가능하게 한다. 그룹 정책을 통해 특정 도메인 계층에 적용할 수 있으며 하위에 있는 개체들은 그 설정 내용을 상속받아 영향력이 미치게 된다.

▷ 그룹 정책 (Group Policy) 정책의 생성과 어플리케이션을 통해 사용자 환경을 중앙집중적으로 관리하게 한다. 그룹 정책은 AD내에 있는 사이트들과 도메인, 그리고 OU를 포함하는 컨테이너로 동작된다. 그룹 정책은 사용자의 로그온을 통해 적용되며 사용자가 어떤 컴퓨터에 로그인하더라도 네트워크 주변의 사용자를 따라다닌다. 결과적으로 사용자는 항상 같은 환경에서 익숙하게 작업할 수 있게 된다.

▷ 제어 위임 (Delegation of Control) 네트워크 관리자가 업무 분담을 위해 그룹의 멤버 사용자들에게 OU 단계에서 권한을 할당하여 스스로 관리할 수 있도록 한다.

오류 제어

2009. 4. 2. 14:52

1. 전송 오류

(1) 감쇠 현상(Attenunation) - 거리가 멀어질 수록 전송 신호의 세기가 약해지는 현상. 원거리 전송을 위해 아날로그 신호는 증폭기(Amplifier)를 사용하고, 디지털 신호는 리피터(Repeater)를 사용한다.

 

(2) 지연 왜곡(Delay Distortion) - 주로 유도 전송 매체에서 발생. 전송 매체를 통해 전송되는 신호의 속도가 주파수에 따라 차이가 발생하여 간섭이 일어난다.

 

(3) 잡음(Noise) - 데이터 전송시 원래의 전송신호에 다른 불필요한 신호가 더해져서 데이터에 손상을 주는 현상.

ⓐ 열잡음(Thermal Noise) - 전송 매체의 특성에 따른 저항으로 인해 신호 전송시 열을 발생시켜 일어나는 잡음.

ⓑ 상호 변조 잡음(Intermodulation Noise) - 하나의 동일한 전송매체를 통해 데이터가 전송/변조를 거치는 과정에서 생성되는 잡음.

ⓒ 누화 현상(Cross-talk) - 신호의 경로가 비정상적으로 결합을 하거나, 비나 습기로 인해 발생하는 현상. 전화 통화시 발생하는 혼선과 같은 현상.

ⓓ 충격 잡음(Impulse Noise) - 번개, 전송기의 결함등으로 인해 발생하는 과전압으로 인한 잡음.

 

(4) 에코(Echo) - 전송한 신호가 다시 돌아오는 현상.

 

(5) 지터(Jitter) - 데이터 전송시 전송 신호의 위상이 일시적으로 일그러지는 현상.

 

(6) 백색 잡음 - 전 주파수 대역에서 발생하는 잡음.

 

2. 에러 검출 방법

(1) 패리티 비트 체크(Parity Bit Check) - 테이터에 패리티 비트를 추가하여 오류를 검출. 짝수 패리티(Even-), 홀수 패리티(Odd-)로 구분.

 

(2) 순환 중복 검사(CRC; Cyclic Redundarcy Check) - 버스트 오류(에러 발생 지점의 주변에서 대부분의 오류가 발생) 검출. 오직 한 비트의 오류만 감지할 수 있다.

 

3. 오류 정정 방법

(1) 전진 에러 수정(FEC; Forward Error Correction)

- 해밍 코드 : 패리티 비트를 사용하여 에러 수정 및 정정 진행.

 

(2) 후진 에러 수정(BEC; Backward Error Correction)

- ARQ : 송신측에서 전송후 수신측에서 전송한 ACK 신호를 확인.

 

 

 

이 글은 스프링노트에서 작성되었습니다.

IPv6 주소

2009. 4. 2. 02:01

1. IPv6 개요

IPv6는 IPv4의 주소 문제를 개선하기 위해 개발되었다. IPv4 주소체계는 NAT를 적극 활용하기 전까지 주소 고갈 문제로 이미 한계점에 다다른 상태였다. 또한 부족한 주소를 더 많은 네트워크에 할당하기 위해 서브넷으로 나누어 제공하였으며 수많은 서브넷으로 인해 라우터의 부담도 증가하였다.

인터넷 주소 고갈과 네트워크 단편화(fragmentation) 문제를 해결하고 인터넷에 확장성과 보안을 강화하기 위한 설계 지침에 의해 탄생한 것이 IPv6이다.

IPv6는 Xerox 팔로 알토 연구소에서 개발하고, 1994년 IETF(국제 인터넷 표준화 기구)가 채택하였다. 처음에는 IP Next Generation (IPng)라고 불렀다.

미국 정부는 IPv6의 의무화를 강행하였으며 우리나라 정부도 2010년까지 IPv6의 주소 체계 전환을 공표한 상태이다.

 

2. IPv6 특성

- 네트워크 인터페이스 식별 기능 및 라우팅 지원 기능

- 계층적 주소 체계

- IPv4의 네트워크 ID와 호스트 ID 체계와는 상이하게 접두사의 길이로 네트워크 ID의 길이 표시

- 공인 IP와 사설 IP 주소 제공

 

3. IPV6 주소 유형

- 유니캐스트 (unicast) : 인터페이스 당 할당된 주소.

- 멀티캐스트 (multicast) : 그룹을 대표하는 주소. 한정된 멀티캐스트를 사용한 IPv4와 달리 IPv6는 필수적으로 멀티캐스트 지원.

- 애니캐스트 (anycast) : 특정 그룹의 특정 멤버를 지정.

※ IPv6에서는 브로드캐스트 주소 대신 멀티캐스트 주소를 이용.

 

4. IPv6의 주소 공간

- 128bit 길이

 

5. IPv6 주소 표기법

- 16진수로 표기. 16진수 4개를 쿼텟 단위로 묶어서 콜론(:)으로 구분하여 사용.

- 0 억제/압축 : 16진수 주소에 0이 연속될 경우 쿼텟 단위로 단일 0으로 표현하거나 생략하여 표기.

  (예) 0815:3E5D:0000:0000:0000:0000:6789:A4CD → 0815:3E5D:0:0:0:0:6789:A4CD (0 억제) → 0815:3E5D::6789:A4CD (0 압축)

- 혼합 표기법 : 내장된 IPv4 주소 표기.

  (예) 0815:3E5D::FC57:192.168.0.1

- IPv6 주소 접두사 : 네트워크 ID의 길이를 표시

  (예) 0815:3E5D::6789:A4CD/48

 

 

 

이 글은 스프링노트에서 작성되었습니다.

참고 : http://technet.microsoft.com/ko-kr/library/cc753285.aspx

 

1. 사용자 계정을 생성한다.

① 'hosting' 그룹을 만든다.

② 'jeongsam', 'jeong' 등 사용자 계정을 생성한다.

[그림1] 새 사용자 만들기

사용자격리FTP01.png 

'암호 변경할 수 없음'과 '암호 사용 기간 제한 없음'을 지정한다.

 

[그림2] 사용자를 만든다.

사용자격리FTP02.png 

 

2. 전체 사용자 폴더를 저장할 사용자 홈 디렉토리를 만들고 적절히 권한을 설정한다.

[그림3] 폴더 구조 및 권한 설정

사용자격리FTP03.png 

사용자 홈 디렉토리에 예약된 이름인 'LocalUser'(대소문자 구분 없음)를 만들고 하위에 개별 사용자 이름과 동일하게 폴더를 만든다. 개별 사용자만 접속할 수 있도록 권한을 설정한다.

 

3. 인터넷 정보 서비스 관리도구에서 FTP 사이트를 만든다.

[그림4] 사용자 격리 지정

사용자격리FTP04.png 

 

[그림5] 사용자 홈 디렉터리 지정

사용자격리FTP05.png 

 

[그림6] FTP 사이트 액세스 권한 지정

사용자격리FTP06.png 

파일 시스템 권한을 적절하게 지정하고 FTP 권한은 모든 권한을 지정한다. 결론적으로 파일 시스템 권한이 유효하다.

 

[그림7] FTP 사이트 완성된 모습

사용자격리FTP07.png 

 

[그림8] 사용자 계정으로 FTP 사이트에 접속한 결과

사용자격리FTP08.png 

사용자 격리 기능에 의해 현재 사용자의 홈 디렉터리가 '/'로 표시되고 더이상 상위 디렉터리로의 접근이 불가능해진다.

 

이 글은 스프링노트에서 작성되었습니다.

+ Recent posts