[질문] 조성호님 죄송하지만 질문 하겠습니다.

익명 사용자의 이미지

안녕하세요 조성호님 정말 감사드립니다.

리플 달아주신부분을 읽어봤습니다.

너무나도 자세하게 가르쳐 주셔서 감사합니다.

하지만 제가 한가지만 더 여쭤 보고 싶은 생각이 들어서

이렇게 여쭤봅니다.

dummy인터페이스에 관해서 질문을 하고싶습니다.

Dummy 인터페이스는 좀 색다른 면이 있지만 유용한 것이다. 이는,
standalone 호스트와, dial up 링크를 통해 IP 네트웍에 연결되어 있는
머신상에서 진가를 발휘한다고 하는데...

제가 궁금한 부분은 이렇게

여쭤봐야 했는데 말 솜씨가 없어서

다시 읽어보니 이상한 형태로 질문을

했네요 그럼 제가 여쭤 보고 싶은 부분을

다시 정리 해볼께요

일반 사설 네트윅이 구성되어 있는곳에서

예들 들어 plip (패러럴)포트를 사용해서 랜탑을 연결해서 쓰고자

할 경우가 있을꺼 같네요

랜탑의 경우는 아마도 standalone의 설정말 해주었다는 가정하에서

아무런 네트윅 설정이 없고

구성되어 있는 사설 네트윅에 plip(패퍼럴)포트에 연결을 하였을때

그 사설 네트윅의 다른 아이피로 데이터그램을 사용해야 하는 경우의

예인데 적절한지 모르겠네요 읽어보시고 좀 가르쳐주셨으면 좋겠습니다.

원문에서 발취한 부분입니다.

standalone 호스트의 딜레마는, 활성화된 네트웍 디바이스가, 보통
127.0.0.1의 주소가 할당된 loopback 디바이스 밖에 없다는 것이다.

그러나 어떤 상황에선 로컬 호스트의 '공식적인' IP 주소(191.72.1.65)
로 데이터를 보내야만 할 때도 있다. (예를 들어, loopback의 호스트가
네트웍에도 연결되지 않았다고 가정해 보자.네트윅상의 어플리케이션은
같은 호스트상의 또다른 어플리케이션에 데이터를 보내고자 할
때) /etc/hosts내의 loopback의 호스트명을 검색하여 191.72.1.65의 주소
를 찾아내게되고, 이 주소에 데이터를 보내려 한다. 활성화된 인터페이스
가 현재 loopback 인터페이스 뿐이기 때문에 커널은 이 주소가 바로 자신
을 가리키는 지를 알지 못한다! 결과적으로 커널은 데이터그램을 파기하
고, 어플리케이션에 에러를 되돌린다.

바로 여기에 dummy 디바이스가 들어서는 것이다. 그것은 단순히 자신을
loopback 인터페이스의 분신처럼 줌으로써 그러한 딜레마를 해결한다.
standalone의 경우, dummy 디바이스에 191.72.1.65의 주소를 주고, 그것
을 가리키는 호스트 루트를 추가하면 된다. 그러면, 191.72.1.65를 향한
모든 데이터그램은 로컬에 전해진다. 라고 하는데...

이경우는 랜탑에는 아무런 네트윅 셋팅이 되어있지 않고 그 경우

로컬에서 사용된다고 한다면 dummy를 데이터 그램이 보내고자

하는 ip로 설정을 해주어야 하는것 입니까 ?

예를 들어 한ip에 관한 질문이지만 로컬에서 다른 아이피로 또 보

내고자 한다면 보내려고 하는 ip의 숫자 만큼 dummy를 셋팅해주어야

하는지가 궁금합니다.

다시 말해서 보내고자 하는 호스트 숫자 만큼 dummy를 셋팅해주어야

하는 경우 입니까 ?

그러면 굉장히 비 합리적일듯 한데.....

그리고 혹시 이건 여담인듯 한데

호텔같은 곳에서는 랜탑을 연결해서 사용하는 포트들이있는데

모바일로 사용하는것이 아닌 그냥 한 건물의 네트윅에서

랜탑을 연결해 쓰는 경우라고 들었습니다.

또한 그런 건물에는 자체 라우터가 있다고 들었는데

그 경우는 제가 질문하는 dummy 인터페이스의 예와는 다른 경우

이겠지요 ?

만약 랜탑에 리눅스를 설치해서 그런곳에서 사용하고자 한다면...

그리고 리눅스는 standalone의 형태라 하고 지속적으로 이동하면서

사용하고자 한다면 제가 질문하는 식의 setting의 정도는

무 의미 한 경우인지가 궁금합니다.

gateway나 아님 router에 연결해서 타네트웍까지는 아직 생각해

본적은 없고 그저 조성호님께서 여쭤 보고 싶다는 생각에

이렇게 다시 여쭤 보내요

아 한가지만 더 여쭤볼께요 dummy의 위치는 어디에 있는지도

궁금합니다.

ps) 아 필요한 부분만 추려서 질문하는건 아닌데요 ^^

저는 주로 문서를 많이 프린터 해서 다 꼼꼼하게 읽어 봅니다.

그리고 나서 공통되는 의문만 추린다고 추려서 그저 여쭤봅니다.

다 초보적인 질문 같아서 참 죄송하지만 oop 없이 그저

setting 만을 할수 있다는것도 좀 문제가 있다고 생각해서

이렇게 죄송하게 또 여쭤봤습니다.

아 그리고 리플 달아 주신 부분은 다 이해가 가서 감사 드립니다.

tty에 관한 사항은 이곳에서 좀더 뽑아서 읽어 봤습니다.

조성호님 그럼 좋은 하루 되시구요

죄송합니다. 길게 여쭤봐서요

익명 사용자의 이미지

저도 Network에 관해서 많은 것을 알고 있는것은 아닙니다.
기초적인 부분에서는 어느정도 답변을 드릴 수는 있지만 내부적인
관계도까지는 잘 모르거든요. -)

일단 dummy에 관련해서 올리신 질문에 대한 제 생각입니다.
(어디에 정의가 되어있는 것이 아니라 몇가지 글을 읽고 나름대로
정의를 내린 부분입니다. 정확하게 맞지는 않겠지만 원래의 목적
에서 벗어나지 않을것으로 알고 있습니다.)
일단 dummy는 하나만 존재한다고 생각됩니다.
설명에 나와있듯 dummy는 없는 네트웍 카드가 있는것 같은 착각을
불러일으키게 합니다.
즉, 예에서 처럼
# ifconfig dummy 191.72.1.65
또는
# ifconfig dummy vlite
모두 dummy라는 인터페이스에 IP를 부여하는 방법입니다.
vlite는 /etc/hosts에 191.72.1.65로 정의 되어있으니 결국은 같은
결과를 가져옵니다.
여기서 dummy라는 인터페이스는 loopback을 가리키는 포인터 정도로
생각하시면 될겁니다.
즉, 일반적인 네트워크 프로그램에서는 IP를 넣튼 IP를 /etc/hosts에
넣고 그 alias를 사용하든 어쨌든 하나의 IP를 가리키고 그것에 접속을
시도합니다.
Network관련 문서에서 제시했던 문제점은 이 191.72.1.65라는 IP를
가지는 장비가 없기때문에 그리고 standalone이라는 특이점 때문에
결국은 에러를 발생시킨다는 소리입니다.
좀 난해한 설명이 되어 버렸는데... 풀이하자면...

프로그램에서 191.72.1.65에 접속해라라는 함수가 호출되면 컴퓨터에서는
그 IP에 접속하려고 시도를 합니다. 하지만 standalone시스템에는 연결된
네트워크가 없기 때문에 lookback안에서 IP를 찾으려고 노력하고 결국에
는 IP를 발견하지 못하기때문에(외부 회선이 없기 때문에) 그 IP를 사용
하는 장비가 없다는 결론을 내리고 에러를 리턴한다는 소리죠.
그래서 191.72.1.65라는 IP는 자신의 IP라는 것을 나타내기 위해서 dummy
라는 인터페이스(눈속임)을 사용한다는 뜻 같습니다.
dummy를 사용하게되면 IP에 접속하라는 함수가 호출되면 dummy를 찾게
되고 dummy는 localhost이기에 자신에게 연결되겠죠.
(이해가 가실련지...)
제가 설명하는 실력이 없어서 이해를 해도 자세하게 설명하기가 힘들군요.

호텔이야기는 조금 다릅니다.
호텔이야기에는 각각의 컴퓨터가 LAN 카드가 있고 거기에 공인IP든 사설
IP든 IP를 가지고 있죠. 즉, 이때 사용되는 인터페이스는 lo가 아닌 eth0
나 eth1정도가 될겁니다. ethx는 실제 장비를 나타내고 lo는 local을 나
타내죠. 따라서 호텔 이야기는 dummy와는 비슷하지만 별개의 이야기로
보입니다.

dummy의 위치는 정확할지는 모르지만 RedHat계열을 사용하신다면
/etc/sysconfig/network-scripts에서 선언을 발견할지도 모르겠군요.
lo나 eth0도 그 디렉토리에서 볼 수 있습니다.
ifconfig로 나오는 사항은 network관리 모듈에서 가지고 있는걸로 알고
있기 때문에 더 자세한것은 LINUX커널의 network관련 소스를 보시는게
좋을 것 같습니다.(사실 이 소스를 분석할려면.... --;)

좀더 정확한 답변을 드리고 싶지만 아는것이 별로 없어서 짧은 소견
이나마 올립니다.

그럼 좋은 하루되세요.

댓글 달기

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