Microsoft MVP성태의 닷넷 이야기
.NET : 35. UDP 패킷의 경유 IP 설정 (Source Routing) [링크 복사], [링크+제목 복사]
조회: 9295
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
How to programmatically inject a list of IP Addresses into the IP Options header in the IP Datagram [ Source Routing ]?
; http://blogs.msdn.com/winsdk/archive/2009/11/05/how-to-programmatically-inject-a-list-of-ip-addresses-into-the-ip-options-header-in-the-ip-datagram-source-routing.aspx

UDP 에 이런 기능이 있는지 몰랐군요. ^^;

IPPROTO_IP, IP_OPTIONS 인자로 setsockopt 를 하는 경우 같이 넘겨준 IP 를 경유해서 최종 목적지로 패킷이 전달되게 됩니다. 읽고 보니, 궁금해지는 데요. 그렇다면 경유하는 IP의 NIC 카드 레벨에서 라우팅을 해주는 것인가요? 오호... 외부망에서 UDP 를 내부망으로 보낼 수 있다는 의미인데... 테스트 한번 해봐야겠군요. ^^

코드가 간단하니 여기에 옮겨 봅니다.

1: \\Define a structure for LSR
2: typedef struct
3: {
4: unsigned char Code;
5: unsigned char Len;
6: unsigned char Offset;
7: unsigned long Addrs[2];
8: }LSR;
9:
10: //Set the Loose Source Routing Option:
11: LSR SourceRoute;
12: ZeroMemory(&SourceRoute,sizeof(LSR));
13:
14: SourceRoute.Code = 0x83; // Loose Source Routing.
15: SourceRoute.Len = 11;
16: SourceRoute.Offset = 4;
17: SourceRoute.Addrs [0] = inet_addr("a.b.c.d");
18: SourceRoute.Addrs [1] = inet_addr("x.y.z.q");
19:
20: //Set the source routing on the socket handle.
21: int iErr = setsockopt(SocketHandle,IPPROTO_IP,IP_OPTIONS,(char*)&SourceRoute,SourceRoute.oLen);




donaricano-btn



[최초 등록일: ]
[최종 수정일: 11/10/2009 ]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

비밀번호

댓글 쓴 사람
 




1  2  3  4  [5]  6  7  8 
NoWriterDateCnt.TitleFile(s)
94정성태2/23/20073508COM : 2. VC++ - OneNote Addin 제작
93정성태2/3/20074326공통 코딩 규약 : 2. 프로퍼티와 공용 필드에 대한 선택 [1]
92정성태2/1/20073480공통 코딩 규약 : 1. HMACSHA512 / HMACSHA384 클래스 사용시 주의사항
91정성태1/27/20073795.NET : 19. HTML InnerText 구하기
90정성태6/19/20075216Vista : 3. 현재 사용자가 관리자 그룹에 속해있는지 결정하는 코드
89정성태1/24/20072967.NET : 18. ASP.NET - AspNetHostingPermissionLevel 알아내기
88정성태1/22/20073224.NET : 17. 지역화된 폰트명 구하기
87정성태1/21/20074529.NET : 16. 클립보드 - HTML 텍스트 복사/붙여넣기
86정성태1/21/20073443.NET : 15. BinaryFormatter 에서의 진행 상태바 구현
85정성태1/20/20074442COM : 1. IE 7의 다중 탭을 이용한 네비게이션 [1]
84정성태1/19/20073385.NET : 14. 웹 서비스를 이용한 머신간의 클립보드 공유
83정성태1/12/20073265.NET : 13. SafeHandles 를 적용한 GetProcAddress 래퍼
82정성태1/12/20072989.NET : 12. Cardspace 를 위한 ASP.NET 서버 컨트롤파일 다운로드1
81정성태1/12/20073318.NET : 11. 파일 확장자에 따른 아이콘 그려주는 HttpHandler [2]파일 다운로드1
80정성태1/10/20074037SQL : 1. SQL 2005 - 대소문자 구분없이 검색하도록 구현 [1]
79정성태1/10/20072970.NET : 10. Config 설정을 .NET Class 로 매핑
78정성태1/3/20073411.NET : 9. 텍스트 꾸미는 코드
77정성태12/13/20063611.NET : 8. C# - VARIANT 관련 마샬링 코드
76정성태12/6/20064169.NET : 7. 휴대 장치 열람하는 코드
75정성태12/6/20063270.NET : 6. 웹 서비스 메서드에 대해 완료 제한 시간 설정하는 방법
74정성태11/6/20063318.NET : 5. How to Decrypt an ASP.NET Encrypted Data
73정성태11/2/20064206.NET : 4. 콘솔 프로그램 실행시간 측정
72정성태11/1/20063483.NET : 3. System Monitoring 예제
70정성태11/1/20063035.NET : 2. System.Net.NetworkInformation.Ping 클래스 사용 예제
69정성태10/27/20063215.NET : 1. Typed DataSet 에서의 ExcludeSchema 사용
68정성태6/19/20073765Vista : 2. Elevate through ShellExecute
1  2  3  4  [5]  6  7  8