티스토리 뷰

CS/네트워크 전공 수업 정리

6. Layer 1 & 2

구름뭉치 2021. 4. 27. 20:02

OSI Layer 개념

  • 통신 네트워크를 이루는 protocol layer의 표준형 모델
  • 대부분의 통신 네트워크는 이러한 형태를 갖추고 있다
  • 7 layer, 5 layer model 두가지가 있다
    • layer 1, 2, 3, 4는 공통 부분
    • L 1 (physical), L 2(link)는 보통 쌍으로 이뤄지고 시스템 별로 서로 다르다
    • L 3 (network) 는 IP (Internet Protocol)
    • L 4 는 (transport) TCP / UDP

 

Layer 1 : Physical Layer

물리 계층이라고 불린다

  • 1 : 1 상황에서 직접적인 물리 신호를 주고 받아서 정보를 전달하는 역활
  • 1 hop으로 연결된 상대방에게 직접 정보를 전달
    1 hop이란? → A에서 C를 거쳐서 B로 간다고 하면 A에서 C까지의 연결을 하나로 보고 1 hop이라 한다
  • 링크의 물리 매체에 따라 실제 동작등이 다르다
    • WiFi, LTE, ... : wireless signal
    • Ethernet : twisted-pair copper wire, coaxial cable

 

입력 SDU : 보내고자하는 정보로 상위 계층인 L2에서 내려온 것

출력 : PDU 형태가 아니라, 물리적인 아날로그 신호 (modulation wave)를 보내준다

signal processing chain부분과 의사결정/판단을 내리는 procedure(protocol)부분이 존재한다

정보를 SDU로 받으면 인코딩 후 modulation을 통해 물리신호로 변경, 해당 신호를 받은 엔티티는 신호를 demodulation 한 후 디코딩을 한다

 

Modulation / Demodulation

통신이론 기반의 신호처리 동작

  • Modulation (변조) : 송신할 정보를 carrier signal에 담는 처리
  • Demodulation (복조) : 수신된 변조 신호로부터 원래 송신 정보를 복원

둘을 같이 통칭해서 MoDem (모뎀이라고 한다)

 

Spectrum / Bandwidth

Spectrum

- 주파수의 차이에 따라서 다양한 진폭을 보이는 신호이다

Bandwidth

- 대역폭으로, 아날로그나 디지털로 이뤄진 신호를 통신으로서 보낼려고 하면 전자기파로 보내지는데, 이때 전자기파가 차지가하는 공간이Bandwidth이다

- 스펙트럼은 이 bandwidth내에 있는 주파수의 모양을 말한다

 

Encoding / Decoding

Encoding

- 보내고자 하는 원래 bit열을 보내기 쉽게 가공처리하는 과정

Decoding

- 받은 bit열을 복원 처리하는 과정

예시

error detection

  • N bit를 추가로 붙인다

error correction

  • bit수가 n배가 된다

capacity의 개선

  • scrambling(0, 1비트들을 하나의 비트로 뭉치는 것) , multiplexing, repetition/puncturing 등

위와 같은 것은 encoding으로 보낼 비트에 손을 보는 것이며, decoding은 해당 조작으로부터 원 정보를 가져오는 작업을 한다

 

Analog vs. Digital

Analog / Digital 통신은 변조 직전 data가 무엇이냐가 기준

  • analog 신호를 그대로 변조 → Analog 통신
  • digital bit를 변조 → digital 통신

둘다 궁극적으로 변조 시 나온 신호는 Analog Signal이다

오늘날 일반적으로 digital 통신을 대부분 사용한다

  • 노이즈에 강하다
  • 디지털 기술의 발전
    • 압축 기술의 발달
    • 시스템 구현의 용이성
    • 강력한 보안기술의 손쉬운 적용

 

Wired vs. Wireless

유선 특징

Guided media (Twisted pair 랜선, coaxial cable 구리선, optical fiber 광랜) 에 의한 변조 신호 전달

  • 유선 연결이 필요하므로, 송수신 간 물리적 제약 존재
  • 보통 대역폭이 작은 대신 감쇄가 적고, noise 대비 수신 신호 크기가 크다

Twisted pair

  • 가장 대중적인 통신선
  • 2가닥이 꼬여있는 구조로 케이블 안에 존재한다
  • unshielded twisted pair / shield twisted pair 둘 중 사용
  • 성능, 특성에 따라 여러 category로 나뉜다

Coaxial cable

  • twisted pair 보다 도달거리가 길지만 비싸다

Optical fiber

  • 고성능의 고급 통신선으로 국가간에 해저로 연결하는 광선등이 있다
  • Gbps급 속도, 가볍고 작은 size이다

 

무선 특징

Unsigned media (air, vaccum, seawater 등)의한 변조 신호 전달

  • 활용 가능한 주파수의 확보가 필요하다

wireless channel의 특성

  • center frequency가 높아질 수록 거리 및 장애물에 의한 감쇄가 심해진다
    • → 높은 주파수일 수록 장애물에 약해지는 것
  • Bandwidth가 커질수록 frequency selectivity에 의한 왜곡이 심해진다
    • → 어느 주파수를 고르냐에따라 왜곡이 달라진다
    • 100MHz의 bw일 때, 95MHz에서의 통신과 55MHz에서의 통신의 차이가 존재하는 것

 

Duplex

송수신 방향에 대한 환경 고려

Simplex

  • 단방향 통신만 가능
  • 한쪽은 송신 / 한쪽은 수신
  • 방송과 같은 일방적 정보 전달 시스템에서 주로 활용

Half Duplex

  • 양방향 통신, 한 순간에 한방향만 이뤄진다
  • 무전기 등
  • Time Division Duplex : 시간대 별로 수신, 송신만 한다

Full Duplex

  • 양방향 통신, 한 순간에 동시에 양방향 통신이 가능하다
  • 어려운 버전으로 일반적으로 half duplex가 구현이 쉽다

 

성능 지표

Data rate : 시간당 bit 전송률 (bit/s, bps)

  • 변조 방식에 따라 결정된다 → symbol당 bit 수 / symbol의 시간
  • bandwidth와 밀접한 관계가 있다

Throughput : 평균적인 전송률

  • 비교적 긴 시간동안 data를 전송했을 때, 초당 전송된 bit 수의 평균

Spectral efficiency : Hz당 전송률

  • data rate / throughput 로 bandwidth를 나눈 값

Bit Error Rate (BER)

  • bit 오류율

SNR

  • Signal to Noise Ratio (시그날 대 노이즈 비율)
  • 높을 수록 data rate는 높아진다

Channel Capacity (Shannon Limit)

  • error가 일정 수준 이하로 유지되면서 낼수 있는 이론 상 최대 전송률

Layer 2 : Data Link Layer

L1 물리 계층에서의 정보 전송 흐름을 제어하는 역활

송신

  • 보낼까 말까 → 얼만큼 보낼까 , 어떻게 보낼까

수신

  • 상위 계층으로 수신한 PDU를 올릴까 말까

보통 L 1과 pair관계

  • L1에 의존적이며, L1에 맞게 L2가 설계되는 것이 일반적이다

 

Packet Error

통신 시스템에서 error는 피할수 없는 숙명이다

  • 어느 환경에도 random process인 noise N(t) 존재
  • 수신신호에 더해져서 Demodulation / Decodig에 영향을 준다
    • → 결과적으로 bit error가 확률적으로 발생할 수 밖에 없다

 

Packet error

  • 원래 보낸 packet과 비교할 때, 1bit라도 다른 경우의 이벤트
  • 위 사진과 같이 노이즈가 끼면 패킷 에러 발생
  • 패킷 에러는 Signal to Noise Ratio (SNR)에 따라 발생 빈도가 달라진다
    • 수신된 신호크기 S(t)가 N(t) 대비 충분히 크다면 packet에러는 발생하지 않는다

수신환경에 따라 error bit 패턴이 다르다

  • single-bit errors : 간혈적인 noise 증가로 분산된 bit에서 오류가 난 경우
  • burst errors : 수신 신호 감도가 낮아지면서 특정 구간에서 연속적으로 bit errorr가 난 경우

 

Error Detection

수신 Layer 2는 일반적으로 packet error를 스스로 알지 못한다

→ 정확히 뭘 보냈는건지 모르므로 (원래 의도한 송신 packet bit pattern을 모름)

  • N(t)는 random process이므로 error는 랜덤으로 발생

따라서 L2가 error 를 파악하려면 별도의 장치가 필요하다

  • 원래 보내는 packet에 추가적으로 bit를 붙여서 packet error를 찾아내는데 활용한다
  • 이때, 추가적으로 붙이는 bit가 Paritiy bit이다

 

Parity Bit를 활용한 Error Detection

  • TX에서 parity bit를 붙이고
  • RX에서는 parity를 제외한 비트로 직접 만든 Parity와 수신한 Parity를 비교해서 Error를 판정한다

 

Parity 생성 방법

odd / even parity

  • 1bit를 붙여서 전체 data + parity bit들의 1 개수가 홀수 or 짝수 가 되도록 한다
  • 정확하지 않다

2 - dimensional parity check

  • row, col 각각의 패리티 비트를 통해 2차원 패리티 비트 맵을 만들고 특정 좌표의 값이 뭔지 확인하여 오류 검증
  • 잘 사용하지 않는다

CheckSum

인터넷에서 주로 활용하는 방식

송신 측에서 parity 를 만드는 방법

  • 16bit 단위로 끊어서 1's complement(XOR)방법으로 누적 덧셈을 한다
  • 최종 결과에 1's complement operation을 취해서 나온 값을 Parity Bit로 붙인다
  • (마지막에 나온 결과가 FFFF가 되기 위해 필요한 값이 최종 값)
  • (덧셈하다가 올림수가 나오면 올림수 만 다시 더해주고 다시 다음 16bit부분과 더함)

→ 수신 측에서 전달 받은 데이터를 똑같이 다 더해보고 나온 값 + Parity == FFFF가 나오는지 확인한다

나오면 pass, 안나오면 error

 

CRC (Cyclic Redundancy Check)

  • 가장 강력하고 두루 활용되는 Parity check 방식이다

송신측 CRC Parity Bit 만들기

  • 2진수의 n차 다항식 나눗셈 원리를 통해 n bit CRC를 도출한다
    • 여기서 나눗셈은 XOR
    • 송신 측에서는 서로 약속된 polynomial (P)로 나눈다
    • 수신 data bit를 대상으로 P로 나눴을 때, 나머지를 CRC parity bit로 붙인다

 

수신측

약속된 polynomial P로 나눠보고 나머지가 R(위의 경우 0 1 1 1 0)인지 확인한다

 

자주 사용되는 CRC polynomial

 

Error Correction

에러가 발생하더라도 복호화를 통해 정상적인 데이터로 복구하여 만드는 것

예전 2G 정도의 통신 시스템은 L1에서 보내는 기본 패킷 단위가 크지 않았지만, 최근 (5G 등) 통신 시스템은 L1에서 보내는 패킷 단위가 매우 크다 (수천 ~ 수십만 bit)

  • 이렇게 패킷 내 비트가 많아질수록 Error또한 빈번하게 일어난다
  • 동일 SNR 환경이라면 비트가 길어질 수록 error가 증가

 

보통 Parity를 통해 packet error가 검출되면 Packet 재전송이 이뤄진다

  • 단, 패킷 재전송은 지양해야할 부분
    • → 따라서 Error Detection 하기 전인 Decoding 단계에서 최대한 Error Correction을 통한 복구가 중요하다
  • Channel coding Scheme
    • channel Encoding → Data bit를 재가공해서 고칠 수 있는 형태 (codeword)로 만든다
    • channel Decoding → encoding된 bit를 decoding해서 원래 bit로 복원한다

 

Forward Error Correction (FEC)

Code rate : k / n (원래 data bit 크기 / codeword 크기) < 1

  • 통신 환경이 안좋다면 n을 늘려서 codeword를 늘린다, code rate가 낮아짐
  • 통신환경이 좋은 편이라면 n을 조금만 늘려서 전송 데이터를 줄인다, code rate가 높아짐

효과

  • target BER (Bit Error Rate) 를 만족하는 SNR을 낮출 수 있는 효과
    • Coverage가 넓어진다 (SNR의 범위를 아래로 늘릴수 있으므로)

 

Error Control

결과적으로 L 2 - Data Link Layer 는 Error Detection & Error Correction 기능을 통해 아래 protocol function 동작을 수행할 수 있다

  • FEC를 통한 error 수정
  • CRC, checksum 등 을 이용해 error detection을 통한 error 여부 판단
  • 필요 시 송신측에 재전송 요청 (ARQ)

ARQ는 궁극적으로 unreliable data link를 reliable하게 만들어 준다

ARQ : stop and wait, go back N, selective repeat

 

Stop and Wait

  • ACK이 오면 다음 frame을 전달하는 방식으로 하나씩 전달
  • 패킷 손실은 타이머 expiry로만 확인 가능

slide window

  • 일정 범위(window)에 대해 몰아서 전달한다
  • 몰아서 ACK를 받아서 처리한다
  • 복잡한 상황이 발생할 수 있다

Go Back N

  • N부터 재전송
  • slide window 활용

Selective reject (repeat)

  • 특정 seq만 재전송

Hybrid ARQ

일반적인 ARQ는 error packet을 버린다

  • HARQ는 error packet을 재활용하는 것이 키포인트이다
    • error packet과 재전송된 packet을 잘 결합해서 FEC (forward Error Correction)을 한다
  • LTE, 5G등에서 활용

 

Media Access Control (MAC)

실제로 L1에서의 link란 여러 entity들이 공용으로 사용하는 경우가 많다

(카페 와이파이 등)

  • 한 L1 entiity가 송신한 통신 신호를 동시에 받는 L1 entity들은 그 link를 공용으로 쓴다고 봐야한다

유선 : Hub를 통해 연결된 단말들

무선 : 신호가 도달하는 영역 내의 단말들

  • 두 entity가 동시에 공용 link를 사용하면 충돌로 인해 packet에러가 발생한다
  • 이러한 L1 entity들 간 송/수신을 제어하여 충돌을 막는것이 MAC의 역활이다

 

non-Contention 기반 MAC

  • Link의 자원을 나눠서 사이좋게 사용하는 방식으로 L1 전송이 충돌하는 일이 없다
  • 자원을 나누는 방법에 따라 기법이 달라진다

Frequency Division Multiplexing : 주파수 나눠서 동작

Time Division Multiplexing : 시간을 나눠서 동작

Wavelength Division Multiplexing : 말그대로 한 wave (신호)를 나눠서 동작

Code Division Multiplexing : 코드를 통해 복호화

 

Scheduling

non-contention 방식은 궁극적으로 중앙집권적 L2 entity가 모든 media access를 제어하는 방식이다

  • 특정 L 1이 특정 자원을 통해 전송하는 것을 결정하는 과정을 Scheduling이라 한다

대표저인 예가 기지국

  • 1ms 단위로 스케쥴링을 수행한다
  • 수신 단말과 단말에게 보낼 data, 자원을 결정한다
  • 송신 단말 및 자원을 결정한다

 

Contention 기반 MAC

  • 경쟁 기반으로 L1 / L2 들이 link 자원을 점유해서 사용
  • 중앙 집권적 node가 불필요하지만 충돌의 여지가 있다

ALOHA → Slotted ALOHA

  • Random Access Channel (LTE / 5G)
  • 보낼 놈은 알로하(안녕) 이라고 하는데, slotted는 그 시간에 하라고 알려주게 된다

IEEE 계열 MAC (ethernet, wifi)

반응형

'CS > 네트워크 전공 수업 정리' 카테고리의 다른 글

8. Layer3 : Routing  (0) 2021.04.28
7. Layer 3  (0) 2021.04.28
5. Protocol Function 3  (2) 2021.04.27
4. Protocol Function 2  (0) 2021.04.27
3. Protocol Function  (0) 2021.04.27
Comments
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday