서브네트워크 주소와 호스트 주소를 찾는 문제 질문.

dlsxjsptvmfhxhzhf의 이미지

안녕하세요.

서브네트워크 주소와 호스트 주소를 찾는 문제에 대해서 궁금한 점이 있어서 글을 올렸습니다.

저번에, 이와 같은글을 다른 커뮤니티에 올렸는데 그때 얻은 답변은 아래와 같습니다.

"간단히 서브넷마스크를 2진수로 바꾸어 1인부분은 서브넷주소고 호스트주소는 ip가 된다.

문제 1을 보면 Ip주소는 뒤의 두 자리, 서브넷주소는 앞의 두자리가 된다."

그렇다면, 문제1의 서브넷마스크 주소는 11111111.11111111 이고 ip주소는 00000000.00000000
문제2의 서브넷마스크 주소는 11111111.11111111 이고 ip주소는 10000000.00000000이 된다..

뭔가 확실히 이상한것 같긴한데.. 검토좀 부탁드립니다.

[1번] 아래 주소의 서브네트워크 주소와 호스트 주소를 찾기.
IP 주소 : 124.35.12.66
서브넷마스크 :255.255.0.0

[2번] 아래 주소의 서브네트워크 주소와 호스트 주소 찾기.
IP 주소 : 120.14.45.167
서브넷마스크 : 255.255.128.0

김정균의 이미지

계속 질문을 올리시는 것을 보면 좀 답답하네요. 답을 구할 수 있는 방법들을 답변에서 받았음에도 불구하고 계속 동일한 질문이 올라온느 것이 좀 안쓰럽습니다.

너무 문맥에 대한 부분을 이해하려 하지 마시고, 공식을 외우시고 공식을 보면서 이해를 하려고 노력 하시는 것이 좋습니다. 이전 질문(https://kldp.org/comment/621903#comment-621903)에서 ymlr 님께서 아래와 같이 공식을 알려 드렸었습니다. 어차피 설명들이 이 공식을 풀어서 설명을 하는 것이기 때문이니까요.

일단, 정확하게 정의를 어떻게 내렸는지 알수가 없고, 님이 이해하시는 방향으로 한번 걸러서 질문이 올라오기 때문에 보시고 계신 것이 문제가 있는지 없는지 여부는 확인이 불가하기 때문 입니다.

network = ip & netmask        => subnet의 가장 처음 주소
broadcast = ip | ~netmask     => subnet의 가장 마지막 주소
network < host < broadcast    => host Ip는 network 주소와 broadcast 주소 사이의 것을 사용

그럼 1번의 경우

[1번] 아래 주소의 서브네트워크 주소와 호스트 주소를 찾기.
IP 주소 : 124.35.12.66
서브넷마스크 :255.255.0.0

network = ip & netmask
 
ip              11111000.00100011.00001100.01000010
subnet mask  &  11111111.11111111.00000000.00000000
 
---------------------------------------------------
                11111000.00100011.00000000.00000000

즉, 124.35.0.0 이 network 주소가 됩니다.

그럼, subnet의 마지막인 broadcast 주소를 구하면 network주소와 broadcast 주소 사이가 host 주소가 되는 것이죠.

broadcast = ip | ~netmask
 
ip              11111000.00100011.00001100.01000010
~subnet mask |  00000000.00000000.11111111.11111111   (~표시는 bit를 뒤집으라는 의미입니다.)
---------------------------------------------------
                11111000.00100011.11111111.11111111

즉, 124.35.255.255 가 됩니다.

그럼 호스트 주소는 124.35.0.1 ~ 124.35.255.254 를 사용할 수 있는 것이죠. 위의 공식을 가지고 설명하는 것을 이해 하려고 노력해 보세요. (2진수 변환을 틀렸을 수도 있습니다. 그냥 막 계산한 것이라 이진수 변환을 검증해 보지는 않았습니다.)

[2번] 아래 주소의 서브네트워크 주소와 호스트 주소 찾기.
IP 주소 : 120.14.45.167
서브넷마스크 : 255.255.128.0

2번의 경우에는 B class를 2개로 쪼갠 subnet 이죠. (즉, c class 128개로 이루어진 subnet 입니다.)

network = ip & netmask
 
ip              01111000.00001110.00101101.10100111
subnet mask  &  11111111.11111111.10000000.00000000
 
---------------------------------------------------
                01111000.00100011.00000000.00000000    => 120.14.0.0

broadcast 주소는 아래와 같습니다.

broadcast = ip | ~netmask
 
ip              01111000.00001110.00101101.10100111
~subnet mask |  00000000.00000000.01111111.11111111   (~표시는 bit를 뒤집으라는 의미입니다.)
---------------------------------------------------
                01111000.00001110.01111111.11111111    => 120.14.127.255

2번의 호스트 주소는 120.14.0.1 ~ 120.13.127.254 까지 사용할 수 있는 것이죠.

즉, 질문에 비교해 보자면, subnet mask가 1인자리가 3째 자리의 첫비트 까지 이겠죠. 그럼 host 주소는 3번째 자리의 2~8번째 비드틀이 0인 경우 부터 1인 경우 즉 (00000000.00000000 ~ 011111111.11111111) 까지가 된다는 의미입니다. 이걸 10진수로 해 보면, subnet mask 첫째 둘째 자리는 1로 꽉 차 있기 때문에 IP 주소의 첫번째 두번째 자리는 고정 (120.14) 이고, host주소는 subnet mask가 첫번째 자리가 1이기 때문에 호스트 주소의 세번째 네번째 자리는 0.0 ~ 127.255 (00000000.00000000 ~ 01111111.11111111) 가 되는 겁니다. 그럼 둘을 합치면

120.14.0.0 ~ 120.14.127.255 가 되는 것이죠.

dlsxjsptvmfhxhzhf의 이미지

네트워크의 길은 멀고도 험하네요..허억허억..
이해갈떄까지 봐야겠어요
감사합니다

세벌의 이미지

아이디가 비밀스럽네요. 두벌식으로 뭔가 쓰신 것 같은데 세벌식 쓰는 저에겐 암호스런 아이디네요.

님께서 똑같은 질문 계속하시는 거 보고 저라면
전의 답을 읽어보셔요
라고 까칠하게 답했을 텐데...

초고수님의 우문현답을 보며 많은 생각을 하게 되네요...

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.