protocol metholgy

박진은·2022년 5월 5일
0

컴퓨터 네트워크

목록 보기
5/12

protocol metholgy

  • Protocol stack design이란 아래를 정립하는 것임
    • layer별 기본 개념과 역할
    • peer entity간 상호 작용
    • 위아래 인접 layer간 상호 작용
    • 보통 specification이란 문서 형태로 design이 표현됨
  • Layer Design
    • Layer design은 한 layer 내의 entity 구조 및 각 entity에 대해 표
      Specification requirement들을 바탕으로 내부 동작에 대해
      설계
  • prodiscription
    • protocol disign의 실체는 아래와 같이 선언적 문장들으이 모음이다
    • If xxxx, then yyyy, else zzzz….
      요구사항의 열거와 같은 느낌
    • Protocol 구현은 이 선언적 문장들의 모음을 HW 혹은 SW 혹은 HW/
      SW 혼합으로 만드는 것
    • 예시로 identification 을 들 수 있는데 이는 pdu가 수신되면 첫 byte의 내용이 내 id 번로를 대조해서 같으면 upper layer로 올리고 다르면 버린다 - 라는 기능이 명시되어있으면 이를 구현하면 되는 것임
  • Service and Protocol Specification
    • protocol에 대한 표현은 일반적으로 service / protocol specification로 표현됨
    • specification: 설명서 사양 정의
    • 프로토콜에 대한 구현 및 검증에 대한 레퍼런스가 포함되어있다
    • 정확하고 특이하고 와벽하고 충분히 추상화가 되어있어한다
      • 동일한 기능을 구현하게 하면서 구현에 대한 자유성을 보장하는 것이다
      • 즉 겉으로 드러나느 동작을 정확하게 정의하는 것이며 내부 메커니즘을 세세하게 정의하는 것은 아니다
    • 호환성과 적합성을 보장하기 위해서 서로 다른 구현 결과가 spec.에 기반하여 서로 호환된다.
    • Service specification : specifies WHAT 무슨 서비스를 제공할 것인가? service interface 상에서의 service provider-user간 interaction 정의한것이 service specification이다
    • Protocol specification : specifies HOW 이 서비스가 어떻게 제공될 것인가? peer entity에 의해 service가 제공는 과정 정의
    • Behavior-oriented representation
      • entity의 동작을 기반으로 표현하고 entity간 상호작용은 직접적으로 표현하지 않음는다
    • Communication-oriented representation
      • entity간 상호작용 순서대로 표현 Message Sequence Chart (MSC)
    • 대부분 behavior-oriented을 사용
      • entity를 중심으로 일어나는 일을 알아보기 쉬움

      • finite state machine 모델링하기 적합하다

      • 다만 시간 순서대로 상대방 entity간 작용하는 동작 과정에 대해서는 추가 분
        석을 통해 파악할 수 있음

        formal description

      • 대채로 대부분의 service protocol은 제각기의 문서형태로 표현되고 있음

        • text + 그림등으로
        • protocol 구현 입장에서는 이 문서들을 모아서 퍼즐 맞추듯 짜맞추는 작업이 필요하다(spec 분석이라고 함)
        • 두가기 관점에서 단점이 존재한다
          1. 서로다른 해석이 될 여지가 잇음 ambiguous
          2. insufficient delvelopment tool : 개박과정에서의 검즈용 도구 제공이 열악함
      • 이렁 이유로 fromal description 이 실제로는 더 진보되 protocol 표현방방법이다

      • Formal description
        - formal descrition texjnique : 규정화된 방법으로 prorocol을 표현하는 방법이다
        - fromal 한 문법 및 표현 법으로 protocol을 기술 오모함을 방지하고 검증에 대한 방법도 제공한다

        finite state machine 하나의 기계를 디자인하는툴이다

    • 여러개의 state를 오가는 형태로 PROTOCOL동장을 표현하는 방법
      • state input output transition function으로 구성

      • transition 은 (s,i,o,s’)로 정의

      • transition diagram으로 한눈에 표현 가능하다

      • 한 protocol은 여러개의 sub-automata를 가질 수 있다

      • 각 sub automata는 siot 정의가 있고 독리벅인 state transition이 일어난다

      • asyncrhronous soupling - 각각의 레이어 혹은 서브 오토마타각 각각 하나의 이벤트를 처리하는것

      • sychronous coupling 하나의 이벤트에 대해서 레이어 혹은 오토마타 전부가 달려들어서 처리하는 방법

      • state 에 contextinformation이 있는데 이는 상황에 따라 state는 달라진다는 것이다

      • Specification and Description Language (SDL)
        • ITU-T 기구에서 1970년대에 정의
        • Unified Modeling Language (UML)
        • software engineering 분야에서 자주 쓰이는 설계 도구
        • ASN.1 : 메시지에 대한 표현 방법

        프로코콜 디자인하는 과정

        Protocol Development
        Process
        • Requirement analysis : 만들고자 하는 대상에 대한 분석
        • requirement definition 완료
        • Service/protocol design
        • service/protocol specification 생성
        • Implementation design : 실제 protocol을 구동하는 시스템 구현 설계
        • protocol specification에 구체화되지 않은 target system 정의
        • implementation specification
        • Verification stage : design에 대한 기능성 검증
        • specific/general property verification

profile
코딩

0개의 댓글