본문 바로가기
네트워크/컴퓨터 네트워크 수업

1-6. Protocol layers, service models

by dustnn 2024. 10. 13.

우리가 여태 살펴본 것처럼 네트워크는 너무나 많은 부분들로 이루어져 있다. 그렇기 때문에 프로토콜이 네트워크의 구조를 정리하는 노력이 필요하다.

프로토콜 계층을 나누어 네트워크 구조를 정리해놨다.

 

(+) 때문에 각 모듈은 서로 독립적이기 때문에 각 모듈이 업데이트할 때 편리하다.

(-) 하지만 layer들이 서로 독립적이어서 서로가 무슨 일을 하는지 모른다면 서로 하는 일이 겹칠 수 있다는 단점이 있다.

 

프로토콜 스택은 다음과 같이

- application

- transport

- network

- link

- physical

 

5가지 계층으로 구성된다.

 

위에서 아래로 순차적으로 거친다.

각 5개의 계층들이 Protocol Data Unit이다. 위의 계층에서 아래 계층으로 내려가면 PDU(Protocol Data Unit)가 SDU(Service Data Unit)가 된다.

예컨대 application 계층의 PDU가 transport 계층의 SDU가 되고, 그 SDU를 캡슐화(헤더 붙이는 작업)하면 transport 계층 본인의 PDU가 되는 거다. 아래로 갈수록 반복..

 

Application 계층

 

: HTTP(웹 문서 요청과 전송 제공), SMTP(전자메일 전송 제공), FTP(두 종단 시스템 간 파일 전송 제공) 등 프로토콜 포함

: user application에서는 보낼 메시지 만들고 destination application에서는 그 메시지를 받는다. 이 과정에서 바로 밑의 transport 계층을 이용한다.

 

Transport 계층

 

: TCP(연결지향형 서비스 제공), UDP(비연결형 서비스 제공) 등 포함

: 클라이언트와 서버 간에 애플리케이션 계층 메시지 전송 서비스 제공한다.(컴퓨터 하나에 동작하고 있는 process가 여러 개이므로 process-process data transfer 이루어짐)

 

Network 계층

 

: IP(IP 데이터그램의 필드를 정의하며 종단 시스템과 라우터가 이 필드에 어떻게 동작하는지 정의), routing protocols(출발지와 목적지 사이에서 데이터그램이 이동하는 경로 결정) 포함

: source에서 destination까지의 길 찾기(라우팅)

 

Link 계층

 

: Ethernet, Wifi, PPP

: 전체 프레임을 한 네트워크 요소에서 이웃 네트워크 요소로 이동 (physical 계층의 서비스 이용해서 data transfer)

 

이따가 보겠지만 프레임(frame)이란 링크 계층의 패킷.

 

Physical 계층

 

: 프레임 내부의 각 비트를 한 노드에서 다음 노드로 이동

ex) Ethernet은 여러 가지 물리 계층 프로토콜을 가지고 있다.

 

 

위에서 말한 것 반복

<위에서 아래로 순차적으로 거친다.

각 5개의 계층들이 Protocol Data Unit이다. 위의 계층에서 아래 계층으로 내려가면 PDU(Protocol Data Unit)가 SDU(Service Data Unit)가 된다.

예컨대 application 계층의 PDU가 transport 계층의 SDU가 되고, 그 SDU를 캡슐화(헤더 붙이는 작업)하면 transport 계층 본인의 PDU가 되는 거다. 아래로 갈수록 반복..>

 

 

그렇다면 캡슐화는 무슨 작업일까?

 

Encapsulation(캡슐화)

 

: SDU에 헤더를 붙여 자신 계층의 PDU 만드는 작업

각 계층에서 패킷에 헤더가 하나씩 붙기 때문에 패킷을 부르는 말이 다르다.

- application계층의 패킷: message

- transport계층의 패킷: segment

- network계층의 패킷: datagram

- link계층의 패킷: frame

 

source에서의 각 계층이 encapsulation을 해서 보내면, destination에서의 각 계층에서 헤더를 떼는 decapsulation을 한다.

 

 

헤더가 붙는 과정을 살펴보자.

- source의 transport 계층이 application계층으로부터 message를 받으면,

destination의 transport계층에서 사용될 헤더 정보(Ht)를 부착해 segment를 만든다.

 

- source의 network 계층이 transport 계층으로부터 segment를 받으면,

destination의 network계층에서 사용될 헤더 정보(Hn)을 부착해 datagram을 만든다.

이때 Hn은 source에서 destination까지 가는 도중에 router의 network 계층도 지나야 하므로 그에 대한 정보도 포함한다.

 

- source의 link 계층이 network 계층으로부터 datagram을 받으면,

destination의 link 계층에서 사용될 헤더 정보(Hl)을 부착해 fram을 만든다.

이때 Hl은 switch와 router의 link 계층도 지나야 하므로 그에 대한 정보도 포함한다.

 

** router에서는 forwarding table 두어서 라우팅을 하므로 network 계층이 존재하지만, switch에서는 라우팅 과정이 없기 때문에(A데이터가 source 주소를 들고 들어오고 B 데이터가 해당 주소로 가고싶다고 한다면 A의 주소로 보내는 단순한 과정 거침) network 계층이 없다.

 

- router에서 physical계층 거쳐 link계층으로 오면 Hl 띄어내고 network 계층으로 올려보내는데,

아직 destination이 아니므로 다시 link 계층으로 보내진다.

그러면 link계층은 자신의 헤더를 붙여 destination으로 보낸다.

 

- destination에 도착하면 거꾸로 physical계층으로부터 application계층으로 올라가며 헤더를 하나씩 떼어낸다. destination 이므로 다시 헤더가 붙지 않고 끝까지 올라간다.

'네트워크 > 컴퓨터 네트워크 수업' 카테고리의 다른 글

2-1. Principles of network applications  (2) 2024.10.13
1-7. Basic network security  (2) 2024.10.13
1-2. What is Protocol?  (1) 2024.10.13
1-3/4. Network Structure  (2) 2024.10.13
1-1. What is the Internet?  (1) 2024.10.13