ISO및 CCITT에서 권고하는 개방형 시스템 상호 접속 (OSI:Open System Interconnection)을 위한 참조 모델(reference model)
OSI 참조 모델은 컴퓨터 통신망 구조의 기본 모델이며 7계층으로 구성되어 있다

주요 용어

  • OSI 모델 :
    서로 개방되어 있는 시스템 간에 정보를 교환하기 위한 표준
  • 캡슐화 :
    데이터에 각 계층의 제어정보를 추가하는 것
  • 역캡슐화 :
    캡술화의 반대 개념으로 최하위 물리 계틍에서 퇴상위 응용 계틍까지 데이터 전달에서 각 계층의 제어정보를 제거하는 것
  • CASE :
    공통 응용 서비스 요소로 응용에 무관하게 개방 시스템 접속을 위한 방법 제공

OSI 참조 모델의 개요

OSI 참조 모델의 목적

  • ISO 7498 (198년)
    HW/SW 관계없이 서로 다른, 개방되어 있는 시스템 간에 통신을 용이하게 하는 데 목적
  • 개방형 시스템의 상호접속을 위한 참조 모델
  • 이기종(heterogeneous) 시스템간의 통신이 가능하도록
  • 개방(형) 시스템 : 적용 가능한 표준을 상호 인정하고 지원

OSI의 계층

  • 7계층 OSI 참조 모델
    • 응용 계층 (Application Layer)
    • 표현 계층 (Presentation Layer)
    • 세션 계층 (Session Layer)
    • 전송 계층 (Transport Layer)
    • 네트워트 계층 (Network Layer)
    • 데이터링크 계층 (Data Link Layer)
    • 물리 계층 (Physical Layer)
  • 중계 개방 시스템을 갖는 계층
    • 네트워크
    • 데이터링크
    • 물리

계층의 분리원칙

  1. 너무 많은 계층으로 분리함으로써 각 계층에 대한 설명과 이들에 대한 조합이 필요 이상으로 많지 않아야 한다.
  2. 서비스의 양이 적고 최소의 상호 작용이 일어나도록 경계를 정해야 한다.
  3. 수행하는 일의 측면에서나 필요로 하는 기술의 측면에 있어서 명백히 서로 다른 기능들을 다룰 수 있도록 계층을 설정한다.
  4. 비슷한 기능들은 같은 계층에 존재하도록 한다.
  5. 과거의 경험에 의해 성공적이라 판단되는 곳에 경계를 설정한다.
  6. 쉽게 세분화되는 기능을 하나의 계층으로 한다.
  7. 필요한 경우 표준화된 인터페이스를 가질 수 있는 곳에 경계를 설정한다.
  8. 데이터에 대한 조작, 즉 구문(syntax), 의미(semantic) 등의 추상적 개념에 대해 서로 다른 수준을 필요로 하는 곳에서 계층을 설정한다.
  9. 각 계층은 단지 상위 계층과 하위 계층에 경계를 갖도록 한다. 즉, 다른 계층과는 전혀 무관하도록 한다.

각 계층이 필요한 이유

  • 물리 계층 :
    종단 간을 연결 하려면 다양한 물리적 매체를 사용하는 구조가 필요
  • 데이터링크 계층 :
    전화회선, 광섬유 등 물리적 통신 매체를 사용할 결루에 서로 다른 데이터링크 제어 절차가 필요함
  • 네트워트 계층 :
    전송주체(송/수신자) 사이에 중간 노드가 있는 경우에도 전송 주체 간의 연결 통로(네트워크 연결)를 제공해야 함
  • 전송 계층 :
    발신지 시스템에서 목적지 시스템까지의 신뢰성 있는 데이터 이동을 제어할 필요가 있음
  • 세션 계층 :
    대화를 조직하고 동기화하거나 데이터 교환을 관리할 필요가 있음
  • 표현 계층 :
    응용 프로그램의 구조화된 데이터를 표현하고 조정하는 기능이 필요함
  • 응용 계층 :
    응용 프로그램을 위한 프로토콜을 함께 관리할 필요가 있음

캡슐화

데이터에 각 계층의 제어정보를 추가하는 것
Service Data Unit + Protocol Control Information => Protocol Data Unit
SDU + PCI = PDU

  • 응용 계층 : Data
  • 표현 계층 : APDU
  • 세션 계층 : PPDU
  • 네트워트 계층 : SPDU
  • 전송 계층 : TPDU
  • 데이터링크 계층 : NPDU
  • 물리 계층 : DLPDU

각 계층의 목적 및 기능

응용 계층

  • 기본적인 서비스
    • 각 사용자에게 속하는 서비스
    • 각 응용에 속하는 서비스 요소
    • 공통 응용 서비스 요소
  • CASE(Common Application Service Element) :
    응용에 무관하게 개방 시스템 접속을 위한 방법 제공
  • 응용 계층의 기능
    • 응용 계층 기능들의 그룹화
    • 응용 프로세스 관리
    • 시스템 관리
    • 응용계층 관리

표현 계층

  • 응용 계층과 세션 계층 사이
  • 목적 : 응용체들 사이의 데이터 교환
    • 응용체들이 통신하거나 참조할 수 있도록 정보를 표현하는 기능을 제공
    1. 응용체간에 교환되어야 할 데이터를 표현
    2. 응용체들의 총신에서 참조할 수 있는 데이터 구조를 표현
  • 구문독립성 (syntac independence) 제공
    • 표현 계층은 데이터가 표현되는 구문(syntax)에만 관계하며, 응요 계층과 관계있는 의미(semantics)와는 무관
    1. 구문 변환(syntax transformation) :
      코드와 글자의 변환, 데이터 구조의 변환, 데이터 구조에 대한 연산의 결정등
    2. 구문 선택(syntax selection) :
      초기에 알맞는 구문을 선택하고 선택한 구문을 수정하는 것을 포함
  • 표현 계층의 기능
    • 구문의 변환
    • 구문의 절충
    • 주소지정과 다중화
    • 표현 계층 관리

세션 계층

  • 표현 계층과 전송 계층의 사이
  • 목적 : 표현체들 사이의 데이터 교환
    • 표현 계층들의 대화(dialogue) 세션의 형성과 동기, 정상적인 데이터의 교환
  • 세션 계층의 기능
    • 세션 연결 설정 (end-to-end 세션 연결 구성)
    • 정상적인 데이터 통신 (흐름 제어 등 포함)
    • 세션 연결 해제
    • 신속 데이터 (expedite data) 전송
    • 세션 연결 복구
    • 세션 계층 관리

전송 계층

  • 세션 계층과 네트워크 계층의 사이
  • 목적 : 세션 계층들 사이의 데이터 교환
    • 세션을 갖고 있는 두 이용자 사이의 정확한 데이터 전송 서비스를 제공
  • end-to-end message delivery
  • 가능한 네트워크 서비스를 최대로 이용하여 최소의 경비로 각 세션 계층의 요구 사항을 수행
  • 전송 계층의 기능
    • 주소 변환 (전송 주소를 네트워크 주소로 변환)
    • end-to-end 전송 연결 구성
    • 다중화와 분리(splitting)
    • 전송 연결의 설정과 해제
    • 각각의 연결에 대해서 양 종단간의
      • 순서제어, 오류 검출, 오류 복구, 흐름 제어
      • segmenting, blocking, concatenation
    • 신속 데이터 전송
    • 전송 계층 관리

네트워트 계층

  • 전송 계틍과 데이터 링크 계층 사이
  • 목적 : 전송체들 사이의 데이터 교환
    • 라우팅(routing) 전략을 사용하여 데이터를 송신지 컴퓨터로부터 여러 네트워크를 거쳐 수신지 컴퓨터까지 전달
  • 네트워크 계층의 기능
    • 경로선택과 중계(routing and relaying)
    • 네트워크 연결(network connection)
    • 네트워크 연결의 다중화
    • 세그멘팅과 블로킹
    • 오류 검출 및 오류 통보
    • 순서 냐열(sequencing)
    • 흐름제어
    • 신속 데이터 전송 서비스
    • 네트워크 계층 관리

데이터링크 계층

  • 네트워크 계층과 물리 계층의 사이
  • 목적 : 네트워크체들 사이의 데이터 교환
    • 네트워크체들 사이에 데이터링크 연결을 설정, 유지, 해제하여 데이터(데이터링크 SDU)를 교환
    • node-to-node delivery
  • 데이터링크 계층의 기능
    • 데이터링크 연결의 설정 및 해제
      • node-to-node 데이터링크 연결 구성
    • 데이터 링크 SDU의 전송
    • 네트워크 연결 종단 확인명 제공
    • 순서나열(sequencing)
    • 오류 검출, 오류 복구 및 오류 통보
    • 흐름 제어
    • 데이터 링크 계층의 관리

물리 계층

  • 데이터링크 계층 아래
  • 목적 : 데이터링크체들 사이의 데이터 교환
    • 물리적 연결의 설정, 유지, 해제를 통해 하나의 노드에서 다음 노드까지 각 비트를 전송
  • 물리 계층의 기능
    • 물리적 연결(physical connection) : 물리적 매체와의 인터페이스
    • 물리적 서비스 데이터(PSDU)의 전송 : 비트의 복호화 및 부호화, 비트 전송 속도, 비트 동기화
    • 물리적 연결 종단 확인명(endpoint identifier) 제공
    • 물리 계층 관리

요약

  1. OSI 모델의 목적은 특정 시스템의 하드웨어나 소프트웨어에 관계 없이 서로 다른 시스템 간에 통신을 용이하게 하는 것.
  2. OSI의 참조 모델은 7개의 계층으로 구성됨.
    응용, 표현, 세션, 전송, 네트워크, 데이터링크, 물리
  3. OSI 참조 모델에서 계층화란 계층과 계층을 구문하는 것으로 경계가 어디서 어떻게 이루어져야 하는 지 등에 관한 일반적인 원틱을 따름.
    이 원칙이란 크게 보면 컴퓨터과학에서 사용해오는 체계적인 접근방법에서 중요시하는 원칙임.
    System approach : modular design, component-based design, object-oriented design
  4. 캡슐화란 전송하고자 하는 데이터에 해당 계층의 제어정보를 추가하는 것임.
    이때 전송하고자 하는 데이터는 SDU(Service Data Unit)이라 하고, 제어정보는 PCI(Protocol Control Information), SDU에서 PCI를 추가한 데이터를 PDU(Protocol Data Unit)라고 부름.
  5. 응용 계층은 사용자에게 OSI 모델로서의 액세스와 분산정보 서비스를 제공함.
  6. 표현 계층은 데이터의 표현상에 존재하는 상이점으로부터 응용 프로세스에 독립성을 제공함.
  7. 세션 계층은 응용 간의 통신을 위한 제어구조를 제공하며, 서로 연관된 응용 간의 접속을 설정, 유지, 종결함.
  8. 전송 계층은 종점 간의 신뢰성 있고 투명한 데이터 전송을 제공, 두 종점 간 오류 복구와 흐름제어를 제공함.
  9. 네트워크 계층은 시스템 간을 연결하는 데이터 전송과 교환기법으로부터의 독립성을 유지하여 상위 계층에 제공하며, 접속의 설정, 유지, 종결의 책임을 짐.
  10. 데이터링크 계층은 물리적 링크 간의 신뢰성 있는 정보 전송을 제공하며, 필요한 동기화, 오류제어, 흐름제어를 담당, 데이터의 블록을 전송함.
  11. 물리 계층은 물리적 전송매체상의 비트 스트림 전송에 관한 기능을 담당함. 물리적 전송매체에 접속하기 위한 기계적 / 전기적 / 절차적 특성을 취급함.

 

출처 : 방송통신대 강의 자료실 정보통신망 강의록

 
728x90
반응형

'Computer Science > Network' 카테고리의 다른 글

LAN; 근거리 통신망 - II  (0) 2022.06.12
LAN; 근거리 통신망 - I  (0) 2022.06.12
TCP/IP - III  (0) 2022.06.12
TCP/IP - II  (0) 2022.06.12
TCP/IP - I  (0) 2022.06.12

ASP 응용프로그램 객체

어떤 목적을 수행하기 위해 함께 작동하는 ASP 파일 그룹을 응용 프로그램이라고 함.

 


응용프로그램 객체

웹상의 응용 프로그램은 어떤 목적을 수행하기 위해 함께 작동하는 여러 ASP 파일로 구성될 수 있음. Application 객체는 이러한 파일을 함께 묶는 데 사용됨.

어플리케이션 개체는 세션 개체와 마찬가지로 모든 페이지의 변수를 저장하고 엑세스하는 데 사용됨. 차이점은 모든 사용자가 하나의 응용 프로그램 개체를 공유한다는 것임. (세션에는 각 사용자에 대해 하나의 세션 개체가 있음.)

어플리케이션 개체는 데이터베이스 연결 정보와 같은 어플리케이션의 많은 페이지에서 사용할 정보를 보유함. 정보는 모든 페이지에 엑세스 가능. 정보 변경도 한 곳에서 가능하며, 변경 사항은 자동으로 모든 페이지에 반영됨.

 

 


어플리케이션 변수 저장 및 검색

어플리케이션 변수는 어플리케이션의 모든 페이지에서 엑세스하고 변경 가능함.
"Global.asa"파일에서 어플리케이션 변수를 만들 수 있음.

  <script language="vbscript" runat="server">
    // vartime, users라는 두개의 응용프로그램 변수 생성
    sub Application_OnStart
      application( "vartime" ) = ""
      application( "users" ) = 1
    end sub
  </script>
  There are <%=application( "users" )%> active connections.

 

 


콘텐츠 컬렉션을 통해 반복문

Contents Collection에는 모든 어플리케이션 변수가 포함됨. 콘텐츠 컬렉션을 반복하여 컬렉션에 무엇이 저장되어 있는지 확인 가능.

  dim ac
  for each ac in application.contents
    response.write( ac & "<br/>" )
  next

contents에 대해 count 속성 사용 가능

  dim acCnt
  acCnt = application.contents.acCnt

  for ac = 1 to acCnt
    response.write( application.contents( ac ) & "<br/>" )
  next

 

 


StaticObjects collection을 통해 반복문

StaticObjects 컬렉션을 반복하여 어플리케이션 객체에 저장된 모든 개체의 값을 볼 수 있음.
세션에선 안 됐는데 이게 될 까?

  dim so

  for each so in application.staticojbects
    response.write( so & "<br/>" )
  next

 

 


잠금 및 잠금 해제

"lock"으로 어플리케이션을 잠글 수 있음. 어플리케이션이 잠긴 경우 사용자는 현재 액세스 중인 변수를 제외한 어플리케이션변수를 변경할 수 없음.
"unlock"으로 어플리케이션의 잠금을 해제할 수 있음.

  application.lock
  ' do come application object operation
  application.unlock

728x90
반응형

'WEB > ASP' 카테고리의 다른 글

[ASP] global.asa  (0) 2021.08.30
[ASP] #include  (0) 2021.08.27
[ASP] 세션  (0) 2021.08.27
[ASP] 쿠키  (0) 2021.08.26
[ASP] form  (0) 2021.08.26

+ Recent posts