UDP 통신(ifconfig, route)

Ubuntu 12.04 LTS 사용자입니다.

UDP 방식으로 컴퓨터로 데이터를 전송하는 센서(HDL-32E)를 사용하고 있는데

이 센서를 사용하기 위해서는 다음 과정을 거쳐야 한다고 합니다.

sudo ifconfig eth0 192.168.3.100
sudo route add 192.168.XX.YY eth0

궁금한 점은 4가지 입니다.

  1. 여기서 eth0이라는 게 컴퓨터에 꽂혀있는 LAN Card를 말하는 거맞나요?
  2. 센서가 PC로 일방적으로 데이터를 전송하는데 왜 ifconfig를 이용하여 eth0에 IP를 부여해야하는 건가요?
  3. 그리고 route는 데이터의 경로를 지정해주는 것이라고 알고 있습니다.
    컴퓨터에 꽂혀있는 LAN카드는 1개뿐인데 왜 route를 통해 목적지를 eth0으로 잡아주어야 하는 건가요?
  4. 위의 두 줄의 명령을 수행한 후에 잠시동안 센서는 잘작동하다가 Wired Connection - Disconnected… 메시지를 띄우면서
    작동하지 않게 됩니다. 이 때 routing table과 eth0을 보면 방금전 지정해 두었던 ip와 routing table이 모두 리셋되어 있습니다.
    원래 이렇게 저절로 리셋되는 건가요?

질문이 좀 많았네요 ㅠㅠ
감사합니다.

안녕하세요.

잘 알지는 못하지만…

1번 : 네 맞습니다.
2번 : 질문의 요지를 이해하지 못하겠습니다… 그것보다 제조사에 문의하셔야 하는게 아닐지…하고 되묻고 싶습니다.
3번 : [quote="jaejun0201":2y5x82hn]그리고 route는 데이터의 경로를 지정해주는 것이라고 알고 있습니다.[/quote:2y5x82hn]
맞습니다.

[quote="jaejun0201":2y5x82hn]컴퓨터에 꽂혀있는 LAN카드는 1개뿐인데 왜 route를 통해 목적지를 eth0으로 잡아주어야 하는 건가요?[/quote:2y5x82hn]
이것도 질문의 요지를 잘 이해하지 못하겠습니다만…
일단 LAN카드는 하나뿐이지만 인터넷에서 통신을 해야할 상대들이 수천만이기 때문에 경로를 지정해줘야 합니다.
설명이 되셨을지…

1번부터 3번까지
아마도 제 예상이지만
사용하고 계시는 제품은 리눅스 PC에 IP를 설정하고
경로를 설정하라는 의미로 위 두 명령어를 써놓은거 같습니다.

하지만 세상의 많은 리눅스용 설명서, 튜토리얼등은
매우 예전 정보에 의존하고 있는게 꽤 많습니다.
그 중 하나가 ifconfig로 IP를 설정하는건데요…
아시다시피
우분투 및 대다수의 배포판은 GUI로 설정하지요.
ifconfig나 networking 데몬도 거의 사용하지 않습니다.

4번은 아마도 이런 이유가 아닐까요?
ifconfig말고 GUI상에서 주소를 설정하면
아마도 초기화하지 않을까 추측합니다.

성의 있는 답글 감사합니다. ^^
도움이 많이 되었습니다.ㅎㅎ

제 질문의 요지를 다시 한번 말씀드리겠습니다.

제 질문은 route에 관한 것이 었는데
랜카드를 통해서 들어온 패킷은 운영체제가 패킷의 포트를 검사해서 해당 포트로 열린 소켓으로 보내준다고 알고 있습니다.
이 센서는 데이터를 2368포트로 주기적으로 전송하는데요.
그래서 저 또한 2368포트로 소켓을 만들어 계속 받아오도록 프로그래밍하였습니다.
제 질문은 이것입니다.

  1. 랜카드로 들어온 패킷을 해당하는 포트의 소켓으로 보내주는 과정이 라우팅인지?
  2. 그것이 아니라면 왜 라우팅이란 과정과 1번의 과정이 무엇이 다른지
  3. 운영체제는 왜 패킷을 받고나서 해당 포트의 소켓으로 데이터를 전송하지 않는 것인지가 궁급합니다.

----------------추가
말씀하신데로 GUI를 이용해 IP주소를 바꾸었습니다. ㅎㅎ
정말 잘되네요 ㅎㅎ
그런데 거기에 routes라는 메뉴가 있던데
routing테이블에 등록하는 메뉴가 맞나요??

Address 192.168.17.171
NetMast 255.255.255.0
[img:h8mhragy]http://postfiles9.naver.net/20131121_104/jaejun0201_1384973808645lBqOl_PNG/Screenshot_from_2013-11-21_03%3A55%3A22.png?type=w3[/img:h8mhragy]
이렇게 하고나서도 routing table을 보니까
192.168.17.171 주소가 등록되어 있지 않더라고요.ㅠㅠ
이게 아닌가요 ㅎ

오늘 공부하면서 알게되었는데
센서가 보내는 패킷의 목적지 IP가 192.168.3.255로 되어 있더라고요.
이건 클래스 C IP주소이고 마지막 숫자가 호스트를 뜻한다고 한다고 하네요.
그리고 호스트 ID에서 255는 브로드캐스팅이라고 하더라고요.
그럼 공유기를 설치해놓고 공유기에 센서와 컴퓨터 2대를 놓고 각각의 컴퓨터 IP를
192.168.3.100
192.168.3.101로 설정해놓으면
두 컴퓨터 모두 센서에서 오는 데이터를 받을 수 있는 것 맞나요?

아이고 또 질문이 길어졌네요.ㅎㅎ
오늘 처음 이더넷 통신을 보고 있는데 무지 어렵네요 ㅎㅎ 재밌기도 하지만요 ㅎㅎ
감사합니다.

도움이 되었다니 다행입니다.

설명하신걸 들어보니 저도 좀 의아하긴 합니다만
저도 잘 몰라서 뭐라 말씀을 드려야 할지…

아는 만큼 도움말씀 드립니다.

[quote="jaejun0201":lnws8lzv]

  1. 랜카드로 들어온 패킷을 해당하는 포트의 소켓으로 보내주는 과정이 라우팅인지?[/quote:lnws8lzv]
    이미 아실거 같은데 아닙니다.

[quote="jaejun0201":lnws8lzv]
2. 그것이 아니라면 왜 라우팅이란 과정과 1번의 과정이 무엇이 다른지[/quote:lnws8lzv]
인터넷 프로토콜이 TCP/IP라고도 하지요.
랜카드로 들어온 패킷을 해당 포트로 보내는 것은 TCP/UDP의 일이고
해당 패킷이 어떤 컴퓨터로 가야하는지 결정하는게 IP가 하는 일입니다.
IP가 하는 일 즉 데이터가 어떤 컴퓨터로 가야하는지 정하는 과정을 라우팅이라고 합니다.

[quote="jaejun0201":lnws8lzv]
3. 운영체제는 왜 패킷을 받고나서 해당 포트의 소켓으로 데이터를 전송하지 않는 것인지가 궁급합니다.[/quote:lnws8lzv]

여러가지 이유가 있을것 같습니다.
그리 일반적인 상황이라고 말씀 드리기가 어려운데
말씀하신 상황만으로는 이유를 추측하기도 어렵네요.

해당 포트가 열려있지 않거나 firewall같은 다른 프로세스가
해당 포트를 막았을 경우 정도가 생각나네요.

[quote="jaejun0201":lnws8lzv]
오늘 공부하면서 알게되었는데
센서가 보내는 패킷의 목적지 IP가 192.168.3.255로 되어 있더라고요.
이건 클래스 C IP주소이고 마지막 숫자가 호스트를 뜻한다고 한다고 하네요.
그리고 호스트 ID에서 255는 브로드캐스팅이라고 하더라고요.
그럼 공유기를 설치해놓고 공유기에 센서와 컴퓨터 2대를 놓고 각각의 컴퓨터 IP를
192.168.3.100
192.168.3.101로 설정해놓으면
두 컴퓨터 모두 센서에서 오는 데이터를 받을 수 있는 것 맞나요?
[/quote:lnws8lzv]

이해하고 계신 내용이 맞습니다.
그런데 말씀하신 조건이라면 라우팅 설정도 필요하지 않을것 같습니다.
센서에서 브로드케스트로 보내는 데이터는 같은 네트워크상의 모든 컴퓨터가 수신하게 됩니다.

특정 포트번호로 보내는 UDP라면
포트가 열려있는 모든 컴퓨터에서 수신이 가능합니다.