'TCP/IP or 시리얼통신'에 해당되는 글 4건


사용자 삽입 이미지




기 능

응용 층

(7 계층)

- 응용 프로세스간의 정보 교환 기능 실현

- 통신사가 목적으로 하는 다양한 서비스의 제공

- 응용 프로세스 상호간에 인터페이스와 통신을 위한 기능을 제공

프리젠테이션 층

(6 계층)

- 응용 층에서 주어진 정보를 공통으로 이해할 수 있는 구문으로 변환하는 기능 제공

- 통신하는 정보의 부호화, 암호화 등

- 다양한 표현 형식을 공통된 형식으로 변환

세션 층(5 계층)

- 프리젠테이션 층이 특성에 맞는 데이터를 교환할 수 있는 통신 방법을 제공

- 송신하는 권리의 제어(회화 담당)

- 다양한 응용기능을 만족하기 위한 전송제어 기능을 상위계층에 제공

- 송수신 제어와 양쪽 프로세스간의 데이터 전송을 위한 동기등의 처리를 담당

트랜스포트 층

(4 계층)

 

- 네트워크 층에 의존하지 않는 트랜스포트 서비스를 세션 층에 제공

- 송신측과 수신측 간에 정보 도달의 확인

- 하위계층을 이루는 각종 통신망의 서비스 결과 속성에 무관하게 균일한 데이터 전송을 세션 층에 제공

네트워크 층

(3 계층)

- 경로선택 기능 및 중계 기능을 제공

- 통신로의 채널 선택, 설정 및 해제 담당

- 단말과 컴퓨터는 서브 네트워크라 부르는 데이터 망(회선, 패킷망)과 전화 망 등의 다양한 통신망과 접속

데이터 링크 층

(2 계층)

- 인접하는 개방형 시스템간에 데이터 송수신을 수행하는 기능을 제공

- 통신로중의 한 구간의 오류 및 흐름 제어

- 시스템 양단간에 블록 전송이 이루어 지며 논리 네트워크에서 정확한 전송이 이루어지도록 통신로를 설정

물리 층

(1 계층)

 

- 데이터 링크층으로부터 인도된 데이터를 물리회선에 싣기 위한 기능 혹은 그 역의 기능을 제공

- 통신의 속도, 전압, 소켓의 핀수 등 정의

- 최하층으로 시스템간의 비트 전송이 전송로를 이용하여 수행

- 전기적 신호규격, 상호 접속회로, 제어순서와 기계적 규격등 정의



OSI 7계층의 역사적 등장 배경

 

1980년대 초 통신 기술의 발달과 개인용 컴퓨터의 보급으로 이 기종 컴퓨터간의 네트워크의 필요성이 절실하게 대두되자 국제표준협회(ISO)는 OSI(Open System Interconnection, 개방 시스템 상호 연결) 7 Layer라는 새로운 네트워크 모델을 발표 했습니다. 이 모델은 서로 다른 컴퓨터 기기간에 네트워크를 형성할 수 있도록 규정한 네트워크 모델 표준안 입니다. 이 모델은 모든 통신 관련 시스템, 즉 각종 네트워크 장비 및 컴퓨터기기 등에 동일하게 적용이 되는 개념이며 우리가 사용하고 접하는 모든 통신 관련 시스템은 이 OSI 7 Layer 범주에 속하게 됩니다.

이 OSI 참조 모델은 각 시스템의 하드웨어 및 소프트웨어 자원을 서로 다른 기능을 수행하는 7개의 계층으로 구분 했습니다..

 

각 계층은 가장 상위 계층에 속하는

응용층(Application Layer, 제7층),

표현층(Presentation Layer, 제6층),

세션층(Session Layer, 제5층),

전송층(Transport Layer, 제4층),

네트워크층(Network Layer, 제3층),

데이터링크층(Datalink Layer, 제2층)

그리고 가장 하위 계층에 속하는

물리층(Physical Layer, 제1층)등

7개의 계층으로 나누어집니다.

 

물론 모든 통신 시스템이 7계층을 다 가지고 있는 것은 아닙니다.

어떤 장비는 7계층을 다 구현(예, Gateway)한 기능을 가지고 있고 어떤 장비는 하위 1계층(예, 각종 케이블) 또는 3계층(예, 라우터) 만 구현한 장비도 있습니다.

다시 말하면 필요에 따라 모든 하드웨어 및 소프트웨어는 하나의 계층만으로 구현 될 수도 있고 여러 개의 계층에 걸쳐 구현 될 수도 있습니다.

 

두 컴퓨터가 서로 네트워크를 형성하여 데이터를 주고 받기 위해서는 7계층이 다 구현 되어야 하며, 각각의 계층은 서로 독립된 기능을 제공합니다. 서로 인접한 계층간에만 의존하게 됩니다.

OSI 참조모델의 제안 목적

 

OSI 참조 모델은 시스템간의 상호 접속을 목적으로 하는 각종 프로토콜의 표준을 개발하기 위한 공통 기반을 제공하는 것과, 기존 표준과의 관계 및 앞으로 개발되는 표준과의 관계를 명확히 하는 것을 목적으로 하고 있다. 또 이에 추가하여 앞으로 OSI가 표준화하려는 분야를 표시하고, 모든 관련된 표준들의 일관성을 유지하기 위하여 공통적으로 참조될 수 있도록 하는 것을 목적으로 하고 있으며, OSI참조 모델의 목적을 다음의 3가지로 집약할 수 있다.

 

- 시스템 상호간을 접속하기 위한 개념을 규정한다.

- OSI 규격을 개발하기 위한 범위를 정한다.

- 관련규격의 적합성을 조정하기 위한 공동적인 기반을 제공한다.

OSI 참조 모델은 각 계층의 프로토콜의 표준화를 생산적이며, 서로 독립적으로 수행할 수 있도록 통신의 개념과 그 기능에 대한 기준을 설정해 주는 것으로서, 통신 시스템을 설계하는데 있어서 통신 소프트웨어 등의 내장을 위한 사양이나 적합성을 규정하기 위한 것은 아니다.



◈ OSI 7 계층의 개념적 정의 및 특징

 

1. 계층적 기법을 사용 -- 관리와 사용의 효율성

2. 계층간의 독립성 -- 다른 계층에 영향을 최소화

3. 계층간의 상속성 -- 상위계층의 기능을 상속

4. 경계설정의 최소화 - 상호 동작의 수가 최소화되는 곳에 계층을 설정

5. 계층의 수를 최소화 


OSI 참조 모델의 동작

 

OSI 참조모델에서는 특정 시스템에 대한 프로토콜의 의존도를 줄이고, 장래의 기술 진보 등에 따라 프로토콜의 확장성을 고려하여 보편적인 개념과 용어를 사용하여 컴퓨터 통신망의 논리 구조를 규정하고 있다. 이 개념에 따라 OSI 참조모델은 통신 회선 등의 물리 매체에 결합된 하나 이상 복수개의 개방형 시스템이 통신망에서 특정한 업무를 분산하여 수행하기 위한 시스템간의 협동 동작(Cooperation)에 대하여 규정하고 있으며, 이 협동 동작에는 프로세스 상의 통신 데이터의 기억, 프로세스 및 자원의 관리, 안전 보호 및 프로그램의 지원 등이 있을 수 있다. 다음 그림은 이와 같은 목적으로 만들어진 OSI 참조모델의 7계층 구조에서 메시지가 전달되는 과정 보여주고 있다.

 

사용자 삽입 이미지

< OSI 참조모델 7계층의 동작 >

 

 

응용프로그램으로부터 만들어진 데이터는 OSI 참조모델의 각 계층을 거쳐 네트워크에 전달되고 최종적으로 목적지에 전송된다. 이 때 각 계층은 하위계층의 도움을 받아서 자신이 담당한 서비스를 제공하는데, 상위계층에서는 데이터에 필요한 정보를 담은 헤더(Header)를 붙여 하위계층으로 전달하게 되고, 하위계층은 상위계층의 헤더가 붙은 데이터를 전체 데이터로 인식하여 여기에 자신의 헤더를 붙여 하위계층에 전달하게 된다. 수신하는 쪽에서는 이와는 반대의 과정을 거쳐 응용프로그램에 데이터를 전달하게 된다. 응용프로그램이 메시지를 전달할 때는 OSI 참조 모델의 상위계층부터 동작이 이루어진다. 응용계층은 통신할 목적지를 찾아서 메시지를 전달하라는 명령을 표현계층으로 보내고, 표현계층은 상대방 컴퓨터와 내가 같은 컴퓨터 기종이라면 그대로 처리하고 다른 컴퓨터일 수도 있다면 표준화된 데이터 표현 방식으로 변환하여 하위 계층인 세션계층으로 보낸다. 세션계층은 목적지와 세션을 개설하기 위하여 전송계층에게 종점간 연결을 명령하고 전송계층은 네트워크계층에게 호 연결(Call Request) 및 패킷 교환기능을 이용하여 종점간의 정보전달을 제공한다. 모든 패킷은 링크계층의 정보 전달 단위인 프레임(Frame)에 실어 전송된다. 프레임을 구성하는 비트 정보는 전기신호 형태로 전송되며 이것은 물리계층에서 이루어진다.

 

OSI 참조모델의 7 계층 구조는 크게 상위계층(응용, 표현, 세션계층), 전송계층, 하위계층(네트워크, 데이터링크, 물리계층)으로 나누어볼 수 있는데 상위계층은 호스트 내부에서 처리되는 기능으로 계층 4부터 7까지에 해당된다. 전송계층은 두 장비의 연결을 확인하고 유지하는 기능을 수행하여 원격으로 떨어져 있는 장비들간의 거리의 문제를 해결하는 계층으로 전송계층으로 인하여 두 장비는 마치 옆에 있는 장비처럼 동작할 수 있게 된다고 할 수 있다. 하위계층은 OSI 참조 모델의 계층 1 에서부터 계층 3까지로 패킷의 전달을 처리하는 부분이다. 하위계층에 해당하는 프로토콜은 네트워크 내부에도 구현되어 있어 호스트들이 네트워크를 이용하려면 호스트에 있는 하위계층 프로토콜과 네트워크의 하위계층 프로토콜이 당연히 같아야 한다. 이 하위 계층을 서브네트워크(Sub-network)이라고도 한다. 다음 그림은 OSI 참조모델의 서브 네트워크를 나타낸 것이다.

사용자 삽입 이미지

< 서브 네트워크 

1 계층 : 물리 층(Physical Layer)

 

물리계층은 네트워크 케이블과 신호에 관한 규칙을 다루고있는 계층으로 상위계층에서 보내는 데이터를 케이블에 맞게 변환하여 전송하고, 수신된 정보에 대해서는 반대의 일을 수행한다. 다시 말해서 물리계층은 케이블의 종류와 그 케이블에 흐르는 신호의 규격 및 신호를 송수신하는 DTE/DCE 인터페이스 회로와 제어순서, 커넥터 형태 등의 규격을 정하고 있다. 이 계층은 정보의 최소 단위인 비트 정보를 전송매체를 통하여 효율적으로 전송하는 기능을 담당한다. 이를 위하여 커넥터의 기계적 규격(핀 간격 등), 0과 1의 신호를 구분하는 전압 레벨, 전송속도 등의 전기적 규격과, 데이터를 주고받기 위한 제어 신호의 사용 순서에 관한 규정을 정의한다. 컴퓨터 통신에서 물리 계층이 정상적으로 수행되고 있으면 두 장비 사이에 비트 단위의 데이터가 송․수신될 수 있는 환경이 갖추어져 있다고 할 수 있다.

 

네트워크의 데이터 전송속도는 이더넷의 경우 초당 10Mbps 정도로 매우 빠른 편이다. 일반 구리선(전화선)은 전송속도가 빨라지면 자체 정전용량이 생기고 주위 신호들과 간섭(전자파)이 일어나게 되므로 1Mbps 이상은 사용할 수 없다. 이 문제를 해결하려면 신호선 주위를 그라운드(Ground) 선으로 감싼 동축케이블을 사용해야 한다. 동축케이블은 거리에 따라 100Mbps 이상의 속도까지도 전송이 가능하다. 그러나 동축케이블은 가격이 비싸고 선이 두꺼워 공사가 불편한 단점이 있다. 그래서 그 중간 단계로 TP라인(Twist Pair Line)이 널리 쓰이고 있다. 이것은 신호 선과 그라운드 선을 꼬아서 만든 것인데 이렇게 함으로서 어느 정도 잡음의 영향을 줄일 수 있다. TP 케이블에는 UTP (Unshielded TP)와 STP(Shielded TP)가 있는데 TP는 선을 꼬으기만 한 일반적인 TP 케이블이고, STP는 UTP 주위를 다시 그라운드 선으로 감싼 형태의 케이블이다. UTP는 10Mbps까지, STP는 100Mbps까지도 전송이 가능하다. 더욱더 고속의 데이터를 전송하기 위해서는 광케이블이 사용된다. TP 케이블이나 동축케이블은 전기적신호를 이용하므로 전자파의 간섭이 없을 수가 없다. 그러나 광케이블은 빛을 사용하기 때문에 이론적으로 간섭이 0% 인 케이블이다. 선을 이용하지 않고 무선으로도 데이터를 전송할 수 있는데 무선 랜 등이 여기에 해당한다. 무선은 선을 이용하지 않기 때문에 케이블링 작업이 필요 없다는 장점이 있지만 현재 기술로 고속의 데이터 전송이 어렵다.

 

간단히 말하면 우리가 네트워크를 하기 위해서는 네트워크라인이나 라인들을 연결하수 있는 매체 즉 아웃랫, 링크 시키는 도구 등의 물리적인 장비들을 말한다.

즉, 물리 층은 시스템간에 물리적 링크를 작동시키거나 유지하며 전기, 기계, 절차 그리고 기능적 측면의 문제들을 정의한다

 

- 실제 물리적 연결설정 및 해제, 비트열 형태로 전송

- CCITT권장 4가지 특징(X21 프로토콜)

기계적 특징 : 접속기 규격, 핀 수정의

전기적 특징 : 신호의 전위규격(5v, 12v,..)과 timing

기능적 특징 : 각각의 신호의미 부여

절차적 특징 : 데이터 교환절차

- 전송매체 : 전화선(Twisted Pair), 도축, 광케이블

2 계층 : 데이터 링크 층(데이터-link Layer)

 

일단 이렇게 생각하면 쉽다. 물리적으로 연결되어있는 1계층 레이어가 마무리가 되었다면 실질적인 데이터들이 통과할 것이다. 이때 데이터들의 전송에 필요한 신뢰성을 책임질수 있는 계층이 바로 데이터링크 레이어이다.

 

데이터링크계층은 상위계층에서 보낸 데이터를 쪼개고 전송에 필요한 정보를 담아 하위계층인 물리계층에 전달한다. 정보를 전송하기 좋은 단위로 쪼갠 다음 헤더(목적지의 주소정보 등)를 붙이고 에러제어를 하는 경우 에러제어와 관련된 내용을 뒤에 붙여서 전송한다. 그리고 수신한 데이터에서 에러가 발생한 경우 재전송을 요구하는 등의 일을 수행한다. 데이터링크계층 역할은 크게 전송, 에러제어, 흐름제어로 나눌 수 있다. 즉, 물리계층으로 하여금 보다 신뢰성 있는 데이터의 전송 및 수신을 보장하도록 하기 위한 계층으로 비트의 흐름 제어, 데이터의 정형화된 포맷 정의(Frame Formatting), 오류를 감지하여 상위계층에게 보고 하는 상위계층과 하위계층의 연결관리(Link management) 등의 기능을 수행한다. 데이터링크계층에서 논리적 신호가 물리적 신호로 변환된다.

 

즉 데이터 링크 층은 물리적 링크를 통한 신뢰성 있는 데이터 전송을 제공한다. 이 계층은 물리적 어드레싱, 네트워크 토폴로지, 회선 사용 규칙, 오류 검출, 프레임 전달 그리고 흐름 제어 등에 관계한다.

 

- 데이터와 터미널사이 원활한 전송을 위한 흐름제어절차

- 전송절차에 따라 Data Link Service Unit(DLSU)전달

- 기능

순서, 오류, 흐름 제어

- Data Link 제어를 위한 표준 프로토콜

1. 문자위주의 링크 제어

BSC(Binary Synchronous Control)

-제어문자를 각 프레임에 삽입하여 전송제어

2. 비트 위주 전송

HDLC(High-Level Data Link Control)

- 전송프레임에 각각 특정 비트 패턴을 삽입하여

전송 및 흐름제어

 

가. 전송

전송은 비동기(Asynchronous)방식과 동기(Synchronous)방식으로 나눌 수 있다. 이는 클럭(Clock)의 유무로 구분되는데 클럭 없이 전송하는 경우를 비동기, 클럭과 함께 전송하는 경우를 동기라고 부른다. 예를 들어 비동기방식으로 ICQ라는 글자를 보내고 싶은 경우 ICQ의 ASCII코드 값(16진수로)인 49(I), 43(C), 51(Q)을 전송한다. 상위계층에서 49 43 51을 전달받은 링크계층은 49 43 51의 2진수에 해당하는 01001001 01000011 01010001을 전송한다. 전송하는 데이터에 대한 파형을 보면 <그림 2-5>와 같다. 이 파형만 가지고는 어디가 데이터 시작이고 어디서부터 값을 읽어야 하는지 찾기가 어렵다. 따라서 비동기방식에서는 데이터를 송수신하기 위하여 다음과 같은 약속을 하고 데이터를 전송한다.

나. 에러제어

데이터링크계층의 역할 중 전송 다음으로 중요한 것이 에러제어이다. 에러를 어떻게 발견하고 에러가 발견되었을 때 이것을 어떻게 처리할 것인가 하는 것을 에러제어라고 한다. 가장 기초적인 에러제어 방법으로 패리티비트를 사용하는 방법이 있다. 패리티는 대부분 바이트 단위로 패리티비트를 추가하여 전체 1의 개수를 짝수 개로 맞추는 짝수패리티와 홀수로 맞추는 홀수패리티가 있다. A글자의 경우 ASCII 코드로 0100 0001 임으로 짝수 패리티를 더한 신호는 0100 0001 0 이 된다. 그러나 표준 ASCII코드에서는 데이터를 한 바이트 전체에 표시하지 않고 데이터를 표시하기 위하여 한 바이트 중에서 7비트만 사용하고 나머지 한 비트는 패리티비트로 사용한다. 때문에 표준ASCII 코드를 사용하는 유닉스의 vi, 메일 등이 7비트 코드만을 다루고 있고 지금도 많은 혼란을 야기하고 있다. 받는 측에서는 데이터 비트 열과 패리티의 1을 카운트하여 짝수 패리티를 쓸 경우 1의 개수가 홀수개가 나오면 에러가 된다. 신호 열 내의 1의 갯수를 구하는 것은 간단한 로직으로 가능하기 때문에 쉽게 구현할 수 있다. 그러나 패리티는 각 바이트마다 1비트를 추가하므로 스타트 비트와 마찬가지로 막대한 낭비 요인이 되며 에러가 짝수 개 비트에서 발생한 경우 에러를 발견하지 못한다. 대부분의 에러는 한 두 비트가 깨지는 경우보다 여러 비트가 동시에 깨지는 경우가 많다. 전송속도가 9600bps의 경우 한 비트를 전송하는 시간이 104μsec 임으로 이렇게 짧은 시간만 데이터가 깨어지는 경우는 별로 없다. 이와 같이 데이터의 여러 비트가 동시에 깨어지는 경우를 버스트 에러(burst error)라고 하며 버스트 에러를 잡기 위해서는 블록 또는 프레임 단위의 에러 체크방법이 필요하다.

 

다. 흐름제어

대부분의 경우 우리가 전송하려는 데이터의 크기는 데이터링크계층에서 사용하는 프레임의 크기보다 훨씬 크다. 따라서 전송하려는 데이터를 여러 개의 프레임으로 나누어서 전송하게 된다. 만약 아무런 에러도 없고 1대 1로 연결되어있다면 송신 측에서 데이터를 전송만 하면, 수신측에서 데이터를 받게 될 것이므로 아무런 문제가 없을 것이다. 그러나 에러는 항상 존재할 수 있으며 또한 네트워크는 여러 개의 장비가 복수 개 물려있는 경우가 대부분이다. 따라서 프레임을 받은 쪽에서는 잘 받았다는 신호를 보낸 쪽으로 보내 안심을 시켜야 한다. 이러한 일련의 과정, 데이터를 순서대로 보내고 잘 받았는지 확인하고 못 받았을 경우 대처하는 방법을 흐름 제어라고 한다. 수신하는 쪽에서 송신한 쪽으로 데이터를 받았다고 보내는 신호를 응답(잘 받았을 경우는 : Acknowledgement 줄여서 Ack, 수신한 데이터에 에러가 있을 경우는 : Non-Acknowledgement 줄여서 Nak) 신호라고 부른다.

 

또한 흐름제어를 통하여 수신 장치의 용량 이상으로 데이터가 넘치지 않도록 송신 장치를 제어하는 일도 수행하게 된다. 수신 장치가 이전에 받은 데이터를 자신의 수신버퍼에서 처리하기 전에 송신장치가 다른 데이터를 전송하지 못하도록 제어한다. 즉, 송신장치는 수신장치로부터 응답신호를 수신하기 전에는 다음 데이터프레임을 전송하지 못하고 수신측에서는 수신버퍼에서 수신한 데이터프레임을 완전히 읽은 후 오류검사까지 완료한 후 응답신호를 송신측으로 보내게 된다. 이와 같은 흐름제어 방식에는 정지대기(Stop and Wait)방식과 슬라이딩 윈도우(Sliding Window) 기법이 있다. 정지대기 방식은 앞에서 설명한 것처럼 송신측에서는 데이터 프레임을 전송한 후 수신측으로부터 응답이 있을 때까지 다음 데이터 프레임을 전송하지 않는 방법을 말한다.

 

라. 다중접속제어

데이터링크계층의 또 다른 중요한 기능은 다중접속 제어(Multiple Access Control)이다. 앞에서 언급한 전송, 에러제어, 흐름제어는 일단 두 장치간에 일대일의 통신회선이 확보된 뒤의 이야기이다. 그러나 네트워크에서 많은 장치들은 한 라인에 묶여 있고 서로 대화를 원하므로 일단은 교통정리를 해야 한다.


3 계층 : 네트워크 층(Network Layer)

 

네트워크계층에서는 통신을 하고자 하는 노드들 간의 접속을 설정, 유지, 종료하며 주소지정, 통신 경로선정 등의 일을 수행한다. 데이터 패킷을 노드에서부터 다른 노드로 전달하고 노드들 간의 연결이 붕괴되었는가 점검하고 만약 붕괴되었으면 복구시키는 작업을 수행한다. 이 계층부터는 물리계층과 데이터링크계층의 두 하위 계층보다 비교적 소프트웨어적인 성격을 지니게 된다. 패킷 계층이라고도 하며 다음의 역할을 수행한다.

 

- 주소를 정하거나 논리적인 주소와 물리적인 주소를 번역한다.

- 네트워크 경로상의 모든 트래픽을 고려하여 최적의 경로를 선택 한다.

- 두 노드간의 논리적 연결을 수행하고 유지하며 접속지향 통신을 구축한다.

 

네트워크 계층이 하는 일은 네트워크 경로상의 모든 트래픽(Traffic)을 고려해서 데이터 패킷을 전송할 경로를 설정하여 하위 계층을 제어하는 것이다. 때문에 네트워크 계층은 자신이 속한 네트워크의 토폴로지를 알고 있어야 한다. 즉, 데이터 패킷을 보낼 때 목적지까지의 경로에 대한 복잡도를 고려해서 어디어디를 거처서 가라고 지시하는 것이다. 이처럼 데이터를 전송할 경로가 결정되면 데이터 전송은 네트워크계층 아래의 데이터링크계층을 이용하여 이루어지며 패킷의 올바른 전송 책임은 상위 계층인 트랜스포트계층이 지게 된다.

 

네트워크계층의 프로토콜은 크게 주소지정 프로토콜과 경로결정(Routing)라 프로토콜로 이루어진다. 전송하려는 상대 노드의 고유의 네트워크 주소를 인식하는 것은 주소지정 프로토콜에서 이루어진다. 즉, 논리적인 주소를 물리적인 주소로 번역하는 것이다. 경로결정 프로토콜에서는 목적지 노드로 가는 경로를 결정한다.

소프트웨어적인 요소의 층이다. 서로 다른 네트워크나 같은 네트워크의 연결에 사용되어지는 장비자체의 하드웨어와 소프트웨어의 규정을 만들어 놓은 것이지요. 레이어 설명 중 유일하게 "네트워크" 라는 글자가 들어있다.

 

그러므로 네트워크 레이어 층에서 핵심이 될 수 있는 기술과 내용을 함축하고 있으며 하드웨어 설계 시 많은 부분이 소프트웨어와 잘 어울리도록 노력하는 층이다.

즉, 네트워크 층은 다른 장소에 위치한 두 시스템간에 연결성과 경로 선택을 제공한다. 라우팅 프로토콜이 서로 연결된 네트워크를 통한 최적 경로를 선택하며 네트워크 층의 프로토콜은 선택된 경로를 따라 정보를 보낸다.

 

- 송수신지 간의 통신 경로 배정(Routing), 중계기능담당

- 대표적 프로토콜

X.25(패킷통신망의 표준)과 IP protocol

- 연결설정에 따라

1. 연결지향형 : 가상호출(Virtual Call)기법

- 논리적인 가상회선을 연결한 후 경로에 따라 전송

- 모든 패킷은 동일한 경로에 따라 전송

- 경로가 미리 설정된 관계로 고속전송이 가능

2. 비연결 지향형 : Datagram방식

- LAN처럼 연결설정없이 독립적으로 전송

- 서로 다른 경로 사용가능(망의 교통량에 따라 전송)

- 목적지 주소 부가하여 중계 전송함

 

 

이층서부터는 5,6,7 계층과 분리되어 설명 지울 수 있는 부분이다.

 

 

 

4 계층 : 트랜스포트 층(Transport Layer)

 

전송계층은 데이터를 전송하는 측과 수신하는 측 사이의 신뢰성 있고, 투명한 데이터 전송이 이루어지도록 한다. 즉, 송.수신측 간의 실제적인 연결설정 및 유지, 오류복구와 흐름제어를 담당한다. 전송계층은 하위계층의 각종 통신망 서비스의 차이 또는 속성에 관계없이 균일한 데이터 전송 서비스를 바로 위 계층인 세션계층에 제공하여, 상위 응용프로그램(Application) 위주의 계층과 하위 네트워크 위주의 계층 사이에서 둘을 서로 연결해 주는 역할을 수행한다. 특히 OSI 모델에서 전송계층 아래의 세 개의 계층을 서브넷(Subnet) 계층이라고 한다. 서브넷 계층의 역할은 송신측 노드에서 수신측 노드로 가는 패킷들을 실질적으로 전송하는 것이다. 신호나 데이터 패킷을 실질적으로 전송하는 일을 수행하는 브리지나 라우터 등은 이 세 개의 계층, 즉 서브넷 계층만을 이용한다. 서브넷 계층에서는 데이터 전송 시에 오류가 발생하면 오류 발생 데이터를 재전송 요청하거나 상위 계층에게 수정을 위한 정보를 통보하게 된다.

 

서브넷 계층의 전송 서비스는 연결지향 통신과 비 연결지향 통신 둘 다 제공한다. 연결지향 통신에서는 송신측과 수신측간의 연결을 먼저 설정하여 연결이 성공적으로 이루어지면 모든 데이터가 이 연결을 따라서 순차적으로 전송되고 전송이 완료되면 연결은 끊어진다. 이와 같은 연결지향 통신에서는 패킷들의 전송이 순차적으로 이루어지기 때문에 패킷들은 순서 번호를 부여받지 않아도 된다. 이와 반대로 비 연결지향 통신에서는 패킷들이 서로 독립적으로 전송되므로 각기 다른 경로를 통하여 목적지 노드로 갈 수 있기 때문에 패킷들이 목적지 노드에 도착하는 순서가 무작위이며 전송 도중에 데이터 손실이 발생할 수 있다. 따라서 전송에 앞서 패킷마다 반드시 일련번호를 할당해서 전송하여 목적지 노드에서 메시지가 정확히 재 조립될 수 있도록 한다.

 

또한 전송계층에서는 전송할 메시지를 상위계층인 세션계층으로부터 받아 패킷으로 쪼개고, 그리고 하위계층인 네트워크계층으로부터 받은 패킷은 세션계층에 사용하는 메시지로 재구성한다

트렌스포트란 말과 같이 데이터 전송에 따른 서비스를 제공할 수 있는 계층입니다. 데이터전송에 따른 신뢰성 및 유지성, 종료성, 전송시 나타날 수 있는 에러의 검출 및 복구, 또한 정보흐름의 절차 등을 제공하는 층이다.

즉, 트랜스포트 층은 데이터 전송 서비스를 제공하는 층이다.

 

- 상위계층과 하위계층의 중간계층

- 양 종단간의 실제적인 연결설정 및 유지, 투명한 데이터 전송보장

- 트랜스포트계층의 5등급

 

등급 특징 서비스 용도

Class 0

가장 간단한 형태 텔렉스 표준 CCITT 권고안

Class 1

기본적인 장애 회복 X.25 Packet Network

Class 2

다중화, 흐름 제어 Class 1의 향상

Class 3

Class 1 + Class 2 Class 2의 향상

Class 4

오류감지 및 복구 신뢰성 낮은 Network사용


 

5 계층 : 세션 층(Session Layer)

 

이층서부터는 애플리케이션에 관련된 층이라고 볼 수 있다. 각각의 네트워크로 연결되어 있을 수 있는 장비나 제일 밑단의 클라이언트들의 세션(네트워크 링크가 이루어져있는 단위)을 관장할 수 있는 층이다.

 

물리계층에서 전송계층까지의 주된 기능은 단순히 데이터를 전달하는 것이다. 이에 반해 세션계층에서 응용계층까지의 상위계층의 주된 기능은 데이터를 송수신하는 양쪽의 종점 컴퓨터 내의 프로세스간의 통신 프로토콜이라 할 수 있다. 세션계층은 응용프로그램간의 대화를 유지하기 위한 구조를 제공한다. 최소한의 기능은 두 응용프로그램간의 연결 설정, 유지 및 종료이다. 그밖에도 분실데이터의 복원을 위한 동기화지점을 두어 상위계층의 오류로 인한 데이터 손실을 복원한다. 세션(Session)의 사전적 의미는 회의 등 여러 가지 의미가 담겨있다. 하나의 세션을 만든다는 것은 같은 계층의 송․수신측이 함께 회의를 한다는 것이다. 예를 들어 우편 시스템에서 편지가 목적지에 잘 배달되었다 하여도 상대방이 편지를 받고 싶은 의사가 없다면 편지는 버려지거나 되돌아오게 된다. 컴퓨터 통신에서도 어떤 목적을 달성하기 위해서는 이를 처리하는 프로세서들이 서로 논리적으로 연결되어 있어야 하며 세션계층이 이를 담당한다. 세션계층은 이외에도 네트워크상의 오류에 대해 정형화된 절차를 거쳐 복구활동을 한다. 데이터 송.수신 중 오류가 발생하면 처음부터 재전송 하는 것이 아니라 오류가 발생한 지점 이후의 데이터만 재 전송하도록 한다. 세션계층은 네트워크 연결에서 컴퓨터상의 어플리케이션(Application)이 세션이라는 창을 통해 연결을 공유하는 것을 가능하게 한다. 이 세션계층은 동기화, 네트워크 오류 검사 및 복구 기능을 수행한다.

 

즉, 세션 층은 애플리케이션간에 세션을 구축하고 관리하며 종료시키는 역할을 하는 층이다. 세션 층은 프리젠테이션 층 사이의 대화를 동기 시키며 데이터 교환을 관리한다.

 

- 사용자 위주의 논리적인 연결서비스 제공

- 전송모드 결정(반이중, 전이중, 단방향, 병렬, 직렬, 동기, 비동기)

- 대화와 동기를 위한 데이터 교환을 관리(송수신의 동기권제어)

- 토큰(Token:특정서비스 요구권리)

 

 

 

 

6 계층 : 프리젠테이션 층(Presentation Layer)

 

설명을 쉽게 하자면 이렇다. 각각의 애플리케이션들의 정보를 서로 잘 통신할 수 있도록 필터하고 변환하는 층이라고 설명할 수 있다.

 

표현계층은 응용계층으로부터 넘겨받은 데이터를 세션계층이 다룰 수 있는 형태로 바꾸고 반대로 세션계층에서 넘겨받은 데이터를 응용계층이 이해할 수 있는 형태로 바꾸고 전달하는 일을 담당한다. 상위계층인 응용계층에서 표현하는 다양한 표현양식(통상 추상구문이라 칭함)을 공통적인 전송형식(통상 전송구문이라 칭함)으로 변환하여 사용자들이 사용하는 데이터의 표현 형식을 전송형식과 무관하게 사용할 수 있도록 해 주는 환경을 제공한다. 이를 위하여 응용계층의 사용자 입장의 데이터표현 형식인 추상구문을 표준화 형식으로 정의한 추상구문표기법을 표준으로 정의하고 있으며, 또한 전송구문을 위한 기본 부호화 규칙도 표준으로 정의하고 있다. 즉, 표현계층은 응용계층의 다양한 정보의 표현 형식을 공통의 전송형식으로 변환하고 암호화 및 데이터 압축기능 등을 수행한다. 마이크로소프트 네트워크에서는 리다이렉트(Redirect) 기능이 이 계층에서 제공되는데, 네트워크 리다이렉트는 네트워크 상에 있는 자원, 예를 들어 파일 서버 상의 파일을 윈도우 탐색기 등을 통해서 볼 수 있도록 해준다. 네트워크 리다이렉트는 네트워크 인쇄에도 적용되기 때문에 원격 프린터가 로컬 컴퓨터에 접속된 것처럼 만들어 주기도 한다. 표현계층에서 행하는 데이터변환의 대표적인 것이 인코딩, 디코딩과 암호화이다

 

즉, 프리젠테이션 층은 한 시스템의 애플리케이션에서 보낸 정보를 다른 시스템의 애플리케이션 층이 읽을 수 있도록 하는 층이다.

 

- 응용계층의 다양한 정보표현 양식을 수용

- 사용자가 이해하는 문장(추상구문)을 전송형태의 구문(전송구문)으로 변환

- 암호화, 데이터 압축 수행

 

 

 

 

 

 

7 계층 : 애플리케이션 층(Application Layer)

 

애플리케이션 층은 OSI 모델에서 유저와 가장 가까운 층이다. 이 계층은 OSI의 다른 어떤 계층에도 서비스를 제공하지 않는다는 점에서 다른 계층과 다르다. 이 계층에는 스프레드 쉬트, 워드 프로세싱 등이 속한다.

일반 어플리케이션이 이에 모두 속한다고는 볼 수 없으며 응용계층은 사용자에게 서비스를 제공하고 사용자가 제공한 정보나 명령을 하위계층으로 전달하는 역할을 수행한다. 우리가 잘 알고 있는 telnet, FTP, SMTP, POP, SNMP, WWW 그리고 마이크로소프트 네트워크와 노벨 네트워크 등이 이 서비스에 해당된다.

 

- 최상위 계층으로 사용자에게 통신을 위한 각종응용서비스 제공(전자우편, FTP,..)

- X.400 protocol 사용 


 


 

Posted by 응이
보오 레이트(baud rate)란 1초당의 변조횟수인데, RS232C 인터페이스에서 변조횟수와 전송속도(bps:bit per second)가 일치하므로 단위로서는 보오(baud) 또는 bps가 사용된다. 데이터의 전송속도는 송수신에 필요한 프로그램의 실행속도와 통신 케이블 등의 통신매체의 특성에 따라 크게 좌우된다.

※ 보오는 1초당 변조횟수이고, bps는 1초당의 전송 횟수이다. 따라서 변조방식을 연구하면 1회의 변조에 의해 2비트 또는 그이상의 정보량을 전송할 수 있다. RS232C 인터페이스는 전압의 High와 Low로 변조(AM 변조)하고 있으므로 1회의 변조로 1비트의 정보량을 전송하는 셈이 되며, 보오와 bps는 일치한다.


데이터 통신 속도

 

   데이터 전송 속도는 비피에스(BPS : Bit Per Second) 또는 보오 레이트(BAUD Rate)로 나타낸다.

   BPS란 1초에 몇 개의 비트가 전해지는가를 말한다. 1200BPS는 1초에 1200개의 비트가 전달되는 것이며, 9600BPS는 1초에 9600개의 비트가 전달된다. 그러나 보오 레이트(Baud Rate)는 약간 다르다.

   대부분의 신호 전달은 하나의 신호에 하나의 비트로 대응된다. 이 경우에는 비피에스와 보오 레이트가 같다. 그러나 하나의 신호에 두개 또는 세 개의 비트가 전달되는 경우도 있다. 두개인 경우는

   디비트(Di-Bit), 세 개인 경우는 트리비트(Tri-Bit)라고 하며, 네 개인 경우는 쿼드비트(Quad-Bit) 라고 한다.

   보오 레이트는 1초에 몇 개의 신호가 전달되는가를 나타내는 단위이다. 디비트를 이용하여 1200BPS로 통신을 하는 경우에 보오 레이트는 1200의 반인 600 BAUD가 되며 트리비트인 경우에는 BPS의 ⅓인 400 BAUD 이다. 신호와 비트의 대응은 변복조에 관련된 것으로, 고속 통신을 하고자 하는

   경우에는 효율과 정확성이 높은 방법을 택하여 통신을 하게 된다.

Posted by 응이

RS232와 422 488에 대한 설명

Posted by 응이
사용자 삽입 이미지





Win32 콘솔...
데이터 부분 한글 깨진다..
Tcp 구조체 좀 바깠음.. 비트연산자로 사용
메인에서 조건문 확인 요망.

내용들 주석처리 안했다.. 생각하면서 봐라 ㅋㅋ(나도 가물가물하니깐 -0-)
Posted by 응이
1

Dream come true.
응이

달력

태그목록