- ALOHA (1968 - 1972)
- 주컴퓨터 와 여러군데의 단말기 연결
- 무선채널 (주파수 공유방식)
- carrier sense 기능이 없이 무조건 전송
- 제대로 전송된것만 주컴퓨터에서 ACK를 보내 확인
- contention-based network
- 이론적 최대성능 : 17 % (Slotted ALOHA : 34 %)
- Xerox Ethernet (Experimental Ethernet) (1973)
- DIX 1.0 (Ethernet 1.0) (1980)
- DEC, Intel, Xerox 3개사가 연합하여 표준구현
- 10 Mbps 속도
- 네트워크 길이를 2.5 km 로 확정
- DIX 2.0 (1982)
- 네트워크 길이를 2.8 Km 로 연장
- 네트워크의 관리기능 추가 (재전송횟수, 전송지연)
- IEEE 802.3 CSMA/CD
- 1983년 : - broadband, thin baseband, 전화회선를 매체로 사용
- 속도 : 1 - 20 Mbps 가능
- 1985년 : - baseband 동축케이블 (10Base-5)만 매체로 사용
- 속도 : 10 Mbps 만 사용
(1) Xerox Ethernet
1973년, 미국 제록스의 연구소인 PARC(Palo Alto Research Center) 에서 몇몇 기술자가 Alto 라 부르는 연구용 소형컴퓨터와 고속 네트워크를 개발하기 시작했다. 이 개발의 목적은 각 사무실의 모든 책상에 개인용 컴퓨터를 한 대씩 설치해 놓고 이들을 전체적으로 연결함으로써 직원간의 정보 교환을 용이하게 하자는 것이었다. 제록스는 당시에 개발돼 있는 여러가지 네트워크를 분석해 본 결과 ALOHA의 CSMA 방식이 Token Passing 방식에 비해 근본적으로 더 신뢰성이 높다고 판단해 ALOHA 네트워크를 개발의 기본 모델로 삼았다. 그러나 이미 언급한 바와 같이 ALOHA 네트워크에서는 채널 액세스시에 충돌이 발생하고, 충돌에 따른 대책이라고는 한참을 기다렸다가 응답이 오지 않으면 재전송을 하는 것이 고작이었다. 이들이 충돌로 인한 비효율을 극복하기 위해 고안한 방안은 CSMA를 바탕으로 하되 충돌을 감지(Collision Detection)한다 해서 CSMA/CD라고 이름을 붙였다. 75년, 2년여에 걸친 연구끝에 이더넷의 시초가 되는 실험적 제품을 만들어 냈다. 이때 개발한 이더넷은 동축케이블에서 2.94Mbps의 속도로 작동하고, 1km의 거리내에서 256대의 스테이션을 연결할수 있는, 당시로서는 혁명적인 능력을 가진 것이었다. 75년부터 79년 사이에 제록스는 30개 이상의 실험 네트워크를 설치해 성능 시험을 한 결과 이더넷은 채널의 총 용량중 97%까지를 사용할수 있으며, 모든 상황에서 안정적이라는 평가를 받았다. 그러나 당시 개발한 네트워크는 상용화되지 못했기 때문에 현재는 실험적(Experimental) 이더넷이라 부르고 있다.
(2) DIX 1.0
제록스는 실험적 이더넷에서 얻은 경험을 바탕으로 79년 초에 DEC, Intel과 2세대 시스템 개발에 착수해 80년 9월 'Ethernet Specification'이라 부르는 버전 1.0이 이들 3사의 이름으로 발표됐다. 실험적 이더넷과 버전 1.0은 CSMA/CD를 기본 골격으로 한다는 점에서는 별 차이가 없으나, 물리적 측면에서의 변화를 본다면 전송 속도가 2.94Mbps 에서 10Mbps로 개선된 것이다. 전송속도가 높아지면서 당연히 네트워크의 성능이 높아졌지만, 속도가 너무 높아졌기 때문에 segment 의 최대길이는 오히려 1km 에서 500m 로 줄어들어, Repeater 를 사용해 두 세그먼트를 연결함으로써 네트워크의 길이를 확장하는 것을 대안으로 제시했다. 전송지연문제가 있기 때문에 한 네트워크에서 사용할수 있는 리피터의 최대수를 4개로 제한함으로써 네트워크의 최대 길이는 2.5km가 됐다. 거리가 늘어남에 따라 스테이션의 수도 256개에서 1024개로 증가했고 트랜시버의 수는 최대100개가 됐다. 이같은 물리적 변화와 더불어 프레임의 내용도 개선돼 과거의 네트워크보다 훨씬 발전해 실험적 이더넷에 갖춰져 있던 전문(Preamble), 송수신지 주소, 타입, PCS 항목이 새롭게 개선됐다. 수신 스테이션과 동기를 맞추기 위해 사용되는 1비트의 전문은 최악의 상황에서도 무리없이 동기를 맞출수 있도록 64비트로 증가했다. 또한 주소항목도 8비트에서 48비트로 변경돼 네트워크의 연결 범위가 넓어져 주소 지정에 있어서의 한계도 극복했다. 48비트를 사용하면 주소 지정의 범위가 넓어지고 체계적 주소 지정이 가능해 지므로 외부의 네트워크와 연결하는데 있어 주소 중복의 문제를 해결할수 있다. 네트워크에서 중요한 비중을 차지하고 있는 에러검출의 문제도 전송에러를 감지하기 위해 사용하던 16비트의 FCS항목이 버전 1.0에서는 32비트 CRC로 확장돼 신뢰성을 높이는데 한몫을 했다.
(3) DIX 2.0
IEEE 802 프로젝트가 진행중이던 81년, 이더넷을 개발한 3사는 이더넷을 국제표준으로 지정받기 위해 802위원회에 참여해 버전 1.0을 개선하는 작업을 진행했다. 그러나 새로 채택하게될 표준과 버전 1.0과의 호환성문제가 생기게 되므로 이를 해결하기 위해 82년 12월에 이더넷 버전 2.0을 발표하게 된다. 버전 2.0에서는 신호처리 특성을 개선함으로써 네트워크의 총거리를 2.5km에서 2.8km로 조금 더 확장했다. 또다른 변화는 충돌발생의 보고, 재전송 횟수, 전송 지연등 네트워크의 관리 기능을 추가함으로써 네트워크의 기능을 대폭 향상시킨 것이었다. 이 기능은 당시 LAN분야에서 연구되고 있던 아이디어를 수용해 네트워크의 능력을 크게 확장시킨 것이었으나, 데이터링크 계층의 범위를 벗어나는 것으로 간주돼 IEEE의 표준화 작업에서는 배제된다. 83년 하반기, IEEE 802.3 워킹그룹의 표준화작업이 마무리돼 IEEE 표준 위원회에서는 802.3 CSMA/CD 네트워크라는 이름으로 LAN 표준을 발표했다. 이더넷 사양중 일부 내용이 수정된것을 제외하고는 문구가 그대로 반영될 정도로 이더넷은 802.3 표준에 절대적 영향을 미쳤다.
(4) IEEE 802.3 CSMA/CD
83년에 통과된 802.3 사양은 broadband, thin baseband, 전화회선 등을 전송매체로 사용할수 있고, 최대 전송거리는 500m, 전송속도는 1내지 20Mbps로 돼있었으나, 85년 개정된 사양은 베이스밴드 동축케이블만을 사용하고 전송 속도도 10Mbps만이 가능하도록 변경됐다. 84년에는 802.3 표준이 ANSI에서 미국 표준으로 승인됐고, 85년에는 OSI에서는 국제표준화기구인 OSI 8802/3 으로 인정함으로써 이더넷은 국제적으로 인정된 표준 네트워크가 됐다. 10Base-5 가 발표된후 86년에는 10Base-5 의 변형된 표준인 10Base-2가 IEEE 802.3 위원회에서 추가로 승인됐다. 당시만해도 여타의 네트워크들은 막 세상에 등장하고 있던 단계였기 때문에 당분간은 이더넷만이 LAN의 표준으로 존재하게 된다. 표준 두가지를 공인한 이후에도 IEEE 802.3 위원회는 1Base-5, 10BROAD-36, 10 Base-T, 10 Base-F, 100 Base-TX 등의 표준을 계속해서 추가로 승인하며 오늘에 이르게 된다.
2. IEEE 802.3 표준의 종류
- 각 표준은 '전송속도' '전송방식' 'segment의 길이 또는 전송매체의 유형'을 기본 원칙으로 해 이름부여
- 4 baseband : bandwidth 전체를 하나의 channel로 사용
broadband : 여러 개의 channel로 나누어 사용
구분 |
전송 매체 |
Signaling |
전송속도 |
segment 길이 |
총 길이 |
---|
10Base-5 |
동축케이블 |
baseband |
10 Mbps |
500 m |
2500 m | 10Base-2 |
동축케이블 |
baseband |
10 Mbps |
185 m |
925 m |
1Base-5 |
전화 회선 |
baseband |
1 Mbps |
500 m |
2500 m | 10BROAD-36 |
동축케이블 |
broadband |
10 Mbps |
1800 m |
3600 m | 10Base-T |
전화 회선 |
baseband |
10 Mbps |
100 m |
| 10Base-F |
동축케이블 |
baseband |
10 Mbps |
1000/4000 m |
| 10Base-TX |
광케이블/TP |
baseband |
100 Mbps |
100m |
|
⑴ 10Base-5 : Thick Ethernet
최초의 802.3 표준인 10Base-5는 명칭에 나타난 바와 같이 10Mbps의 전송 속도에 베이스밴드의 동축케이블을 전송매체로 하고, 한 세그먼트는 500m로 제한돼 있다. 네트워크의 확장시에는 최대 4개까지의 리피터를 사용할수 있으므로, 네트워크는 리피터를 사용하는 경우에 2.5km까지 확장된다.
⑵10Base-2 : Thin Ethernet
10Base-5와 같은 성능을 가지는 10Base-2는 베이스밴드 신호전송 방식을 사용하며 10Mbps의 전송속도로 규정돼 있다. 그러나 이보다 가격이 싸고 전송의 품질이 떨어지는 0.2 인치 50ohm의 동축케이블인 RG58AU 케이블을 사용하기 때문에 한 세그먼트의 최대 길이는 185m로 줄고, 한 세그먼트에는 최대 30개의 스테이션만 연결할수 있다. 또한, 외부에 별도로 연결되는 트랜시버 케이블을 없애고, 트랜시버는 NIC 에 직접 실장시킴으로써 비용을 절약하고 설치하기도 편하게 됐다.
⑶1Base-5 : StarLAN
네트워크 배선비용은 전체 장비 비용의 약 10-15%에 달하기 때문에 보다 값이 싼것을 요구하는 환경을 겨냥해 만들어진 네트워크가 AT&T의 StarLAN으로 이 네트워크는 IEEE에서 1Base-5로 인정 됐다. StarLAN의 가장 큰 매력은 거의 모든 빌딩에 이미 설치돼있는 전화회선을 사용하며, 트랜시버, 케이블 탭(tap)이 불필요하고 모듈러 전화잭을 사용하기 때문에 가격이 상당히 싸다는 점이다. 이더넷과 같은 베이스밴드 신호 전송방식을 사용하지만, 속도는 1Mbps이고 스테이션은 중앙의 Hub를 중심으로 star방식으로 연결된다. 허브와 스테이션간 또는 허브간의 최대거리는 250m이므로, 한 허브를 통한 스테이션간의 최대 거리는 500m 이다. 그러한 이유로 StarLAN의 명칭은 1Base-5이다.
⑷ 10Base-T : Twisted Pair Ethernet
- star wired, logical bus
- 한 segment : 최고 512 node
- hub-node, hub-hub 간격 : 0.6 - 100 m로 제한
- Category 5 UTP cable 사용
StarLAN이 상당히 낮은 가격임에도 불구하고 StarLAN의 성능이 좋지 못하기 때문에 시장에서는 그다지 인기를 얻지 못했다. 이문제에 대한 대안으로 제시되는 것이 10Mbps의 속도를 유지하며 전화회선을 전송 매체로 사용하는 네트워크다.
802.3 위원회 소속의 10Base-T 워킹그룹에서는 값이 싸고 설치가 용이한 전화회선을 사용하는 네트워크에 관한 표준을 90년 9월에 10Base-T라는 이름으로 공표했다. 10Base-T는 동축케이블과 같은 정도의 신뢰도를 제공한다.
전송속도는 10Mbps로 모든 이더넷과 동일한 속도이고, StarLAN과 동일한 방식의 구조적 배선방식및 모듈러 잭을 사용하게 되며, 단지 전송거리만 100m로 젠한된다. 10Base-T는 StarLAN에 비하면 가격이나 전송 거리에서 훨씬 불리하지만, 성능면에서 워낙 유리하기 때문에 StarLAN의 보급이 감소하고 있는 추세와는 달리 상당한 인기를 끌고 있다.
3. 이더넷의 기술적 사항
- MAC 계층 구성
- MAC driver (ODI/NDIS/Packet)
- MAC controller
- 송수신용 frame buffer (shared local memory)
- MAC 계층 기능
- MAC Frame 구성
- Carrier Sense 감지
- Collision Detection 감지
- Collision 감지시 jam 신호 송신
- CRC 검사 및 생성
- 재전송동작
- MAC Frame 에서 DATA 부분 추출
(1) CSMA/CD
<CSMA/CD Parameters>
- bit time
- cable 상에서 1 bit 가 송신되는 시간 (1 bit time)
- 10 Mbps : 1bit/10 Mhz = 0.1 us (= 100 ns) (us는 microsecond 임)
- slot time (=collision window)
- Preamble의 첫 bit이 송신된 시간부터 충돌사실이 감지되어 전송을 중지 할수 있는 충분한 시간을 말한다.
- 4개의 repeater로 연결된 2.5 Km 의 Ethernet 에서 slot time : 512 bit time (=51.2 us)
- slot time 은 Frame의 최소길이를 규정한다.
규정하지 않을 경우 MAC 에서 처리해야할 재전송이 상위계층으로 책임이 옮겨 져 응용계층작업이 느려지는데, 이것을 방지하기 위함이다. (최소 MAC 재전송 시간은 IFG 시간인 9.6 us이다.)
- 최악의 경우인 slot time 동안에 충돌사실을 송신node에서 알때까지, 이 frame의 송신이 완료되지 않도록 보장하는 최소 Frame 길이 규정 (64 bytes = 512 bits)
- InterFrameGap(IFG) time
- 송신을 무사히 완료한 DTE라 할지라도 다음 Frame을 연속적으로 전송하지 못 하고 96 bit time (= 9.6 us) 대기후 다시 전송가능
- 채널 독점현상 방지 (IFG 로 인해, 같은 조건에서 idle을 감지하여 송신시도)
- backoff algorithm
- 충돌이 일어나고jam 이 발생한후 채널 idle
- 재전송 간격을 truncated binary exponential backoff 로 결정
- Random하게 결정된 정수값 r slot time만큼 대기후 재전송
- Jamming size ( 32 bits의 random 한 bit열 (실제 32개의 '1'))
- 충돌현상의 발생을 강제로 알리기 위한 신호
- 적은 bit의 충돌시 감쇄가 생겨 제대로 충돌을 알리지 못하는 경우를 방지
< CSMA/CD 방식 >
- 송신측
- MAC Frame 준비후 carrier 검사
- busy : idle할때까지 carrier를 계속 검사
- idle : interframe gap 시간인 9.6 us 대기후 전송
- 전송중 충돌 감지
- Preamble / SFD 부분 전송중 충돌 : 이 부분의 송신을 완료한후 jam 신호송신
- 나머지 전송중 충돌 : 즉시 전송을 중지한 뒤 jam 신호를 3.2 us 동안 송신
- 재전송 시도
- 총전송횟수가 16회 초과 : 상위계층에 재전송시도 초과오류를 보고
- 이하 : backoff time 동안 대기한후 재전송 시도
- 수신측
- 수신 비트열로부터 SFD 부분을 감지하여, 그이후 영역부터 DATA 까지 NIC의 shared memory (수신버퍼)에 byte 단위로 저장하면서, 프레임의 길이, DA, CRC의 계산을 동시에 수행
- Frame의 최대/최소 길이에 어긋나거나
- DA가 자신의 주소가 아닌경우
- FCS 가 틀린경우, Frame을 버린다.
- 정상적으로 완료
- MAC driver는 Type을 참조하여, 적합한 상위계층으로 정보영역만을 전달
(2) Frame 구성
- DIX 2.0 Ethernet Frame Format
- IEEE 802.3 Frame Format
- Preamble
- 송신측과 수신측간의 송/수신 속도를 일치시키기 위한 bit synchronization
- 10101010이 7회 연속 반복되는 56비트로 구성
- SFD (Start of Frame Delimiter)
- frame비트열에서 byte 단위를 식별하는 byte동기
- 정상적인 프레임의 내용이 시작된다는 사실을 알려주는 frame 동기
- 10101011의 8비트로 구성
- Preamble 및 SFD는 모두 MAC controller chip에서 만들어진다.
- DA (Destination Address)
- Block ID (OUI = Organizationally Unique Identifier)
- NIC 제조회사를 식별하는 code
- 송신시 각 byte 의 LSB 부터 송신
- LSB : 0 - 하나의 목적지 스테이션 ( Address Resolution 된 경우)
- LSB : 1 - Multicast Address
- 모든 bits 가 1 : Broadcast (ARP,RARP에 사용)
- Promiscuous Mode : 각 스테이션은 Frame의 DA 에 상관없이 모든 종류의 Frame를 수신할수 있도록 설정가능 ( Network Analyzer)
- SA (Source Address)
- NIC 의 ROM에 자신의 Ethernet address 기록
- MAC controller 가 초기화될 때, ROM으로 부터 주소를 읽어 내부의 register에 저장하고 있다가, frame의 송신시 이 값을 읽어 SA영역에 자동 삽입
- Type 또는 Length
- DIX 2.0 의 Type : 상위계층 protocol 표시
- IEEE 802.3 의 Length : DATA (Pad포함) 영역의 길이
- 두가지 Frame 형식을 Autodetect 하기 위해 기준설정
- DIX 2.0 Type : 0x0600 이상
- IEEE 802.3 : 0x0600 미만
Type (Length) |
Protocol |
|
Type (Length) |
Protocol |
---|
0000 - 05dc |
IEEE 802.3 길이 영역 |
|
0806 |
ARP |
---|
0600 |
XNS IDP |
|
8035 |
RARP |
---|
0800 |
IP |
|
8137 |
Netware IPX |
---|
0805 |
X.25 PLP |
|
8191 |
NetBIOS |
---|
- Data와 Pad
- Data가 최소길이제한인 46bytes보다 작을때, 그 차이만큼 Pad추가 (0으로 채워짐)
- CRC ( Cyclic Redundancy Check = FCS )
- Preamble과 SFD 제외
- DA + SA + Length + DATA(Pad) 영역의 계산
- MAC controller는 Frame을 송신하면서 동시에 CRC 계산한후 DATA 뒤에 추가
- 수신쪽 MAC controller 도 수신하면서 동시에 CRC 계산한후 수신된 CRC 가 일치하는 지를 검사하고, 틀리면 버린다.
< 수신된 MAC Frame의 Demultiplexing >
- DSAP 의 값에 따라, LLC의 정보영역을 어느 상위 protocol로 보낼지를 결정
DSAP |
Protocol |
|
DSAP |
Protocol |
---|
06 |
IP |
|
E0 |
Netware IPX |
---|
42 |
BPDU |
|
F0 |
NetBIOS |
---|
7E |
X.25 PLP |
|
FF |
Global SAP |
---|
80 |
XNS |
|
AA |
IEEE SNAP |
---|
- 문제점 발생
- DSAP 의 크기가 1byte 이고, 이중에서 7 bits만 사용할수 있으므로, 지원 protocol의 수가 120여개 밖에 안된다.
- IEEE 802.2 SNAP 출현 (SubNetwork Access Protocol)
- DIX 2.0 Frame 의 Type 의 갯수만큼 protocol을 지원하기 위해 만듬
- OUI (3 bytes) : NIC 제조회사를 식별하는code (현재는 대부분 0x000000)
- PID (Protocol Identifier) - 실제적으로 상위 protocol을 지정하는 부분으로 DIX 2.0 Frame의 Type 영역과 같은 역할
- IEEE 802.3 Demultiplexing 정리 (상위의 protocol로 전달하기위한 방법)
- 수신된 Ethernet Frame의 Type(Length) 값 확인
-> 값이 0x0600 이상이면, DIX 2.0 Type 으로 인식
- Type(Length)값이 0x0600 미만이면, IEEE 802.3 Length 로 인식
- 802.2 LLC 확인
- LLC 의 DSAP 가 0xAA 이면, 다시 SNAP 확인
-> SNAP 의 OUI 값이 0x0080C2 이면, PID 에 따라 MAC Bridge에서 사용
- SNAP의 OUI 값이 0x000000이면, SNAP PID를 확인하여 해당 protocol로 Demultiplexing (DIX 2.0 Type 의 값과 같다)
|