서브넷 마스크 물고기 잡는 방법

lfs의 이미지


네크워크를 공부하는데 있어서 서브넷 마스크를 이해하기가
하늘의 별따기라고 주위 사람이 말했다. 그런데 실상 제가
서브넷 마스크를 공부했는데 문제는 단하나 인문학을 공부 못
해서 책을 못보는 거라 결론을 내 나름다래로 지었다.

어떤 사람은 이렇게 말할수가 있다. "기술 문서를 보는데
왠 인문학이냐고?" 인문학 공부를 않하는 사람은 아무리 책을
많이 읽는다하더라도 그 책의 저자의 마음을 읽지 못한다는 것
이다. 그래서 책 내용을 독파하지 못하고 어렵다고 불평만
내놓게 돼는것이다. 그런즉 서브넷 마스크를 공부할려면 그리
고 앞으로 컴퓨터 공부를 열심히 할 사람이라면 인문학 공부
를 하면서 기술 문서를 보았으면 한다.

다시말하지만 낚시를 할때 고기를 주는것이 아니라 낚시 하는
방법을 가르쳐 주는거라 너무 불만을 않가졌으면 한다.(인문학
공부는 꼭 하자)

그렇다면 이 문서를 쓰는 사람은 어떻게 알았냐고 궁금해 할것
이다. 나는 시중의 서점에서 잘팔리는 네트워크 책을 인문학
공부 열심히 해서 다시 봤던즉 그냥 술술 이해가 가버렸던 것이
다. 그래서 초보의 마음을 이해 못하는게 문제가 된다.

"후니의 쉽게쓴 시스코 네트워킹 -- 2011년 3월 10일"발행 한
책을 보고 몇년간 공부를 한 끝에 가장 간단하게 가르쳐 줄수
있는 방법을 알게 되었다.

책 "PART 05 IP주소로의 여행"을 읽을때 "디폴트 서브넷 마스크"
"서브넷 마스크" 이 두개의 단어를 잘 구분할줄 알아야 된다는 것
이다. 다시 말하지만 이 두개의 단어를 구분할줄 모르면 아무리
이 책을 읽는다 하더라도 이해를 못할것이다.

이때 "디폴트 서브넷 마스크"는 기본이 되는 서브넷 마스크 값을
의미하는것이고 "서브넷 마스크"는 다르게 표현하자면
설정 서브넷 마스크라 생각하면 아주 쉽게 이해할수 있다.
설정 서브넷 마스크는 C클래스에서는 표현해 놓으면 잘 알지
못 하지만 A,B클래스에서는 아주 자세히 알수 있을수 있다.

이것도 이해 못하면 이문서의 처음에서 말했던 것처럼 인문학
책을 읽고 다시 읽어야 한다. 그래야 자세히 알수 있다. 더불어
네트워크 기초는 확실히 알아야 이해할수 있다.

모든 공부는 책에서 열심히 공부하여 알면 나중엔 누구도 부러워
하는 해커가 될수 있고 공대 출신이라면 인문학 공부해 놓으면
기술자료가 빈약하더라도 금방 연구할수 있는 사람이 될수 있다.

공부 혼자서 낑낑 대야지 나중에 달콤한 것을 먹을수 있지만
낑낑 대지 않고 공부하는 사람은 다른사람에게 기대는 좀비가
될수 있은즉 조심하길 바란다.

1차 작성:2021년 7월 25일 김진섭
2차 작성: 2023년 6월 27일 김진섭

추신 :이문서의 플러스 알파가 있다.

어셈블리 도스 인터럽트 21h 함수 9번을 구현해 놓은 소스를
개발하게 되었다. 참고해서 프로그래밍하셨으면 한다.

.model small
.stack 100h
 
.data
inputBuffer db 32 dup(0)
 
.code
main proc
        mov ax,@data
        mov ds,ax
 
 
        mov ah,3Fh
        mov bx,0
        mov cx,32
        mov dx,offset inputBuffer
        int 21h
 
        mov ah,2h
        mov dl,0dh
        int 21h
 
        mov ah,2h
        mov dl,0ah
        int 21h
 
        mov ah,40h
        mov bx,0
        mov cx,32
        mov dx,offset inputBuffer
        int 21h
 
        mov ax,4C00h
        int 21h
main endp
end main

한가지 더있다. 사설 아이피 대역폭을
적어 놓을 터인즉 네트워크 공부할때
요긴하게 사용하게 했으면 합니다.

클래스 A 네트워크 1 0 . x . x . x
클래스 B 네트워크 1 7 2 . 1 6 . x . x∼1 7 2 . 3 1 . x . x
클래스 C 네트워크 192.168.0.x∼192.168.255.x

Forums: 
lfs의 이미지

책에 있는 그냥 "서브넷마스크"라는 단어를 "설정서브넷마스크"라고 고쳐서 보면
됩니다.

thatzee의 이미지

.model small
.stack 100h
 
.data
inputBuffer db 32 dup(0)
 
.code
main proc
        mov ax,@data
        mov ds,ax
 
 
        mov ah,3fh                  ; ah=0x3f, read from file
        mov bx,0                    ; file handle 0 (stdin)
        mov cx,32                   ; read 32 bytes
        mov dx,offset inputBuffer   ; data destination inputBuffer
        int 21h
 
        mov ah,2h                   ; ah=0x02, display to stdout
        mov dl,0dh                  ; character 0x0d (carriage return)
        int 21h
 
        mov ah,2h                   ; ah=0x02, display to stdout
        mov dl,0ah                  ; character 0x0a (line feed)
        int 21h
 
        mov ah,40h                  ; ah=0x40, write to file
        mov bx,0                    ; file handle 0 (stdin)
        mov cx,32                   ; write 32 bytes
        mov dx,offset inputBuffer   ; data source inputBuffer
        int 21h
 
        mov ax,4C00h                ; ah=0x4c, al=0x00, exit with code 0
        int 21h
main endp
end main

제가 웹 돌아다니면서 찾은 dos int 21h interrupt table과 dos predefined file handles 를 참고해서 주석을 달아 봤습니다. 맞게 했나요?

int 21h, ah=09h 는 print screen 입니다.

선생님께서 말씀하시는 게 위 코드의 호출과 int 21h, ah=09h 호출이 동일한 동작을 한다는 건가요?

// endmsg

dontdieych의 이미지

이거 솔직히 저도 잘 이해 못하지만,

이진수로 이해하면, 즉 0.0.0.0 과 255.255.255.255 가 이진수로 어떻게 표현 되는 지 이해 하면 되는 것 같은 문제인데 너무 크게 돌아서 가는 느낌 입니다.

댓글 달기

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