Como - - Travessia UDP NAT usando soquetes BSD

1

Eu tenho lido a passagem NAT que requer o uso de um servidor STUN externo. Existem alguns servidores STUN públicos , mas eu não sei como usá-los para descobrir o meu IP público que pode ser usado pelo outro cliente para iniciar a conexão. Sendo um noob nisso, eu não sou capaz de descobrir os documentos corretos para isso usando os soquetes do BSD. Se alguém pode explicar como posso encontrar o meu IP público tomando soquetes BSD como base seria bom. Além disso, se você puder fornecer bons links para isso, também será apreciado.

    
por abhinav 07.11.2011 / 21:12

1 resposta

1

Está na resposta de ligação do STUN. RFC 5389 , a especificação STUN, explica como na página 7:

The STUN server copies that source transport address into an XOR-MAPPED- ADDRESS attribute in the STUN Binding response and sends the Binding response back to the STUN client. As this packet passes back through a NAT, the NAT will modify the destination transport address in the IP header, but the transport address in the XOR-MAPPED-ADDRESS attribute within the body of the STUN response will remain untouched. In this way, the client can learn its reflexive transport address allocated by the outermost NAT with respect to the STUN server.

    
por 07.11.2011 / 23:38