ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [정보통신공학] Protocol Architecture (2)
    Major/Data and Computer Communications 2022. 4. 26. 21:39

    지난 포스팅에 이어 이번에도 protocol architecture 에 관한 공부를 해보겠다
    지난 글에 network access protocol 까지 정리가 되어있다

     

    TCP/IP Protocol Architecture

    * tcp/ip?
    TCP/IP란 tcp 와 ip를 합쳐서 말하는 것
    tcp/ip를 사용하겠다는 것은 ip 주소 체계를 따르고 ip routing을 이용해 목적지에 도달하며 tcp의 특성을 활용해 송신자와 수신자의 논리적 연결을 생성하고 신뢰성을 유지할 수 있도록 하겠다는것을 의미

    즉, 송신자가 수신자에게 ip 주소를 사용하여 데이터를 전달하고 그 데이터가 제대로 갔는지, 제대로 받았다고 연락은 오는지에 대한 이야기

    - Result of protocol research and development conducted on ARPANET
    - Referred to as TCP/IP protocol suite
    - TCP/IP comprises a large collection of protocols that are Internet standards

     

    TCP/IP Layers

     

    (1) Physical Layer

    - 데이터 전송 장치(예: 컴퓨터)와 전송 매체 또는 네트워크 간의 물리적 인터페이스를 다룬다
    - 전송 매체의 특징, 신호, 데이터 속도 등에 대한 이슈에 관여
    - ex) Twisted pair, optical fiber, satellite, terrestrial microwave

    (2) Network Access Layer

    - end system과 그것에 접근하는 network 사이 데이터 교환에 관여
    - end system 사이 data 교환은 같은 네트워크일 때 가능
    - software : network 에 의존적
    - 상위 계층과 독립적임
    - reliable delivery 를 제공
    - ex) Ethernet, Wifi, ATM, frame relay

    (3) Internet Layer

    - 연결된 여러 네트워크를 통해 데이터를 전송하는데 필요한 절차를 구현한다
    Implements procedures needed to allow data to travel across multiple interconnected networks
    - routing 기능을 위해 IP 사용
    - Router가 두 네트워크를 연결하고 그들 사이의 data를 relay한다
    - ex) IP


    (4) Transport (Host-to-Host) Layer

    - Common layer shared by all applications
    - Reliable delivery of data
    - Ordering of delivery (in the same order as sent)
    - Commonly use TCP (Transmission Control Protocol)
    - ex) TCP, UDP

    (5) Application Layer

    - Contain logic to support various user applications
    - Need a separate module for each application
    - ex) SMTP, FTP, SSH, HTTP

    * network access, transport, application layer는 protocol architecture (1) 포스팅에 설명되어있음

     

    Operation of TCP and IP


    - Application & TCP : host에만 있다 (Router에도 달 수 있지만 시간도 길고 비싸다)
    - IP-IP / Net-Net 등 : 같은 계층끼리만 통신한다 (프로토콜) (peer layer communication)

    Addressing level

    - two levels of addressing

    ① Network level address 
    : 어떤 컴퓨터로 가는지
    : subnetwork에 있는 각 host는 반드시 독특한 internet address를 가지고있다
    : data가 적절한 host에 도착할 수 있도록 해준다

    ② Process within the system
    : 컴퓨터 내부 어디로 가는지
    : host에 있는 각 process는 host 내부에서 반드시 독특한 각각의 port address를 가지고있다
    : TCP가 적절한 process로 data를 전송할 수 있게해준다

     

    PDUs in TCP/IP

    각 계층에서 PDU를 칭하는 단어가 다르다

    - transport layer : segment 
    - internet layer : datagram
    - network access layer : frame

    그리고 상위 계층에서 내려온 data를 payload라고 한다
    ex) TL PDU가 internet layer 으로 내려옴 > tcp segment = IP payload

     


     

    Transport layer의 예로 TCP, UDP가 있었다
    이것에 대해 좀 더 알아보자

    TCP (Transmission Control Protocol)

    - Provide reliable connection for transfer of data between applications
    - Connection 
    : Temporary logical association between two entities in different systems
    - TCP PDU (TCP segment) 
    : Includes source and destination ports
     > 각 사용자(애플리케이션) 식별 Identify respective users (applications) 
     > Connection refers to pair of ports
     > Port 에 관련한 정보가 있다고 생각하면 됨! (host 내부 application에 가기 위한 정보)
    - Each entity tracks TCP segments during connection (각 entity는 연결 중에 TCP 세그먼트를 추적한다)
    : To regulate the flow of segments
    : To recover from lost or damaged segments

    • Applications using TCP
    - Simple Mail Transfer Protocol (SMTP) 
    - File Transfer Protocol (FTP)
    - Telnet


    TCP Header

     

    UDP (User Datagram Protocol)

    - No guarantee of delivery
    - No preservation of sequence 
    - No protection against duplication 
    - Minimum overhead 
    - Adds port addressing to IP 

    • Application using UDP 
    : SNMP (Simple Network Management Protocol)

    UDP Header


     

    이번에는 internet layer의 예시인 IP에 대해 알아보자

    IPv6

    - Provides enhancements over existing IP
    - Designed to accommodate higher speeds and the mix of graphic and video data 
    - Driving force was the need for more addresses due to growth of the Internet 
    - IPv6 includes 128-bit source and destination address fields

     

    IPv4 Header

     

    IPv6 Header

     

    Some Protocols in TCP/IP Suite


     

    OSI (Open Systems Interconnection) Reference Model


    1977: ISO establishes a subcommittee
    1983: Introduce OSI reference model (ISO 7498) 

    - 서로 다른 컴퓨터를 연결하기 위한 기준
    A framework for defining standards for linking heterogeneous computers 
    - Layered architecture with seven layers 
    : Communication functions are partitioned into a hierarchical set of layers
    : Relies on the next lower layer to perform more primitive functions 
    : Provide services to the next higher layer
    : Changes are independent

    • A theoretical system delivered too late !!!

    OSI (Open Systems Interconnection) Layers

    * session : 있어도 되고, 없어도 되는 layer (thin layer. value added 라고도 한다)
    * network : tcp와 마찬가지로 routing !

    OSI vs. TCP/IP

    * 현재는 tcp/ip만 사용중이다

    The OSI Environment

    * OSI도 마찬가지로 peer layer communication
    * transport layer에서 하나하나 자르고 그 자른 것을 packet 이라고한다
    * physical로 내려오는 최종 데이터를 frame 이라고 한다 (더이상의 head, tail 없음)

     


     

    Standardized Protocol Architectures

    * 모든 프로토콜은 peer layer communication
    * 하위 계층에서 상위 계층으로 서비스를 전달해준다

    Layer Specific Standard

     

    Elements of Standardization

    - Protocol specification
    : Operates between the same layer on two systems 
    : May involve different operating system 
    * 시스템이 다르더라도 layer는 같아야한다 (peer layer)
    * layer이 같으면 시스템이 달라도 통신 가능

    : Protocol specification must be specified precisely 
      > Format of PDUs 
      > Semantics of all fields
      > Allowable sequence of PDUs

    - Service definition
    : Functional description of what services are provided 
    - Addressing 
    : Each layer provides services to entities at the next higher layer by means of SAP
    (SAP를 이용해서 상위 계층에 서비스를 넘겨준다)

     

    Service Primitives and Parameters

    - Services between adjacent layers are expressed in terms of primitives and parameters 
    - Primitives specify function to be performed 
    - Parameters are used to pass data and control information

    * primitives : 수행되어지는 function
    * parameters : 넘겨주고싶은 특정 값 (ex. data)

     

    Service Primitive Types

    REQUEST A primitive issued by a service user to invoke some service and to pass the parameters needed to specify fully the requested service
    INDICATION A primitive issued by a service provider either to:
    - indicate that a procedure has been invoked by the peer service user on the connection and to provide the associated parameters, or
    - notify the service user of a provider-initiated action (indication만 있음)
    RESPONSE A primitive issued by a service user to acknowledge or complete some procedure previously invoked by an indication to that user
    CONFIRM A primitive issued by a service provider to acknowledge or complete some procedure previously invoked by a request by the service user

     

    Timing Sequence for Service Primitives

    (a) confirmed service
    서로 다른 user가 통신할 때 송신하고자 하는 user가 request를 보낸다
    그럼 수신 user가 indication을 받고 다시 response를 보낸다
    그럼 송신 user가 response를 받아 confirm한다

    ex) connection 

    (b) nonconfirmed service
    송신 user가 request를 보내고 수신 user가 incdicaiton을 받으면 끝 (따로 response 안보냄)

    ex) disconnection

     

    * 서로 다른 user끼리 통신하는 것을 protocol, 상위 계층 하위 계층이 서비스를 주고받는 것을 primitive 라고한다

     

    Traditional vs. Multimedia Applications 

    - Traditionally, Internet has been dominated by information retrieval applications, e-mail, file transfer and web typically using text and image transfer
    - Increasing growth in multimedia applications
    : Involving massive amounts of data such as streaming audio and video

     

    Multimedia Taxonomy

     

Designed by Tistory.