MAC address 유효성 체크(Vender부분)를 하나요? 아니면 MAC address(Vender부분)부여에 규칙이 있나요?

emax77의 이미지

현재 ks8695칩셋을 사용해서 공유기 개발중입니다.
MAC을 변경해 가면서 테스트중 이상한 현상을 발견하여 질문 드립니다.

아래와 같이 구성하여 테스트를 진행하였습니다.

WAN ------------------- 공유기(ks8695) ----------------- PC(맥변경)

1.PC에서 ping 또는 DHCPDISCOVER를 공유기로 전송(PC는 MAC어드레스 변경해 가면서 테스트)
2.공유기가 변경된 MAC을 받아 응답/비응답 하는가 테스트

아래와 같이 정상적인 벤더의 MAC은 이상없이 공유기가 응답을 주는데
00:02:55:xx:xx:xx (hex) IBM Corporation
00:09:18:xx:xx:xx (hex) SAMSUNG TECHWIN CO.,LTD 등등..

MAC에 등록되지 않은 (01:00:00:xx:xx:xx)는 공유기의 ks8695칩셋에서 커널단으로 올려주질 않는군요.
추가로 아래와 같이 일반PC에서 테스한 결과 01:00:00:xx:xx:xx에 대한 응답을 하는군요.

일반PC(realtek RTL8168C/8111C) ----------------- PC(맥변경)

일반PC네트워크 카드는 realtek RTL8168C/8111C로 되어있네요.
칩셋마다 MAC에 대하여 유효성 체크나 룰이 있는지 궁금합니다.
아니면 MAC어드레스 벤더부분에 규칙이 존재하는지도 답변 부탁드립니다.

bushi의 이미지

주석 참고하세요.

static inline void random_ether_addr(u8 *addr)
{
        get_random_bytes (addr, ETH_ALEN);
        addr [0] &= 0xfe;       /* clear multicast bit */
        addr [0] |= 0x02;       /* set local assignment bit (IEEE802) */
}
리눅스 커널에 있는 코드인데, 주로 BSP 용의 드라이버에서 애용됩니다.
http://standards.ieee.org/regauth/oui/oui.txt 의 목록에서
첫번째비트와 두번째비트가 사용되지 않는 것을 확인하실 수 있습니다.
더 자세히 알고 싶다면 http://en.wikipedia.org/wiki/MAC_address 에서 출발해보세요.

OTL

emax77의 이미지

감사합니다.

결국 MAC어드레스 01:~~은 멀티케스트용 MAC주소로군요.

음.. 확실히 멀티케스트용(전송용 dest주소)가 src MAC으로 사용되었으니

잘못되긴 잘못되었군요..

브로드케스팅으로 말하면 src의 MAC이 FF:FF:FF:FF:FF:FF로 날린 격이니

칩에서 거부할만 하네요..

좋은 공부 되었습니다. 감사합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.