2009-11-19 2 views
6

넷 마스크를 잘못 설정하면 어떤 영향이 있습니까? 장치의 네트워크 마스크를 설정하는 C++ 응용 프로그램이 있습니다. 넷 마스크가 잘못 설정되면 tftp가 제대로 작동하지 않는 것 같습니다. 왜 이런 일이 일어 났을까요? 넷 마스크가 장치/PC에 적합하게 설정되지 않은 경우 다른 문제가 발생합니까?넷 마스크를 잘못 설정하면 어떤 영향이 있습니까?

+2

누구든지 downvoted downvote에 대한 의견을 남겨주세요. 나는 downvote의 원인을 수정/설명하고 싶습니다. 감사. – zooropa

+0

@ zooropa : 불행히도, 여기서 "드라이브 다운 득표"를하는 것은 일반적인 관행입니다 ... – jldupont

+0

나는 불꽃을주지 않을 것이라고 약속합니다/보복합니다. 아래의 답변으로 downvote 주석을 남겨두면, 나는 심지어 그것을 upvote거야! 나는 downvote 코멘트가 다른 코멘트와 대답만큼이나 중요하다고 생각한다. 상황도 그들에게서 배울 수 있습니다! 나는 meta.stackoverflow.com에 갔다가 downvote 코멘트에 대한 질문을 보았다. Jeff Atwood는 이에 대해 의견을 제시합니다. http://meta.stackexchange.com/questions/135/encouraging-people-to-explain-down-votes/2373#2373 – zooropa

답변

9

이 질문은 프로그래밍보다는 IP 네트워크에 관한 것이지만 많은 개발자에게는 어려운 주제입니다.

넷 마스크는 호스트 주소 (PC 또는 서버)와 네트워크 주소 (시스템이있는 논리적 네트워크 인프라의 일부)로 구분됩니다. 두 부분은 데이터 패킷을 올바른 장치에 전달하는 데 사용됩니다. 네트워크 주소는 넷 마스크와 IP 주소를 AND 연산하여 얻습니다. 다음 시나리오를 고려하십시오.

우리 PC의 IP 주소의 호스트 주소 부분은 1.1이므로 PC는 10.0을 시작하는 모든 호스트 주소를 알고 있습니다. 그것에 로컬 있습니다. 그런 다음 10.1 등을 시작하는 모든 주소는 '로컬'이 아니므로 라우터로 전달해야합니다. 여기

IP Address: 10.0.2.1 
Netmask: 255.255.255.0 

넷 마스크는 예제 설정에 대한 잘못된

는,이 장치는 현재 10.0.2으로 네트워크 주소를 볼 것입니다 호스트 주소 : 당신은 동일한 네트워크에 의도 다른 장치가있는 경우 1로, 10.0.1.1과 통신하려고하면 10.0.1의 네트워크 주소가 표시됩니다! 로컬이 아니므로이를 전달할 기본 라우터로 지정합니다. 넷 마스크가 올바르게 설정 되었다면 (예를 들어 네트워크의 올바른 설정이라고 가정하면 첫 번째 예제와 동일) 두 번째 장치는 첫 번째 장치를 로컬 네트워크, 즉 10.0 네트워크에서 볼 수 있으며 패킷을 전달하지 않습니다. 라우터.

많은 프로토콜이 행복하게 대처할 수 있지만 tftp는 단일 네트워크 내에서 작동하기 때문에 대상이 다른 네트워크에 있다는 인식이있어 실패합니다.

이것은 정확한 상황을 설명하지는 못하지만 예제가 구성과 관련된 중요한 원칙을 보여주기를 바랍니다. 부정확하게 구성된 환경을 가지고 작동 할 수 없기를 바랍니다.

6

넷 마스크는 어떤 IP 주소가 로컬 (라우팅되지 않음)인지 결정합니다. 해당 범위를 벗어나는 IP 주소는 라우터를 통과합니다. 넷 마스크가 잘못되면 프로그램은 라우터를 통과해야하는 사이트에 직접 액세스하려고합니다. 반대의 경우도 마찬가지입니다.

5

넷 마스크는 네트워크 주소와 워크 스테이션에 사용되는 IP 주소의 일부를 정의합니다.

첫 번째 예 :

IP1: 192.168.20.4 
IP2: 192.168.192.4 
NM: 255.255.0.0 

모두 IP를 같은 그물에 있습니다. 그들은 라우터를 필요로하지 않고 서로 통신 할 수 있습니다. 이는 IP 주소가 사용자 또는 네트워크 마스크가있을 때 동일한 비트 마스크를 생성하기 때문입니다.

두 번째 예 :

IP1: 192.168.20.4 
IP2: 192.168.192.4 
NM: 255.255.128.0 

지금 모두 IPS는 서로 다른 네트워크에 있기 때문에 사용자 또는 넷 마스크와 IP-주소, 결과 비트 마스크는 다를 것이다 그들은없이 서로 통신 할 수 실 거예요 때 두 네트워크간에 라우팅하는 라우터

ipcalc으로 직접 테스트 할 수 있습니다.

1

일치하지 않는 넷 마스크의 가능한 의미는 here입니다. 요약하면 :

  1. 호스트가 라우팅 테이블을 잘못 구성 할 가능성이 있습니다.
  2. 호스트가 일부 브로드 캐스트 패킷을 놓치고 브로드 캐스트를 제대로 보내지 않습니다.

TFTP의 잘못된 기능은 첫 번째 이유 때문에 발생합니다. 같은 방식으로 다른 IP 프로토콜에 영향을 미칩니다.

다른 답변은 첫 번째 문제 만 언급합니다. 두 번째 질문은 다소 한계가 있기 때문에 다른 질문에 답할 수 있습니다. IP 패킷이 라우팅되는 방법을 결정하는 것이 인터페이스 자체의 넷 마스크가 아니라는 점에 유의하십시오. 이는 호스트의 라우팅 하위 시스템입니다. 넷 마스크는 일반적으로 라우팅 테이블을 구성하는 데 사용됩니다.

관련 문제