Network/네트워크 관리사

TCP/IP : Section 1 OSI 7계층

seongduck 2023. 3. 8. 09:43
※ 프로토콜(Protocol)이란?

 

1-1) 프로토콜 개요

  • 통신망에서 통신을 원하는 양측 시스템에서 데이터를 주고받기 위해 미리 약속한 통신 규약

 

2-1) 프로토콜 구성 요소

  • 1) 구문(Syntax) : 데이터 형식, 신호 레벨, 부호화
  • 2) 의미(Semantics) : 개체의 조정, 에러 제어 정보
  • 3) 순서(Timing) : 순서 제어, 통신 속도 제어

 

3-1) 데이터 전송 방식

  • 비트 단위, 바이트 단위, 문자 단위 전송 방법이 존재
  • 1) 비트 단위 전송 방식
    • 특수 플래그를 포함시켜 데이터를 전송하는 방식
    • SDLC (Synchronous Data Link Control)과 HDLC(High Level Data Link Control)이 존재
  • 2) 바이트 단위 전송 방식
    • 제어 정보를 데이터 헤더에 포함시켜 데이터를 전송시키는 방식
    • DDCM(Digital Data Communication Message)이 존재
  • 3) 문자 단위 전송 방식
    • 특수 문자를 시작과 끝에 포함시켜 데이터를 전송하는 방식
    • BSC(Binary Synchronous Communication)이 존재
  • 통신 프로토콜에서 가장 대표적인 것은 ISO에서 정의한 OSI(Open System InterConnection) 7계층 프로토콜이 있다.

※ OSI 7계층이란?

 

1) OSI 7 계층 개요

  • 개방형 시스템의 효율적인 네트워크 이용을 위해, 모든 데이터 통신 기준을 계층으로 분리
  • 각 계층 간의 필요한 프로토콜을 규정
  • ISO에서 1977년 제정
  • 7계층으로 분류하여 서로 다른 네트워크 간의 통신이 가능하도록 함

 

2) OSI 7 계층 목표

  • 정보가 전달되는 Framework를 제공해서 네트워크 형태에 차이가 발생해도 데이터 통신을 제공
    • Framework란 작업(Task)을 처리하기 위한 기본적인 틀을 의미하고 상세한 부분까지는 정의하지 않음

 

3) OSI 7 계층의 특징

  • 각 계층의 독립성을 향상
  • 효율성 및 생산성 향상
  • 캡슐화 기능 제공
    • 각 계층에 대한 정보를 헤더에 추가해서 메시지에 헤더를 붙이는 과정
    • 한 단계씩 내려갈때마다 헤더가 추가되고 한 단계식 올라갈때 헤더가 제거된다.

 

4) 계층별 특징

1) 애플리케이션(Application) 계층

  • 사용자들이 자주 사용하는 프로그램이 있는 계층
  • 데이터 송신을 위한 메시지 생성
  • HTTP(인터넷), FTP(파일 업로드 및 다운로드), SNMP(네트워크 모니터링), SMTP(전자 우편 발송, 수신) 프로토콜 존재

 

2) 표현(Presentation) 계층

  • 전송한 메시지에 대해서 코드화를 수행
  • 사전에 정해진 코드로 변환
  • 메시지를 압축
  • 네트워크 송신과정에서 스니핑(Sniffing)을 통해 메시지를 훔쳐볼 수 있기 때문에 암호화를 수행

 
3) 세션(Session) 계층

  • 송신자와 수신자 간에 통신을 위해 동기화 신호를 주고 받음
  • 세션 연결 후 가상 연결을 제공
  • 통신은 단순, 반이중, 전이중 방식을 결정함

 
4) 전송(Transport) 계층

  • 송신자와 수신자간의 논리적 연결을 수행
  • 종단 간에(End to End) 연결을 관리
  • 전송 계층의 프로토콜은 TCP, UDP가 있음
  • 종단 간 에러 발생시 에러를 탐지하고 재전송
  • TCP와 UDP는 헤더와 함께 데이터에 에러가 있는지 확인

 
5) 네트워크(Network) 계층

  • 수신자의 IP 주소를 읽어서 라우터가 경로를 결정
  • 최단 경로 알고리즘같은 라우팅 알고리즘을 사용해 결정
  • 결정되면 포워딩을 수행
  • IPv4, IPv6가 존재
  • 네트워크 에러확인을 위해 ICMP 프로토콜 사용

 
6) 데이터 링크(Data Link) 계층

  • 네트워크 계층에서 붙인 IP 헤더에서 IP 주소를 읽어 하드웨어 주소인 MAC 주소를 구함
  • 에러를 탐지 및 교정
  • 부하 발생을 막기 위한 흐름제어 수행

 
7) 물리(Physical) 계층

  • 물리적 선로로 전송하기 위해서 전기적 신호인 비트로 데이터를 전송
  • 전송 거리가 멀면 리피터를 통해 증폭

 
OSI 7 계층별 세부 기능

OSI 7 Layer 주요 내용 주요 프로토콜
7. Application - 사용자 소프트웨어를 네트워크에 접근 가능하게
- 사용자에게 최종 서비스 제공
- FTP, SNMP, HTTP, Mail, Talent등
6. Presentation - 포맷 기능, 압축, 암호화
- 텍스트 및 그래픽 정보를 컴퓨터가 알아볼 수 있게 16진수로 변환
- 압축, 암호, 코드 변환
- GIF, ASCII, EBCDIC
5. Session - 세션 연결 및 동기화 수행, 통신 방식 결정
- 가상 연결을 제공(로그인/로그아웃)
- 단순, 반이중, 전이중 결정
4. Transport - 가상 연결, 에러제어, Data 흐름 제어, Segment단위
- 두 개의 종단 간 End-to-End 논리적 연결
- 신뢰도, 품질 보증, 오류 탐지 및 교정 기능
- 다중화(Multiplexing) 발생
- TCP, UDP(SSL 및 TLS 실행)
3. Network - 경로 및 라우팅 수행, 논리적 주소 연결(IP)
- 데이터 흐름 조절, 주소 지정 메커니즘 수행
- 네트워크 패킷 흐름 통제
- Datagram 단위
- IP, ICMP
- 라우팅 프로토콜(RIP, OSPF)
2. Data Link - 물리 주소 결정, 에러 및 흐름 제어, 데이터 전송
- Frame 단위
- 전송 오류를 처리하는 최초의 계층
- 흐름 제어, 오류 제어(ARQ)
- 브리지, HDLD
- Frame Relay
1. Physical- - Data Bit 전송
- Bit 단위, 전기적 신호, 전압 구성, 케이블, 인터페이스 등을 구성
- 동축 케이블, 광섬유, 트위스티드 Pair 케이블
  • End-To-End : 4~7계층 송수신자 간의 에러 컨트롤
  • Point-To-Point : 1~3계층 구간의 에러 컨트롤

 
OSI 7 계층 네트워크 장비

검출 방법 장비명 설명
Application -Gateway - 서로 다른 네트워크 망과의 연결(PSTN, Internet, Wireless Netwokr)
- 패킷 헤더의 주소 및 포트 외의 모든 정보
Network - Router - 패킷을 받아 경로를 설정하고 패킷을 전달
- Bridge는 MAC 주소를 참조하지만 Router는 네트워크 주소까지 참조하여 경로
- 패킷 헤더 정보에서 IP 주소를 확인하여 목적지 네트워크로만 전달하여 브로드케스팅 차단
Data Link - Bridge - 서로 다른 LAN Segment를 연결
- MAC 주소 기반 필터링을 제공하여 더 나은 대역폭 사용 및 트래픽 통제
- 리피터와 같이 데이터 신호를 증폭하지만 MAC 기반에서 동작
- Switch - 목적지의 MAC 주소를 알고 있는 지정된 포트로 데이터를 전송
- Repeater와 Bridge의 기능을 결합
- 네트워크의 속도 및 효율적 운영
Physical - Cable - Twisted Pair Cable, Coaxial, Fiber - Optic Cable
- Repeater - 전기적 신호를 재생하고 증폭하는 장치
- 디지털 신호를 제공, 아날로그 신호 증폭 시 잡음과 왜곡까지 증폭

※ 에러 제어(Error Control)이란?

 

1) 에러 제어 개요

  • 에러가 발생하면 우선 에러가 발생했는지 탐지(Detection)해야하고 에러를 수정해야 함
  • 수신 받은 데이터에 에러가 없는지 확인하는 것은 FEC
  • 수신자가 데이터를 수신받지 못하면 재전송하는 BEC가 있다.

 

2) FEC(Forward Error Control)

  • 가장 간단한 에러 방식은 페리티 비트를 사용하는 것이다.
  • 에러 발생 시에 수정까지 할 수 있는 기법은 해밍 코드이다.
  • 실제로는 CRC 코드가 많이 쓰인다.

 

  • 1) 해밍코드 (Hamming Code)
    • 오류 발견 및 교정이 가능한 코드
    • 1비트의 에러 검출 및 교정
  • 2) CRC 코드 (Cyclic Redundancy Check)
    • 데이터 통신에서 전송 중에 에러가 발생했는지 확인하기 위한 용도로 덧붙이는 코드
  • 3) 패리티 비트(Parity Bit)
    • 하나의 비트로 코드의 에러를 검출하는 것 (짝수와 홀수에 따라 1비트를 추가)
    • 홀수 패리티(Odd Parity) : 비트 수가 홀수 개인 경우
    • 짝수 패리티(Even Parity) : 비트 수가 짝수 개인 경우 

 

3) FEC(Forward Error Correction)과 BEC(Backword Error Correction)

  • 1) FEC
    • 송신 측이 특정한 정보 비트를 함께 전송 & 에러 발생시 이 비트 이용
    • 데이터 전송 과정에서 오류를 검출 (오류 메시지) 다시 재전송 요구 없이 오류 수정
    • 재전송 요구가 없기에 역 채널이 필요 없고, 연속적인 데이터 전송이 가능
    • 오류 검출 및 수정 코드가 같이 보내기에 효율이 안 좋음
    • 해밍 코드와 상승 코드 방식이 있다.
  • 2) BEC
    • 수신 측이 에러 검출 후 송신 측에 에러가 발생한 데이터 블록을 다시 전송 (ARQ ...)
    • 패리티 검사, CRC 등 CheckSum을 이용하여 오류 검출
    • 오류 제어는 ARQ가 처리
    • Stop-and-Wait, Go-Back-N, 등 존재

 

3-1) BEC 기법

  • 1) Stop-and-Wait 방식
    • 송신자가 데이터를 전송하고 수신 응답이 오면 그다음 데이터 전송
  • 2) Go-Back-N 방식
    • 송신자가 받지 못한 마지막부터 다시 재 전송하는 방식으로 TCP 프로토콜에서 사용
  • 3) Selective Repeat 방식
    • 수신자가 중간에 빠진 것만 재전송 하는 방식으로 에러 처리

 

3-2) BEC 기법 특징

기법 Stop-And-Wait Go-Back-N Selective Repeat
재전송 요청 방법 - 에러 발생 즉시 재전송 - 오류 발생 or 잃어버린 프레임 이후의 프래임을 재요청 및 자동 재전송
- 타임 아웃으로 재전송
- 오류 발생 또는 잃어버린 트래픽만 재전송
수신 방법 - 순차적으로 수신 - 프레임 송신 순서와 수신 순서가 동일해야 수신 - 순서 상관없이 윈도우 크기 범위내에서 자유롭게 
장, 단점 - 가장 단순한 구현
- 신뢰성 있는 전송
- 대기 시간 존재로 효율 저하
- 간단한 구현
- 적은 수신 및 버퍼 사용량
- 구현이 복잡
- 버퍼 사용량이 큼
- 보다 작은 재전송 대역폭