본문으로 건너뛰기

오류제어, 흐름제어, 혼잡제어

· 약 5분

네트워크 프로토콜 설계 개념

  • 네트워크 프로토콜 설계시 주소표현과 데이터 전달방식을 결정하고 신뢰성을 위해 오류제어와 흐름제어 기능 추가

오류제어 개념 및 기법

오류제어 개념

  • 부가정보를 추가하여 데이터 전송 중 발생하는 오류를 검출하여 재전송요구(BEC)하거나, 수신 측에서 직접 수정(FEC)하는 매커니즘
  • 데이터 무결성, 신뢰성

오류제어 기법

구분기법내용
오류 검출패리티 검사짝수, 홀수 패티리 추가로 오류 검출
-체크섬데이터 블록 합을 계산해서 오류 검출
-CRC데이터 블록을 다항식으로 나눈 나머지 추가
FEC블록부호일정 크기 데이터 블록에 중복 비트 추가
-길쌈부호연속적 데이터 흐름에 중복 비트 추가
BECARQ오류 발생시 송신 측에 재요청
-Hybrid ARQFEC + ARQ, 일부 오류 수정 후 불가시 재요청

흐름제어 개념 및 기법

흐름제어 개념

  • 송신자, 수신자 간 데이터 전송속도를 조절하여 수신자가 처리 가능한 범위를 넘은 전송을 방지하는 기법
  • 데이터 손실 최소화, 수신 버퍼 오버플로우 방지, 혼잡 완화

흐름제어 기법

구분내용비고
Stop & Wait송신측은 데이터 패킷을 하나씩 전송, 수신측의 ACK 응답 대기낮은 효율, 같은 구현
Sliding Window여러 개의 패킷 연속 전송, 수신측의 ACK 수신 확인 후 윈도우 조절효율적, 범용적
Rate-based Flow Control송신측은 수신측의 피드백 정보를 기반으로 데이터 전송속도 조절혼잡제어 같이 사용

혼잡제어 개념 및 매커니즘

혼잡제어 개념

  • 데이터 전송 중에 네트워크 혼잡을 방지하고 효율적으로 데이터 패킷을 전달하기 위한 메커니즘

혼잡제어 매커니즘

구분내용비고
1. Slow Start새로운 연결 또는 타임아웃 후 시작 혼잡 윈도우를 작게 시작해 지수적으로 증가초기 네트워크 상태 탐색
2. Congestion avoidance네트워크 혼잡을 예방하는 단계 AIMD 알고리즘 사용 혼잡 윈도우 크기를 조절혼잡시 Threshold 감소
3. Fast Recovery패킷 손실 시 혼잡 윈도우를 반으로 줄이고 전송 지속손실 후에도 데이터 전송 계속
4. Fast Transmit중복된 ACK 3개 이상 수신 시 손실된 패킷 즉시 재전송 타임아웃 없이 손실 처리전송 효율 증가

데이터 전송방식 개념 및 기법

데이터 전송방식 개념

  • 데이터가 송수신측 사이에서 어떻게 전달할지를 구현하는 방법

데이터 전송 기법

구분내용비고
Simplex단방향 아이디 전송TV, 라디오
Half-Duplex양방향 전송이나 한 순간에는 한 방향만 가능무전기
Full-Duplex동시에 양방향 전송 가능전화, 화상통화

IP, MAC, Port, SMTP

· 약 3분

전자메일 전송 과정 개요

  • 메일 클라이언트로 메일 전송시 SMTP 서버의 IP주소와 포트로 서버 연결, 네트워크 IP주소에 해당하는 MAC주소를 찾아 패킷을 전송하고, 수신자의 전자메일 주소로 최종 배달

IP, MAC, Port, 전자메일 주소 설명

계층구분내용
L7전자메일 주소전자메일을 받는 개인, 조직을 식별하기 위한 주소
L4포트IP 위에서 어플리케이션 상호 구분을 위해 사용하는 번호
L3IP호스트, 라우터 간 패킷 전달을 위해 사용하는 주소체계
L2MAC물리적으로 연결된 노드 간 프레임 전송을 위한 주소체계

SMTP 메일 전송 과정

단계내용비고
연결 설정서버의 SMTP 포트로 TCP 연결연결 수락
메일 정보 전송HELO/EHLO 명령으로 인사 후 메일 주소 교환각 명령에 OK 수신
메일 데이터 전송DATA 전송 후 헤더, 본문 전송, . 전송 후 본문 마침354 Start, 250 OK
연결 종료QUIT 명령 수신 후 연결 종료221 Bye

ADHOC, AODV

· 약 5분

ADHOC 라우팅 프로토콜의 개념

  • 기반시설이 없는 무선 네트워크 환경에서 동적으로 구성되는 라우팅 프로토콜로 각 노드가 라우터 역할을 수행하며 네트워크 토폴로지 변화에 따른 능동적 경로 탐색, 유지 가능
  • 저전력, 가입-이탈 자율성, 동적 토폴로지, 이동성, 자가치유, 자가구성

ADHOC 라우팅 프로토콜 구성도, 핵심요소, 적용방안

ADHOC 라우팅 프로토콜 구성도

  • 기반구조 없이 노드가 호스트, 라우터로 동작하여 동적 경로 형성
  • ADHOC 네트워크에 포함된 기기 하나라도 연결시 모든 노드가 기간망 접근 가능

ADHOC 라우팅 프로토콜 핵심요소

구분내용비고
경로탐색네트워크 내에서 최적의 데이터 전송 경로를 동적으로 발견Proactive, Reactive
경로유지링크 상태를 모니터링, 경로 이탈시 재구성, 오류 처리고속 이동성 지원
데이터 전달탐색 경로를 통한 패킷 전송재전송 오류 수정

ADHOC 라우팅 프로토콜 적용방안

구분내용비고
공공재난 안전망기존 통신망 마비시 재해복구 지원
-전장 운용망군사 작전시 유선망 대체
민간IoT 통신환경 감시 및 실시간 모니터링
-스마트 팩토리공장 네트워크 효율화
  • VANET, FANET 등 차량, UAM 간 ADHOC 통신 구현 가능

AODV 라우팅 프로토콜

AODV 라우팅 프로토콜 개념

  • 데이터 전송이 발생할 때 경로탐색을 하는 Reactive 방식의 ADHOC 라우팅 프로토콜
  • 경로 탐색 오버헤드 감소, 동적 토폴로지 대응, 구현 용이, 에너지 효율

AODV 라우팅 프로토콜 핵심요소

구분내용비고
RREQ경로 발견을 위해 네트워크 내 브로드캐스팅소스 노드, 주소, 요청 ID 포함
RREP경로 발견시 목적지 노드에서 응답라우팅테이블 갱신
RERR경로의 장애 발생 알림인접노드 전파
경로 유지링크 감지 실패시 RERR 메시지를 전송하고 새로운 RREQ 시작네트워크 신뢰성

TCP, UDP, SCTP

· 약 3분

통신 프로토콜의 개념

  • 디지털 정보를 전송계층에서 포트 기반으로 전송하기 위한 세그먼트 표준 규약
  • TCP의 핸드쉐이킹으로 인한 신뢰성과 UDP의 데이터그램으로 인한 실시간성의 장점을 결합하여 멀티호밍, 멀티스트리밍 기반 SCTP 프로토콜로 발전

TCP, UDP, SCTP

TCP 개념 및 특징

# TCP 헤더
+-----------------+-----------------+
| 소스 포트 | 목적지 포트 |
+-----------------+-----------------+
| 시퀀스 번호 |
+-----------------------------------+
| ACK 번호 |
+-----------------+-----------------+
| 길이 | 플래그 | 윈도우 크기 |
+-----------------+-----------------+
| 체크섬 | 긴급 포인터 |
+-----------------+-----------------+
| 옵션 |
+-----------------------------------+
| |
| 데이터 |
| |
+-----------------------------------+
  • 개념: 신뢰성과 순서를 보장하는 연결지향 프로토콜
  • 특성: 흐름제어, 혼잡제어, 전이중통신, 연결지향

UDP 개념 및 특징

# UDP 헤더
+-----------------+-----------------+
| 소스 포트 | 목적지 포트 |
+-----------------+-----------------+
| 길이 | 체크섬 |
+-----------------+-----------------+
| |
| 데이터 |
| |
+-----------------------------------+
  • 개념: 데이터 전송 속도를 우선시하는 비신뢰성 비연결지향 프로토콜
  • 특징: 비신뢰성, 비연결지향, 단순성, 실시간성

SCTP 개념과 특징

# SCTP 헤더
+-----------------+-----------------+
| 소스 포트 | 목적지 포트 |
+-----------------+-----------------+
| 검증 태그 | 체크섬 |
+-----------------------------------+
| 청크 헤더1 |
+-----------------------------------+
| 데이터1 |
+-----------------------------------+
| 청크 헤더2 |
+-----------------------------------+
| 데이터2 |
| ... |
+-----------------------------------+
  • 개념: 신뢰성 있는 데이터 전송과 다양한 기능을 제공하는 프로토콜로 TCP와 UDP의 장점 결합
  • 신뢰성 보장, 멀티스트림, 멀티호밍, 연결지향

TCP, UDP, SCTP 비교

구분TCPUDPSCTP
연결방식3way - 4way없음4way - 3way
데이터 단위세그먼트데이터그램데이터 청크
신뢰성높음낮음높음
순서보장보장없음보장
HoL블로킹발생없음없음, 멀티스트리밍
속도느림빠름중간
다중경로미지원미지원지원
용도웹, 이메일, 파일전송실시간 스트리밍, DNS, 로깅VoIP, 위성통신, MMORPG
장점신뢰성, 무결성속도, 실시간성신뢰성, 기능안정성
단점느린 속도, 실시간성신뢰성, 데이터손실복잡한 구조, UDP보다 느린 속도

NOMA, 비직교 다중 접속

· 약 3분

NOMA 개념

  • 동일한 주파수 자원을 다수의 사용자가 동시에 사용하며, 신호의 세기 차이를 이용해 사용자 간 신호를 구별하여 주파수 효율성과 데이터 전송 속도를 극대화하는 차세대 무선 통신 기술
  • 증가하는 데이터 트래픽과 다양한 서비스 요구 충족, 주파수 자원의 효율적 사용, 더 많은 사용자 수용 능력, 높은 데이터 전송 속도

NOMA 개념도, 구성요소, 비교

NOMA 개념도

  • 전력을 제어하여 채널별 주파수를 중첩하여 전송

NOMA 구성요소

구분내용비고
송신기다수 사용자 신호의 전력을 차별화하여 주파수에 담아 전송사용자 채널에 따라 전력 할당
수신기주파수 세기에 따른 신호 분리 및 복원 처리SIC
채널다중 경로 지정 및 간섭 관리주파수 효율성

기존 주파수 분할 방식과 비교

구분ODFMANOMA
원리직교 자원 할당전력 차별 중첩 할당
주파수 효율상대적 낮음높음
복잡도낮음높음, 간섭 제거
직교성 유지중요필요없음
활용4G5G

NOMA 고려사항

  • 수신기 내부 순차적 간섭 제거로 수신 받을 데이터를 정확하게 처리하는 기술 필요

Ethernet, 이더넷

· 약 3분

이더넷 개념

  • 네트워크에 연결된 기기들이 상호 데이터를 교환할 수 있게 해주는 48bit 길이 MAC 주소기반 통신 프로토콜
  • 유선 연결, 높은 속도, 다양한 토폴로지 지원, 높은 신뢰성

이더넷 프레임 구조, 구성요소, 적용방안

이더넷 프레임 구조

PreambleSFDMAC 도착 주소MAC 출발 주소길이데이터 ...FSC
7166246 - 15004

이더넷 프레임 구성요소

구분내용비고
프리앰블프레임 시작 알림, 수신 클럭 동기화반복 패턴
시작 구분자실제 프레임 시작을 표현1바이트 배턴
목적지 MAC데이터가 전송될 하드웨어 주소6바이트 주소
출발지 MAC데이터 전송 하드웨어 주소6바이트 주소
유형, 길이프레임 내 데이터 유형과 길이구분값
데이터실제 전송 정보MTU 조절
프레임 검사 시퀀스데이터 무결성 검증용 오류 검출 코드CRC
  • 전이중 통신 도입으로 IPG 제거

이더넷 적용방안

구분내용비고
기업네트워크사무실 내 컴퓨터 네트워크 구성내부망
데이터센터대규모 데이터 관리, 처리고속 이더넷
스마트홈가정 내 다양한 스마트 기기 연결안정성

이더넷 프레임 최소 크기가 64Byte인 이유

  • CSMA/CD로 충돌을 감지하기 위한 대역폭 대비 최소 프레임 크기
  • 현재는 전이중 채널 사용으로 고려 대상 아님

CAN, Controller Area Network

· 약 3분

CAN 개념

  • 여러 개의 전자제어장치,ECU가 차량 내에서 서로 통신하기 위해 설계된 ISO 11898 표준 직렬 버스시스템
  • 엔진 제어, 변속기 제어, 제동, 안전 시스템 등 장치 간 우선순위 기반 효율적 통신을 위해 필요

CAN 구성도, 구성요소, 취약점

CAN 구성도

CAN 구성요소

구분내용비고
CAN 노드네트워크에 연결된 장치ECU, 센서 등
CAN 컨트롤러CAN 프로토콜 처리 핵심 부품노드 내장
CAN 트랜시버컨트롤러와 버스사이 인터페이스 역할변조, 복조
CAN 버스노드를 연결하는 전선2개선 차등 신호
터미네이터신호 반사와 간섭 방지양 끝단 위치
  • 멀티마스터, ID 기반 우선순위 프로토콜로 높은 신뢰성 보유

CAN 취약점, 대응방안

구분내용대응방안
전송 데이터 도청암호화되지 않은 데이터 전송암호화 적용
메세지 위조잘못된 데이터 네트워크 주입HMAC 검증
장애 전파특정 노드 장애가 브로드캐스팅오류 감지, 복구
부하 공격네트워크상 과다 트래픽비정상 차단

차량 네트워크 발전 방향

  • ADAS 운용을 위해 데이트 프레임, 멀티 컨트롤러 기반의 100Mbps 성능의 EtherLoop 통신으로 전환 예상

소스코딩, 채널코딩

· 약 3분

소스코딩, 채널코딩 개념

소스코딩채널코딩
데이터의 효율적 전송, 저장을 위해 중복정보를 압축하여 전송데이터를 만드는 기법전송 채널 간 잡음, 간섭 등으로 인한 오류를 검출, 정정하기 위해 추가 정보를 넣어 감지 및 복원하는 기법
  • 전송효율과 신뢰성을 위한 필수 통신 기법

소스코딩, 채널코딩 개념도, 세부절차, 비교

소스코딩, 채널코딩 개념도

소스코딩, 채널코딩 세부절차

절차내용비고
1. 소스코딩불필요 정보 제거, 중복 제거손실, 무손실
2. 채널코딩오류 검출, 정정 비트 추가패리티, 해밍 코드
3. 변조전송 가능한 신호로 변조ASK, FSK, PSK
4. 복조변조 신호에서 원본 데이터 추출반송파 제거
5. 채널디코딩오류 검출, 정정 비트 제거잉여 비트 제거
6. 소스디코딩압축 데이터 복원원 정보 추출

소스코딩, 채널코딩 비교

구분소스코딩채널코딩
목적전송 효율 향상전송 오류 검출, 정정
기능압축, 부호화에러 검출, 에러 정정
순서선수행후수행
기법H.264, PCM, 허프만 부호화짝수 패리티, 해밍코드, Read Solomon 코드

디지털 전송시 고려사항

  • 케이블, 광섬유 등 물리적 매체를 이용한 전송시 라인코딩 기법을 활용하여 동기화, 전송효율 확보

CIDR, Classless Inter-Domain Routing

· 약 3분

CIDR 개념

  • IP 주소를 효율적으로 할당하고, 인터넷 라우팅 정보를 경제적으로 관리하게 해주는 주소할당 및 라우팅 기법
  • IP 주소 고갈문제 해결, 라우팅 테이블 축소, 유연한 네트워크 설계

서브네팅, 슈퍼네팅 개념, 특징

서브네팅 개념, 특징

구분내용
개념하나의 큰 네트워크를 여러 개의 작은 네트워크로 나누는 기법
특징브로드캐스팅 감소, IP 주소 낭비 최소화
예시부서별 네트워크 분리, 보안 강화

슈퍼네팅 개념, 특징

구분내용
개념여러 작은 네트워크를 하나의 큰 네트워크로 묶는 기법
특징라우팅 테이블 크기 감소, 부담 완화, 트래픽 효율성
예시ISP의 IP 주소 할당, BGP 라우팅

서브넷 마스크 개념, 특징

  • IP 주소에서 네트워크 주소부와 호스트 주소부를 구분하는데 사용하는 32bit 값
  • 네트워크 주소부는 1로, 호스트 주소부는 0으로 표시

192.168.0.0/24 에서 4개의 네트워크 구성 예시

1921681000
1100 00001010 10000110 01000000 0000

네트워크 아이디: 1100 0000 1010 1000 0110 0100 호스트 아이디: 0000 0000

네트워크 아이디호스트 아이디네트워크 주소
192.168.100.0000 0000192.168.100.0
192.168.100.0100 0000192.168.100.64
192.168.100.1000 0000192.168.100.128
192.168.100.1100 0000192.168.100.192

서브넷마스크: 255.255.255.192/26 사용가능 호스트: 62=26262 = 2^6 - 2 (네트워크 아이디, 브로드캐스트 주소)

CIDR 고려사항

  • All IP 기반 IPv6로 전환하여 디바이스 수에 제한 없이 네트워크 토폴로지 구성

Socket, TCP, HTTP, Websocket 통신

· 약 4분

소켓 통신의 개요

소켓 통신의 개념

  • 네트워크 상에서 서로 다른 시스템 간에 데이터를 송수신할 수 있게하는 인터페이스 제공
  • IP, Port를 활용하여 통신연결 설정

소켓 통신의 특징

구분내용비고
양방향 통신데이터 양방향 송수신 가능다양한 데이터 타입
실시간성연결이 유지되는 동안 실시간 송수신지연시간 최소화
프로토콜 독립적다양한 네트워크 프로토콜 사용 가능TCP, UDP

TCP 소켓 구성도, 특징

TCP 소켓 구성도

TCP 소켓 특징

구분내용비고
신뢰성데이터 손실 없이 정확히 전달 보장순서보장
연결지향통신 전 연결 설정 후 종료까지 유지재연결 오버헤드
흐름제어데이터 흐름제어로 수신자 처리속도 맞춤 설정송수신 속도 불일치 해결

HTTP 개념, 실시간 통신 기법

HTTP 개념

  • 요청, 응답 단일요청을 위해 비연결성, 무상태성, 효율성 특징
  • 실시간 데이터 통신을 위해 폴링, 롱폴링 기법 사용

HTTP 실시간 통신 기법

  • HTTP 헤더 및 커넥션 오버헤드 증가로 HTML5에서 웹소켓으로 표준화 진행

폴링

롱폴링

웹소켓

  • 전이중통신, 지속연결, 확장성
  • 초기 핸드쉐이킹 비용이 크므로 DNS캐시, TLS 인증서 캐시, HSTS 등 연결 비용 감소 기법 활용