10장 응용 SW 기초 기술 활용
운영체제의 개념
운영체제란, 컴퓨터 시스템 자원들을 효율적으로 관리하며 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임
- 성능 평가 기준
- 처리 능력 : 일정 시간 내 시스템이 처리하는 일의 양
- 반환 시간 : 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
- 사용 가능도 : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
- 신뢰도 : 주어진 문제를 정확하게 해결하는 정도
- 기능
- 자원 관리
- 프로세스 관리 : 프로세스 스케줄링 및 동기화 관리 담당, 프로세스 생성 및 제거, 시작과 정지, 메시지 전달 등 기능 담당
- 기억장치 관리 : 프로세스에게 메모리 할당 및 회수 관리 담당
- 주변장치 관리 : 입*출력장치 스케줄링 및 전반적 관리 다당
- 파일 관리 : 파일 생성과 삭제, 변경, 유지 등 관리 담당
- 자원 스케줄링 기능
- 편리한 인터페이스 제공
- 하드웨어와 네트워크 관리 및 제어
- 데이터 관리, 데이터 및 자원 공유 기능 제공
- 시스템 오류 검사 및 복구
- 자원 보호 기능 제공
- 입*출력에 대한 보조 기능 제공
- 가상 계산기 기능 제공
- 자원 관리
- 종류
- 단일 작업 처리 시스템 : MS-DOS
- 다중 작업 처리 시스템
- Windows : 마이크로소프트 사가 개발한 운영체제
- GUI(그래픽 사용자 인터페이스) : 마우스로 아이콘이나 메뉴를 선택해 모든 작업을 수행하는 방식
- 선점형 멀티태스킹(Preemptive Multi-Tasking) : 동시에 여러 프로그램을 실행하는 멀티태스킹을 하며 운영체제가 각 작업 CPU 이용 시간을 제어해 응용 프로그램 실행 중 문제가 발생하면 해당 프로그램을 강제 종료 시키고 모든 시스템 자원을 반환하는 방식
- PnP(Plug and Play, 자동 감지 기능) : 하드웨어 설치 시 해당 하드웨어를 사용하는 데 필요한 시스템 환경을 운영체제가 자동으로 구성
- OLE(Object Linking and Embedding) : 다른 여러 응용 프로그램에서 작성된 개체를 현재 작성 중인 문서에 자유롭게 연결하거나 삽입하여 편집할 수 있게 하는 기능
- 255자의 긴 파일명 : \/*?"<>|를 제외한 모든 문자 및 공백을 사용해 최대 255자까지 파일 이름 지정
- Single-User 시스템 : 컴퓨터 한 대를 한 사람만 독점해서 사용
- 기본 명령어
- dir
- copy
- del
- type(파일 내용 표시)
- ren(파일 이름 변경)
- md
- cd
- cls(화면 내용 지움)
- attrib(파일 속성 변경) ex) attrib +r abc.txt -> abc.txt 파일을 읽기 전용 속성으로 변경
- r : 읽기 속성, a : 저장 / 백업 속성, s : 시스템 파일 속성, h : 숨김 파일
- 속성을 지정할 때는 + 해제할 때는 -
- r : 읽기 속성, a : 저장 / 백업 속성, s : 시스템 파일 속성, h : 숨김 파일
- find(파일에서 문자열 찾기) ex) find "hello" abc.txt
- chkdsk(디스크 상태 점검)
- format(디스크 표면을 트랙과 섹터로 나눠 초기화)
- move
- UNIX : AT&T 벨 연구소, MIT, General Electric이 공동 개발한 운영체제
- 시분할 시스템(라운드 로빈 방식)을 위해 설계된 대화식 운영체제. 소스가 공개된 개방형 시스템이다.
- 대부분 C로 작성되어 있어 이식성이 높고, 장치, 프로세스 간 호환성이 높다.
- 크기가 작고 이해하기 쉽다.
- 다중 사용자, 다중 작업 지원
- 많은 네트워킹 기능을 제공하여 통신망 관리용 운영체제로 적합
- 트리 구조의 파일 시스템
- 전문적 프로그램 개발에 용이
- 다양한 유틸리티 프로그램들이 존재
- 구성
- 커널 : 가장 핵심적인 부분. 컴퓨터 부팅 시 주기억장치에 적재된 후 상주하며 실행됨. 하드웨어 보호, 프로그램과 하드웨어 간 인터페이스 역할 담당. 프로세스 관리, 기억장치 관리, 파일 관리, 입*출력 관리, 프로세스간 통신, 데이터 전송 및 변환 등 여러 기능 수행
- 쉘 : 명령어 해석기. 사용자와 시스템 간 인터페이스 담당. 명령어가 포함된 파일 형태로 존재하며 보조기억장치에서 교체 처리가 가능. 파이프라인(둘 이상 명령을 함께 묶어 처리한 결과를 다른 명령의 입력을 전환하는 기능) 기능 지원. 출력과 입력 방향 변경 가능. 공용 Shell이나 자신이 만든 Shell 사용 가능
- 유틸리티 프로그램 : 일반 사용자가 작성한 응용 프로그램 처리에 사용. DOS에서의 외부 명령어. 에디터, 컴파일러, 인터프리터, 디버거 등이 있음
- 기본 명령어 (linux 동일)
- cat(파일 내용 화면 표시)
- cd
- chmod(파일 보호 모드 설정) ex) chmod u=rwx abc.txt
- u : user, g : group, o : other, a : all
- + : 권한 추가, - : 권한 삭제, = : 권한 부여
- r : 읽기 권한, w : 쓰기 권한, x : 실행 권한(execute)
- chown(파일 소유자와 그룹 변경) ex) chown member1 abc.txt -> abc.txt 소유자를 member1으로 한다.
- cp
- rm
- find
- fsck(파일 시스템 검사하고 보수한다.)
- kill (PID를 이용해 프로세스를 종료한다.)
- killall (모든 프로세스 종료)
- ls
- mkdir
- rmdir
- mv
- ps (현재 실행 중인 프로세스 표시)
- pwd (현재 작업중인 디렉터리 경로를 화면에 표시)
- top (시스템 프로세스와 메모리 사용 현황 표시)
- who (현재 시스템 접속해 있는 사용자 표시)
- LINUX : 리누스 토발즈가 UNIX를 기반으로 개발한 운영체제
- 프로그램 소스 코드가 무료로 공개되어 있어 프로그래머가 원하는 기능 추가 가능. 다양한 플랫폼에 설치하여 사용 가능. 재배포 가능.
- UNIX와 완벽하게 호환. 대부분 특징이 UNIX와 동일
- 메모리 관리 방법
- meminfo 명령어를 통해 메모리 상태 확인
- 메모리가 부족할 경우 Swapping 기법(dd, fallocate)이나 min_free_kbytes 명령어를 통해 메모리 활동
- MacOS : 애플 사가 UNIX 기반으로 개발한 운영체제
- 애플 사에서 생산하는 제품에서만 사용 가능
- 드라이버 설치 및 install과 uninstall 과정 단순
- Windows : 마이크로소프트 사가 개발한 운영체제
기억장치 관리
보조기억장치 프로그램이나 데이터를 주기억장치에 적재시키는 시기, 적재 위치 등을 지정해 한정된 주기억장치 공간을 효율적으로 사용하기 위한 것
- 반입(Fetch) 전략
- 요구 반입 : 실행 중인 프로그램이 특정 프로그램이나 데이터 등 참조를 요구할 때 적재하는 방법
- 예상 반입 : 실행 중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상해 적재하는 방법
- 배치(Placement) 전략
- 최초 적합 : 프로그램이나 데이터가 들어갈 수 있는 크기 빈 영역 중 첫 번째 분할 영역에 배치시키는 방법
- 최적 적합 : 단편화를 가장 작게 남기는 분할 영역에 배치시키는 방법
- 최악 적합 : 단편화를 가장 많이 남기는 분할 영역에 배치시키는 방법
- 교체(Replacement) 전략
- 이미 사용되고 있는 영역 중 어느 영역을 교체해 사용할 것인지 결정하는 전략
- FIFO, OPT, LRU, LFU, NUR, SCR
- 이미 사용되고 있는 영역 중 어느 영역을 교체해 사용할 것인지 결정하는 전략
프로세스 관리
프로세스(작업 / 태스크)란 실행 중인 프로그램을 의미.
- 프로세스 상태 전이
- 제출(Submit) : 작업을 처리하기 위해 시스템에 제출한 상태
- 접수(Hold) : 제출된 작업이 Spooling(나중에 한꺼번에 입*출력하기 위해 디스크에 저장하는 과정)되어디스크의 할당 위치에 저장된 상태
- 준비(Ready) : 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태.
- 실행(Run) : 프로세스가 프로세서를 할당받아 실행되는 상태. 프로세스 수행 완료 전 주어진 프로세서 할당 시간이 종료(Timer Run Out)되면 프로세스는 준비 상태로 전이됨. 실행 중인 프로세스에 입*출력(I/O) 처리가 필요하면 실행중인 프로세스는 대기 상태로 전이됨.
- 대기(Wait), 보류, 블록(Block) : 프로세스에 입*출력 처리가 필요하면 실행 중인 프로세스가 중단되고 대기하고 있는 상태
- 종료(Terminated, Exit) : 프로세스 실행이 끝나고 프로세스 할당이 해제된 상태
데이터베이스 개념
데이터 베이스란 특정 조직 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임이다.
- 통합된 데이터(Integrated Data) : 검색 효율성을 위해 중복이 최소화된 데이터 모임
- 저장된 데이터(Stored Data) : 컴퓨터가 접근할 수 있는 저장 매체에 저장된 데이터
- 운영 데이터(Operational Data) : 조직 고유 업무를 수행하는 데 존재 가치가 확실하고 없어선 안 될 반드시 필요한 데이터
- 공용 데이터(Shared Data) : 여러 응용 시스템들이 공동 소유하고 유지하는 데이터
DBMS (데이터베이스 관리 시스템)
사용자 요구에 따라 정보를 생성해주고, 데이터베이스를 관리해 주는 소프트웨어
- 기능
- 정의(Definition), 조작(Manipulation), 제어(Control)
- 종류
- 계층형 DBMS : 데이터 상호관계를 계층적으로 정의한 DBMS. 개체 타입 간 상위 - 하위 관계 존재. 1:N 대응 관계만 존재.
- IMS, System2000 등
- 망형 DBMS : 그래프를 이용해 데이터 논리 구조 표현. 상위와 하위 레코드 사이 1:1, 1:N, N:M 대응 관계 모두 지원
- IDS, TOTAL, IDMS 등
- 관계형 DBMS : 가장 널리 사용되는 DBMS. 계층형과 망형의 복잡한 구조를 단순화시킨 DBMS. 파일 구조처럼 구성한 2차원적 표를 하나의 DB로 묶어 테이블 내 속성들 간 관계를 설정하거나 테이블 간 관계를 설정해 이용
- Oracle, SQL Server, MySQL 등
- 비관계형 DBMS : 데이터 간 관계를 정의하지 않고 비구조적 데이터를 저장하기 위한 시스템. 빅데이터를 처리하기 위한 시스템으로 각광받고 있다.
- NoSQL
- 수평적 확장 및 분산 저장 가능. 저장되는 데이터 구조에 따라 Key-Value, Document, Graph DBMS로 분류됨
- NoSQL
- 계층형 DBMS : 데이터 상호관계를 계층적으로 정의한 DBMS. 개체 타입 간 상위 - 하위 관계 존재. 1:N 대응 관계만 존재.
- 장점
- 데이터의 논리적, 물리적 독립성 보장
- 데이터 중복을 피할 수 있어 기억공간 절약
- 저장된 자료 공동 이용 가능
- 데이터 일관성, 무결성 유지 가능
- 보안 유지
- 데이터 표준화
- 데이터 통합 관리
- 항상 최신 데이터 유지
- 데이터 실시간 처리 가능
- 단점
- 데이터베이스 전문가 부족
- 전산화 비용 증가
- 대용량 디스크로의 집중적 Access로 과부하 발생
- 파일 백업와 회복이 어려움
- 시스템이 복잡
ER 모델 (개념적 데이터 모델)
- ER 도형
- 관계 및 관계 타입
- 차수(열 개수)에 따라선 단항 / 이항 / 삼항 / n항
- 카디날리티(행 개수)에 따라선 1:1 / 1:N / N:M
관계형 데이터 모델 (릴레이션) (논리적 데이터 모델)
- 릴레이션 = 테이블
- 스키마 = 속성(애트리뷰트) 이름 타입, 속성 값의 도메인 정의하는 릴레이션의 틀
- 속성의 수 = 디그리 = 차수 = 열 수
- 튜플의 수 = 카디널리티 = 기수
- 도메인 = 하나의 속성이 취할 수 있는 원자값들의 집합 ex) 성별은 {'남성', '여성'}(도메인)의 값만 가질 수 있다.
- 인스턴스 = 튜플(행)의 모임
- 매핑 룰 : ER 모델을 릴레이션 스키마로 변환하는 것
- 개체와 관계는 개체 릴레이션과 관계 릴레이션으로
- 속성은 컬럼으로, 식별자는 기본키로, 릴레이션 간 관계는 기본키와 이를 참조하는 외래키로
- 1:1 관계시 릴레이션 A의 기본키를 릴레이션 B의 외래키로 추가하거나 그 반대로 추가해 표현
- 1:N 관계시 릴레이션 A의 기본키를 릴레이션 B의 외래키로 추가
- N:M 관계시 릴레이션 A, B의 기본키를 모두 포함한 별도의 릴레이션으로 표현(교차 릴레이션, 교차 엔티티)
키의 개념 및 종류
- 슈퍼키 : 한 릴레이션 내 속성들의 집합
- 후보키 : 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합
- 기본키 : 후보키 중 특별히 선정된 키. 중복 값과 NULL값을 가질 수 없음.
- 대체키 : 후보키 중 기본키를 제외한 나머지 후보키
- 외래키 : 다른 릴레이션 기본키를 참조하는 속성 또는 속성들의 집합
무결성
무결성이란 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계 실제값이 일치하는 정확성을 의미.
- 개체 무결성 : 기본키를 구성하는 어떤 속성도 Null값이나 중복 값을 가질 수 없다.
- 도메인 무결성 : 주어진 속성 값이 정의된 도메인에 속한 값이어야 한다.
- 참조 무결성 : 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다.
- 사용자 정의 무결성 : 속성 값들이 사용자 정의 제약조건에 만족해야 한다.
- NULL 무결성 : 릴레이션 특정 속성 값이 NULL이 될 수 없도록 하는 규정
- 고유 무결성 : 릴레이션 특정 속성에 대해 각 튜플이 갖는 속성값들이 서로 달라야 한다.
- 키 무결성 : 하나의 릴레이션에는 적어도 하나의 키가 존재해야 한다.
- 관계 무결성 : 릴레이션 어느 한 튜플의 삽입 가능 여부 또는 한 릴레이션과 다른 릴레이션 튜플 사이 관계에 대한 적절성 여부를 지정한 규정
네트워크 / 인터넷
네트워크란 두 대 이상의 컴퓨터를 전화선이나 케이블 등으로 연결해 자원을 공유하는 것.
- 종류
- 근거리 통신망(LAN; Local Area Network) : 주로 자원 공유를 목적으로 사용하며, 거리가 짧아 데이터의 전송 속도가 빠르고 에러 발생율이 낮은 네트워크. 버스형이나 링형 구조 사용.
- 광대역 통신망(WAN; Wide Area Network) : 국가-국가, 대륙-대륙과 같이 멀리 떨어진 사이트 연결. 통신 속도가 느리고 에러 발생률이 높음. 일정한 지역에 있는 사이트들을 근거리 통신망으로 연결 후 각 근거리 통신망을 연결하는 방식 사용
인터넷이란 TCP/IP 프로토콜 기반 전 세계 수많은 컴퓨터와 네트워크들이 연결된 광범위 컴퓨터 통신망
- 미 국방성의 ARPANET에서 시작.
- 유닉스 운영체제 기반
- 인터넷 연결된 모든 컴퓨터는 고유한 IP 주소를 가짐
- 컴퓨터 또는 네트워크를 연결하기 위해 브리지, 라우터, 게이트웨이 사용.
- 인터넷의 주가 되는 기간망을 일컫는 용어를 백본이라 함.
- IP 주소(Internet Protocol Address) : 인터넷에 연결된 모든 컴퓨터 자원을 구분하기 위한 고유한 주소.
- 숫자로 8비트씩 4부분, 총 32비트로 구성.
- A 클래스 : 국가나 대형 통신망에 사용
- B 클래스 : 중대형 통신망에 사용
- C 클래스 : 소규모 통신망에 사용
- D 클래스 : 멀티캐스트 용으로 사용
- E 클래스 : 실험적 주소. 공용되지 않음
- 숫자로 8비트씩 4부분, 총 32비트로 구성.
- IPv6(Internet Protocol version 6) : IPv4의 주소 부족 문제를 해결하기 위해 개발
- IPv4에 비해 자료 전송 속도가 빠르며, 호환성이 뛰어남.
- 인증성, 기밀성, 데이터 무결성 지원으로 보안 문제 해결 가능
- 주소의 확장성, 융통성, 연동성이 뒤어나며, 실시간 흐름 제어로 향상된 멀티미디어 기능 지원.
- Traffic Class(패킷 클래스, 우선순위를 나타내는 필드), Flow Label(네트워크 상 패킷들 흐름에 대한 특성을 나타내는 필드)을 이용해 등급별, 서비스별 패킷을 구분할 수 있어 품질 보장이 용이
- 구성
- 16비트씩 8부분, 총 128비트로 구성.
- 각 부분을 16진수씩 표현, 콜론으로 구분.
- 세 가지 주소 체계
- 유니캐스트 : 단일 송신자와 단일 수신자 간 통신
- 멀티캐스트 : 단일 송신자와 다중 수신자 간 통신
- 애니캐스트 : 단일 송신자와 가장 가까이 있는 단일 수신자 간 통신
- 도메인 네임 : 숫자로 된 IP 주소를 사람이 이해하기 쉬운 문자 형태로 표현한 것.
- 호스트 컴퓨터 이름.소속 기관 이름.소속 기관 종류.소속 국가명 ex) www.google.co.kr
- DNS(Domain Name System) : 문자로 된 것을 다시 컴퓨터가 이해할 수 있는 IP 주소로 변환하는 역할을 하는 시스템. 이런 역할을 하는 서버는 DNS 서버.
OSI 참조 모델
다른 시스템 간 원활한 통신을 위해 ISO(국제표준화기구)에서 제안한 통신 규약
- 물리 계층 : 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙 정의
- 물리적 전송 매체와 전송 신호 방식 정의.
- 표준 : RS-232C, X.21
- PDU(프로토콜 데이터 단위) : 비트
- 관련 장비 : 리피터, 허브
- 물리적 전송 매체와 전송 신호 방식 정의.
- 데이터 링크 계층 : 두 개 인접한 개방 시스템들 간 신뢰성 있고 효율적 정보 전송을 할 수 있도록 함.
- 송신 측과 수신 측 속도 차를 해결하기 위한 흐름 제어 기능, 프레임의 시작과 끝을 구분하기 위한 프레임 동기화 기능, 오류 검출과 회복을 위한 오류 제어 기능, 프레임의 순서적 전송을 위한 순서 제어 기능
- 표준 : HDLC, LAPB, LLC, MAC, LAPD, PPP
- PDU : 프레임
- 관련 장비 : 랜카드, 브리지, 스위치
- 송신 측과 수신 측 속도 차를 해결하기 위한 흐름 제어 기능, 프레임의 시작과 끝을 구분하기 위한 프레임 동기화 기능, 오류 검출과 회복을 위한 오류 제어 기능, 프레임의 순서적 전송을 위한 순서 제어 기능
- 네트워크 계층 : 개방 시스템들 간 네트워크 연결을 관리하는 기능과 데이터 교환 및 중계 기능을 함.
- 네트워크 연결을 설정, 유지, 해제. 경로 설정(Routing), 데이터 교환 및 중계, 트래픽 제어, 패킷 정보 전송을 수행
- 표준 : X.25, IP
- PDU : 패킷
- 관련 장비 : 라우터
- 네트워크 연결을 설정, 유지, 해제. 경로 설정(Routing), 데이터 교환 및 중계, 트래픽 제어, 패킷 정보 전송을 수행
- 전송 계층 : 논리적 안정과 균일한 데이터 전송 서비스를 제공함으로써 종단 시스템 간 투명한 데이터 전송을 가능하게 함.
- OSI 하위 3계층과 상위 3계층의 인터페이스 담당. 종단 시스템 간 전송 연결 설정, 데이터 전송, 연결 해제 기능. 주소 설정, 다중화(분할 및 재조립), 오류 제어, 흐름 제어 수행
- 표준 : TCP, UDP
- PDU : 세그먼트
- 관련 장비 : 게이트웨이
- OSI 하위 3계층과 상위 3계층의 인터페이스 담당. 종단 시스템 간 전송 연결 설정, 데이터 전송, 연결 해제 기능. 주소 설정, 다중화(분할 및 재조립), 오류 제어, 흐름 제어 수행
- 세션(두 이용자 간의 연결) 계층 : 송*수신 측 간 관련성 유지, 대화 제어 담당
- 대화 구성 및 동기 제어, 데이터 교환 관리 기능을 함. 송*수신 측 간 대화 동기를 위해 전송하는 정보 일정 부분에 체크점을 두어 정보 수신 상태를 체크하며, 이 때 체크점을 동기점이라고 함. 동기점의 종류로는 대동기점(각 데이터 처음과 끝을 사용해 전송하는 데이터 단위를 대화 단위로 구성하는 역할. 수신 측으로부터 확인 신호 받음)과 소동기점(하나의 대화 단위 내 데이터 전달을 제어하는 역할. 수신 측으로부터 확인 신호 안 받음)이 있음.
- PDU : 메시지
- 표현 계층 : 응용 계층으로부터 받은 메시지를 세션 계층에 보내기 전 통신에 적당한 형태로 변환, 세션 계층에서 받은 데이터는 응용 계층에 맞게 변환.
- 서로 다른 데이터 표현 형태를 갖는 시스템 간 상호 접속을 위해 필요한 계층. 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색, 정보 포맷 변환, 문맥 관리 기능을 함.
- 응용 계층 : 사용자가 OSI 환경에 접근할 수 있게 서비스 제공.
- 응용 프로세스 간 정보 교환, 전자 사서함, 파일 전송, 가상 터미널 등의 서비스 제공
- PDU : 메시지
네트워크 관련 장비
- 네트워크 인터페이스 카드(NIC; Network Interface Card)(이더넷 카드(LAN 카드) 혹은 네트워크 어댑터) : 컴퓨터-컴퓨터 또는 컴퓨터-네트워크 연결 장치. 정보 전송 시 케이블을 통해 전송 가능하게 정보 형태 변경.
- 허브 : 한 사무실이나 가까운 거리 컴퓨터들 연결 장치. 각 회선을 통합적으로 관리. 신호 증폭 기능을 하는 리피터 역할도 포함.
- 종류
- 더미 허브 : 네트워크에 흐르는 모든 데이터 단순 연결 기능만 제공. LAN이 보유한 대역폭을 컴퓨터 수만큼 나누어 제공
- 스위칭 허브 : 네트워크 상 흐르는 데이터의 유무 및 흐름을 제어해 각각의 노드가 허브의 최대 대역폭을 사용할 수 있는 지능형 허브. 최근의 대부분의 허브이다.
- 종류
- 리피터 : 전송되는 신호가 왜곡되거나 약해질 경우 원래 신호 형태로 재생하여 다시 전송하는 역할. 근접한 네트워크 사이 신호 전송하는 역할. 전송 거리 연장 또는 배선의 자유도를 높이기 위한 용도로 사용 - 물리 계층
- 브리지 : LAN과 LAN을 연결하거나 LAN 안에서 컴퓨터 그룹(세그먼트)을 연결하는 기능 수행. 트래픽 병목 현상을 줄일 수 있음. 네트워크를 분산적으로 구성할 수 있어 보안성을 높일 수 있음. 브리지를 이용한 서브넷 구성 시 브리지가 n개일 때 전송 가능한 회선 수는 n(n-1)/2개이다. - 데이터 링크 계층
- 스위치 : LAN과 LAN을 연결하여 훨씬 더 큰 LAN을 만드는 장치. 하드웨어를 기반으로 처리해 전송 속도가 빠름. 포트마다 각기 다른 전송 속도를 지원하도록 제어할 수 있고, 수십에서 수백 개의 포트 제공. - 데이터 링크 계층
- 분류 (각 숫자마다 속하는 OSI 계층을 뜻함)
- L2 스위치 : 일반적으로 부르는 스위치. 동일 네트워크 간 연결만 가능.
- L3 스위치 : 라우터 기능 추가. 서로 다른 네트워크 간 연결 가능
- L4 스위치 : L3 스위치에 로드밸런서(트래픽 분산)가 달린 것.
- L7 스위치 : TCP/UDP 포트 정보에 패킷 내용까지 참조해 세밀하게 로드밸런싱함.
- 분류 (각 숫자마다 속하는 OSI 계층을 뜻함)
- 라우터 : LAN과 LAN의 연결 기능 + 데이터 전송의 최적 경로를 선택할 수 있는 기능. 서로 다른 LAN이나 LAN과 WAN 연결도 수행. 접속 가능한 경로에 대한 정보를 라우팅 제어표에 저장해 보관. 프로토콜 변환 기능 수행 - 네트워크 계층
- 게이트웨이 : 전 계층 프로토콜 구조가 다른 네트워크 연결을 수행. 세션, 표현, 응용 계층 간 연결하여 데이터 형식 변환, 주소 변환, 프로토콜 변환 등 수행. LAN에서 다른 네트워크에 데이터를 보내거나 다른 네트워크로부터 데이터를 받아들이는 출입구 역할을 함. - 전송 계층
※ 프로토콜이란? 서로 다른 기기들 간 데이터 교환을 원활히 수행할 수 있도록 표준화시켜 놓은 통신 규약
- 기본 요소
- 구문(Syntax) : 전송하고자 하는 데이터 형식, 부호화, 신호 레벨
- 의미(Semantics) : 두 기기 간 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보 규정
- 시간(Timing) : 두 기기간 통신 속도, 메시지 순서 제어 등 규정
TCP / IP
TCP / IP(TCP 프로토콜과 IP 프로토콜이 결합된 것)는 인터넷에 연결된 서로 다른 기종의 컴퓨터들이 데이터를 주고받을 수 있도록 하는 표준 프로토콜이다.
- 구조
- 응용 계층 : 응용 프로그램 간 데이터 송*수신 제공
- OSI에서의 응용 / 표현 / 세션 계층
- 주요 프로토콜
- FTP(File Transfer Protocol) : 컴퓨터와 컴퓨터 또는 컴퓨터와 인터넷 사이 파일을 주고 받을 수 있도록 하는 원격 파일 전송 프로토콜
- SMTP(Simple Mail Transfer Protocol) : 전자 우편 교환 서비스
- TELNET : 멀리 떨어진 컴퓨터를 자신의 컴퓨터처럼 사용할 수 있도록 해주는 서비스. 가상의 터미널 기능 수행.
- SNMP(Simple Network Management Protocol) : 네트워크 관리 프로토콜. 네트워크 기기의 네트워크 정보를 네트워크 관리 시스템에 보내는 데 사용되는 표준 통신 규약
- DNS(Domain Name System) : 도메인 네임을 IP주소로 맵핑하는 시스템
- HTTP(HyperText Transfer Protocol) : 월드 와이드 웹(WWW)에서 HTML 문서를 송수신하기 위한 표준 프로토콜
- 전송 계층 : 호스트들 간 신뢰성 있는 통신 제공
- OSI에서의 전송 계층
- 주요 프로토콜
- TCP(Transmission Control Protocol)
- 양방향 연결형 서비스 제공
- 가상 회선 연결 형태 서비스 제공
- 스트림 위주 전달(패킷 단위). 패킷 교환 방식 : 가상 회선 방식
- 신뢰성 있는 경로 확립, 메시지 전송 감독
- 순서 제어, 오류 제어, 흐름 제어 기능
- 패킷 분실, 손상, 지연 혹은 순서가 틀린 것 등 발생 시 투명성이 보장되는 통신 제공
- UDP(User Datagram Protocol)
- 데이터 전송 전 연결을 설정하지 않는 비연결형 서비스 제공
- TCP에 비해 단순한 헤더 구조를 가져 오버헤드가 적음.
- 고속의 안정성 있는 전송 매체를 사용해 빠른 속도를 필요로 하는 경우, 동시에 여러 사용자에게 데이터를 전달할 경우, 정기적으로 반복해서 전송할 경우 사용.
- 실시간 전송에 유리. 신뢰성보다 속도가 중요시되는 네트워크에서 사용.
- 패킷 교환 방식 : 데이터그램 방식
- RTCP(Real-Time Control Protocol)
- RTP(실시간 특성을 갖는 데이터 종단간 전송을 제공해주는 UDP 기반 프로토콜) 패킷 전송 품질을 제어하기 위한 제어 프로토콜.
- 세션에 참여한 각 참여자들에게 주기적으로 제어 정보 전송
- 하위 프로토콜은 데이터 패킷과 제어 패킷의 다중화 제공
- 데이터 전송을 모니터링하고 최소한의 제어와 인증 기능만 제공
- 패킷은 항상 32비트의 경계로 끝남.
- TCP(Transmission Control Protocol)
- 인터넷 계층 : 데이터 전송을 위한 주소 지정, 경로 설정 제공
- OSI에서의 네트워크 계층
- 주요 프로토콜
- IP(Internet Protocol)
- 전송할 데이터에 주소를 지정해 경로를 설정하는 기능.
- 비연결형인 데이터그램 방식을 사용. 신뢰성이 보장되지 않음. (신뢰성 요구는 TCP 같은 상위 계층에서 제공)
- ICMP(Internet Control Message Protocol) : IP와 조합해 통신 중 발생하는 오류 처리와 전송 경로 변경 등을 위한 제어 메시지를 관리하는 역할. 헤더는 8Byte로 구성.
- IGMP(Internet Group Management Protocol) : 멀티캐스트를 지원하는 호스트나 라우터 사이 멀티캐스트 그룹 유지를 위해 사용
- ARP(Address Resolution Protocol) : 호스트 IP 주소를 호스트와 연결된 네트워크 접속 장치의 물리적 주소로 변경
- RARP(Reverse Address Resolution Protocol) : 물리적 주소를 IP 주소로 변환
- IP(Internet Protocol)
- 네트워크 액세스 계층 : 실제 데이터(프레임)를 송*수신하는 역할
- OSI에서의 데이터링크 계층
- 주요 프로토콜
- Ethernet(IEEE 802.3) : CSMA/CD 방식 LAN
- IEEE 802 : LAN을 위한 표준 프로토콜
- HDLC : 비트 위주 데이터 링크 제어 프로토콜
- X.25 : 패킷 교환망을 통한 DTE와 DCE 간 인터페이스 제공 프로토콜 (네트워크 계층 표준)
- 이것의 오버헤드를 제거하여 고속 데이터 통신에 적합하게 개선한게 프레임 릴레이
- RS-232C : 공중 전화 교환망을 통한 DTE, DCE 간 인터페이스 제공 프로토콜 (물리 계층 표준)
- 응용 계층 : 응용 프로그램 간 데이터 송*수신 제공
데이터 교환 방식 / 라우팅
데이터 교환 방식
- 회선 교환 방식(Circuit Switching) : 통신을 원하는 두 지점을 교환기를 이용해 물리적으로 접속시키는 방식
- 종류
- 공간 분할 교환 방식(SDS) : 기계식 접점과 전자 교환기의 전자식 접점 등을 이용해 교환 수행.
- 시분할 교환 방식(TDS) : 전자 부품이 갖는 고속성과 디지털 교환 기술을 이용해 다수의 디지털 신호를 시분할적으로 동작시켜 다중화하는 방식
- 종류
- 패킷 교환 방식(Packet Switching) : 메시지를 일정한 길이 패킷으로 잘라 전송하는 방식. 패킷 교환망은 네트워크 계층에 해당.
- 종류
- 가상 회선 방식 : 단말장치 상호간 논리적 가상 통신 회선을 미리 설정해 송신지와 수신지 사이 연결을 확립 후 설정된 경로를 따라 패킷들을 순서적으로 운반하는 방식
- 데이터그램 방식 : 연결 경로를 설정하지 않고 인접한 노드들 트래픽(전송량) 상황을 감안해 각각 패킷들을 순서 상관없이 독립적으로 운반하는 방식
- 종류
라우팅 : 송 * 수신 측 간 전송 경로 중 최적 패킷 교환 경로를 결정하는 기능. 경로 제어표를 참조해 이뤄지며 라우터에 의해 수행됨.
- 라우팅 프로토콜
- RIP(Routing Information Protocol) : 현재 가장 널리 사용되는 라우팅 프로토콜. 소규모 동종 네트워크 내에서 효율적 방법
- IGRP(Interior Gateway Routing Protocol) : RIP 단점을 보완하기 위해 만들어 개발된 것. 네트워크 상태를 고려해 라우팅하며, 중규모 네트워크에 적합.
- OSPF(Open Shortest Path First Protocol) : 대규모 네트워크에서 많이 사용. 라우팅 정보에 변화가 생길 경우 변화된 정보만 네트워크 내 모든 라우터에 알림.
- BGP(Border Gateway Protocol) : 자율 시스템 간 라우팅 프로토콜. EGP간 단점 보완
- 라우팅 알고리즘
- 종류
- 거리 벡터 알고리즘 : 인접해 있는 라우터 간 거리, 방향에 대한 정볼르 이용해 최적의 경로를 찾고 그 최적 경로를 이용할 수 없을 경우 다른 경로를 찾는 알고리즘.
- RIP, IGRP
- 링크 상태 알고리즘 : 라우터와 라우터 간 모든 경로를 파악해 미리 대체 경로를 마련해 두는 알고리즘.
- OSPF
- 거리 벡터 알고리즘 : 인접해 있는 라우터 간 거리, 방향에 대한 정볼르 이용해 최적의 경로를 찾고 그 최적 경로를 이용할 수 없을 경우 다른 경로를 찾는 알고리즘.
- 종류
- 라우팅 경로 확인 명령어 route print, tracert (window) route (linux)
'그 외 공부 > 정처기-실기(완)' 카테고리의 다른 글
11장 소프트웨어 패키징 (0) | 2021.07.08 |
---|---|
9장 소프트웨어 개발 보안 구축 (0) | 2021.07.06 |
8장 SQL 응용 (0) | 2021.07.06 |
7장 어플리케이션 테스트 관리 (0) | 2021.07.05 |
6장 화면 설계 (0) | 2021.07.02 |