이더넷 (Ethernet) 개요
- 기존 점대점 : 노드가 n개로 늘어나면 링크는 n2으로 늘어남
- 스케일이 커지면 간접 연결(스위칭) ➡️ 노드들이 지역적으로 제한(묶여)이 있음
- 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)

- 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을 기다려야 함
- 회선이 사용 중이라면:
- 유휴 상태가 될 때까지 대기하였다가 즉시 전송
- 1-persistent(바로 들이댐)라 불림 (p-persistent(p의 확률로 들어감)의 특정 형태)
전송 알고리즘 : 충돌(Collision)
- 합쳐지면 파장이 커짐(시끄러움)
- CD (Collision Detection): 전송 중에도 회선 점검
- 최소 얼마 동안 감지해야 확실한 충돌 감지?
- 최악 충돌 시나리오 - 51.2μsec
- 51.2&\mu sec& 전에 전송이 끝나면?
- 수신자 위치에 따라서 충돌 없는 수신도 발생 가능. 즉, 충돌 여부가 확실하지 않음.
- 따라서, 10Mbps 기준, 전송 최소 프레임의 길이는 512bit, 즉, 64 바이트
- 충돌(collision)이 생기면:
- 잼(jam) 신호를 발송하고(못듣게 지지직 신호를 보냄: reset을 함), 프레임 전송을 멈춤
- 지연시간(delay)을 가진 후 재시도
- 첫번쩨: (0, 51.2μ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)

전송 과정

수신 과정

CSMA/CD 평가
- 여러 MAC 정책을 평가하는데 있어서, 적절한 지표는?
공평을 기본으로 깔고 성능이 좋아야 함
- 성능을 방해하는 요소는 충돌
- 충돌에 소모되는 총비용은 무엇의 함수?
- 1-persistent 정책은?
양보했는데 쓰는 얘가 없으면? 안 좋음 but traffic이 많냐 적냐에 따라 달라짐
- CD를 하지 않는다면?
- CD로 얻는 이익은 어디서 나오는 것인가?
- exponential backoff
- 충돌이 감지된 후, 1-persistent인가?
- CSMA/CD가 유효한 환경은?
사용 경험
- 실제 관찰 결과
- 10~200개의 호스트 (1024개가 사용되지는 않음)
- 길이는 1500m보다 짧음 (RTT의 경우는 51μ보다 5μ 가깝다)
- 패킷의 길이는 bimodal -길고(≈ 1500) 짧은(≈ 80) 두 가지 형태
- 상위 수준의 흐름 제어(flow control)와 호스트 성능이 부하를 제한
- 권장 사항
- 과부하를 피할 것(최대 30%의 효율) : 30%을 넘어가면 충돌 발생
- 컨트롤러(controller)를 정확하게 구현 : 스위칭 나옴
- 큰 패킷을 사용