[ Network ] OSI 7 계층

duck-ach·2023년 2월 17일
0

Network

목록 보기
3/8

OSI 7 계층과 TCP/IP 모델 개요

현재 인터넷은 OSI 모델이 아닌 TCP/IP 모델을 따른다.

하지만 OSI 모델이 유명했던 만큼 OSI모델과 TCP/IP 모델을 비교 분석해보는 것도 좋다고 생각한다.


OSI 7 Layer란?

초창기의 네트워크는 각 컴퓨터마다 시스템이 달라 하드웨어와 소프트웨어의 논리적인 변경 없이 통신할 수 있는 표준 모델이 나타나게 되었다.

1984년 국제표준화기구(ISO)에서 개발한 모델로써, 네트워크 프로토콜 디자인과 통신과정을 7개의 계층으로 구분하여 만든 "표준규격"이다.

OSI 7 Layer 특징

  • OSI 참조 모델 또는 OSI 7 계층이라고 불린다.
  • 통신이 일어나는 과정을 7단계로 크게 구분하며, 단계별로 파악이 가능하다.
  • OSI(Open System Interconnection), 누구나 참조 및 부가적인 추가가 가능한 개방형 시스템이다.
  • 컴퓨팅 장치나 네트워킹 장치를 만들 때 이 모델을 참조해서 모든 통신 장치를 만든다.
  • 각 계층은 상하 계급 구조를 띄고 있다.
  • 각 계층은 독립적인 모듈로 구성되어 있다.
  • 상위 계층의 프로토콜이 제대로 동작하기 위해서는 하위의 모든 계층에 문제가 없어야 한다.

물리계층(Physical Layer) : 하드웨어
데이터링크계층(Data Link Layer) : 하드웨어 + 소프트웨어
3계층 이상 : 소프트웨어

OSI 7 Layer 필요성

1. 표준 규격
서로 각기 다른 컴퓨터에서 네트워크 구성 요소를 표준화 함으로써 서로 다른 통신 장치와의 상호 호환이 가능하다.

2. 계층별 모듈화 된 것이 하나로 조립(융합된 구조)
자동차가 이동하기위한 바퀴, 차 문, 엔진, 핸들, 자동차 시트 등 모듈별로 나누어져 있어 만약 바퀴가 고장나면 바퀴만 고쳐서 해결이 가능하다.(유지보수가 용이)

이와 같이 7단계 중 특정한 곳에 이상이 생기면 이상이 생긴 단계만 고쳐서 해결이 가능하다.

그리고 설계가 간단해지고 통신이 일어나는 흐름을 한눈에 알아보기 쉽다.


OSI 7 Layer

우선 각 OSI 7 계층에 대해 설명하기 전에 PDU 라는 개념을 먼저 알아야한다.

PDU(Process Data Unit)이란?
각 계층에서 전송되는 단위를 말한다.

  • 2계층 - 프레임(Frame)
  • 3계층 - 패킷(Packet)
  • 4계층 - 세그먼트(Segment)

네트워크 통신 과정을 깊게 이해하기 위해서는 각각의 계층의 PDU가 어떻게 다른지 알아야하고, 역할에 대해서도 알고 있어야 한다.

예외 : 1계층의 비트(Bit)는 PDU라고 하지 않고 전기 신호의 흐름일 뿐이다.

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

1계층의 물리계층은 OSI모델의 최하위 계층에 속하며, 상위계층(Data Link)계층에서 전송된 데이터를 물리적인 전송 매체(Hub, Router, Cable 등)를 통해 다른 시스템에 전기적 신호를 전송하는 역할을 한다.
즉, 기계어를 전기적 신호로 바꿔서 와이어에 실어준다.

  • 최하위 계층
  • 기능 : 물리적인 전송 매체를 통해 상위 계층인 Data Link 계층으로부터 전달된 비트 스트림을 상대측 물리 계층으로 전달하는 기능을 수행한다.
  • 데이터를 전달하기만 할 뿐, 전송받으려는 데이터가 무엇인지 또는 어떤 Error가 있는지는 전혀 신경쓰지 않는다.
  • 전송단위 : Bit( 1 : 전기적으로 On, 0 : 전기적으로 Off )
  • 장비 : 통신 케이블, 허브, 라우터 등
  • 프로토콜(Protocol) : Modem, Cable, Fiber, RS-232C

결론
1 Layer 물리계층. 데이터를 전기적인 신호로 변환해서 주고받는 기능만 수행

2계층의 데이터 링크 계층은 네트워크 기기들 사이의 데이터 전송을 하는 역할을 한다.

  • 시스템간의 오류 없는 데이터 전송을 위해 패킷(Packet)을 프레임(Frame)으로 구성하여 물리계층(Physical Layer, 1계층)으로 전송한다.
  • 네트워크 계층(Network Layer, 3계층)에서 정보를 받아 주소와 제어 정보를 Header와 Tail에 추가한다.

  • 물리적인 네트워크 사이에 데이터 전송을 담당하는 계층
  • 기능 : Point to Point 간 신뢰성 있는(안전한) 전송을 보장하기 위한 계층
  • 물리계층(Physical Layer, 1계층)을 통해 송수신되는 데이터의 전송 오류를 감지하는 기능을 제공, 오류 감지 시 재전송
  • Mac주소를 가지고 통신한다. Mac주소(Media Access Control Address) : 컴퓨터 간 데이터를 전송하기 위한 하드웨어(컴퓨터)의 물리적인 주소
  • 전송단위(PDU) : 프레임(Frame)
  • 장비 : Bridge, Switch 등
  • 프로토콜(Protocol) : Ethenet, MAC, PPP, ATM, LAN, WIFI

MAC주소와 IP주소

  • IP주소간의 통신은 각 라우터에서 일어나는 MAC주소와 MAC주소 통신의 연속적인 과정이다.
    ex) 한국에 있는 주소로 편지를 보낼 때 IP는 시작점과 끝점에 해당하는 주소라면, MAC 주소는 편지가 거쳐가는 중간 거점들(즉, 바로 옆에 물리적으로 연결되어 있는 노드와 통신 시 사용되는 주소이다.)

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

3계층의 네트워크 계층은 기기에서 데이터그램(Datagram)이 가는 경로를 설정해주는 역할을 한다.

  • 라우팅 알고리즘을 사용하여 최적의 경로를 선택하고 송신 측으로부터 수신 측으로 전송한다.
  • 전송되는 데이터는 패킷(Packet) 단위로, 분할하여 전송한 후 다시 합쳐진다.
  • Transport Layer(전송계층, 3계층)는 각 패킷이 목적지까지 성공적이고 효과적으로 전달되도록 한다.

  • 목적지 네트워크 주소(IP)를 정하고, 그에 따른 경로(Route)를 선택하고, 경로에 따라 패킷을 전달해준다.
  • 데이터를 목적지까지 가장 안전하고 빠른 경로로 전달하는 기능(Routing)이 매우매우 가장 중요하다. (프로토콜, 라우팅 기술 등)
  • 기능 : 여러 개의 노드(node)를 거칠 때마다 경로를 찾아주는 역할을 하는 계층
  • 다양한 길이의 데이터를 네트워크를 통해 전달하며, 그 과정에서 전송계층(Transport Layer, 4계층)이 요구하는 서비스 품질(QoS)을 제공하기 위한 기능적 · 절차적 수단을 제공한다.
  • 전송단위(PDU) : 패킷(Packet)
  • 장비 : 라우터, L3 스위치
  • 프로토콜(Protocol) : IP, ICMP 등

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

4계층 전송 계층은 발신지에서 목적지(Ent to Ent) 간 제어와 에러를 관리한다.

  • 패킷(Packet)의 전송이 유효한지 확인하고, 전송에 실패된 패킷을 다시 보내는 것과 같은 신뢰성 있는 통신을 보장한다.
  • 세그먼트(Segment)가 포함된다. 주소 설정, 오류 및 흐름 제어, 다중화를 수행한다.

  • EndPoint의 사용자들이 신뢰성 있는 데이터를 주고받게 해주는 역할을 한다.
    • 오류 검출 및 복구, 흐름 제어와 중복 검사 등을 수행
  • 패킷 생성 및 전송
    • 패킷들의 전송이 유효한지 확인하고 전송이 실패된 패킷들을 다시 전송(신뢰성)
  • 헤더에 포트 번호가 포함되어 있다.
    • 포트번호 : 디바이스에 있는 여러 프로세스 중 자기가 가야 할 프로세스를 구분하기 위해 필요한 번호
  • 전송단위(PDU) : 세그먼트(Segment)
  • 장비 : 게이트웨이(Gateway), L4 스위치
  • 프로토콜(Protocol) : TCP, UDP, ARP, RTP

TCP vs UDP

TCP(Transmission Control Protocol)UDP(User Datagram Protocol)
연결 지향 방식비연결형 방식
패킷교환방식 : 가상 회선 방식패킷교환방식 : 데이터그램 방식
전송 순서 보장전송 순서가 바뀔 수 있음
신뢰성있는 전송을 보장 (패킷 손실 · 중복 · 순서 바뀜 등이 없도록 보장)비신뢰성 서비스
수신 여부 확인 O수신 여부 확인 X
1 : 1 통신1 : 1 or 1 : N or N : M 통신
IP가 처리할 수 있도록 데이터를 여러개의 패킷으로 나누고, 도착지에서 완전한 데이터로 패킷을 재조립패킷을 나누고 재조립하는 과정 없이, 수신지에서 제대로 받든 말든 상관하지 않고, 데이터를 보내기만 함 (에러와 그에 따른 재전송, 대체는 애플리케이션에서 처리)
속도가 느림속도가 빠름 (RealTime 서비스에 사용하면 좋다)
데이터 전송단위 : Segment데이터 전송단위 : 블록형태의 다이어그램(Datagram)

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

5계층 세션계층은 통신 세션을 구성하는 계층으로, 포트(Port)번호를 기반으로 연결한다.

  • 통신 장치 간의 상호 작용을 설명하고 유지하며 동기화한다.
  • 동시송수신(Duplex), 반이중(Half-Duplex)통신, 전이중(Full-Duplex)방식의 통신과 함께 체크 포인팅과 종료, 다시 시작 과정 등을 수행한다.
  • 동기점 : 통신 양단끼리 서로 동의하는 논리적인 공통 시점
    • 메시지가 제대로 처리되고 있는지 파악
    • 오류 복구
    • 의도적으로 일시정지하여 나중에 이어서 작업하는 것이 가능

세션 (Session) : 클라이언트와 웹 서버 간 네트워크 연결이 지속 유지되고 있는 상태
사용자가 브라우저를 열어 서버에 접속한 뒤 접속을 종료하는 시점 까지를 의미

  • 네트워크 상 양쪽 연결을 관리하고 연결을 지속시켜주는 계층이다.
  • 세션 생성, 유지, 종료, 전송 중단 시 복구 기능 수행
    • OS가 세션 계층으로 이 역할 수행
  • TCP/IP 세션을 만들고 없애는 역할을 한다.
  • 통신하는 사용자들을 동기화 하고 오류 복구 명령들을 일괄적으로 다룬다.
  • 프로토콜(Protocol) : NetBIOS, SSH, TLS

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

6계층 표현계층은 송신측과 수신측 사이에서 데이터의 형식(png, jpg 등)을 정해준다.

  • 받은 데이터를 코드 변환 · 구문 검색 · 인코딩 - 디코딩 및 암호화 · 압축의 과정을 통해 올바른 표준 방식으로 변환해준다.

  • Application Layer(응용계층, 7 Layer) 로부터 전달받거나 전송하는 데이터의 Incoding - Decoding 및 암호화 등이 이루어지는 계층
  • 코드 간의 번역을 담당하여 데이터의 형식상 차이를 다루는 부담을 응용 계층(7 Layer)으로부터 덜어준다.
  • 프로토콜(Protocol) : JPG, MPEG, SMB, AFP

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

7계층 응용계층은 사용자와 바로 연결되어 있으며 응용 Software를 도와주는 계층이다.

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

  • 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 네트워크에 연결 및 수행하는 역할
  • 사용자와 직접 접하는 유일한 계층
    • 사용자로부터 정보를 입력받아 하위 계층으로 전달하고, 하위 계층에서 데이터를 사용자에게 전달
    • UI 부분, I/O 부분
  • 프로토콜(Protocol) : HTTP, DNS, Telnet, FTP 등

OSI 7계층 전체적인 통신 흐름

  1. 프로세스 A에서 발신을 한다.
    Application(응용) 계층부터 시작해 각 계층마다 헤더를 붙여서 캡슐화를 진행한다.
  2. 수신 측에서는 물리 계층부터 차례로 올라가면서 헤더를 떼 내는 Decaptulation을 진행하여 데이터를 식별한다.
  3. 목적지에 원하는 데이터가 전송된다.
profile
자몽 허니 블랙티와 아메리카노 사이 그 어딘가

0개의 댓글