[Netwhat] OSI Model

Soeng_dev·2021년 2월 5일
0

42 Seoul / Netwhat

목록 보기
3/6

관련 지식

• 패킷 교환

컴퓨터 네트워크와 통신의 방식 중 하나로 현재 가장 많은 사람들이 사용하는 통신 방식
작은 블록의 패킷으로 데이터를 전송하며 데이터를 전송하는 동안만 네트워크 자원을 사용하도록 하는 방법이다.

패킷은 데이터 연결 상의 모든 노드들 사이에 개별적으로 경로가 제어됨.
이는 회선 교환 방식과는 달리 짤막한 데이터 트래픽에 적합하다.

» 장점

  1. 네트워크 자원을 패킷 단위로 나누어 시간을 공유하므로 회선 효율성이 높다.

  2. 패킷 교환망은 트래픽이 많으면 Store-and-Forward 방식으로 데이터가 들어오는 속도와 나가는 속도를 맞출 필요 없이 각 스테이션에 맞도록 속도를 조절할 수 있다. 이로써 전송 지연이 줄어들고 통신 안정성이 늘어난다.
    (회선방식은 네트워크 부하가 감소할 때까지 요청을 차단)

» 패킷의 구성

패킷은 전송하는 데이터의 한 블록(페이로드Payload) 과 주소지 정보(발신지, 목적지 주소), 관리정보(헤더Header, IPv6에서와 같이 망이 패킷을 목적지까지 전달하는데 필요한) 로 구성됨
각각의 패킷은 일정한 헤더가 필요, 패킷은 적절한 크기로 나뉨

↪ 라우팅 테이블 : 컴퓨터 네트워크에서 목적지 주소를 목적지 도달위한 네트워크 노선으로 변환할때 쓰는 테이블

» 교환방법

하나의 파일은 패킷교환망 안에서 작은 크기의 데이터들로 나눠지고, 발신지와 목적지 주소가 추가되어 하나의 패킷이 됨.

이런 패킷들의 나열(sequence)는 목적지까지 보내지고, 목적지에서는 이런 패킷 나열을 다시 원본 파일로 재구성함.

각 패킷은 개별적으로 경로가 제어(라우팅)된다.
회선 교환망(전화)에서도 마찬가지로 경로제어를 수행하지만, 데이터를 패킷으로 나누지 않고 개별적으로 경로를 제어하지도 않는다. 그저 이전 경로를 따라 전송한다.

• 데이터그램 방식

관련된 패킷이라도 따로 전송
패킷마다 가는 경로가 다를 수 있고, 망이 상황에 따라 달라지며,
패킷의 도착 순서가 바뀔 수 있어 순서의 재조정이 필요
Call Setup 이 필요없지만 잘 사용되지 않는다.

» 장점

Call Setup 과정이 필요없어 하나 혹은 소수의 패킷만을 보낼때에 빠르고 오버헤드가 적다.
망 자원이 바쁠경우 다른 경로로 보내기 때문에 망 운용에 융통성이 있다.
(가상 회선 방식은 혼잡해도 경로를 바꿀 수 없다)
망이 고장났을 때에 최적화된 경로를 찾아갈 수 있어 신뢰성이 높다.

• 가상 회선 방식

관련된 패킷을 전부 같은 경로를 통해 전송
가상 번호를 기반으로 가상 회선을 구현
Call Setup 이 필요, 가상 회선의 Call Setup 은 라우팅 테이블에 등록하는 과정이다.
(회선 교환망의 Call Setup과는 다르다)

» 장점

데이터를 전송하기 전 Call Setup 통해 라우팅 테이블이 등록되므로
회선 교환망처럼 회선을 전용하지 않기 때문에 각각의 패킷에 대해 각각의 경로를 지정할 필요가 없다. (단, 데이터그램이 들어올때에는 경로를 지정)

보낼 데이터가 많아도 Call Setup 한 번만 하면 되서 효율적인 전송가능

각 노드에서 처리시간이 적게 소요

패킷이 순서대로 도착해 오류 제어가 쉽다.

» 단점

Call Setup에 대한 오버헤드가 존재

OSI 7계층

컴퓨터 네트워크 프로토콜 디자인과 통신을 기능에 따라 계층별로 나눈것

각 계층은 보다 하위 계층의 기능만을 이용하고, 상위계층에게 기능을 제공
일반적으로 하위 계층들은 하드웨어로, 상위 계층들은 소프트웨어로 구현됨

각 계층별로 모듈화되어있기 때문에 통신 장애가 발생하면 계층별로 문제 해결이 가능

국제표준화기구(ISO)에서 개발한 모델 (OSI 모델이라고도 지칭함)

» 프로토콜 스택

이러한 계층들로 구성된 시스템을 프로토콜 스택이라고 함
즉, 프로토콜 스택 = 프로토콜의 집합

• 계층 1: 물리 계층

물리 계층(Physical layer)은 네트워크의 하드웨어 전송 기술로 구성됨

» 하는 일

통신 케이블을 이용해 비트 스트림을 전송하는 계층
단지 데이터를 전달하는 역할만하고 오류 제어 기능은 수행하지 않음

0과 1로 구성된 비트 스트림을 전자 신호로 표현하거나 전자 신호를 비트 스트림으로 변경하는 역할
즉, 데이터 링크 계층을 물리적으로 연결하는 역할

다양한 특징의 하드웨어 기술이 접목되어 있기에 OSI 아키텍처에서 가장 복잡한 계층으로 간주됨

» 프로토콜

Ethernet

» 장비

허브, 리피터

• 계층 2: 데이터 링크 계층

데이터 링크 계층은 Point to Point간의 신뢰성 있는 전송을 보장하는 계층
Point란 물리적으로 연결된 노드

» 전송과정

프레임(데이터 링크의 전송 단위)을 물리 계층에 전송,
물리 계층은 물리적으로 연결된 노드로 비트 스트림을 전송
이때 MAC Adress를 이용해서 프레임을 노드로 전송하는데,
전송지 MAC Adress는 프레임의 헤더에 작성

MAC Adress는 네트워크 카드(랜 카드)가 갖고 있는 유일무이한 물리 주소.
(네트워크 카드가 만들어질 때부터 맥 주소(MAC address)가 정해져 있음)

» 특징

데이터 링크 계층 오류 제어와 흐름 제어로 신뢰성 있는 전송을 보장
손실, 손상된 프레임에대해 재전송 요청하는 방식으로 오류 제어를 수행함

» 프레임 손실 확인

프레임을 송신하면 수신하는 노드에서 프레임이 도착했다는 확인 메시지를 전달하며
확인 메시지가 오지 않으면 프레임은 손실된 상태로 간주해 재전송

» 프레임 손상 확인

손상은 프레임의 데이터가 변조된 상태를 의미하며
프레임의 트레일러를 사용해서 이를 확인
프레임의 bit 개수(데이터 + 트레일러)가 짝수인지 확인하는 Parity Bit Check(패리티 비트 검사) 방법을 사용해서 손상된 데이터를 확인합니다.
패리티 비트 검사란?
실제 전송하려는 데이터 외에 패리티 비트 하나를 추가하여 송수신

0은 짝수, 1은 홀수를 의미하는 패리티 비트이며
이는 전송하려는 데이터 비트의 1의 갯수가 짝수인지 홀수인지를 의미

» 흐름제어

두 기기의 데이터 프레임 송, 수신 속도가 달라 발생하는 프레임 유실을 막기 위한 기술

주로, 송신 속도가 빠른 컴퓨터에서 수신 속도가 느린 컴퓨터로 프레임을 전송할때 느린 수신속도때문에 프레임이 유실되는 문제가 발생

그래서 흐름 제어는 기기 중 느린 네트워크 속도에 맞춰서 프레임을 전송하는 방식으로 수행됨

» 프로토콜

MAC

» 장비

브릿지, 스위치

• 계층 3: 네트워크 계층

» 하는일

최종 목적지(노드)까지 경로를 설정(라우팅)하는 역할을 수행
서비스 품질(QoS)을 제공하기 위한 기능적, 절차적 수단을 제공

데이터 링크 계층이 물리적으로 연결된 다음 노드까지의 연결을 보장한다면 네트워크 계층은 최종 노드까지 도착을 보장함

모든 컴퓨터가 물리적으로 연결되지 않아도 인터넷이 가능한건 네트워크 계층이 있기 때문
만약 모든 컴퓨터가 물리적으로 연결되어 있다면 네트워크 계층 없이도 인터넷이 가능

» 특징

네트워크 계층은 서로 다른 네트워크간의 연결 장치를 통해서 다음 네트워크까지 이동을 지원함

최종 노드까지의 전달 경로 설정을 도와주는 프로토콜이 IP 임
IP는 네트워크 계층의 데이터 전송 단위인 패킷의 헤더에 포함됨

네트워크 계층에서 전송하는 패킷은 순서를 보장해주지 않으며, 네트워크를 떠돌다가 손실되는 경우도 존재함
대신 네트워크 계층의 상위 계층인 전송 계층에서 신뢰성을 보장

» 프로토콜

IP, ICMP

» 장비

라우터

• 계층 4: 전송 계층

» 하는일

전송 계층은 End to End간의 신뢰성있는 전송을 지원하는 계층임 (End는 프로세스를 의미)

전송 계층은 네트워크 계층에서 전달된 패킷을 프로세스에게 전달하기 위해 포트 번호(Port Number)를 사용함,
포트 번호는 운영체제가 프로세스에게 부여하는 유일무이한 번호이며, 패킷의 헤더에 있음

전송 계층은 패킷을 프로세스에게 전달하기 전에 재조립
네트워크 계층이 패킷을 순서대로 보내주지 않기 때문
세그먼트 번호를 확인하며 패킷의 손실, 손상 확인후 문제가 있는 패킷에대해 재전송 요청

» 종류

전송 계층은 연결형과 비연결형으로 구분되는데 연결형은 TCP이고 비연결형은 UDP

»» TCP

TCP는 신뢰성있는 데이터 전송을 보장
TCP는 데이터를 전송하기 전에 두 프로세스간의 연결을 설정,
이는 데이터를 보내겠다는 신호이며 데이터 전송이 완료되면 연결을 해제
네트워크 계층에서 순서에 상관없이 데이터를 전송해도 TCP는 데이터를 순서대로 조립

»» UDP

UDP는 신뢰성있는 데이터 전송을 보장하지 않고 프로세스간 연결을 설정하지 않음
UDP는 네트워크 계층에서 전송하는 패킷을 모두 독립된 패킷으로 인식하고 송신 받는대로 프로세스에 전달

» 프로토콜

TCP, UDP, ARP

» 장비

게이트웨이

• 계층 5: 세션 계층

» 하는일

프로세스간의 연결을 유지해주는 계층
전송 계층에서 설정한 연결을 유지하며 세션 계층부터는 소프트웨어 개발자가 직접 코딩해야하는 부분
세션 계층은 대화 기능과 동기 기능을 수행

» 대화 기능

두 프로세스간 토큰으로 대화 기능을 수행
토큰의 종류는 데이터 토큰, 해제 토큰, 동기 토큰

데이터 토큰 : 데이터를 전송할 수 있는 권한

해제 토큰 : 프로세스간 연결 제어를 관리

동기 토큰 : 동기화를 목적으로 사용됨, 신뢰성을 보장하기 위해서 사용됨

» 동기 기능

동기 기능으로 신뢰성을 보장
데이터의 복구를 위해 동기점을 사용, 동기점 이전의 데이터는 프로세스간 데이터에 문제가 없다는 합의를 통해 설정

데이터를 복구할때 동기점 이전까지 데이터에대한 복구 과정을 진행할 필요가 없으므로 동기점 이후부터 진행됨

» 프로토콜

SSH, TLS

• 계층 6: 표현 계층

» 하는일

컴퓨터마다 다른 데이터 표현 방식을 변환, 번역기와 비슷한 역할
16bit, 31bit, 64bit 등 컴퓨터에 맞게 데이터를 변환하는 역할을 수행하는 계층

데이터 압축과 암호화 작업을 수행
압축은 데이터의 전송 속도를 높이기 위함, 대용량 멀티미디어를 전송할때 중요함

암호화는 데이터의 안전한 전송을 위해서 수행하는 작업

» 프로토콜

JPEG, MPEG, ASCII

• 계층 7: 응용 계층

» 하는일

일반적인 응용 서비스를 수행함
하위 계층들을 이용해 사용자가 응용 프로그램을 사용하도록 사용자 인터페이스를 지원
경우에 따라서 표현 계층과 세션 계층의 작업을 수행하기도 함
사용자에게 보이는 유일한 계층으로 메일 전송, 인터넷 접속 등의 작업을 수행

» 예시

네트워크 소프트웨어 UI 부분
사용자의 입출력(I/O)부분

» 프로토콜

HTTP, FTP, SMTP, DNS, Telnet

: : 참고

https://inor.tistory.com/35
https://ko.wikipedia.org/wiki/%ED%8C%A8%ED%82%B7_%EA%B5%90%ED%99%98

profile
Software Engineer

0개의 댓글