Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 4 years ago.
Improve this question
I am working on a small embedded device based upon an STM32F4xx MCU. It implements a TCP/IP server over a Wi-Fi connection. The question I have relates to exposing the IP address of the device so that it may be discovered by computers on the same network. UPnP and SSDP seem to be rather "heavy" solutions to this problem.
Are there other techniques/protocols that have a smaller footprint than UPnP and SSDP?
Thanks in advance for your input,
Sid
If you can make up any custom protocol, a simple UDP beacon periodically sent to the broadcast address (255.255.255.255 or your preferred interface's broadcast address) is simple and reliable.
Synopsis of comments:
For listing in mainstream platforms' (Windows, Linux, OS X) network views, the best option would likely be to implement the full stack required for Windows' Network Discovery.
If hostname lookup is enough, Netbios or mDNS could be enough.
The search term you are likely looking for is zero-configuration networking and should give you all the available options
Related
Closed. This question is not about programming or software development. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 2 months ago.
Improve this question
When you configurate some interface for a device using 'ifconfig eth0 xxx.xxx.xxx.xxx up' what's the difference bettween using IP like '192.168.0.2' and '192.168.0.2/30'.
I understand the idea of a submask and that it's good use for redirect datagrams only taking part of the IP address but I dont get why using it when assinging the IP for some interface.
I found out that using the submask when for assigning the IP address establish the range for the broadcast direction.
So using direction like '192.168.0.2' will establish broadcast on '192.168.0.255' but using '192.168.0.2/30' will use '192.168.0.3' since its the last avaible direction when you taking the first 30 bits.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 2 years ago.
Improve this question
Are TCP and UDP the only protocols supported by the Internet? If they are, do other networking protocols that are not meant to be used with common hardware exist?
No, not at all. The Internet is routed at the network layer, which is IP.
The problem is that NAPT that is used for IPv4 because we have run out of those addresses only supports TCP, UDP, and ICMP. IPv6 restores the IP end-to-end paradigm and you can use any transport protocol because the Internet only cares about IP, not any protocols above that.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 2 years ago.
Improve this question
ARP and RARP are the main Protocol uses in Link Layer. To do the ARP request, a device requires IP and MAC address pair for broadcasting. So my question is ARP doing the mapping the IP to MAC by referring the data
and operates using the LAN.
So RARP is the reverse algorithm of that like mapping logical address to physical address in caches in Computer Systems.
I hope a good answer from the community.
There are dozens of protocols that use the data-link layer the same way ARP does, including IPv4, IPv6, etc. See IEEE 802 Numbers for a list of protocols that use the data-link layer.
For protocols in the data-link layer, there are/were many. For example, token ring, ARCNET, FDDI, frame relay, HDLC, ATM, PPP, etc. Ethernet used to be the king, but Wi-Fi has dethroned it since there are more devices shipping with Wi-Fi interfaces than devices with ethernet interfaces.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 5 years ago.
Improve this question
Is there a method to determine whether a host (on your LAN) is on WiFi vs Ethernet using nmap or any other tool? I am OK with fuzzy guesses as well.
tl;dr No, there is none
Long answer:
There is no way to find out what kind of connection other PC on your network is using(without physically accessing it ofc).
Those things are abstracted on network. You can sniff traffic on transport layer by Wireshark and see there is no data on interfaces being transported.
An option:
You can learn a physical network interface vendor by sniffing traffic.
Wireshark can guess those, because vendors have their own MAC address prefixes. And if it's some company which is making wireless interfaces only, you can hit a jackpot. It's not even close to being a bulletproof method though.
Nmap may be used to look for open ports. There might be a chance that you can deduce which software server is running by getting info on ports, but I can hardly imagine you will find anything wlan/eth specific.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Closed 7 years ago.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Improve this question
So, i was reading networking in depth. One concept i failed to understand was how different machines in LAN manage to access internet through one public IP address provided to company by ISP.
For eg. let's say the public address provided is 244.13.5.89. And all the machines when get to internet, they all are recognized as 244.13.5.89 despite their private address being 192.168.3.x, which is fine. But now when the router sends the request for each of these machines, how does it maps each response to respective machine?
If the answer is NAT, what entries does NAT has? Is there port no. or something else?
I will give you the idea about the complex case scenario :-
If all datagrams arriving at the NAT router from the WAN have the same
desti- nation IP address (specifically, that of the WAN-side interface
of the NAT router), then how does the router know the internal host to
which it should forward a given datagram?
The trick is to use a NAT translation table at the NAT router, and to
include port numbers as well as IP addresses in the table entries.
See more details about NAT Table here.
SORRY, don't know why it took me minutes to post an answer, it was not allowing me to add the answer...
NAT has following fields:
source computer address and website, so when it receives packet it will replace source computer address with its public address, and send it to the internet once response comes back it sees oh this come from the website and it was requested by the source computer. It will again replace destination address with source computer address and send it in LAN.