OSI 7계층

웅평·2023년 3월 30일
0

네트워크

목록 보기
5/21

OSI 7 계층이란?

OSI 7 계층은 네트워크 통신이 일어나는 과정을 7단계로 나눈 국제 표준화 기구(ISO)에서 정의한 네트워크 표준 모델 아래 그림에서 아래부터 1계층(물리 계층) ~ 7계층(응용 계층)으로 구성되어 있다. 또 그림과 같이 각 계층을 지날 때마다 각 계층에서 Header가 붙게되고 수신측은 역순으로 헤더를 분석하게 된다.

  • 각 계층은 독립적인 모듈로 구성되어 있음
  • 각 계층은 상하 계급 구조를 가지고 있음
    -상위 계층의 프로토콜이 제대로 동작하기 위해서는 하위의 모든 계층에 문제가 없어야 한다.

OSI 7계층을 나눈 이유는?

  • 계층을 나눈 이유는 통신이 일어나는 과정이 단계별로 파악할 수 있기 때문이다.
  • 유지관리의 수월성

PDU 란?

OSI 7 계층에서는 PDU 개념을 중요시한다.
PDU(Process Data Unit) 란 각 계층에서 전송되는 단위를 말한다.
1 계층에서 PDU가 비트(Bit)라고 생각하기 쉽지만 PDU라고 하지 않고 여기서 비트는 단위라기보다는단지 전기 신호의 흐름일 뿐이다.

PDU는 2 계층 - 프레임(Frame) / 3 계층 - 패킷(Packet) / 4 계층 - 세그먼트(Segment)만 생각하면 된다.네트워크 통신 과정을 깊게 이해하기 위해서는 왜 각각의 계층의 PDU가 다른지 알아야 하고,
역할에 대해 알고 있어야 한다.


1계층 - 물리계층(Physical Layer)

상위 계층(데이터 링크)에서 전송된 데이터를 물리적인 전송 매체(허브, 라우터, 케이블 등)를 통해 다른 시스템에 전기적 신호를 전송하는 역할을 한다.

  • 주로 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송하는 물리적인 장비
  • 단지 데이터 전기적인 신호(0,1)로 변환해서 주고받는 기능만 할 뿐
  • 이 계층에서 사용되는 통신 단위 : 비트(Bit)이며 이것은 1과 0으로 나타내어지는, 즉 전기적으로 On, Off 상태
  • 이 계층에서는 단지 데이터를 전달만 할뿐 전송하려는(또는 받으려는)데이터가 무엇인지, 어떤 에러가 있는지 등에는 전혀 신경 쓰지 않는다.
  • 장비 : 통신 케이블, 리피터, 허브 등

네트워크 기기들 사이의 데이터 전송을 하는 역할을 한다. 시스템 간의 오류 없는 데이터 전송을 위해 패킷(Packet)을 프레임(Frame)으로 구성하여 물리 계층(1 계층)으로 전송한다.
네트워크 계층(3 계층)에서 정보를 받아 주소와 제어 정보를 헤더와 테일에 추가한다.

  • 물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할.
  • 이 계층에서는 맥 주소를 가지고 통신하게 된다.
  • 포인트 투 포인트(Point to Point) 간 신뢰성있는 전송을 보장하기 위한 계층으로 CRC 기반의 오류 제어와 흐름 제어가 필요하다.
  • 프레임에 물리적 주소(MAC address)를 부여하고 에러검출, 재전송, 흐름제어를 수행
  • 이 계층에서 전송되는 단위 : 프레임(Frame)
  • 장비 : 브리지, 스위치, 이더넷 등(여기서 MAC주소를 사용)

브릿지나 스위치를 통해 맥주소를 가지고 물리계층에서 받은 정보를 전달함.

흐름 제어 : 송신 측과 수신 측의 속도 차이를 조정
오류 제어 : 오류 검출과 회복
순서 제어 : 프레임의 순서적 전송
프레임 동기화 : 프레임의 시작과 끝을 구별하기 위한 동기화

프레임에 주소부여(MAC - 물리적주소) ,에러검출/재전송/흐름제어

네트워크 위의 개체들 간 데이터를 전달하고,
물리 계층에서 발생할 수 있는 오류를 찾아 내고, 수정하는 데 필요한 기능적, 절차적 수단을 제공한다.

주소 값은 물리적으로 할당 받는데, 이는 네트워크 카드가 만들어질 때부터 맥 주소(MAC address)가 정해져 있다는 뜻이다.
주소 체계는 계층이 없는 단일 구조이다. 데이터 링크 계층의 가장 잘 알려진 예는 이더넷이다.
이 외에도 HDLC나 ADCCP 같은 포인트 투 포인트(point-to-point) 프로토콜이나
패킷 스위칭 네트워크나 LLC, ALOHA 같은 근거리 네트워크용 프로토콜이 있다.
네트워크 브릿지나 스위치 등이 이 계층에서 동작하며, 직접 이어진 곳에만 연결할 수 있다.

3계층 - 네트워크 계층(Network Layer)

기기에서 데이터그램(Datagram)이 가는 경로를 설정해주는 역할을 한다.
라우팅 알고리즘을 사용하여 최적의 경로를 선택하고 송신 측으로부터 수신 측으로 전송한다.
이때, 전송되는 데이터는 패킷(Packet) 단위로 분할하여 전송한 후 다시 합쳐진다. 데이터 링크 계층(2 계층)이노드 대 노드 전달을 감독한다면, 네트워크 계층(3 계층)은 각 패킷이 목적지까지 성공적이고 효과적으로 전달되도록 한다.

  • 여러개의 노드를 거칠때마다 경로를 찾아주는 역할을 하는 계층
  • 다양한 길이의 데이터를 네트워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질(QoS)을 제공하기 위한 기능적, 절차적 수단을 제공한다.
  • 데이터를 목적지까지 가장 안전하고 빠르게 전달(라우팅)
  • 라우터(Router)를 통해 경로를 선택하고 주소를 정하고(IP) 경로(Route)에 따라 패킷을 전달 > IP 헤더 붙음
  • 이 계층에서 전송되는 단위 : 패킷(Packet)
  • 장비 : 라우터

4계층 - 전송 계층(Transport Layer)

발신지에서 목적지(End-toEnd) 간 제어와 에러를 관리한다. 패킷(Packet)의 전송이 유효한지 확인하고 전송에 실패된 패킷을 다시 보내는 것과 같은 신뢰성 있는 통신을 보장하며, 헤드에는 세그먼트(Segment)가 포함된다. 주소 설정, 오류 및 흐름 제어, 다중화를 수행한다.

  • 양 끝단(End to End)의 사용자들이 데이터를 주고 받을 수 있게 하는 계층
  • 데이터 전송을 위해서 Port 번호를 사용함.(대표적인 프로토콜로 TCP와 UDP가 있음)
    • TCP와 UDP 프로토콜을 통해 통신을 활성화한다. 포트를 열어두고, 프로그램들이 전송을 할 수 있도록 제공해준다.
      • TCP : 신뢰성, 연결지향적
      • UDP : 비신뢰성, 비연결성, 실시간
  • 두 지점간의 신뢰성 있는 데이터를 주고 받게 해주는 역할
  • 신호를 분산하고 다시 합치는 과정을 통해서 에러와 경로를 제어
  • 전송 단위(PDU) : 세그먼트(Segment), Datagram
  • 장비 : 게이트웨이(GateWay), L4 스위치
  • 프로토콜(Protocol) : TCP, UDP

5계층 - 세션 계층(Session Layer)

통신 세션을 구성하는 계층으로, 포트(Port) 번호를 기반으로 연결한다.
통신 장치 간의 상호 작용을 설정하고 유지하며 동기화한다. 동시 송수신(Duplex), 반이중(Half-Duplex), 전이중(Full-Duplex) 방식의 통신과 함께 체크 포인팅과 종료, 다시 시작 과정 등을 수행한다.

  • Session(세션) : 클라이언트와 웹 서버 간 네트워크 연결이 지속 유지되고 있는 상태
    • 사용자가 브라우저를 열어 서버에 접속한 뒤 접속을 종료할 시점까지를 의미
  • 주 지점간의 프로세스 및 통신하는 호스트 간의 연결 유지
  • TCP/IP 세션을 만들고 없애는 역할, 포트번호를 기반으로 통신 세션 구성
  • API, Socket

6계층 - 표현 계층(Presentation Layer)

송신 측과 수신 측 사이에서 데이터의 형식(png, jpg 등)을 정해준다.
받은 데이터를 코드 변환, 구문 검색, 인코딩 - 디코딩 및 암호화, 압축의 과정을 통해 올바른 표준 방식으로 변환해준다.

  • 전송하는 데이터의 표현방식을 결정(ex. 데이터변환, 압축, 암호화 등)
  • 코드 간의 번역을 담당하여 데이터의 형식상 차이를 다루는 부담을 응용 계층(7 Layer)으로부터 덜어준다.
  • 파일인코딩, 명령어를 포장, 압축, 암호화
  • JPEF, MPEG, GIF, ASCII 등

7계층 - 응용 계층(Application Layer)

사용자와 바로 연결되어 있으며 응용 SW를 도와주는 계층이다.
사용자로부터 정보를 입력받아 하위 계층으로 전달하고 하위 계층에서 전송한 데이터를 사용자에게 전달한다.
파일 전송, DB, 메일 전송 등 여러 가지 응용 서비스를 네트워크에 연결해주는 역할을 한다.

  • 최종 목적지로, 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행(ex. explore, chrome 등)
  • 사용자와 직접 접하는 유일한 계층
  • HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜이 있다.

OSI 모델 전체적인 통신 플로우


1. 발신 측에서 응용 계층(7 Layer)부터 시작해 각 계층마다 헤더를 붙여 캡슐화를 진행
2. 수신 측에서는 물리 계층(1 Layer)부터 차례로 올라가면서 헤더를 떼 내는 디캡슐레이션을 진행하여 데이터 식별
- ex) 데이터가 목적지로 이동할 때, 네트워크 계층(3 Layer)에서 IP 헤더에 있는 프로토콜 정보를 이용해 데이터가 TCP인지 UDP인지 식별한 후 그에 따른 처리를 전송 계층(4 Layer)에서 수행한다.
3. 목적지에 원하는 데이터가 전송된다

참고
https://shlee0882.tistory.com/110
https://lxxyeon.tistory.com/155
https://backendcode.tistory.com/167
https://inpa.tistory.com/entry/WEB-%F0%9F%8C%90-OSI-7%EA%B3%84%EC%B8%B5-%EC%A0%95%EB%A6%AC

0개의 댓글