Entity-relation을 사용한 conceptual data modeling

Ch7 entity-relation를 사용한 개념적 데이터 모델링

7.1 DB 설계를 위한 고수준의 개념적 데이터 모델의 사용

1. 요구사항 수집 및 분석 : 요구사항(트랜잭션으로 구성), 검색과 갱신에 대한 연산들도 포함(diagram)
2.
개념적 설계 : 고수준의 개념적 data model을 사용하여 개념 schema(요구사항 간단히 기술)를 만든다.
3.
논리적 설계 : 상용 DBMS를 이용하여 DB를 실제로 구현 고수준 데이터모델을 구현 데이터모델로 변환
맵핑을 하고 정규화 과정을 통해 설계한다.
4.
물리적 설계 : DB file들에 대한 내부 저장 구조, 파일 구성, 인덱스, 파라미터 등을 명시 DB TR로 설계 구현

7.2 간단한 예제 DB응용

7.3 엔티티 타입, 엔티티집합, 에트리뷰트,

7.3.1 엔티티와 attribute
entity :
실세계에서 독립적으로 존재하는 실체(자동차, , 사원), entity를 기술하는 attribute들을 갖는다.
attribute : entity
를 기술하는 속성(이름, 나이, 주소, ) 여러 유형이있다 그유형은 아래로
복합 attribute : 더 작은 구성 요소(자체로 독립적인 의미를 갖음)들로 나눈다. 더 이상 나눌 수 없는 attribute를 단순 attribute라 한다. (복합 attribute를 세분화한게 단순 attribute)
단일값 attribute : 하나만 갖는 것,
다치 attribute : 여러 개의 값을 가질수 있는 attribute (집이 여러 개, 차가 여러 대)
저장 attribute : 유도 attribute가 유도를 받는 attribute
NULL : entity
의 특정 attribute에 적용할 값이 없는 것
복잡한 attribute : ()에 복합 attribute 를 넣고 {} 안에 다치 attribute를 나타냄으로 중첩을 표현

7.3.2 entity type, entity set, key, value set
entity type :
같은 attribute들을 갖는 entity의 집합, 이름과 attribute리스트로 기술
entity set :
임의의 시점에 DB내의 특정 entity type의 모든 entity 모임
entity type
에 속하는 entity들에 대한 중요한 제약조건은 attribute들에 대한 key, 유일함의 제약조건이 있다.
Key attribute : entity set
안에 entity마다 서로 다른 값을 가지는 attribute
weak entity type : key
를 갖지 않는 entity type
값집합(domain) : entity에서 해당 attribute가 가질수 있는 값들의 집합

Entity e에 대한 attribute A의 값을 A(e)로 표현한다.

7.4 관계, 관계 타입, 역할, 구조적 제약조건

7.4.1 관계 타입, 집합, 인스턴스
관계 : attribute끼리의 참조를 관계로 명시
관계타입 : entity type에 속하는 entity들 간의 관계집합, 관계 인스턴스들의 집합

7.4.2 관계 차수, 역할 이름, 순환적 관계
차수 : 관계 타입에 참여하고 있는 entity type들의 개수
Role name : entity type
에 속한 한 entity가 각 관계 인스턴스에서 가지는 역할을 강조
같은 entity type이 어떤 관계 타입에 두번 이상 참여하는 경우에는 각 참여하는 entity가 하는 역할의 의미를 구분하기 위해 역할 이름이 필수적이다 이런 관계타입을 순환적 관계라 한다.

7.4.3 이진 관계 타입에서의 제약조건
cardinality ratio : entity
가 참여할 수 있는 최대 관계 instance
참여 제약조건 : entity의 존재가 관계 타입을 통해 연관되어 있는 다른 entity에 의존하는이 여부를 명시, 이 제약조건은 각 entity가 참여할 수 있는 관계 인스턴스의 최소 수를 명시하며 최소 카디널리티 제약조건이라 함
참여 제약 조건에는 전체참여와 부분참여가 있다.
전체 참여 : entity들의 전체집합에 속하는 모든 entity가 반드시 다른 entity와 연관되어야 한다.(존재 종속성)
부분 참여 : 일부 entity들만 다른 entity들과 연관되어 있는 것
M:N
관계 타입에서는 참여 entity들의 조합에 의해서 결정되는 attribute들을 반드시 관계 attribute로 명시

7.5 weak entity type : 자신의 key attribute가 없는 entity type(key가 있으면 정규 attribute)
weak entity type
entity들은 그들의 attribute값들 중 하나를 통해 다른 entity type과 연계하여 식별하는데 그러한 다른 entity type을 식별 entity type이라 한다.이 두 type의 관계를 식별 관계라 한다. 항상 weak entity type은 식별 entity type에 전체 참여 제약조건(존재 종속성)을 가진다. 역은 성립하지 않는다.
일반적으로 부분키(점선)를 가지는데 부분키는 동일한 식별 entity에 연관되는 weak entity들을 서로 구분할 수 있는 attribute들이다.

'SW > Database MySQL' 카테고리의 다른 글

sql의 데이터 정의와 타입  (0) 2017.09.05
basic relation model (기본 관계 모델)  (0) 2017.09.05
Data model, schema, instance  (0) 2017.09.05
database 기초상식  (0) 2017.09.05
JOIN  (0) 2017.09.05

sql의 데이터 정의와 타입

4.1 SQL의 데이터 정의와 데이터 타입

4.1.1
SQL
환경 : SQL을 사용할 수 있는 어떠한 프레임워크를 설치한 것
클러스터 : catalog의 집합
catalog :
어떤 SQL 환경에 있는 스키마들의 모임
SQL schema : schema
의 이름으로 식별, schema의 각 원소(테이블, 제약조건, , 도메인 등)에 대한 기술자 뿐 아니라 소유계정을 가리키는 권한부여 식별자도 포함

4.1.2 SQLCREATETABLE 명령
relation
의 이름과 함께 attribute의 초기 제약조건들으 명시하여 새로운 relation을 만드는데 사용
attribute마다 이름, 값의 도메인을 명시하는 데이터 타입, NOT NULL과 같은 제약조건을 포함 그 외의 제약조건은 attribute들이 선언된 후 CREATE TABLE 구문 안에서 표현되거나 나중에 ALTER TABLE로 표현됨
base relation : CREATE TABLE
로 정의된 relation
virtual relation : CREATE VIEW
로 정의된 것
외래키들이 순환 참조하도록 선언하거나 아직 생성되지 않은 테이블을참조하면 외래키에 오류가 발생

4.1.3 SQL에서 attribute data type & domain
DATE data type : YYYY-MM-DD
TIME data type : HH:MM:SS
TIMESTAMP data type : YYYY-MM-DD HH:MMM:SS.SSSSSS
INTERVAL data type :
세기의 시간을 저장

4.2 SQL에서 기본 제약조건 명시

4.2.1 attribute 제약조건과 default값 명시 : SQLattribute값으로 NULL을 허용하기에 아니면 NOT NULL
또한 DEFAULT <value> 를 이용하여 default value를 명시할 수 있다.

4.2.2 키와 참조 무결성 제약조건의 명시
CREATE TABLE
구문에 키와 참조 무결성을 위한 특별한 절을 가진다.
UNIQUE
절은 대체키를 명시한다.
FOREIGN KEY
절은 참조무결성을 명시(tuple들을 삽입, 삭제, 수정할때 위배할 수 있다.)

4.2.3 CONSTRAINT 다음에 제약조건의 이름을 부여
4.2.4 CHECK
를 사용하여 테이블제약조건을 명시 (CREATE TABLE의 끝에 사용)

4.3 SQL에서의 기본 검색 질의(SELECT FROM WHERE)
SQL
과 관계모델의 차이점으로는 SQL table tuple들의 집합이 아니고 tuple들의 다중집합이다.
SELECT
DINTINCT를 함께 사용하면 SQL relation에 집합의 성질을 갖도록 함

SELECT <attribute list> ,FROM <table list>, WHERE<조건>
JOIN :
두개 이상의 table을 합치는데 사용

4.3.2 모호한 attribute 이름,별명, 재명명, 투플 변수

Relation name.attribute name, AS를 사용하여 재명명, 별명을 만들수도 있다.
4.3.3 where
절을 생략하면 Relation의 모든tuple검색되고 만약 FROM에 두개 이상의 relation이 명시되고, where절이 없다면 크로스프로덕트(모든 가능한 tuple의 조합)이 검색된다.
선택된 tuple들의 모든 atrribute값을 검색하려면 SELECT절에 attribute명 대신 *을 입력한다.

4.3.4 SQL에서 집합으로의 테이블 : 앞에서 말했듯이, SQL은 집합보다는 다중집합으로 table을 표현한다. 중복 tuple이 테이블의 질의의 결과에서 하나 이상 나타날 수 있다. => SQL은 중복 tuple을 제거하지 않는다.
키를 가진 SQL 테이블은 키값이 각 tuple마다 구별되어야 하므로, 집합으로 표현되도록 제한을 받는다. SQL 결과에서 중복된 tuple을 삭제하려면 SELECT절에 키워드 DISTINCT를 사용한다.
SQL
에서의 관계 대수 : 합집합(UNION), 차집합(EXCEPT), 교집합(INTERSECT)가 있다.
관계대수 다음에 ALL을 붙이면 중복을 허용한다. Ex) UNION ALL

4.3.5 부분 문자열 패턴 비교와 산술 연산자
LIKE
를 통해 문자열의 일부에 대해서 비교 조건을 명시한다 (몇글자, 시작하는 문자)
질의 내에서 산술식을 허용한다(사칙연산), BETWEEN을 사용하여 범위를 지정한다.

4.3.6 질의 결과의 정렬
ORDER BY
를 사용하여 질의결과에 있는 tuple들을 정렬(default는 오름차순, DESC를 사용하면 내림차순)

4.4 SQL에서 삽입, 삭제, 갱신문

4.4.1 INSERT 명령 : relationtuple을 추가
relation
이름과 attribute값들의 리스트를 명시해야 하며 attribute들의 순서는 CREATE TABLE에서 명시한 attribute들의 순서와 일치해야한다.
새로운 tuple에 일부 attribute만 명시할 경우에는 INSERT INTO R (attributes)를 사용하고 다음줄에 VALUES (삽입할 attribute)를 사용한다.

4.4.2 DELETE 명령 : relation에서 tuple을 삭제한다. WHERE절과 같이 사용할 수 있다. 한번에 한 테이블 내의 tuple들만 삭제할 수 있다. 그러나 DDL에서 참조 무결성 제약조건 내에 참조 트리거된 동작이 명시되어있다면 삭제는 다른 relation에 있는 tuple들도 연쇄적으로 삭제할 수 있다. table자체를 삭제하려면 DROP TABLE

4.4.3 UPDATE 명령 : 선택된 하나 이상의 tuple에서 attribute값들을 수정하기 위해 사용
DELETE
명령처럼 UPDATE명령에 있는 WHERE절은 한 relation에서 수정할 tuple들을 선택

'SW > Database MySQL' 카테고리의 다른 글

Entity-relation을 사용한 conceptual data modeling  (0) 2017.09.05
basic relation model (기본 관계 모델)  (0) 2017.09.05
Data model, schema, instance  (0) 2017.09.05
database 기초상식  (0) 2017.09.05
JOIN  (0) 2017.09.05

basic relation model (기본 관계 모델)

3.1 관계모델은 DB relation들의 모임으로 표현


3.1.1 domain, attribute, tuple, relation


Domain :
원자값(더 이상 나눠질수 없는 것)들의 집합, 해당 Domain이 속하는 값들의 datatype을 명시

NULL은 모든 domain의 멤버, 다른 attribute가 같은 domain을 갖을 수 있다. 구성요소 : 데이터타입, 형식, 이름


릴레이션 스키마 : R이라는 릴레이션 이름과, A_1 이라는 에티르뷰트(도메인과 같은 역할)들로 이루어진다.


릴레이션스키마의 릴레이션(relation state) : n-tuple들의 집합, 실세계의 특정상태에서 해당되는 tuple들만 반영


3.1.2 릴레이션의 특성


릴레이션에서 투플들의 순서는 존재하지 않지만 저장 순서는 존재한다.


투플 내에서의 값들과 순서와 릴레이션의 또 다른 정의 : 투플 내에서 값들의 순서는 중요하지 않다.


투플 내의 각 값은 원자값이다 => 1 정규형


NULL :
값을 모를 때, 가능하지 않은 값일 때,  이 투플에 그 attribute를 적용할수 없을 때 사용한다.


3.2 관계 모델 제약조건과 관계 DB 스키마


본질적 모델 기반 제약조건 : data model 자체에 존재하는 제약조건


스키마 기반 제약조건 : data modelschema에서 직접 표현 가능한 제약조건으로 DDL로 명시


응용 기반 제약조건 : schema에서 표현이 불가능한 제약조건으로 응용프로그램에 의해 표현


3.2.1 도메인 제약조건 : 각각의 투플 내에서 각각의 attribute의 값이 반드시 도메인에 속하는 원자값이여야 함


3.2.2 키 제약조건과 널 제약조건


형식 관계 모델에서 relation tuple들의 집합으로 정의


releation
의 모든 tuple도 중복되지 않아햐 한다. tuple마다 갖는 uniqueattributesuperkey라 한다.


유일성 제약조건 : super key가 같은 tuple은 존재하지 않는다.


모든 relation은 적어도 하나의 superkey를 갖는다.


KEY :
최소의 superkey


3.2.3 관계 DB, 관계 DB schema


관계DB는 서로 연관된 다수의 relation을 갖는다.


관계DB schema : relation schema들의 집합과 무결성 제약조건들의 집합이다.


관계DB state : relation state들의 집합


무결성 제약조건을 준수하면 유효한 상태 아니면 유효하지 않은 상태


무결성 제약조건은 DB schema에 명시되어있다


3.2.4 엔티티 무결성 제약조건, 참조 무결성 제약조건, 외래키


엔티티 무결성 제약조건 : 기본키는 null값이 될 수 없다. (기본키는 tuple들을 구별하는데 사용하기 때문)


참조 무결성 제약조건 : 두 릴레이션 사이에 명시되는 제약조건, relation에 있는 tuple이 다른 relation의 

tuple을 참조하려면 반드시 참조되는 tuple이 그 relation안에 존재 해야한다.


foreign key :
외래키가 되기 위해서는 참조 무결성 제약조건이 만족되어야 한다. 동일한 relation을 참조할 수 없다. 외래키는 자신의 relation을 참조할 수 있다.


외래키의 attribute는 기본키의 attribute와 동일한 doamin을 갖는다. -> 외래키는 참조한다.


현재 상태의 한 tuple 내의 외래키의 값은 현재상태의 어떤 tuple 내의 기본키와 일치하거나 null값을 가져아한다.


3.3 갱신 연산과 트랜잭션 그리고 제약조건 위반의 처리


관계 모델의 연산은 추출과 갱신(삽입, 삭제, 갱신 또는 수정)으로 나누어진다.


3.3.1      


삽입 연산은 relation R에 삽입한 tuple t에 대한 attribute값들의 리스트를 제공한다.


도메인 제약조건, 키 제약조건, 엔티티제약조건, 참조 제약조건 4가지를 위반할 수 있다. 기본은 거부


3.3.2 삭제 연산


참조무결성 제약조건 1개만 위반할 수 있다. 기본은 거부


3.3.3 갱신 연산


relation R
에 있는 tuple들 중에서 하나 이상의 attribute값을 변경하는데 사용



기본키나 외래키가 아닌 attribute의 갱신에는 아무런 문제가 없다, 데이터타입과 도메인이 정확한지 확인


3.3.4 트랜잭션 개념 : DB로부터 읽기, 삽입, 삭제, 갱신 같은 DB 연산을 수행하는 program

'SW > Database MySQL' 카테고리의 다른 글

Entity-relation을 사용한 conceptual data modeling  (0) 2017.09.05
sql의 데이터 정의와 타입  (0) 2017.09.05
Data model, schema, instance  (0) 2017.09.05
database 기초상식  (0) 2017.09.05
JOIN  (0) 2017.09.05

Data model, schema, instance

데이터 모델, 스키마, 인스턴스

2.1 데이터 모델, 스키마, 인스턴스
데이터 모델 : 필수적인 특징만을 강조하는 추상화를 위한 도구데이터 구조를 명시하기 위해 사용할 수 있는 개념들의 집합으로 대부분 검색과 갱신을하는 기본연산들을 포함한다.
DB
구조 : 데이터 타입, 관계, 제약조건을 의미

2.1.1 데이터 모델의 분류
저수준(물리적)데이터 모델 : 어떻게 데이터가 저장되는지를 제공
표현(구현)데이터 모델 : 사용자들이 쉽게 이해할 수 있는 개념을 제공
고수준(개념적)데이터 모델 : 많은 사용자들이 데이터를 인식하는 방식에 대한 개념 제공
고수준(개념적)데이터모델 : entity(사원이나 프로젝트 같은 실세계의 객체나 개념을 나타냄), attribute(사원이 이름이나 급여 같은 entity의 특성), relationship(사원과 프로젝트 사이의 관계처럼 entitiy들 사이의 연관성)

2.1.2 스키마, 인스턴스, 데이터베이스 상태
DB schema : DB
기술(description)으로 자주 변경되지 않는다. 대부분은 도식적으로 스키마를 표현하는 표기법을 갖는데 이를 스키마 다이어그램이라 한다.(실제 인스턴스는 표현하지 않고 레코드 타입의 구조를 나타냄)
DB
상태 : 어떤 특정 시점에 DB에 들어있는 data(레코드를 변경할 때 DB는 다른 상태로 바뀜)
새로운 DB를 정의할 때 DB schemaDBMS에 명시, DBdata가 처음으로 적재될 때 초기상태로 됨

2.2 3단계-스키마 아키텍처와 데이터 독립성
2.2.1 3
단계-스키마 아키텍처
내부단계(internal level) : 내부 스키마를 가지며 이 스키마는 DB의 물리적 저장 구조 기술
개념단계(conceptual level) : 개념 스키마를 가지며 이 스키마는 모든 사용자를 위한 DB구조 기술(제약조건 등)
외부단계(external level) : 외부 스키마와 사용자 view를 가지며 이 스키마는 특정 user group이 관심을 갖는 DB 기술(나머지은폐)
사상(mapping) : 단계들 간 요구와 접근 결과를 변환하는 과정

2.2.2 데이터 독립성 : 고수준의 스키마를 변경할 필요없이, DBS의 어떤 단계에서 스키마를 변경할 수 있는 능력
논리적 데이터 독립성 : 외부스키마나 응용 프로그램들을 변경하지 않으면서 개념 스키마를 변경
물리적 데이터 독립성 : 개념스키마를 변경하지 않으면서 내부스키마를 변경
DBMS
catalog는 여러 단계 사이에서 요구와 데이터를 mapping하는 방법에 대한 정보 포함

2.3 DB언어와 interface
2.3.1 DBMS
언어
DDL(data definition language) :
스키마들을 명시
SDL(storage Defintion Language) :
내부스키마를 나타냄 (오늘날의 DBMS SDL이 거의 없다)
VDL(View Defintion Language) : 3
단계-스키마 아키텍처를 이용하여 사용자 뷰를 명시, 개념스키마들 사이의 맵핑
대부분의 DBMS DDL이 개념 스키마와 외부 스키마를 정의하는데 사용

DML(data manipulation language) : 데이터의 검색 삽입 삭제 수정 조작하는 언어
고수준(비절차적) DML : 복잡한 DB 연산을 간단하게 나타냄, 한번에 레코드 집합(선언적)
저수준(절차적) DML : 범용 프로그래밍 언어에 삽입하여 나타냄, 한번에 한 레코드
DML모두 범용 프로그래밍 언어 내에 DML이 삽입된 경우 프로그래밍 언어는 호스터언어, DML은 데이터 부속어라 하며 고수준 데이터 조작어가 대화식으로 진행되면 질의어라고 부른다

SQL(Structure Query Language) : DB와의 소통 수단으로 DDL DML의 융합, 제약조건 명시 외에 많은 기능

2.4 데이터베이스 시스템 환경

2.4.1 DBMS 구성 모듈
DB
DBMS catalog는 디스크에 저장되어 있으며 OS로 디스크에 접근
buffer
관리 모듈 : 많은 DBMS는 성능에 영향을 미치기 때문에 디스크 입출력을 스케쥴
저장 데이터 관리자 모듈 : 디스크에 저장되어 있는 DBMS의 정보(DB, catalog)에 대한 접근 제어
DDL compiler : DDL
로 명시된 스키마 정의들을 처리, 스키마들에 대한 정보(meta-data)DBMS catalog에 저장
catalog : DBMS
모듈들이 필요로 하는 파일의 정보, 제약조건을 포함(DBMS가 정보가 필요할 때 접근하는곳)
대화식질의 interface : 질의 컴파일러(질의들을 파싱하고 데이터원소들이 정확한가 입증하고 내부 형태로 컴파일 + 질의 최적화기(연산들을 재배치하고 중복제거, 적절할 알고리즘과 인덱스를 선택)
precomiler :
호스트 언어로 작성된 응용프로그램에서 DML 명령들을 추출하여 DB접근을 위한 목적코드(object code)로 컴파일 하기 위해서 DML compiler로 보내고 프로그램에서 DML 명령을 제외한 나머지 부분은 호스트언어 compiler로 보낸다.
Runtime DB processor :
특권 명령, 실행가능 질의 계획, 미리 작성된 트랜잭션등을 수행, system catalog, 저장데이터 관리자와 함께 작동)
동시성 제어 모듈 : 제약조건을 침해하지 않으면서 트랜잭션이 잘 수행되도록 한다.
회복 모듈 : DB의 일관성, 트랜잭션의 원자성, 지속성을 유지
동시성 제어 모듈과 회복 모듈은 TR관리를 위해서 runtrim DB processor와 통합하여 동작한다.

2.4.2 DBS utilities : DBA DBS를 관리하는 것을 도와줌
적재(loading) : 기존의 data file DB에 적재
백업(backup) : 저장매체에 DBcopy를 만듦
파일 재조직(file reorganization) : DB의 파일 구조를 다른 파일 구조로 재조직, 새로운 접근경로 형성(성능향상)
성능 모니터링(performance monitoring) : 사용통계를 DBA에게 전달

2.4.3 도구, 응용, 환경, 통신 장비
케이스 도구 : DBS를 설계하는 과정에 사용
데이터 사전(저장소) 시스템 :
응용개발환경, 통신 소프트웨어가 있다.

2.5 DBMS를 위한 중앙집중식과 클라이언트/서버 아키텍처

2.5.1 중앙집중식 DBMS 아키텍처

2.5.2 기본적인 client/server 아키텍처
client :
사용자 인터페이스와, 자체 처리 능력을 제공
server :
클라이언트 컴퓨터에게 서비스들을 제공할 수 있는 hw, SW

2.5.3 DBMS를 위한 2- client/server architecture : client handles, server handles, API 제공

2.5.4 웹 응용들을 위한 3-client/server architecture

2.6 DBMS의 분류 (DBMS를 분류하기 위해 여러 기준이 사용)
1. data model :
가장 많이 사용하는건 관계 데이터모델,
2.
사용자 수
3.
사이트 수
4.
비용
5.
범용, 특수목적 DBMS 

'SW > Database MySQL' 카테고리의 다른 글

Entity-relation을 사용한 conceptual data modeling  (0) 2017.09.05
sql의 데이터 정의와 타입  (0) 2017.09.05
basic relation model (기본 관계 모델)  (0) 2017.09.05
database 기초상식  (0) 2017.09.05
JOIN  (0) 2017.09.05

data link layer (데이터링크층)

1      데이터링크층


1.1  서비스항목 (프레임 짜기, 흐름 제어, 오류 제어, 혼잡 제어 => frame + control)


프레임 짜기 : 각 노드에서 데이터링크층은 다음 노드에게 데이터그램을 전송하기 전에 네트워크층에서 전달받은 패킷인 다이어그램을 프레임에서 캡슐화 해야한다.

흐름제어 : /수신자의 전송능력 차이를 극복


     오류제어


호납제어 : layer2에서 혼잡제어는 포함되지 않는다.


1.2  세 종류의 주소 (windows – ipconfig/all, unix - %ifconfig -a) ->유니캐스트, 멀티캐스트, 브로드캐스트 3종류


유니캐스트 주소 : LAN ETHERNET에서의 유니캐스트 링크계층주소(48bit) ex) A3:34:45:11:92:F1 A3 1byte 1byte6개니까 48bit


1.2.1       주소변환 프로토콜(ARP, Address Resolutuon Protocol) -> 32bit(3계층 IP주소)48bit(2계층MAC주소) 변경


반대는 RARP(MAC주소 -> IP주소)

'SW > 데이터통신' 카테고리의 다른 글

Switching (교환)  (0) 2017.09.05
전송매체  (0) 2017.09.05
주파수 분할 다중화, 반송파  (0) 2017.09.05
아날로그 전송  (0) 2017.09.05
물리층 (Physical layer, OSI-7-Layer  (0) 2017.09.05

Switching (교환)

1      Switching(교환)

1.1  개요 : 네트워크는 서로 연결된 장치들의 모임이다.교환망 : 교환기라 불리는 상호 연결된 노드의 열들로 구성, 교환기 : 교환기 간의 연결이 아니라 교환기에 연결된 둘 이상의 장치 사이의 임시적인 연결을 하는 장치

1.1.1       교환방법(3가지)

1.1.1.1    회선교환(circuit switching) – 전화망, 패킷교환(packet switching) – 데이터망, 네트워크, 메시지교환(message switching) – 잘 사용하지 않음

1.1.2       교환과 TCP/IP 계층

1.1.2.1    물리층에서는 회선 교환만 있을 수 있다.

1.1.2.2    데이터 링크층에서 교환은 패킷교환을 가질 수 있으며, 패킷은 프레임 또는 cell(cell swtiching의 기본단위)을 의미(

1.1.2.3    네트워크층에서 교환 : 패킷교환

1.1.2.4    응용층에서 교환 : 메시지 교환

1.2  회선-교환망(circuit switching) : 물리 링크로 연결된 일단의 교환기로 구성
특징으로는 설정단계(연결설정단계), 데이터 전송단계, 해제 단계가 있다는 점(특징알아두기)
설정단계에서 자원 할당이 필요하며, 해제단계까지 계속하여 할당이 되있어야한다.

1.2.1       3단계 알기
설정단계 : 통신하기 전 전용회선이 마련되어야 한다.
데이터전송단계 : 전용회선으로 구성된 연결을 설정한 이후에 두 당사자가 데이터를 주고받음
해제 단계 : 자원을 해제하기 위해 교환기로 신호를 보냄

1.3  패킷 교환 : 전송의 기본단위를 패킷으로 설정하는 것
패킷 교환망을 통해 전달된다면 패킷을 고정 또는 가변 길이로 나누는 것이 필요하다. 패킷의 길이는 네트워크와 해당 프로토콜에 의해 결정된다.
패킷 교환에서는 회선교환과는 다르게 자원할당이 없다, 자원은 요청에 따라 할당되며 할당은 먼저오는 것을 먼저 서비스한다.

1.3.1       데이터그램망 (datagram network) : 각 패킷을 독립적으로 취급한다.
비연결형 망이라고도 불리며, 이 뜻은 교환기가 연결 상태에 대한 정보를 유지하지 않는다는 것(중요)
이것은 connection-oriented, connectionless의 차이점이 된다.각 패킷이 독립적으로 취급되어서 경로와 도착순서가 다를 수 있다.(Circuit switching은 연결설정을 미리 하기 때문에 순서가 일치)
각 교환기는 목적지 주소에 기반을 두는 경로표(교환기 간 packet을 전송하기 위함)을 갖는다.

1.3.2       가상회선망(virtual-circuit network) : 회선교환망과 데이터그램망을 융합(패킷교환망을 만드는 방법)
per connection management(
연결 당 관리)가 가능하게함
회선 교환 망처럼 설정 및 해제 단계가 있고, 자원이 미리 할당될수도, 필요에따라 할당될수도 있다.
데이터그램 망처럼 데이터는 패킷에 담겨져 전송되며 각 패킷은 헤더에 주소(지역주소)를 담는다.
datagram
과의 차이점으로 모든 packet은 같은 경로를 따라 전송(circuit과의 공통점)

1.4  교환기구조 : circuit, packet에서는 교환기를 사용한다.

1.4.1       Circuit switcing swirch structrue(회선 교환기 구조)

1.4.1.1    공간분할 교환기

1.4.1.2    크로스바 교환기 : 각 교차점에는 전기적인 마이크로스위치(transitor)가 존재 -> 전자 switch(on/off)
단점 : n개의 입력과 m개의 출력을 연결하기 위해서는 n*m개의 cross point가 필요
많은 수의 크로스바가 비효율적이기 때문에 다단계 교환기가 탄생

1.4.1.3    다단계 교환기 : 크로스바 교환기를 여러 개 결합개의 교차점
단점 : 차단(가능한 중간 교환기가 모두 사용 중이여서 이용할 수 있는 경로가 없어 하나의 입력이 어느 출력에도 연결되지 못할 때)발생할 수 있다.

1.4.2       패킷 교환기 구성요소 (4가지) : 입력포트, 출력포트, 라우팅처리기, 교환회로패킷 교환기 요소
입력포트 : 패킷교환의 물리, 데이터 링크 기능, 수신된 신호로부터 비트를 형성하여 패킷은 오류가 검출되어 정정, 그 후 네트워크 층에 의해 경로를 찾아갈 준비 -> QUEUING이 필요한 이유
교환 회로로 보내지기 전에 패킷을 잠시 붙잡아 두는 버퍼를 가지고 있다.
출력포트 : 입력포트와 순서만 반대
경로 처리기(Routing processor)
네트워크 층의 기능을 수행(routing 기능을 수행 -> 라우팅 테이블이 있어야하고 경로 처리기는 경로표를 찾기 때문에 표보기(table lookup)기능을 함)
교환회로(Switching fabric)
패킷교환의 가장 중요한 과제는 입력 큐에 있는 패킷을 출력 큐에 옮기는 작업이다. 이 때 필요한 swtiching circuit이 교환회로다. 이 작업이 완료되는 데 걸리는 시간이 전반적인 패킷 전송 지연에 영향을 미친다. 종류(coomon bus, shared memory, cross bar, banyan, batcher-banyan) 5가지

'SW > 데이터통신' 카테고리의 다른 글

data link layer (데이터링크층)  (0) 2017.09.05
전송매체  (0) 2017.09.05
주파수 분할 다중화, 반송파  (0) 2017.09.05
아날로그 전송  (0) 2017.09.05
물리층 (Physical layer, OSI-7-Layer  (0) 2017.09.05

전송매체

1  전송 매체(transmission medium)은 발신지로부터 목적지로 정보를 전달할 수 있는 것


1.2  유도매체(guided media, wired media) : 한 장치에서 다른 장치로 가는 통로를 제공


(
꼬임쌍선twisted-pair cable, 동축 케이블(coaxial cable), 광섬유케이블(optical cabel)로 구성)


1.2.1       꼬임쌍선 케이블 : 전선을 꼬음으로써 균형이 유지 -> 잡음을 줄임


1.2.1.1    비차폐(UTP, unshielded twisted pair) 대 차폐 꼬임쌍선(STP, shielded twisted pair)


STP
IBM외에는 잘 사용하지 않음(금속 덮개가 필요하여 비쌈)


연결구 : 가장 흔한 UTP연결구는 RJ45전화선(DSL)에 사용


1.2.2       동축 케이블 : bandwidth가 넓어서 많은 data전송 가능


동축 케이블 표준 : 무선국(RG, radio government)에 의해 분류


동축 케이블 연결구


이더넷 LAN에 사용


1.2.3       광섬유 케이블 : 유리나 플라스틱으로 만드는 광섬유는 빛의 형태로 신호를 전송


채널을 통해 빛을 유도하기 위해 반사를 사용 중심부(core)은 더 낮은 밀도의 유리나 플라스틱 피복

으로 둘러싸여 있다.
전파방식 : 다중모드와 단일모드가 있으며 다른 물리적 특성을 가진 섬유를 필요로 함


다중모드 : LED를 사용하여 LAN에 적용     단일모드 : LASER를 사용하여 백본에 적용


광섬유 케이블 연결구 : 가입자채널연결구(SC), 직립단자연결구(ST)


광섬유는 흔히 백본 망에 사용되는데 광섬유의 넓은 대역폭이 비용에 있어 효과적이여서


100Base-Fx
네트워크, 1000BASE-X같은 LAN에서 사용


1.3 비유도 매체 : 무선 : 물리적 도선을 사용하지 않고서 전자기 신호를 전송(무선통신)


3kHz ~ 900THz에 걸친 스펙트럼을 보임


비유도 신호는 발신지에서 목적지까지 몇 가지 방식으로 전파될 수 있음


지표면 전파, 공중 전파, 가시선 전파


1.3.1       라디오파(radio wave + micro wave) : 3kHz ~ 300GHz – 전방향 안테나 사용


1.3.2       마이크로파 : 단방향안테나로 이동되며 가시선 전파이다


1.3.3       적외선 : 300GHz ~ 400TGHz 주파수로 단거리 통신(리모콘)


'SW > 데이터통신' 카테고리의 다른 글

data link layer (데이터링크층)  (0) 2017.09.05
Switching (교환)  (0) 2017.09.05
주파수 분할 다중화, 반송파  (0) 2017.09.05
아날로그 전송  (0) 2017.09.05
물리층 (Physical layer, OSI-7-Layer  (0) 2017.09.05

주파수 분할 다중화, 반송파

1      대역폭 활용 : 다중화와 스펙트럼 확장


1.1  다중화 : 단일 링크를 통하여 여러 개의 신호를 동시에 전송 할 수 있도록 해주는 기술


다중화기(MUX, multiplexer), 복구기(DEMUX, demultiplexer), 링크:물리적경로, 채널:논리적 경로


Multiplexing =
주파수 분할 다중화(FDM), 시분할 다중화(TDM), 파장 분할 다중화(WDM) 기법


1.1.1       주파수 분할 다중화 : 주파수별로 나눠서 전송 ex) FM


아날로그 반송파 구조


디지털 신호 서비스




'SW > 데이터통신' 카테고리의 다른 글

Switching (교환)  (0) 2017.09.05
전송매체  (0) 2017.09.05
아날로그 전송  (0) 2017.09.05
물리층 (Physical layer, OSI-7-Layer  (0) 2017.09.05
OSI-7-Layer (OSI 7계층)  (0) 2017.09.05

아날로그 전송

1      아날로그 전송


1.1  디지털--아날로그 전송 : ASK(진폭 변이 변조), FSK(주파수 변이 변조), QAM(구상 진폭 변조)


비트 전송률은 초당 비트수, 보율(baud)은 초당 신호 단위의 수이며 디지털 데이터의 아날로그 전송의 경우 보율은 비트 전송률과 같거나 적다


S=n*1/r baud (S=
신호요소의 수, 보율(n), N=데이터 전송률(bps), r=한 개의 신호요소에 전달되는 데이터 요소의 개수)


1.2  아날로그--아날로그 변환 : 진폭변조(AM), 주파수변조(FM), 위상변조(PM) 3개의 방법


1.2.1       진폭변조(AM)라디오의 대역: 오디오 신호의 대역폭은 4kHz -> 최소 10kHz대역폭 필요


1.2.2       주파수변조(FM)라디오의 대역 : 15kHz(스테레오), 방송국은 (88MHz~108MHz)


1.2.3       위상변조(PM) : 최대 진폭과 주파수는 유지, 입력 신호의 진폭이 바뀜에 따라 위상 변경


 

'SW > 데이터통신' 카테고리의 다른 글

전송매체  (0) 2017.09.05
주파수 분할 다중화, 반송파  (0) 2017.09.05
물리층 (Physical layer, OSI-7-Layer  (0) 2017.09.05
OSI-7-Layer (OSI 7계층)  (0) 2017.09.05
네트워크 물리적 구조  (0) 2017.09.05

OSI-7-Layer (OSI 7계층)

Application

 

Message, Data

HTTP,FTP,SMTP

 

 

Application

 

Host to host

Presentation

JPG,MPEG,AFP

 

Session

SSH

 

Transport

Segment, datagram

TCP, UDP

 

Transport

Process to process

Network

Packet

IP,RIP,ICMP

gateway

Network

Host to host

Data Link

Frame

Ethernet,PPP

Router

Data link

Hop to hop(node)

Physical

bit

RS-232

Hub,repeater

Physical

Hop to hop(node)

OSI model

(7 layer)

Data Unit

Protocol

Device

TCP/IP

(5 layer)

 

(Host = node = end = hop)


발신지 호스트는 응용층에서 메시지를 생성하고 그것을 아래 계층들에게 Encapsulation하여 아래 층으로 보내서 Dest.로 송신, Dest1계층부터 상위 계층으로 decapsulation하여 도착(각 계층의 프로토콜에 맞는 포맷으로 보냄.

'SW > 데이터통신' 카테고리의 다른 글

아날로그 전송  (0) 2017.09.05
물리층 (Physical layer, OSI-7-Layer  (0) 2017.09.05
네트워크 물리적 구조  (0) 2017.09.05
data flow (데이터 흐름방향)  (0) 2017.09.05
데이터 통신 구성요소 (용어정리)  (0) 2017.09.05

'데이터'에 해당되는 글 13건

1 2 →