C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[74620] 감사합니다.
단단한돌 [heaven2] 3392 읽음    2017-10-16 20:25
빌더(TWx) 님이 쓰신 글 :
: 단단한돌 님이 쓰신 글 :
: : 환경: C++ Builder XE5
: :
: : icmp protocol를 통해 Target Server에 Ping Test를 하려 합니다.
: : Local PC는 두 개의 LAN Card가 있고,
: : Ping Test 시 어떤 LAN Card에서 할 지 지정하고 싶습니다.
: :
: : 기존 소스는 아래와 같습니다.
: :
: : //..
: : hIcmpFile = IcmpCreateFile();   // icmp client를 만든다. 
: : //...
: : dwRetVal = IcmpSendEcho(hIcmpFile, ipaddr, SendData, sizeof(SendData),
: :            NULL, ReplyBuffer, ReplySize, 1000);
: : // do something.. 
: : 

: : IcmpCreateFile()를 사용하면 라우팅 테이블에 따라
: : 우선순위가 높은 LAN Card(IF)로 Bind되어 통신 합니다.
: :
: : 원하는 것은 IcmpCreateFile() 시에 특정 LAN Card(IF)를 지정하거나,
: : 아예 RAW Socket을 그대로 이용하여 Socket 생성, Bind(), Connect()하는 방식인데..
: :
: : RAW Socket을 이용할 경우 ICMP Protcole을 모두 만족해줘야 하는 부담이 있어서..
: :
: : 종합하면,
: : ICMP를 통한 Ping Test를 하되, 특정 LAN Card(IF)를 지정할 수 있는 방법이 있을까요?
: :
: : IndyIcmpClient도 살펴 보았는데, Class 상속관계를 좀 살펴보았는데..
: : 불가능한 것으로 보입니다.
: :
: : 고수님들의 고견을 청합니다.
: : 감사합니다.
: :
: : * 첨부 설명 *
: : 이렇게 하는 이유는 PC에서 서버로 데이터를 전송하는데,
: : 서비스 가용성을 높이기 위해서 PC에 두 개의 네트워크(유선 LAN=>KT Line,
: : 무선 LAN=>LTE Modem)을 설치하고, 유선 LAN 카드로 통신하다가 통신 장애가
: : 발생하면 무선 LAN 카드로 전환하여 통신하려 합니다.
: :
: : 이를 위해 유선이든 무선이든 지속적으로 Ping 테스트를 하고, Ping Test 실패시
: : 유선 => 무선으로 전환, 무선 => 유선으로 전환합니다. 유선 <=> 무선의 전환은
: : 각 Lan Card의 할당된 Metric 값을 조정하여 합니다.
: :
: : 따라서, Ping 테스트 시 유선인 지 무선인 지 명시적으로 선택하여 Ping Test를
: : 실시할 필요가 있습니다.
:
:
:
: 답변:
:
:
: 유선으로 연결되어 있는 NIC카드이든, 무선 랜이든
: 각기의 네트웍 인터페이스는 IP가 바인드 되어있고
:
: IcmpSendEcho() API는 Dest  IP 밖에 지정할 수 없지만
: IcmpSendEcho2Ex() API를 이용하면 Src IP도 지정할 수 있습니다.
:
: Src IP를 지정할 때, 특정 네트웍 인터페이스에 바인드 되어 있는
: IP를 지정해 주면 되죠.
:
: ICMP 패킷 날려서 직접 구현해보세요. 프로토콜이 복잡한 것도 아닌데.
:
:

+ -

관련 글 리스트
74618 [질문] Ping Test 시 특정 Lan Card(IF) 지정하는 방법? 단단한돌 3650 2017/10/16
74619     Re:[질문] Ping Test 시 특정 Lan Card(IF) 지정하는 방법? 빌더(TWx) 4763 2017/10/16
74620         감사합니다. 단단한돌 3392 2017/10/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.