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
'School Lecture Study > 컴퓨터 통신' 카테고리의 다른 글
13. 무선 LAN (2) | 2022.12.20 |
---|---|
12. 토큰링 (802.5, FDDI) (0) | 2022.12.20 |
10. 슬라이딩 윈도우 구현 (0) | 2022.10.26 |
9. 슬라이딩 윈도우 (Sliding-Window) (0) | 2022.10.26 |
8. 신뢰성 있는 전송 (Stop-and-Wait) (0) | 2022.10.26 |