OSI 7 Layer

정지범·2023년 11월 22일
0

refactoring

목록 보기
1/13

이번 주차에는 네트워크의 기본인 OSI 7 계층에 대해 정리해 봤다.


#### 목차
1.데이터의 기술적 개념
2.프로토콜(Protocol)
3.계층 구조
4.OSI 7계층이란?
5.OSI7 Layer계층 별 설명


1.데이터의 기술적 개념

먼저 데이터(Data)의 기술적인 개념부터 알아보자.
우리가 흔히 말하는, 컴퓨터 화면을 통해 볼 수 있는 모든 데이터는 컴퓨터 밖 세상의 것들과 크게 다르지 않다.
책처럼 읽을 수 있는 인터넷 신문기사의 글자들, SNS에 업로드된 사진들 이런 것들을 우리는 데이터라고 부른다.
사실 데이터들은 수많은 0과 1로 이루어진 숫자에 불과하다.
컴퓨터는 2진법의 숫자를 전기의 켜짐(On), 꺼짐(Off)으로 표현할 수 있다.
즉, 데이터는 아주 긴 전기 신호인 것이다.
데이터가 전기 신호라 했으니 데이터를 전달하려면 케이블이 필요할 것 같다.


2.프로토콜(Prorocol)

컴퓨터, 핸드폰 등 한 클라이언트에서 발생한 데이터(Data)가 상대방 컴퓨터 혹은 서버로 전달되기 위해서는 표준화된 어떠한 약속 혹은 절차를 따라야한다.
전기 신호가 그냥 케이블을 타고 상대방 컴퓨터로 전달되는 것이 아니기 때문이다.
보내는 쪽(전송)에서는 데이터(Data)를 안전하고, 정확하고, 신속하게 규격화 즉, 포장하는 방법이 필요하고,
받는 쪽(수신)에서는 데이터(Data)를 안전하고, 정확하고, 신속하게 해석하는 방법이 필요한 것이다.
이러한 기술적 약속을 프로토콜(Protocol)이라고 한다.


컴퓨터 간 데이터를 주고받을 때 에러가 발생하지 않도록 알맞게 나누어 전송하고, 이를 수신하여 다시 기존에 정보로 변환하는 과정, 어떤 모델이 약속되어 있는지 알아보자.


3.계층 구조

네트워크 상에서 여러 대의 컴퓨터가 데이터(Data)를 주고받으려면 이들을 서로 연동할 수 있도록 표준화된 인터페이스를 지원해야 한다.
OSI 7 계층 모델과 TCP/IP 4 계층 모델 모두 계층 구조를 갖고 있기 때문에, 계층 구조가 어떤 것인지, 적용하면 어떤 점이 좋은지를 알 필요가 있다.

계층 구조(Layer)는 네트워크뿐만 아니라 운영체제 등 다양한 분야에서 적용되는데, 계층구조를 사용하는 목적은 분할 정복(Divide and Conquer) 때문이다.
쉽게 말해 어떠한 복잡한 문제를 해결하고자 할 때, 나누어 생각하면 쉽게 해결할 수 있다는 취지이다.

계층 구조의 또 다른 특징은 위(Up), 아래(Down)층으로만 이동할 수 있다는 점이다.
건너뛰어서 맨 위층에서 또는 맨 아래층으로 갈 수 없다.
즉, 다음 단계로 넘어가려면 이전 계층이 전제 조건이 되어야 한다.


4.OSI 7계층이란?

1984년 국제표준문화기구(ISO)에서 개발한 모델로써, 네트워크 프로토콜 디자인과 통신 과정을 7개의 계층으로 구분하여 만든 "표준 규격"이다.
초창기의 네트워크는 각 컴퓨터마다 시스템이 달랐기 때문에 하드웨어와 소프트웨어의 논리적인 변경 없이 통신할 수 있는 표준 모델이 나타나게 되었다.

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

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

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


5.OSI7 Layer계층 별 설명

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

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

  • 전송 단위(PDU): 비트(Bit)
  • 프로토콜(Protocol): Modem, Cable, Fiber, RS-232C
  • 장비: 케이블, 허브, 리피터
    ※핵심 데이터를 전기적인 신호로 변환해서 주고받는 기능만 수행

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

  • 전송 단위(PDU): 프레임(Frame)
  • 프로토콜(Protocol): 이더넷, MAC, PPP, ATM, LAN, WIFI등
  • 장비: 브리지, 스위치
    ※핵심 혼잡 제어, 흐름 제어

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

네트워크 계층에서의 제일 중요한 프로토콜은 IP 프로토콜이다.
IP는 논리적인 주소이고, 우리가 흔히 서로다른 장비를 네트워크를 통해 통신을 하고자 할 때 서로간의 Ip주소를 바탕으로 통신을 한다.
이때 출발지라는 IP와 목적지라는 IP가 생겨나는데,
결과적으로 출발지와 목적지가 서로간의 통신을 하기 위해서 최적의 경로를 결정하고 할당하는 역할을 담당한다.

  • 전송 단위(PDU): 패킷(Packet)
  • 프로토콜(Protocol): IP, ICMP, ARP, RARP 등
  • 장비: 라우터, 스위치, L3
    ※핵심 출발지와 목적지가 서로간의 통신을 하기 위해서 최적의 경로를 결정하고 할당하는 역할을 담당한다.

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

발신지에서 목적지(End-toEnd)간 제어와 에러를 관리한다.
주소 설정, 오류 및 흐름 제어, 다중화를 수행한다.

  • 전송 단위(PDU): 세그먼트(Segment), 데이터그램(Datagram)
  • 프로토콜(Protocol): TCP, UDP, ARP, RTP등
  • 장비: 게이트웨이, 스위치, L4
    ※핵심 패킷 생성 및 전송(TCP: 안정적이고 신뢰할 수 있는 데이터 전송 및 보장, UDP: 필수 기능만 제공)

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

5계층 세션 계층에서 주로 알야하 할점은,
session이라고하는 단어이다.
통신을 성립하는 과정부터 시작해서 통신을 유지를 하고 통신을 종료하는 이 일련의 과정을 다 묶어서 session이라고 한다.

  • 전송 단위(PDU): 데이터(Data), message
  • 프로토콜(Protocol): NetBIOS, SSH, TLS등
    ※핵심 결과적으로 이 계층에서 하는 역할은 통신을 생성하고, 유지하고, 종료하는 그런 일련의 과정을 다 담당을 한다 정도로 알고있으면 좋을듯 하다.

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

송신 측과 수신 측 사이에서 데이터의 형식(png, jpg 등)을 정해준다.
즉, 7계층에서 만들어진 데이터에 확장자를 부여하는 계층이다.

  • 전송 단위(PDU): 데이터(Data), message
  • 프로토콜(Protocol): JPG, MPEF, SMB, AFP등
    ※핵심 7계층에서 만들어진 데이터에 확장자를 부여하는 계층이다.

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

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

  • 전송 단위(PDU): 데이터(Data), message
  • 프로토콜(Protocol): HTTP, DNS, TELNET, FTP, SMTP 등
    ※핵심 즉, 우리가 흔히 사용하는 어플리케이션 ,앱들 프로그램들을 담당하는 계층이다.

6.참고

https://backendcode.tistory.com/167

profile
안녕하세요

0개의 댓글