juuuding

[정보통신공학] CH 2 Protocol Architecture, TCP/IP, and Internet-Based Applications 본문

컴퓨터공학/정보통신공학

[정보통신공학] CH 2 Protocol Architecture, TCP/IP, and Internet-Based Applications

jiuuu 2023. 4. 6. 02:18

 Protocol

 

1. 프로토콜이란?

 - peer layer이 서로 통신(control info 교환)하기 위한 rules 이나 conventions의 집합이다.

 - message나 action(algorithm)의 포맷과 순서를 정의한다.

 - A 장치 n layer의 프로토콜은 B 장치 n layer 프로토콜과 통신한다. 

 - 각각의 프로토콜은 하위 계층에 대해서 service user이고 상위 계층에 대해서 service provider이다.

 

2. 프로토콜 구조

 - S/W 와 H/W의 계층화된 구조

  + 각 계층에서 수행하는 기능 분리. 상위 계층에서는 하위 계층에서 제공하는 서비스 이용. 한 계층의 변화는 다른 계층에 영향을 주지 않음

 - L5와 L4는 host에t서만 존재, L3,L2,L1 이 3가지 레이어는 router 혹은 L2-switch를 통해 data를 전달하는데 필요

 * L4 (transport layer): 포트 번호로 식별된 socket을 사용하여 L5의 protocol (process)을 찾는다.

 ex) HTTP server application(L5)은 443번 포트로 식별된 socket을 호출하여 클라이언트에게 HTTP response msg를 보냄 

   L3 (network layer): 목적지 프로세스가 실행되는 목적지 호스트를 찾기 위해 IP 주소 사용

   L2 (datalink layer): router or L2-switch를 통해 사용자 데이터를 전송하기 위해 L3, L2, L1 3개의 layer만 필요. LAN의 datalink layer은 LLC(Logical Link Control), MAC(Media Access Control) 두 하위 계층으로 구성됨.

   + LLC: 전송 미디어에 의존 X - LLC 유형 1/2/3

      MAC: 전송 미디어에 의존 - CSMA/CD, CSMA/CA

      ARP(Address Resolution Protocol, L2.5): LAN(MAC addr 사용해서 감)에서 default gateway router's IP addr와 일치하는 MAC addr을 찾음

 

3.  Addressing

 - 두가지 level의 addressing 필요: port, IP address

  + port: 각각의 application은 컴퓨터에 unique한 address(port) 가짐

  + IP address: 각각의 컴퓨터는 unique한 network address(IP address) 가짐

 

 

 

 TCP/IP Protocol Architecture

 

1. 5 layer Internet (TCP/IP) protocol stack

 L5) application : VoD 스트리밍(loss sensitive)을 위한 HTTP, SMTP,FTP / 실시간 스트리밍(real time)을 위한 DNS, HTTP

 L4) transport: TCP / UDP / QUIC or SCTP

 L3) network: IP

 L2) datalink: LAN의 LLC/ MAC(Ethernet, Wi-Fi) or WAN의 ATM, FR

 L1) physical: Twisted Pair(TP, Coaxial cable, Optical Fiber/ radio, satelite)

 

2. 각 계층의 역할(기본 서비스), Addressing,  PDU(Protocol Data Unit) 이름

 L5) application: src & dst host 사이의 network application service 지원, URL, message

 L4) transport: process-to-process. src & dst 사이 , port number , Segment

 L3) network: host-to-host (routing to destination host) , IP addr, Datagram(or Packet)

 L2) datalink: 특정 network(Ethernet, Wi-fi)에 따라 1-hop 전달, MAC addr(in LAN), Frame 

*1-hop : L3가 있는 두 지점 사이가 1-hop

*PCU = head(내 계층에서 붙이는 control info) + body(윗 계층에서 온 data)

 

3. 인터넷과 TCP의 역사

- ARPANET (NCP) -> NSFnet (original TCP/IP) -> Internet (Updated TCP/IP, and security issues)

 

4. 프로토콜의 head가 크다는 것의 의미

 - 더 많은 control info 포함

 - 더 많은 서비스(function) 제공

 - 작은 head 가진 프로토콜보다 더많은 시간이 걸림

 

* 인터넷에 연결된 특정 process에게 데이터를 전달하기 위해 그 process가 실행되고 있는 호스트가 인터넷에 연결된 NIC card에 설정된 'IP addr'와 그 process가 사용하는 'port number' 이 두가지를 알아야 함. IP addr(집 주소)를 이용하여 중간 라우터들이 dst host를 찾아주고, dst host에 도달한 후 port number(수취인)을 이용해서 해당 process에 데이터 전달

 

5. 인터넷을 사용하기 위해 꼭 필요한 3가지 IP addr

 (1) your IP addr

 (2) your default router's IP addr

 (3) your DNS server's IP addr

 

6. 인터넷(packet switching) router의 main behavior

Store-and-Forward

- 각각의 router들은 한 packet의 전체를 input-buffer에 store

- 그런 후, input-buffer는 packet을 output-buffer로 forward. FT(forward table)에 기반하여.

- store and forward 후, packet은 output-buffer에서의 transmission을 기다림. 이 기다리는 시간이 queueing delay.

 

 

+TCP, UDP ppt설명 추가

 

7. IPv6

 - IPv4 IP addr의 4배 -> IP addr의 부족을 해결

 - QoS (Quality of Service) 시도 -> 실제 작동 X

 - IPv4에 비해 기능을 줄이고 router의 처리 속도 향상 (BW 증가, error rate 감소)

 

 

 Standardized Protocol Architecture

 

1. Protocol specification

 - 두 system의 같은 layer 사이에서 작동

 - 다른 OS 포함

 - 'PDU의 format', '모든 field의 Semantic', 'PDU의 순서'를 정확하게 구별지어야 함

 

2. Service definition

 - 서비스가 제공되는 것에 대한 기능적 설명

 

3. Addressing

 - 각 layer은 SAP(Service Access Point, 계층들 사이)을 이용하여 다음 높은 계층으로 서비스를 제공함

* SAP는 두 인접한 layer를 call function 하면서 통신하기 위한 logical position. 즉, 인접 layer 사이 서비스는 primitives, parameters로 표현됨. function call 할 때 parameter 넘겨주는 것과 같음.

  + primitives: function 

     parameters: pass data and control info

 

- L5와 L4 사이 SAP: socket

- 다른 계층들 사이 SAP: function call