반응형
IPv4 클라이언트/서버 앱에서 IPv6 지원 추가 - sin6_flowinfo 및 sin6_scope_id 필드?
저는 여러 애플리케이션에 대해 IPv6 지원을 구현하는 작업을 하고 있습니다만, 이 두 분야는 무엇을 위한 분야인지 궁금했습니다.여기에 대한 질문이 너무 적어서 제가 제대로 이해했는지 잘 모르겠습니다.
- 스코프 ID ( )에 대해서 - 음, Q1, Q2, Q3, Q4에 대해서 스코프 ID에 대한 아이디어를 줬는데 이해가 되는 것 같습니다.그래서 scope-id를 구성할 수 있도록 구성 매개 변수를 하나 더 추가해야 합니다. (누군가 관심이 있을 경우를 대비하여 여기에 추가하기로 결정했습니다.짧은 범위 ID는 트래픽을 처리해야 하는 장치를 고유하게 결정하기 위해 필요합니다. 동일한 IP를 가진 인터페이스가 여러 개 있지만 다른 인터페이스(인터페이스?)가 있을 수 있기 때문입니다.아이디. 지금까지, 좋아요.
- 그러나 "흐름 정보"( )는 어떻습니까?
- 왜 그러시죠?저는 그것에 대해 재미있는 것을 발견할 수 없었습니다.RFC를 읽었지만 전혀 도움이 되지 않았습니다.
- 가능한 값이 있습니까?
sin6_flowinfo
(like - flags, 뭔가를 의미하는 flags와 같은 여러 값), 또는 그것은sin6_scope_id
- 기기에 따라 연결하려는 값이 있을 수도 있습니다. - 걱정이라도 해야 할까요, 아니면 그냥 놔둘까요?
0
(Beej's Guide to Network Programming).예, 시도해 보았습니다. 작동합니다. 하지만 이 경우에만 작동하는지(네트워크 구성에 따라 다름), 아니면 항상 작동하는지(설정된 경우) 잘 모르겠습니다.0
? - 아니면, 구성 가능하도록 해야 할까요? 즉, 구성 옵션을 하나 더 추가하고 사용자가 그 가치를 정의하도록 해야 할까요?
google
-ing "sin6_flowinfo"는 구조 정의와 맨 페이지를 제공합니다. 이 필드에 대해 유용한 것은 없습니다.흥미로운 정보가 있습니까?(이해할만한..RFC :D)이 아닙니다.
편집: 음, @glglgl의 대답과 힌트 후에,sin6_flowinfo
더 이상 쓸모가 없을지도 모르지만, 몇 가지 흥미로운 출처를 발견했습니다: RFC: IPv6 Flow Label Specification, IETF 초안: Flow Label as Transport-Layer Nonce, Solaris 및 Wikipedia를 위한 실용 가이드.
필드가 더 이상 쓸모가 없는 것은 아니지만(또는 이를 확인하는 소스를 찾을 수 없음) 다음과 같습니다.0
가치가 충분하기 때문에.
가장 좋은 방법은 사용하는 것입니다.
의사 코드:
struct addrinfo *restrict hints = { .ai_family = AF_UNSPEC, .ai_socktype = SOCK_STREAM };
struct addrinfo * res, r;
if (0 == getaddrinfo("foo.bar.baz", "http", &hints, &res)) {
for (r=res; r; r=r->ai_next) {
sock = socket(r->ai_family, r->ai_socktype, r->ai_protocol);
connect(sock, r->ai_addr, r->ai_addrlen);
if error: continue
break
}
}
freeaddrinfo(res);
은 입니다에 입니다.sin6_scope_id
으로부터;은.0
, 의 링크 합니다.fe80::1234:56ff:fe78:9abc%eth2
.eth2
는 올바른 범위 ID로 변환됩니다.
sin6_flowinfo
is older(AFAIK)이므로 의 결과에서 0으로 설정됩니다.
언급URL : https://stackoverflow.com/questions/8256671/adding-support-for-ipv6-in-ipv4-client-server-apps-sin6-flowinfo-and-sin6-scop
반응형
'programing' 카테고리의 다른 글
유튜브 임베디드 코드의 유튜브 썸네일을 워드프레스의 특징 이미지로 설정하는 방법은? (0) | 2023.10.09 |
---|---|
jasmine.js는 ()가 비동기 콜백 내부에서 작동하지 않을 것으로 예상합니다. (0) | 2023.10.09 |
두 개의 개별 쿼리가 순간적으로 발생합니다.하위 쿼리로 쿼리가 매우 느립니다. 왜죠? mysql / mariadb (0) | 2023.10.09 |
MySQL 부울 "tinyint(1)"은 127까지 값을 유지합니다. (0) | 2023.10.09 |
NGINX가 임의로 작동을 중지하므로 수동 재시작이 필요합니다. (0) | 2023.10.09 |