네트워크 효과
네트워크를 구축함으로써 얻을수 있는 효과들은 다음과 같다.
자원 공유
- 컴퓨터 하드웨어 외의 물리적, 논리적 정보 공유가 가능하다.
병렬 처리에 의한 성능 향상
- 네트워크 속도 제한에 의한 한계는 있을 수 있다.
- 네트워크 성능 개선으로 병렬 처리가 가능하다.
중복 저장으로 인한 신뢰성 향상
- 일관성 문제와 데이터 갱신 비용이 문제가 된다.
전송과 교환
전달: 교환 + 전송
교환: 둘 이상의 경로 중에 어느 방향으로 전달할지 선택한다.
전송: 물리적으로 1:1로 연결된 시스템 사이의 데이터 전송을 말한다.
전송 방식의 분류
지리적 분포로 LAN, MAN, WAN으로 나눌 수 있다.
전송 교환기술에 의한 분류
- 점대점(Point to Point): 호스트들이 물리적으로 1:1 형식으로 연결되어있는걸 말한다.
- 브로드캐스팅(Broadcasting): 호스트들이 공유 전송 매체에 연결한다.
점대점(Point to Point) 방식
교환 호스트가 송수신 호스트 중간에 위치한다.
직접 연결하거나 중계기능을 통해 전달한다.
연결개수가 많아지면 성능면에서는 우수하지만 매체길이가 증가해서 비용이 증가한다.
연결 개수가 적어지면 네트워크 혼잡도가 증가한다.
스타형, 링형, 완전형, 불규칙형이 있다.
스타형
- 중앙에 있는 하나의 중개 호스트(허브)주위로 여러 호스트를 1:1로 연결한다.
- 중앙 호스트의 성능과 신뢰성이 중요하다.
- 트리형이다.
링형
- 호스트의 연결이 순환 구조를 이룬다.
- 모든 호스트가 전송과 교환 기능을 수행한다.
- 시계방향 또는 반시계방향으로 선택이 가능하다.
- 현실적으로 한 방향으로만 전송한다.
- 토큰을 사용한다.
- 토큰이란
- 데이터를 전송할 수 있는 권리이다.
- 데이터 전송을 원하는 호스트는 미리 토큰을 확보해야 한다.
- 데이터 전송이 완료되면 호스트는 토큰을 반납해야 한다.
- 데이터를 전송하는 호스트가 없으면 오직 하나의 토큰이 링을 순환한다.
- 데이터 전송 원리는 다음과 같다.
- 토큰을 링에서 회수하여 확보한 후, 데이터를 링에 전송한다.
- 데이터는 링을 한 바퀴 순환한 후, 다시 송신 호스트에게 돌아온다.
- 이 과정에서 링에 연결된 모든 호스트가 데이터를 수신한다.
- 단, 자신을 목적지로 하는 호스트만 데이터를 보관하고, 다른 호스트는 버린다.
- 송신 호스트는 데이터를 회수한 후에 토큰을 링에 돌려준다.
완전형
- 네트워크에 존재하는 모든 호스트를 1:1로 연결하는 방식이다.
- 교환기능이 불필요하다.
- 비효율적이다.
불규칙형
- 트래픽이 많은 지역은 연결의 수가 많지만, 적은 지역은 연결의 수가 적다.
브로드캐스팅(Broadcasting) 방식
네트워크에 연결된 모든 호스트에게 데이터를 전달하는 방식이다.
주로 LAN 환경에서 사용한다.
버스형과 링형이 존재한다.
버스형
- 공유 버스에 모든 호스트를 연결한다.
- 둘 이상의 호스트가 데이터를 전송하면 충돌이 발생한다.
- 사전 예방 방식과 사후 해결 방식이 있다. 사전 예방은 전송 시간대를 다르게하는 방법이고, 사후 해결은 충돌을 감지하는 기능이 필요하다. (ex) 이더넷)
링형
- 호스트를 순환 구조로 연결한다.
- 송신 호스트가 전송한 데이터는 링을 한 바퀴 순환한 후 송신호스트에 되돌아온다.
- 중간의 호스트 중에서 수신 호스트로 지정된 호스트만 데이터를 내부에 저장한다.
- 데이터를 전송하기 위해서는 토큰 확보가 필수적이다.
멀티포인트 통신
유니포인트: 하나의 송신 호스트를 기준으로 하나의 수신 호스트와 연결하는 것을 말한다.
멀티포인트: 하나의 송신 호스트를 기준 다수의 수신 호스트와 연결하는 것을 말한다.
유니캐스팅: 송신 호스트가 한번의 전송으로 하나의 수신 호스트에 데이터를 전송하는 것을 말한다.
멀티캐스팅: 송신 호스트가 한번의 전송으로 다수의 수신 호스트에 데이터를 전송하는 것을 말한다.
멀티포인트 유니캐스팅
- 유니캐스팅 방식을 이용해서 일대다 통신을 지원한다.
- 수신 호스트의 수가 증가하면 성능에 문제점이 발생한다.
브로드 캐스팅
- 네트워크에 연결된 모든 호스트에게 데이터를 전송한다.
- 자신을 목적지로 하는 호스트만 데이터를 내부에 저장하고, 다른 호스트는 데이터를 무시한다.
멀티캐스팅
- 1:다 전송 기능을 지원한다.
- 송신 호스트는 한번의 데이터 전송으로 여러 호스트에게 데이터를 전송할 수 있다.
오류 복구를 위한 기본 기능
수신 호스트의 응답 프레임은 긍정 응답(ACK)과 부정 응답(NAK)이 있다.
송신 호스트의 타이머 기능
- 프레임 분실이 나서 오류가 날 때는 수신 호스트의 인지가 불가능하다.
- 일정 시간 내의 긍정 응답이 없으면, 송신단에서 타임아웃 기능을 동작시켜 재전송한다.
순서번호
- 긍정 응답이 분실되는 경우 재전송으로 인한 중복 수신이 가능하다.
- 이를 구별하기 위해 순서번호를 기록한다.
흐름제어
전송 데이터의 속도를 조절한다.
송신 호스트는 수신 호스트가 감당할 수 있을 정도의 전송속도를 유지하면서 전송해야 한다.
흐름제어가 없는 경우 데이터의 손실, 재전송으로 이어진다.
다음에 수신할 프레임의 전송 시점을 송신 호스트에게 통지하는 방식이 기본 원리이다.
대표적인 방식은 슬라이딩 윈도우가 있다.
데이터 링크 계층의 기능
프레임 단위로 나누어서 처리한다.
프레임안에는 다음과 같은 데이터가 들어있다.
- 전송 데이터
- 오류 확인을 위한 체크썸
- 송수신호스트 주소
- 기타 프로토콜에서 사용되는 제어코드 같은 정보를 포함한다.
내부 정보를 표현하는 방식에 따라 문자 프레임과 비트 프레임으로 나눌 수 있다.
ASCII
7비트 표현 방식
8번째 비트는 오류 검출용 패리티이다.
1968년 미국 ANSI X3.4로 표준화 되었다.
Graphic/Printable Character: 0-9, a-z, A-Z, 특수문자 등이 있다.
Non-graphic/Non-printable Character or Control Character
- 통신 제어 또는 전송 제어
- 서식 제어
- 특수 제어 (프린터, 전송속도 매칭 등)
- 정보 분리 (파일 분리, 레코드 분리 등)
문자 프레임
프레임의 내용이 문자로만 구성된다.
프레임의 시작과 끝에 특수문자를 사용한다. 시작에는: DLE/ STX가 있고, 끝에는 DLE / ETX가 있다.
전송 데이터에 특수 문자가 포함되면 혼선이 발생한다.
문자 스터핑
- 데이터에 DLE가 있으면 강제로 DLE를 하나 더 추가한다.
- 수신측에서는 두 개의 DLE가 나오면 뒤에 있는 DLE를 제거한다.
비트 프레임
임의의 비트 패턴 전송이 가능하다.
프레임과 시작과 끝을 나타내는 플래그를 사용한다.
전송 데이터에 플래그와 같은 패턴이 등장할 수 있다.
비트 스터핑: 1이 연속해서 5개 발생하면 강제로 0을 추가한다.
오류 극복 방법
오류 검출 코드를 넣어 수신호스트가 오류 검출후 재전송으로 복구한다. (CRC)
오류 복구 코드를 넣어 수신호스트가 오류 검출과 복구를 동시에 수행한다. (해밍코드, 순방향 오류복구)
해밍 코드
이진 블록 오류 정정 부호의 일종이다.
1950년 Bell 연구소의 Richard Hamming이 만들었다.
최대 2비트이 오류를 감지하거나 1비트 오류를 수정 가능하다.
오류 검출
BEC 또는 ARQ를 사용하며 ARQ(Automatic Repeat reQuest)가 일반적으로 사용된다.
패리티: 짝수 패리티, 홀수 패리티
블록 검사
다항코드
등의 방법을 사용한다.
'Computer Science > Network' 카테고리의 다른 글
[CS] 네트워크 - 데이터 링크 계층 (0) | 2022.10.23 |
---|---|
[CS] 네트워크 - MAC 계층 (0) | 2022.10.23 |
[CS] 네트워크 - 네트워크 기술 (2) | 2022.09.26 |
[CS] 네트워크 모델 (0) | 2022.08.15 |
[CS] 네트워크 주소의 표현 (0) | 2022.08.15 |