※ 프로토콜(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 잃어버린 프레임 이후의 프래임을 재요청 및 자동 재전송 - 타임 아웃으로 재전송 |
- 오류 발생 또는 잃어버린 트래픽만 재전송 |
수신 방법 | - 순차적으로 수신 | - 프레임 송신 순서와 수신 순서가 동일해야 수신 | - 순서 상관없이 윈도우 크기 범위내에서 자유롭게 |
장, 단점 | - 가장 단순한 구현 - 신뢰성 있는 전송 - 대기 시간 존재로 효율 저하 |
- 간단한 구현 - 적은 수신 및 버퍼 사용량 |
- 구현이 복잡 - 버퍼 사용량이 큼 - 보다 작은 재전송 대역폭 |
'Network > 네트워크 관리사' 카테고리의 다른 글
네트워크 일반 : Section 4 광대역 기술 (0) | 2023.03.07 |
---|---|
네트워크 일반 : Section 3 데이터 통신 (0) | 2023.03.07 |
네트워크 일반 : Section 2 근거리 통신 기술이란? (0) | 2023.03.02 |
네트워크 일반 : Section 1 네트워크 개요란 (0) | 2023.03.02 |