네트워크관리사
-
리눅스 소개2009.04.07
-
라우팅 프로토콜 요약2009.04.01
-
데이터 전송 방식 분류2009.03.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 등이 있다.
라우팅 프로토콜 요약
1. 라우티드 프로토콜 (routed protocol)
라우팅 테이블을 사용하여 패킷을 다른 네트워크의 호스트로 전달하는 프로토콜.
- IP (Internet Protocol) ... 인터넷
- IPX (Internet Packet Exchange) ... 노벨네트웨어
- AppleTalk ... 매킨토시 네트워크
2. 라우팅 프로토콜 (routing protocol)
가. 내부 라우팅 프로토콜 (IGP; Interior Gateway Protocol)
자율 시스템(AS; Autonomous System)내에서만 데이터를 라우팅하는 프로토콜.
(1) 거리 벡터 라우팅 프로토콜 (distance-vector routing protocol)
임의의 링크에 대한 방향(벡터)과 거리(홉 카운트)를 결정.
- RIP (Rounting Infomation Protocol) ... 홉 카운트를 라우팅 메트릭으로 사용.
- IGRP (Interior Gateway Routing Protocol) ... 대규모 이종 네트워크와 관련된 문제를 해결하기 위해서 시스코에서 개발.
(2) 링크 상태 라우팅 프로토콜 (link-state routing protocol)
거리 벡터 라우팅 프로토콜의 한계를 극복하기 위해 설계. 네트워크 변화에 대하여 빠르게 반응하고, 변화에 대해서만 트리거 업데이트(trigger update)를 보내며, 주기적인 업데이트(link-state refresh)는 매 30분 등과 같이 비교적 긴 시간 주기로 보낸다.
- OSPF (Open Shortest Path First) ... 네트워크 내의 최적 경로 계산을 위해 다익스트라 알고리즘(Dijkstra algorithm)을 적용.
- IS-IS (Intermediate System-to-Intermediate System) ... OSI 프로토콜 스택을 위한 동적 링크 상태 라우팅 프로토콜.
(3) 하이브리드 라우팅 프로토콜
- EIGRP ... IGRP의 기능을 향상 시킨 시스코 독점 프로토콜. 거리 벡터 프로토콜이면서 링크 상태 프로토콜의 일부 기능 이용.
나. 외부 라우팅 프로토콜 (EGP; Exterior Gateway Protocol)
프로토콜 구성시 AS 등록소로부터 할당 받은 유일한 자율 시스템 번호를 사용하여 자율 시스템(AS)간 라우팅 정보 교환.
- BGP (Border Gateway Protocol) ... 주요 인터넷 회선 서비스 업체와 ISP간 사용.
이 글은 스프링노트에서 작성되었습니다.
데이터 전송 방식 분류
1. 신호의 종류에 따른 분류
(1) 아날로그 전송
음성이나 전파, 전류와 같이 연속적인 데이터이다.
※ 아날로그 신호
① 진폭 (Amplitude)
전기적인 신호의 높이. 전압(volt), 전류(ampere), 전력(watt) 단위로 측정.
② 주파수 (Frequency)
1초 동안 반복되는 주기의 개수 혹은 사이클의 반복 횟수. 단위 Hz로 측정.
③ 위상 (Phase)
시간 축을 따라서 전후로 이동될 수 있는 양. 각도나 라디안을 단위로 측정.
(2) 디지털 전송
디지털 신호를 사용하여 데이터를 전송하는 방식으로 디지털 신호란 이산적인 값으로 수치값으로 표현한다.
2. 데이터의 전송 방법에 따른 분류
(1) 단방향 통신 (Simplex Communication)
데이터의 흐름이 한 쪽 방향으로만 전송되는 통신 방식. TV, 라디오 등이 해당.
(2) 반이중 통신 (Half-Duplex Communication)
데이터의 흐름은 양쪽 방향 모두 전송되나 한번에 한 방향만 전송되는 방식. 무전기를 이용한 통신이 해당.
(3) 전이중 통신 (Full-Duplex Communication)
데이터의 흐름이 동시에 양방향으로 전송되는 방식. 한 회선을 송/수신 채널로 분리하여 사용하므로 데이터의 전송과 수신이 동시에 이뤄진다. 전화, 대부분의 네트워크 통신이 해당.
3. 데이터 전송 단위에 따른 분류
(1) 직렬 통신 (Serial Transmission)
하나의 문자를 구성하는 각 비트들이 하나의 전송 회선을 통하여 차례로 전송된다. 송신측에서는 1Byte의 신호를 비트(bit)단위의 직렬 데이터로 변환하여 송신하며, 수신측에서는 비트 단위의 문자열을 원래의 데이터로 복원시키기 위해 회로의 구성이 복잡해지지만, 원거리 통신에 하나의 회선을 이용하여 전송하므로 경제적이며 저속 통신 방식이 주로 사용된다.
(2) 병렬 통신 (Parallel Transmission)
하나의 문자를 구성하는 각 비트들이 여러개의 전송 회선을 통하여 동시에 전송된다. 직렬 통신에 비하여 속도가 빠르고 인터페이스의 구성이 간단하다. 전송 거리가 길어지면 전송 선로 별로 비트가 도착하는 시간이 차이가 나서 원래의 데이터로의 복원이 어려워지는 단점이 있다. 많은 회선이 필요하여 원거리 통신에 부적합하고 비용이 비싸지는 단점이 있다.
4. 데이터 동기화
(1) 동기식 통신 (Synchronous Transmission)
송신측과 수신측이 동기 신호를 맞추어 전송하는 방식으로 미리 정해진 수만큼의 문자열 단위로 일시에 전송한다. 동기식 전송은 비동기식 전송에 비해 전송효율이 높으나 별도의 기억장치가 필요하므로 비용이 높다.
(2) 비동기식 통신 (Asynchronous Transmission)
데이터 내에 동기신호를 포함시켜 전송하는 방식으로 전송 문자의 앞에 시작 비트(start bit)를 끝에는 정지비트(stop bit)를 첨가하여 전송한다. 시작 비트와 정지 비트 사이에 가변 길이의 데이터를 두어 불규칙한 전송에 적합하고 동기식에 비해 저렴하다.
이 글은 스프링노트에서 작성되었습니다.