🌏 Network
OSI 7계층
date
Apr 1, 2023
slug
osi-7layer
author
status
Public
tags
Network
summary
“IT 엔지니어를 위한 네트워크 입문” 책을 보고 OSI 7계층에 대해 학습하여 정리한 내용입니다.
type
Post
thumbnail
category
🌏 Network
updatedAt
Apr 1, 2023 04:20 AM
네트워크의 구성
네트워크를 설명할 때 설명 순서는 다음 둘 중 하나이다.
- 상위 계층 → 하위 계층 순으로 설명
- 하위 계층 → 상위 계층 순으로 설명
홈 네트워크의 구성
홈 네트워크는 여러 단말기가 공유기에 물려 있으며, 공유기는 모뎀에 연결되어 있다. 모뎀은 ISP가 제공하는 외부 회선에 연결되어 있다.
데이터 센터 네크워크의 구성
- 안정적인 서비스 제공을 위해 이중화 필수
- 많은 서버와 서비스가 한 네트워크에 연결되어 있으므로 고속 이더넷 기술이 사용됨
- 기존엔 3계층 구성이 일반적이었음 (코어 → 어그리게이션 → 엑세스)
- 현재는 서버 간 통신이 늘어나 이에 유리한 스파인-리프 구성이 사용됨 (스파인 → 리프)
프로토콜
네트워크에서 말하는 프로토콜은 통신 규약을 의미한다.
과거에는 표준 협회나 워킹 그룹마다 계층별 프로토콜이 상이한 경우가 많았지만 최근에는 이더넷과 TCP/IP 기반의 프로토콜을 주로 사용한다.
프로토콜의 물리적 측면
물리적인 통신 규약은 데이터 전송 매체(광신호, 전기신호)와 신호의 규약, 회선 규격 등으로 정의할 수 있다.
프로토콜의 논리적 측면
장치들끼리 물리 회선을 통해 데이터가 전송되면 데이터를 송수신하기 위한 규약이 있는데, HTTP, TCP, UDP, IP 등이 여기에 해당된다. HTTP와 SMTP와 같은 프로토콜은 보통 문자 기반으로 규약이 정의되며, TCP,UTP,IP와 같은 프로토콜은 비트 기반으로 규약이 정의된다.
TCP/IP 프로토콜 스택
TCP와 IP를 기반으로 통신하는 네트워크의 구성을 뭉뚱그려 TCP/IP 프로토콜 스택이라고 부른다.
TCP/IP 프로토콜 스택은 4가지 계층으로 나눌 수 있으며, 이더넷 → 네트워크 계층 → 전송 계층 → 애플리케이션 계층으로 나눌 수 있다.
OSI 7계층
Protocol Data Unit
동일한 계층에서 데이터를 주고 받을 때, 데이터의 단위를 의미한다. 그래서 계층마다 PDU를 부르는 명칭이 조금씩 다르다.
OSI 7계층
- 7 : Application Layer (PDU : Data)
- 6 : Presentation Layer (PDU : Data)
- 5 : Session Layer (PDU : Data)
- 4 : Transport Layer (PDU : Segments)
- 3 : Network Layer (PDU : Packets)
- 2 : Data Link Layer (PDU : Frames)
- 1 : Physical Layer (PDU : Bits)
보통 1 ~ 4계층은 데이터 플로 계층이라고 부르며, 하위 계층이라 함. 5 ~ 7 계층은 애플리케이션 계층이라고 부르며 상위 계층이라 함.
시대가 흐름에 따라 OSI 7계층에서 TCP/IP 모델(4계층)이 튀어나왔는데 실용성과 기술 발전, 이론과 실용성의 중점 등과 연관이 있다.
OSI의 계층별 설명
1계층
- 허브, 리피터, 케이블, 커넥터 등 신호와 연관된 계층
2계층
- 출발지와 도착지 주소로 데이터 프레임이 송수신되며 혼잡 제어 등의 기능이 있음.
- NIC(랜카드)와 스위치 등이 이 계층에 속함.
- MAC Address라는 주소 체계가 존재함.
- 스위치는 내부에 MAC 주소와 포트 테이블이 있어 포트에 달린 장비들에 대해 적절하게 프레임을 포워딩해줌.
3계층
- IP 주소가 정의되는 계층임. IP 주소는 논리적인 주소임. (MAC 주소는 랜카드에 박혀있음)
- IP 주소는 네트워크 주소와 호스트 주소로 구분할 수 있음.
- 라우터가 3계층에 속하며 패킷을 최적의 경로로 포워딩해줌.
4계층
- 포트 번호가 정의되는 계층임.
- 4계층에선 해당 데이터들이 잘 보내지는지 확인하는 역할을 함.
- 3계층의 패킷이 손실되거나 도착 순서가 바뀌는 경우가 발생할 수 있는데 이를 4계층에서 바로잡음. (단, TCP만 가능함)
- TCP는 시퀀스 번호와 ACK 번호를 이용해서 순서를 바로잡음.
- 시퀀스 번호 (seq) : 패킷의 보내는 순서를 의미함
- ACK 번호 (ack) : 패킷의 받는 순서를 의미함.
5계층
- TCP/IP 세션을 관리하는 계층임.
6계층
- 표현 방식이 다른 앱이나 시스템끼리 통신을 돕기 위해 암호화, 인코딩 등을 수행하는 계층
7계층
- 애플리케이션 프로세스를 정의하고 수행하는 계층
- HTTP, FTP 등의 프로토콜이 존재함.
인캡슐레이션과 디캡슐레이션
5 ~ 7 계층(애플리케이션 계층)에서 데이터를 보내거나 받으려면 1 ~ 4 계층 (데이터 플로 계층) 에 데이터를 분할해서 보내야 함.
보내는 쪽에서 데이터를 쪼개고, 2, 3, 4계층의 헤더를 붙여서 물리 계층에서 비트 단위로 통신함. 이를 인캡슐레이션이라 함.
받는 쪽에선 받는 신호를 받아 2, 3, 4계층의 헤더를 확인하여 헤더를 제거하고 데이터를 상위 계층으로 보냄. 이를 디캡슐레이션이라 함.
2, 3, 4계층에 헤더가 붙는데 각 계층에서 정의하는 정보와 상위 프로토콜 지시자가 들어가야 한다.
프로토콜 지시자 예제
- TCP의 포트 번호
- IP의 프로토콜 번호
- 물리계층의 이더 타입