'이더넷'에 해당되는 글 2건

  1. 2006.08.10 Ethernet Technology
  2. 2006.08.07 이더넷, 도대체 뭘까?
engineering/Network Eng.2006. 8. 10. 15:28




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

   1) 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의 충돌시 감쇄가 생겨 제대로 충돌을 알리지 못하는 경우를 방지

  2) 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

    

  1) Preamble

  • 송신측과 수신측간의 송/수신 속도를 일치시키기 위한 bit synchronization
  • 10101010이 7회 연속 반복되는 56비트로 구성
   2) SFD (Start of Frame Delimiter)
  • frame 비트열에서 byte 단위를 식별하는 byte동기
  • 정상적인 프레임의 내용이 시작된다는 사실을 알려주는 frame 동기
  • 10101011의 8비트로 구성
  • Preamble 및 SFD는 모두 MAC controller chip에서 만들어진다.
   3) 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)
    4) SA (Source Address)
  • NIC 의 ROM에 자신의 Ethernet address 기록
  • MAC controller 가 초기화될 때, ROM으로 부터 주소를 읽어 내부의 register에 저장하고 있다가, frame의 송신시 이 값을 읽어 SA영역에 자동 삽입

    5) 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)ProtocolType (Length)Protocol
    0000 - 05dcIEEE 802.3 길이 영역0806ARP
    0600XNS IDP8035RARP
    0800IP8137Netware IPX
    0805X.25 PLP8191NetBIOS
    
   6) Data와 Pad
  

  • Data가 최소길이제한인 46bytes보다 작을때, 그 차이만큼 Pad추가 (0으로 채워짐)


    7) CRC ( Cyclic Redundancy Check = FCS )

  • Preamble과 SFD 제외
  • DA + SA + Length + DATA(Pad) 영역의 계산
  • MAC controller는 Frame을 송신하면서 동시에 CRC 계산한후 DATA 뒤에 추가
  • 수신쪽 MAC controller 도 수신하면서 동시에 CRC 계산한후 수신된 CRC 가 일치하는 지를 검사하고, 틀리면 버린다.


3. 수신된 MAC Frame의 Demultiplexing

   

   1) DSAP의 값에 따라, LLC의 정보 영역을 어느 상위 protocol로 보낼지를 결정

  • DSAPProtocolDSAPProtocol
    06IPE0Netware IPX
    42BPDUF0NetBIOS
    7EX.25 PLPFFGlobal SAP
    80XNSAAIEEE SNAP

  2) 문제점 발생

  • DSAP 의 크기가 1byte 이고, 이중에서 7 bits만 사용할수 있으므로, 지원 protocol의 수가 120여개 밖에 안된다.

   3) 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 영역과 같은 역할
   4) 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 의 값과 같다)

출처 : http://cs.epnetworks.co.kr/dedicate_access/letslearn/net/new_net.htm

Posted by theYoungman
engineering/Network Eng.2006. 8. 7. 12:49
30돌 맞은 이더넷, 도대체 뭘까?
김세진 기자
22/05/2003
여러 대의 컴퓨터를 연결시켜 데이터를 간단히 교환하는 방법이 없을까?”

이 질문에 대한 해답의 탄생은 지금으로부터 꼭 30년 전인 1973년 5월 22일로 거슬러 올라간다. 당시 제록스 팔로알토 연구소에 근무중이던 로버트 메트칼프 박사는 하와이 알로아 대학의 네트워크 전송 방식을 기본 모델로 삼아 새로운 네트워크 개념인 이더넷을 개발했다.


메트칼프 박사가 스케치한 이더넷의 개념도

메트칼프가 손으로 쓱쓱 그린 이 개념도에서 시작된 이더넷은 이후의 네트워크 발전에 크게 공헌했으며 오늘날 수많은 네트워크 인프라의 핵심을 이루고있다. 최근의 유비쿼터스 이더넷 프로토콜도 따지고 보면 이 그림 한장이 시초라 할 수 있다.

컴퓨터를 연결하는 네트워크 기술을 개발한 것은 사실 메트칼프가 처음은 아니다. 하지만 이더넷은 인텔, DEC 등의 지원에 힘입어 다른 기술들을 제치고 비즈니스 현장의 LAN 환경에 완전히 자리잡게 됐다.

이더넷은 뭘까?
이더넷은 초당 10Mbps의 속도를 제공하는 패킷 기반의 LAN 표준규격이다. 컴퓨터들은 이더넷을 통해 파일이나 내부 프린터 등을 공유할 수 있고 외부로는 인터넷과 접속해 전세계 컴퓨터와 상호 연결될 수 있다.

이더넷의 데이터 전송은 CSMA/CD(Carrier Sense Multiple Access with Collision Detection) 방식을 사용한다. 데이터를 보내려는 컴퓨터는 회선이 사용 중인지 아닌지 검사한 후 비어 있을 때만 데이터를 보내게 된다. 회선이 사용 중이면 일정시간을 기다린 후 다시 검사하는 과정을 반복한다. 회선 사용 여부는 전기적인 신호로 확인한다.

여기서 충돌 가능성이 생긴다. 즉 만약 2대 이상의 컴퓨터가 동시에 회선을 검사하고 해당 회선이 비어있다면 전송이 동시에 이뤄지는 것이다. 충돌이 발생하면 해당 데이터에 무작위로 순서가 부여돼 각각 재전송된다.

최근 부상하는 10기가비트 이더넷은 이더넷보다 1000배 빠른 1만Mbps의 속도를 제공하면서 동시에 기존의 이더넷과 완벽한 하위 호환성을 갖는다.

이더넷은 많은 기술규격과 경쟁했는데 그중에는 거대기업 IBM이 개발한 토큰 링(token ring)도 있다.

토큰 링 상에서는 메시지를 실어 나르는 프레임이 컴퓨터들을 연결한 링을 따라 계속 돈다. 메시지를 보내려는 컴퓨터는 비어있는 프레임이 자기한테 오면 이 프레임에 ‘토큰’을 삽입하고(토큰을 넣으면 해당 프레임 상태가 ‘비어있음’에서 ‘점유중’으로 바뀐다) 보낼 메시지와 수신처를 첨부해 링으로 내보낸다. 점유중 상태의 프레임은 첨부된 수신처를 만날 때까지 링의 모든 컴퓨터들을 순환한다. 마침내 프레임이 지정된 수신처에 도착하면 해당 컴퓨터는 메시지를 받은 후 프레임을 ‘비어있음’ 상태로 되돌려 링으로 다시 내보낸다.

아직 토큰 링을 사용하는 사례가 남아있긴 하지만 이더넷과 토큰 링의 경쟁은 이더넷의 압승으로 마무리되고 있는 상황이다.

이더넷 창시자는 어디서 무엇을
메트칼프는 1979년 실리콘 밸리에서 쓰리콤을 설립해 세계적인 네트워크 기업으로 키웠다. 1990년 회사를 나와 92년부터 95년까지 IDG의 IT 전문지인 인포월드에서 CEO를 지냈으며 지금은 벤처기업 투자자로 왕성하게 활동중이다.

한편 재미있게도 쓰리콤은 최근 서부 실리콘 밸리를 떠나 메트칼프가 거주하고 있는 동부 메사추세츠로 본사를 이전했다. 13년 전 떠난 창업자 곁으로 가기위해 미대륙을 횡단한 것일까. @

  [이더넷이란 이름에 담긴 의미]

이더넷(ethernet)은 ‘에테르(ether)’에서 따온 것이다. 에테르는 19세기 음파가 공기와 같은 탄성 매질에 의해 전달되듯이 전자기파의 전달 매질로 작용한다고 믿었던 이론적인 우주의 물질이다. 하지만 1881년 에테르의 존재를 증명하려는 실험은 실패로 돌아갔으며 1905년 아인슈타인이 특수 상대성이론을 정립한 후 모든 전자기파의 속력이 보편 상수라는 가설이 널리 받아들여져 에테르 가설은 역사 속으로 사라지게 됐다.


Posted by theYoungman