link layer

박진은·2022년 5월 5일
0

컴퓨터 네트워크

목록 보기
7/12

link layer

  • L1 물리계층서늬 정보 전송 흐름을 제오하는 역할이다
    • 송신 측에서는 보낼까 말까 - 얼마나 보낼까 어떨게 보낼까
    • 수신 측에서는 상위계층으로 수신 pdu를 올릴까 말까 기타 등등
  • 보통의경우에 L1과 pair 관계이다
    • L1에 의존적이며 L1에 맞게 L2가 설계되는 것이 일반적이다
  • packet error 통신시스템에서 error를 피할 수 없는 숙명이다
    • 어느 환경이나 random process인 noise N(t) 가 존재한다
      • 수신신로에 어해져 demodulation/ decoding에 영향을 준다
    • 결과적으로 bit error가 확률적으로 발생할 수 밖에 없다
  • packed error
    • 원래 보낸 packet 과 비교할 때 1bit 라도 다른 경우의 이벤트
  • packet error 는 SNR에 따라서 발생 빈도가 달라진다 SNR 이 높으면 그만큼 에러가 덜하는 거야 진은아
    • 수신된 신호크기(|s(t)|)가 N(t) 대비 충분히 크면 packet error는 안일어난다
    • |s(t)| 가 |N(t)|대비 작으면 packet error가 자주 일어난다 이말이 무슨말이냐면 시그널 대비해서 노이즈의크기가 크면 에러가 많이 일어난다는 거다
  • 수신 신호 환경에 따라 error bit 패턴이 달라진다
    • single bit error 간헐적인 noise 증가로 분산된 bit 가 각각 오류가 난경우 실제로는 많이 발생하징 않는다
    • burst error 수신 신호 감도가 낮아지면서 연속적으로 bit error 발생하는경우 실제 상황에서 제일 많이 발생하는 경우이다
  • error detection
    • 수신 layer 2는 일반적으로 packet error를 스스로 알지 못한다
      • 원래 송신된 packet 의 bit pattern 을 알지 못한다
      • N(t) 는 random process 이므로 error 는 random 으로 발생한다
    • 따라서 L2 가 packet error를 파악하려면 별도의 장치가 필요하다
      • 원래 보내느 packet 에 추가적으로 bit를 붙여서 packet errorㄹ를 찾아내는데 활용하는데 이 투가적인비트를 parity bit 라고 부른다
    • parity bit를 활용한 error detection 과정인데 info bit 를 generation bit으로 나눈 나머지를 붙여서 만들고 이걸 확인하기 위해서 수신 측에서 같은 제너레이션 함수를 이용해서 계산한다
  • forward error correction
    • 보통 앞에서 parity 를 통해 packet error 가 검출되면 packet 재전송이 이루어 진다

      • 하지만 이런 재전송이 성능관전에서 바람직한 영향은 아니다
      • 따라서 스스로 이를 고치는 거시 바람직한데
    • channel coding scheme
      - channel encoding : data bit 를 재개공해서 고칠수 있는 형태 (code word) 로 만든다
      - channel endcoding: encoding 된 bit 를 decoding 하여 원래 bit 복원( 이과정에서 error 정정이 일어난다)

      FEC과정
      
      - fec과정
      
      code rate: k/n(원래 data bit 크기 / codeword 크기) 보통 1보다 작다
      
      - 통신환경이 안좋다면 codeword의 크기를 늘린다 coderate가 낮아진다
      - 통신환경이 좋다면 code word의 크기를 줄여서 데이터의 크기를 줄인다 coderate가 높아진다
      - 효과
          - target BER(Bit error Rate) 를 만족하는 SNR을 낮출 수 있는 효과
              - coverage가 넓어 진다 (SNR의 범위를 아래로 늘릴 수 있으므로)
              - 거리가 멀어질 수록 오류가 많이 발생하니까 전송하기 어려운데 이를 FEC 포워드에러컨드롤이 잡아주니까 커버리지가 커질 수 밖에 없는 구조임
      
      ### error control
      
      - layer 2 는 error detection/ correction 기능을 활용해서 아래 protocol function 동작을 할  수 있음
          - FEC를 통해 error를 수정
              - error detection 을 통해서 error 여부를 판단
              - 필요시 송신측에게 재송신을 요청한다 ⇒ ARQ 오토매틱 리액트 리퀘스트
          - ARQ는 궁극적으로 unliable data link를 reliable 하게 만들어주는 역할이다
          
          ### flow control
          
          - stop and wait : 하나씩 전달
              - ack가 오면 다음 packet을 전송한다
              - link utilization이 좋지 않다 졸라 통신이 원활하지 않는 거임
          - slide-window 일정범위 wnidow 에 대해 몰아서 처리한다
              - 몰아서 ack를 받아서 처리한다
              - 다야한 복잡한 상황이 연출출될 수 있음
              - 키리딧 기반 다시 보고 자자자 진은아
          
          ### ARQ의 종류
          
          - stop and wait
              - 하나씩 전송
          - go back N
              - 오류가 발생한 n 번째 패킷부터 다시 전송
              - 슬라이드 윈도우 활용
          - selective reject
              - 특정 seq만 재전송
          
          # hybrid ARQ
          
          일반적인 ARQ는 error packet은 버린다
          
          - HARQ 는 error packet을 재활용하는 것이 키포인트 이다
              - error packet 과 이후 재전송된 packet을 잘 결합해서 Forward Error Correction을 함
                  - FEC 동작과 ARQ재전송 개념을 잘 합친 기법
                  
      
      ## Media Access Control(MAC)
      
      - 실제로 L1에서의 link란 여러 entity 들이 공용으로 사용하는 경우가 많다
          - 한 L1 entity가 송신한 통신 신호를 동시에 받는 L1 entity들은 그 link르르 공용으로 쓴다고 봐야한다
          - 유선: hub를 통해 연결된 단말들
          - 무선: 신호가 도달하는 영역내의 단말들
          - 두 entity가 동시에 공용link를 사용하면 충돌러 인해 packet error가 발생한다
      - 이 L1 entity들 간 송수신을 제어하여 충돌을 막는 것이 MAC의 역할이다
      
      ### non- contention 기반 MAC
      
      - link 의 자원을 나눠서 사이좋게 사용하는 방식이다
          - L1 전송이 충돌하는 일이 없다
      - link 자원을 어떻게 나누냐에 따라서 기법이 달라지는데
          - frequency division multiplexing - 주파수를 대역폭안에서 나눠서 사이좋게 먹음
          - time division multiplexing - 시간을 기준으로 링크를 배정함
          - wavelength divison multiplexing 광섬유에서 빛의 파장을 기준으로 링크를 나눈다
          - code division multiplexing - 넓은 대역에서 데이터를 보냄
      
      ## Scheduling
      
      - non - contention 방식은 궁극적으로 중앙집권적 L2 entity 가 모든 media access를 제어 하는 방식이다
          - 특정 L1이 특정 자원을 통해 전송하는 것을 결정하는 과정을 scheduling
      - 재표적인 예시 : LTE/5G기지국이다
          - 1ms 단위로 scheduling 수행한다
              - 수신 단말과 단말에게 보낼 data 자원결정
              - 송신 단말 및 자원결정
          
          CSMA/CA는 채널이 비어 있을 때 전송을 시도하는데, 여러 단말이 동시에 접속하면 충돌(collision)이 발생하여 전송 자원이 낭비된다.
          
          - 

      contention 기반 mac 레이어

    • 경쟁기반으로 L1/ L2들이 link 자원을 점유해서 사용한다

      • 중앙집권적 node가 불필요하다 총돌의 여지가있다
    • ALOHA- > Slotted ALOHA

      • random Access Channel(LTE/5G)
    • IEEE 계열 MAC(ethernet wifi)

      • carrier Sensing Multiple Access Carrirer Detection - 회선이 비어 있으면 일단 전송부터 하고 충돌하고나면 충돌메세지를 전제 노드들에게 전달하는 방식
      • carrier Sensing Multiple Access Carrier Avoidance- 매체를 액세스 시 가장 먼저 매체에 액세스 시 가장 먼저 매체에 액세스 시도를 한 컴퓨터에게 사용 권한을 주는 방법 충돌을 피하는 알고리즘이다 에초에 데이터 전송이 먼저일어나지 않기 때문에충돌이 일어나지 않는다
profile
코딩

0개의 댓글