School Lecture Study/컴퓨터 통신

11. 이더넷 (유선 LAN)

vㅔ로 2022. 12. 20. 01:25
728x90

이더넷 (Ethernet) 개요

  • LAN (Local Area Network)의 대명사 ↔ WAN (Wide Area Network)
  • CSMA / CD
    • Carrier Sence → 반송 신호 감지 (CS)
    • Multiple Access → 다중 접근 (MA)
    • Collision Detection → 충돌 검출 (CD)
  • 버스 토폴로지 : 다중 접근 연결 (리소스 절약할 수 있지만 충돌 방지가 필요함 → Network가 처리)
    • 한 링크를 공유하기 때문에 충돌이 발생할 수 있다.
  • 대역폭 : 10Mbps (100Mbps, 1Gbps)
    • 당시 링크 대역폭이 64K였는데 이더넷은 10Mb
  • 문제 : 공유 매체에 공평하게 접근할 수 있는 분산 알고리즘
    • 즉, 매체접근제어 (MAC : Medium Access Control) 필요

⇒ 핵심 : 공평, 효율, 분산

⇒ 네트워크에서 중앙관리 (Centralized)는 금기. 중앙 관리부분이 고장나거나, 중앙으로 요청이 집중되어 병목이 발생할 가능성이 높기 때문.

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

  • 고전적 이더넷 (classical ethernet) : thick-net
    • 현재는 거의 사용 X, but 이더넷 동작을 이해하기 위해 필요
    • 최대 세그먼트 500m (거리 제한 존재)
    • 트랜시버 탭(transceiver taps)은 적어도 2.5m 떨어져야 함.
    • 중계기(repeaters)로 여러 개의 세그먼트를 연결한다.
    • 두 노드 사이에 중계기가 4개를 초과하여 있을 수 없다.
      • 총 길이 : 2500m
    • 호스트의 최대 개수는 1024개
    • 10Base5라고도 불림 (10 - 10Mbps, 5 - 500m)

  • backbone으로 repeater를 연결하고, 1개의 repeater 마다 각각 굵은 동축 케이블로 연결된 host들이 존재한다. → 고전적인 방법

10BaseT Network

  • 대안기술 (HUB가 등장)
    • 10Base2 (thin-net) : 200m; 데이지 체인 (daisy-chain) 형태
    • 10BaseT (twisted-pair): 100m; 성형 (star configuration)
  • 길이가 짧으면 고속으로 전송할 수 있다.
  • hub는 층층히 쌓을 수 있고, 내부에는 버스가 존재한다.
  • 현재 보편적인 LAN의 모습

이더넷 프레임 형식 (Frame Format)

  • Preamble : 64bit
    • 0111110 만으로 clock 동기화가 부족할 수 있어 비트 크기를 크게 사용
  • Dest addr : 48bit
    • 도착 MAC 주소
  • Src addr : 48bit
    • 출발 MAC 주소
  • Type : 16bit
    • 길이를 저장한다.
  • Body
  • CRC : 32bit

길이가 설정되어 있기 때문에 끝을 나타내는 overhead는 필요 없다.

  • 주소 (Addresses) : MAC 주소(ethernet 주소)
    • HDLC는 점대점 연결이라 주소가 필요 없었지만 이더넷은 필요하다.
    • 각각의 어댑터에 유일한 48-bit 유니캐스트 주소가 할당된다.
    • 주소가 48 bit로 길기 때문에 여러 가지의 식별자로 사용가능하다.
    • Ex.8:0:2b:e4:b1:2
    • 브로드캐스트 : 모든 비트가 1
      • 모든 노드가 받을 수 있고, 버스로 연결되어 다른 노드들도 누구에게나 보낼 수 있다.
    • 멀티캐스트(Multicast) : 첫 비트가 1
      • 특정 그룹에 프레임을 전송하는 것
      • 첫 비트를 1로 하여 group으로 설정하는 기법 사용
    • 어댑터는 모든 프레임을 수신한다; 다음과 같은 경우에 받아들여 호스트로 보낸다.
      • 주소항이 자신의 유니캐스트 주소인 프레임
      • 브로드캐스트 주소로 지정된 프레임
      • 수신하도록 프로그램된 멀티캐스트 주소로 지정된 프레임
      • 무차별 모드 (promiscuous mode)일 때는 모든 프레임 수신 → 제 3자가 도청도 가능
      • 무차별 모드가 아닌 경우 위의 경우를 제외한 프레임은 버린다.
    • 이더넷은 파이프가 비는 시간이 많아서 프레임을 전송하는 데 시간이 많이 걸린다.

전송 알고리즘 (Transmitter Algorithm)

  • 다중 매체접근제어 (MAC): 기본적으로 경쟁 방식
    • 제어방식 (신호등 같은), 예약 방식이 아니다.
  • CS : carrier sense
    • 전송하기 전에 회선의 상태를 확인한다.
    • pulse가 없으면 유휴 상태
  • 회선이 유휴 (idle) 상태이면
    • 즉시 전송
    • 메시지 사이즈의 상한선은 1500 바이트
      • 상한을 두지 않으면 starvation이 발생할 수 있다.
    • 연속해서 프레임을 보낼 때는 9.6 ㎲를 기다려야 한다.
      • 점유하는 노드가 계속 보내는 것을 방지하여 공평함을 보장하기 위해서
  • 회선이 사용 중이라면
    • 유휴 상태가 될 때까지 대기하였다가 즉시 전송
      • busy-wait : carrier sense를 계속하는 것
      • 동시에 파이프를 사용할 수도 있지만, 파이프가 노는 것을 방지하기 위함이다.
      • 이더넷의 설계자들은 파이프 넓이가 넓어서 충돌 가능성이 낮을 것이라고 예상하였다.
      • 그와 더불어 충돌 방지 정책도 마련하였다.
    • 10persisten라고 불림 (p-persistent의 특정 형태)
      • p-persistent : p의 확률로 대기하는 것
      • Ex. 0.5 persistent : 0.5의 확률로 대기

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

  • CD (Collision Detection) : 전송 중에도 회선 점검
    • 최소 얼마 동안 감지해야 확실한 충돌 감지가 가능할까?
      • 최악 충돌 시나리오 : 51.2 µ sec
    • 51.2 µ sec 전에 전송이 끝나면?
      • 수신자 위치에 따라 충돌 없는 수신도 발생할 수 있다. → 충돌 여부가 확실치 않다.
      • 따라서 10Mbps 기준, 전송 최소 프레임의 길이는 512bit (64byte)
      • 상한선 : 1500 byte, 하한선 : 64byte
      • 하한선을 정해두는 이유는 충돌 유무를 균일하게 하기 위해서이다.
      • 64byte 보다 작은 데이터의 경우 dummy data를 삽입한다.
  • 충돌이 발생하면
    • 잼(jam) 신호를 발송하고, 프레임 전송을 멈춘다.
    • 지연시간 (delay)를 가진 후 재시도한다.
      • 첫번째: ( 0, 51.2㎲ ) 중에서 택일
      • 두번째: ( 0, 51.2, 102.4, 153.6 )중에서
      • N번째: randomly select k x 51.2, k=0..2n - 1
      • 여러 번 시도후에 포기(보통 16번)
    • 충돌 후에 1-persistent를 적용하면 다른 신호도 똑같은 시간에 멈추고 재전송해서 또 충돌할 가능성이 있어 적용하지 않는다.
    • 한 번에 해결 안 되면 파이프가 비어있는동안 다른 신호가 전송하여 충돌이 또 발생할 수 있어 시간을 랜덤하게 늘려가며 충돌을 방지한다.
    • 지수 백오프 (exponential backoff) - 시간을 점점 많이 늘려가며 대기하는 것

전송 과정

수신 과정

CSMA / CD 평가

  • 여러 MAC 정책을 평가하는데 있어서 적절한 지표는?
    • 처리량이 높아야 한다.
  • 충돌에 소모되는 총 비용은 무엇의 함수인가?
    • 충돌 가능성, 충돌당 비용
  • 1-persistent 정책이란?
    • 전송 가능하면 바로 전송하는 것. 대기하는 신호가 없을 때 양보하면 효율이 낮아진다.
  • CD을 하지 않는다면? → 충돌이 발생한지 모르고 다시 재전송한다. (1500 byte 손해)
    • CD로 얻는 이익은 어디서? → 중간에 전송을 중단에서 충돌이 나는 비용을 낮추는 것
  • 충돌이 감지된 후 1-persistent? → 지수 backoff를 적용한다.

사용 경험

  • 신호등 방식을 쓰면 traffic이 많아질수록 처리량이 수렴한다.
  • 이더넷은 traffic이 많아질수록 처리량이 낮아지지만, 이더넷은 가까운 거리만을 대상으로 한다.
  • 실제 관찰 결과
    • 10-200개의 호스트 (최대 1024개가 사용되지 않음)
    • 길이는 1500m보다 짧게 사용된다. (RTT의 경우는 51µ보다 5µ 가깝다)
    • 패킷의 길이는 bimodal - 길거나 짧거나 두 가지 형태

  • 상위 수준의 흐름 제어 (flow control)와 호스트 성능이 부하를 제한한다.
  • 권장 사항
    • 과부하를 피할 것 (최대 30%의 효율을 갖게 해야 이더넷의 성능이 보장된다)
    • 컨트롤러 (controller)를 정확하게 구현
    • 큰 패킷 사용 → 한 번 전송할 때 많이 보내기

이더넷 확장

  • 속도
    • FaseEthernet : 100Mbps
    • Gigabit Ethernet : 1Gbps
  • 스위칭 기능 : 붙어있는 노드 수를 줄이는 것
    • 하나의 LAN에 하나만 사용하면 충돌이 나지 않아서 속도가 빨라진다.
    • repeater 대신 bridge 사용
    • 각 세그먼트가 독립적으로 사용 할 수 있다.
    • Multiport Bridge ⇒ LAN Switch
    • Switched Ethernet
      • HUB에 Switch로 동작한다.
      • 각 호스트는 대역폭을 점유해서 사용 가능하다.
728x90