다른 이더넷 프레임 감지


12

이더넷 프로토콜에서 다른 패킷을 어떻게 구별 할 수 있습니까? 더 높은 수준의 프로토콜이 사용하기 때문에 "길이"필드 / 영역이 없습니다.

이 프로토콜은 물리적 범위와 논리적 범위 모두에서 처리되므로 구별도 분리되어 있다고 가정합니다.

"EtherType"프로토콜 필드를 사용하여 논리적 분리가 수행됩니까? (즉, 헤더에 길이 필드가있는 상위 레벨 프로토콜의 유형을 사용하여 패킷 길이를 가져옵니다).

물리적 인 구별은 단순히 전기 신호의 비 전송입니까? (내 지식으로는, 고 / 저 전기 신호는 0/1 비트를 나타냅니다).

답변:


14

ytti가 대답했지만 관심이있을만한 관련 정보가 있습니다 ...

이더넷 프로토콜에서 다른 패킷을 어떻게 구별 할 수 있습니까? 더 높은 수준의 프로토콜이 사용하기 때문에 "길이"필드 / 영역이 없습니다.

실제로 이더넷에는 여러 캡슐화가 있습니다.

  • 이더넷 II ([RFC 894]에 지정된 IP에 일반적으로 사용되는 것이 가장 일반적인 캡슐화 임) : 길이 필드 가없고 대신 유형 필드가 사용됩니다.
       +----+----+------+------+-----+
       | DA | SA | Type | Data | FCS |
       +----+----+------+------+-----+
                 ^^^^^^^^

       DA      Destination MAC Address (6 bytes)
       SA      Source MAC Address      (6 bytes)
       Type    Protocol Type           (2 bytes: >= 0x0600 or 1536 decimal)  <---
       Data    Protocol Data           (46 - 1500 bytes)
       FCS     Frame Checksum          (4 bytes)
  • 802.2 LLC 이더넷 : 길이 필드
       +----+----+------+------+------+------+-----+
       | DA | SA | Len  | LLC  | SNAP | Data | FCS |
       +----+----+------+------+------+------+-----+
                 ^^^^^^^^

       DA      Destination MAC Address (6 bytes)
       SA      Source MAC Address      (6 bytes)
       Len     Length of Data field    (2 bytes: <= 0x05DC or 1500 decimal)  <---
       LLC     802.2 LLC Header        (3 bytes)
       SNAP                            (5 bytes)
       Data    Protocol Data           (46 - 1492 bytes)
       FCS     Frame Checksum          (4 bytes)

802.2 길이 필드의 존재 여부에 관계없이 96 비트 Interframe Gap 을 찾아서 와이어에서 이더넷 프레임의 끝을 항상 감지 할 수 있습니다 .

"EtherType"프로토콜 필드를 사용하여 논리적 분리가 수행됩니까? (즉, 헤더에 길이 필드가있는 상위 레벨 프로토콜의 유형을 사용하여 패킷 길이를 가져옵니다).

논리적 분리로, 당신은 IPv4, IPv6 또는 스패닝 트리 프레임을 구별하는 것과 같이 이더넷 내부에 운반되는 다른 프로토콜 사이의 분리를 의미한다고 가정합니다.

  • 이더넷 II는 일반적으로 유형 필드를 사용합니다
  • 802.2 LLC 이더넷은 일반적으로 5 바이트 802.2 이더넷 SNAP 확장을 사용 합니다. 프로토콜은 802.2 DSAP / SSAP 바이트가 0xAAAA 인 경우 SNAP 확장으로 만 디코딩됩니다.

물리적 인 구별은 단순히 전기 신호의 비 전송입니까? (내 지식으로는 고 / 저 전기 신호는 0/1 비트를 나타냅니다)

간단히 말해, 이더넷 프레임간에 96 비트 간격이 있습니다. 그러나 이더넷은 8b / 10b 인코딩 (FastEthernet)과 64b / 66b 인코딩 (GigabitEthernet)을 사용하므로 "전기 신호의 비 전송"이라고 말하는 것은 기술적으로 올바르지 않습니다. 8b / 10b에는 " 자동 "상태입니다.


궁금한 점은 원래 이더넷 버전 2 사양 에도 연결하고 있습니다.


7

이더넷에는 시작시 프리앰블 및 시작 프레임 구분 기호가 있으며 끝에 'IFG'또는 프레임 간 간격이 있습니다. 이들은 프레임의 시작과 끝을 결정하는 데 사용됩니다.


물리적 또는 논리적 범위에서 분리되어 있습니까? 그러나 프로토콜의 데이터 필드에 시작 / 끝 구분 기호와 동일한 정보 / 문자 / 신호가 포함되는 경우 어떻게해야합니까?
Reflection

1
갭은 말 그대로 단지 페이로드에서 찾을 위험이 없습니다. 그러나 다른 비 이더넷 컨텍스트에서는 걱정할 필요가 없으며 일부 심볼을 ​​사용하여 데이터를 인코딩하는 데 사용되지는 않지만 신호를 보내기 만하므로 일부 심볼을 ​​낭비하는 효율을 떨어 뜨려 '유용하지 않음' 데이터.
ytti
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.