본문 바로가기

네트워크

2. 프로토콜과 OSI 7 layer

네트워크가 수행해야 하는 기능들

1. 애플리케이션 목적에 맞는 통신 방법 제공

2. 신뢰할 수 있는 데이터 전송 방법 제공

3. 네트워트 간의 최적의 통신 경로 결정

4. 목적지로 데이터 전송

5. 노드 사이의 데이터 전송

위와 같은 통신 기능이 제대로 동작하기 위해서는 참여자들 사이에서 약속된 통신 방법이 있어야함

바로 네트워크 프로토콜!

※ 네트워크 프로토콜 : 네트워크 통신을 하기 위해서는 통신에 참여하는 주체들이 따라야하는 형식, 절차, 규약

그럼 네트워크 기능을 하나의 프로토콜로 구현할 수 있을까? No!

이는 코드를 하나의 클래스에 전부 구현한다는 얘기와 같음, 유지보수와 변화에 대응하기가 너무 어려워짐

그래서 위와 같이 네트워크가 수행하는 기능들을 모듈화를 해서 프로토콜을 설정해야함

바로 계층화 (≒모듈화), OSI 7 Layer  를 해야함

참고로 TCP/IP stack은 인터넷에 특화된 네트워크 계층화 구조

 

OSI 7 Layer

7. application layer

애플리케이션 목적에 맞는 통신 방법 제공

(Ex : HTTP (인터넷), DNS, SMTP (이메일 주고 받을 때, 쓰는 프로토콜), FTP (파일 전송))

 

6. presentation layer

애플리케이션 간의 통신에서 메시지 포맷 관리

- 인코딩 ↔ 디코딩 : 보내는 쪽에서 어떤 character set으로 인코딩하느냐에 따라 받는쪽에서 그 set으로 디코딩해야함

- 암호화 ↔ 복호화

- 압축 ↔ 압축 풀기

 

5. session layer

애플리케이션 간의 통신에서 세션을 관리

(RPC remote procedure call)

→ 위 3개의 layer는 어플리케이션과 관련된 기능을 담당

그러므로 하나로 묶어서 application layer으로 통합할 수 도 있음

-----------------------------------------------------------------------------

 

4. transport layer

애플리케이션 간의 통신 담당

목적지 애플리케이션으로 데이터 전송 (보내는 데이터를 목적지까지 어떻게 보낼 것인지는 이 Layer에서는 관심없음)

데이터를 어떤방식으로 보낼지 결정하는 layer 

- 데이터 전송 방법 (세그먼트)

(1) 안정적이고 신뢰할 수 있는 데이터 전송 보장 (TCP)

(2) 필수 기능만 제공 (UDP)

 

3. network layer

호스트 간의 통신 담당 (IP)

목적지 호스트로 데이터를 전송해야하기 때문에 라우터와 같은 장치들에 network layer이 구현되어있음 

네트워크 간의 최적의 경로 결정

 

2. data link layer

직접 연결된 노드 간의 통신 담당, 장치와 장치 사이에서 데이터를 전달해야하기 때문에 IP 주소가 아닌 Mac 주소 기반으로 통신해야함

- MAC 주소 기반 통신 (ARP) : IP주소를 MAC주소로 변환

 

1. physical layer

bits 단위로 데이터 전송

(Ex: 케이블, 전선 등...)

라우터 장치에는 network layer, data link layer, physical layer가 구현되어 있어야 데이터를 전송할 수 있음

인터넷에 작성한 댓글이 어떻게 전송이 될까?

아래 그림과 같이 어플리케이션에서 메세지 (M)을 작성해서 보내면,

메세지는 각 layer의 프로토콜에 맞게 담겨지면서 Header가 추가되고 그 다음 layer로 보내짐

그러면 해당 layer의 프로토콜에 맞추기 위해 위의 작업이 반복됨

host에서 보내려는 데이터가 pysical layer까지 다 거쳐갔으면

이를 host와 연결된 라우터로 보냄, 그러면 라우터에서 physical, data link, network layer 의 헤더를 확인하면서

데이터를 어디로 어떻게 보낼지를 파악하며 받을 IP와 가까운 라우터로 차근차근 데이터를 전송함

오른쪽 그림의 T는 data link layer의 프로토콜에 데이터가 담겨질 때,  header뿐만 아니라 trailer도 추가됨

받을 IP 주소를 가진 네트워크와 연결된 라우터에서 보낼 때, 다시 physical layer까지 헤더를 붙여서 보냄

헤더를 붙이고 푸는 과정을 encapsulation 과 decapsulation이라고 함 

 

 

 

 

 

인터넷을 택배 배송에 비유하면

1. 발신자/ 수신자 -> 호스트 Host

2. 소포 -> 패킷 Packet

3. 물류 창고 -> 라우터 Router

4. 택배회사 -> 인터넷 제공자 (ISP)

 

 

집에있는 공유기도 라우터의 종류

 

Packet 패킷

.

 

 

 

 

 

 

 

IPv4 라우팅, hop 은 라우터의 주

 

 

 

 

 

 

OSI 7 Layer ()

Application 응용 ---------

Presentation                         applicaion

Session               --------

Transport             -------          transport

network                -------          internet (network)

data link               !!!!!!!!

physical                !!!!!!!!           link layer