[2-2장] 데이터 링크 네트워크

김현수·2024년 10월 30일

이더넷 (Ethernet) 개요

  • 기존 점대점 : 노드가 nn개로 늘어나면 링크는 n2n^2으로 늘어남
  • 스케일이 커지면 간접 연결(스위칭) ➡️ 노드들이 지역적으로 제한(묶여)이 있음
  • LAN(Local Area Networks)의 대명사 ➡️ 링크를 공유
  • 역사
    • Xerox PARC에 의해서 1970년대 중반에 개발
    • Aloha 패킷 라디오 네트워크를 근간으로 발전
    • 제록스, DEC, 인텔에서 1978년 표준화
    • IEEE 802.3 표준과 유사
  • CSMA/CD
    • carrier sense -- 반송 신호 감지
    • multiple access -- 다중 접근 : 여러 얘들이 접근함 (링크⬇️, 스위치X)
    • collision detection -- 충돌 검출
  • 버스 토폴로지: 다중 접근 연결
  • 대역폭: 10Mbps(옛날에는 64Kbps 사용), 100Mbps, 1Gbps
  • 문제 : 공유매체에 공평하게 접근할 수 있는 분산(distributed)(노드들이 각자 행동:통제 안 됨) 알고리즘
    • 즉, 매체접근제어 (MAC: Medium Access Control) (CSMA 이용) : 누가 언제 얼마나 쓰느냐를 제어 (하드 어댑터에서 일어남 : 같은 LAN 카드를 씀)
    • center을 사용하면 다른 얘들이 여러개 요청하면 병목이 생김 ➡️ central 안씀

물리적 특성 (버스 토폴로지)

  • 무선 LAN이 BUS 형태
  • 고전적 이더넷 (Classical Ethernet: thick-net
    - 현재는 거의 사용하지 않지만, 이더넷 동작을 이해하려면 필요
    - 최대 세그먼트 500m
    - 트랜시버 탭(transceiver taps)은 적어도 2.5m 떨어져야 함
    - 중계기(repeaters)로 여러 개의 세그먼트를 연결
    - 두 노드 사이에 중계기가 4개를 초과하여 있을 수 없다.
    - 총 길이: 2500m
    - 호스트의 최대 개수는 1024개
    - 10Base5라고도 불림(10은 10Mbps, 5는 500m : 거리가 멀면 중계기(repeater)를 사용해야 함 ➡️ 각각 LAN이 있고 중계기를 연결)
    - loop로 구성되어 있으면 안됨 ➡️ 트리로 구성되어 있어야 함

10BaseT Network

  • 대안 기술
    - 10Base2 (thin-net): 200m; 데이지 체인(daisy-chain) 형태
    - 10BaseT (twisted-pair): 100m; 성형 (star configuration)

프레임 형식 (Frame Format)

  • peer간 주고 받는 메시지
  • 이전에 배운 것은 주소가 없었음(점대점 연결이라 상대방을 지정할 필요X)
  • 주소 (Addresses) : MAC 주소
    • 각각의 어댑터에 유일한 48-bit 유니캐스트 주소가 할당됨
    • 48bit를 반으로 쪼갬 24bit(제작사), 24bit(알아서 충돌 안나게 serial number 할당) : 전세계에서 유일한 할당
    • 예: 8:0:2b:e4:b1:2 (HEX)
    • 브로드캐스트(Broadcast): 모든 비트가 1 (노트북을 껐다 켜면 자동으로 네트워크 할당) (목적지 주소에 111...)
    • 멀티캐스트(Multicast): 첫 비트가 1 (1+그룹으로 구분)
  • 어댑터(NIC: 항상 수신)는 모든 프레임을 수신; 다음 경우에 받아들임 (즉, 호스트로 보냄)
    • 주소항이 자신의 유니캐스트 주소인 프레임
    • 일단 받고 버릴지 말지 결정함
    • 브로드캐스트 주소로 지정된 프레임
    • 수신하도록 프로그램된 멀티캐스트 주소로 지정된 프레임
    • 무차별 모드(promiscuous mode)일 때는 모든 프레임

전송 알고리즘(Transmitter Algorithm)

  • 다중 매체접근제어(MAC): 기본적으로, 경쟁 방식
    • 즉, 제어방식(신호등 방식), 예약방식이 아님.
  • ethernet은 제어방식도 아니고 예약 방식도 아님. 경쟁 방식(들이대는 방식)
  • CS: carrier sense
    • 들어가기 전에 차가 있는지 없는지 주변을 보고 감 (신호가 왔다 갔다 하는지)
    • 전송 전에 회선의 상태를 확인
  • 회선이 유휴(idle) 상태이면:
    • 즉시 전송
    • 메시지를 무한정 보내면 안됨
    • 제일 중요한건 공평해야 함
    • 메시지 사이즈의 상한선은 1500 바이트
    • 연속해서 프레임을 보낼 때는 9.6μs\mu s을 기다려야 함
  • 회선이 사용 중이라면:
    • 유휴 상태가 될 때까지 대기하였다가 즉시 전송
    • 1-persistent(바로 들이댐)라 불림 (p-persistent(p의 확률로 들어감)의 특정 형태)

전송 알고리즘 : 충돌(Collision)

  • 합쳐지면 파장이 커짐(시끄러움)
  • CD (Collision Detection): 전송 중에도 회선 점검
    • 최소 얼마 동안 감지해야 확실한 충돌 감지?
      • 최악 충돌 시나리오 - 51.2μsec\mu sec
    • 51.2&\mu sec& 전에 전송이 끝나면?
      • 수신자 위치에 따라서 충돌 없는 수신도 발생 가능. 즉, 충돌 여부가 확실하지 않음.
        • 따라서, 10Mbps 기준, 전송 최소 프레임의 길이는 512bit, 즉, 64 바이트
  • 충돌(collision)이 생기면:
    • 잼(jam) 신호를 발송하고(못듣게 지지직 신호를 보냄: reset을 함), 프레임 전송을 멈춤
    • 지연시간(delay)을 가진 후 재시도
      - 첫번쩨: (0, 51.2μs\mu s(최악으로 충돌이 나는 시간)) 중에서 택일
      • 두번째: (0, 51.2, 102.4, 153.6) 중에서
      • N번째: randomly select k\times$51.2, $k=0..2^n-1
      • 여러번 시도 후에 포기(보통 16번)
    • 지수 백오프 (exponential backoff) : 충돌 이후에 조심함

additive-increase/multiplicative-decrease (AIMD)

  • A는 충돌 신호 감지를 못함

전송 과정

수신 과정

CSMA/CD 평가

  • 여러 MAC 정책을 평가하는데 있어서, 적절한 지표는?
    • 공평을 기본으로 깔고 성능이 좋아야 함
    • 성능을 방해하는 요소는 충돌
  • 충돌에 소모되는 총비용은 무엇의 함수?
    • 충돌 확률, 충돌 당 얼마를 날려먹느냐?
  • 1-persistent 정책은?
    • 양보했는데 쓰는 얘가 없으면? 안 좋음 but traffic이 많냐 적냐에 따라 달라짐
  • CD를 하지 않는다면?
    • CD로 얻는 이익은 어디서 나오는 것인가?
      • 충돌 당 비용을 줄임
    • exponential backoff
      • 충돌 확률을 줄임
  • 충돌이 감지된 후, 1-persistent인가?
    • 아님
    • exponential이 줄어드는 방식임
  • CSMA/CD가 유효한 환경은?
    • traffic이 작은 환경

사용 경험

  • 실제 관찰 결과
    • 10~200개의 호스트 (1024개가 사용되지는 않음)
    • 길이는 1500m보다 짧음 (RTT의 경우는 51μ\mu보다 5μ\mu 가깝다)
    • 패킷의 길이는 bimodal -길고(\approx 1500) 짧은(\approx 80) 두 가지 형태
    • 상위 수준의 흐름 제어(flow control)와 호스트 성능이 부하를 제한
  • 권장 사항
    • 과부하를 피할 것(최대 30%의 효율) : 30%을 넘어가면 충돌 발생
    • 컨트롤러(controller)를 정확하게 구현 : 스위칭 나옴
    • 큰 패킷을 사용

0개의 댓글