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 8 years ago.
Improve this question
Transmission Control Protocol and Internet Protocol are two different protocols.
then why they are always mentioned together.
The official name for TCP/IP is Internet Protocol Suite. TCP/IP is a shorthand used by its authors to refer to this new iteration of a standard based on a previous protocol simply called TCP (for Transmission Control Program), so one may infer that the new acronym was meant to differentiate from the latter.
Quoting the Wikipedia entry:
In May 1974 the Institute of Electrical and Electronic Engineers
(IEEE) published a paper titled "A Protocol for Packet Network
Intercommunication." The paper's authors, Vint Cerf and Bob Kahn,
described an internetworking protocol for sharing resources using
packet-switching among the nodes. A central control component of this
model was the Transmission Control Program that incorporated both
connection-oriented links and datagram services between hosts. The
monolithic Transmission Control Program was later divided into a
modular architecture consisting of the Transmission Control Protocol
at the connection-oriented layer and the Internet Protocol at the
internetworking (datagram) layer. The model became known informally as
TCP/IP, although formally it was henceforth called the Internet
Protocol Suite.
Source: http://en.wikipedia.org/wiki/Transmission_Control_Protocol#Historical_origin
They are the protocols used by the Internet Protocol Suite and are always mentioned together because they both are necessary to transmit data over the internet.
From wikipedia: "TCP provides reliable, ordered and error-checked delivery of a stream of octets between programs running on computers connected to a local area network, intranet or the public Internet." and "IP,[...] has the task of delivering packets from the source host to the destination host solely based on the IP addresses in the packet headers."
When you need to send a message from one computer to another the TCP is responsible to break this message in smaller packages and leave the rest of work to IP, that takes care of deliver these smaller groups of data to the correct destination. In the other side, when the other computer receives the packages, TCP assembles them to get the original message.
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 11 days ago.
Improve this question
What I want to understand is how to determine clients that associated/connected to an AP using network traffic.
For clarification: I am not connected to the network. I am using a usb card on monitor mode and capturing traffic using wireshark. I choose some AP I saw on the traffic and filtered all traffic relevant to it. I am trying to understand, using this data, what clients are connected to this AP.
Hope you guys understand what I mean.
You should look for the association request and association response 802.11 packets in your sniffed list. Basically, client sends the association request and AP replies with the response (you can parse the response according to the 802.11 to find out whether association was granted or rejected. The client will normally be connected to the AP until deauthentication packet arrives from the AP.
From what I know, there's no way to ask the AP for all connected clients unless you are the administrator of the AP but you wouldn't be listenning to the connection wouldn't you ? ;)
However, you can listen to all traffic relevant to this AP and try to determine wheter the captured packet is doing real business (fetching url, ftp, etc.) or just noise. This way, you can safely say that this given IP address is connected to the AP or not.
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
Here is the scenery. I have several buildings with same subnet IP addresses (192.168.0.0/24).
I need to secure that connection with OpenVPN.
Please assist me how can I organize VPN connection with IP network 10.10.10.0/24
example
HQ (192.168.0.0/24) - VPN 1 (10.10.10.50) --- VPN 2 (10.10.10.51) - Branch (192.168.0.0/24)
I meas assist with NAT if it will be needed or if I just connect , the C class traffic will just be passed through.
Thank you
Since you are merging two nets, you should use TAP interfaces.
TAP (as in network tap) simulates a link layer device and it operates with layer 2 packets such as Ethernet frames. TUN (as in network TUNnel) simulates a network layer device and it operates with layer 3 packets such as IP packets. TAP is used to create a network bridge, while TUN is used with routing.
This way, you will be joining the HQ network with the branch network like if you plug a (secure, pre-shared key may be ok) ethernet cable between them.
But this will likely crash both environments if they are operating now without knowing one about each other. Maybe the HQ router has the same IP as the branch one, or maybe not, but they are both acting as DHCP servers and now they will be on the same network.
Do you really need to merge both nets? I think you should consider to do some network design and let the HQ on the 192.168.0.0/24 but change the n-th branch to 192.168.n.0/24. Then you can do a TUN OpenVPN setup and route between branches and HQ in a hierachical way. It will save you some bandwith too by not spreading irrelevant broadcast traffic over the tunnel.
Thank you
Well you know, I do not have any router installed in HQ side or anywhere in network and maybe that is a big minus (and I will fix that in a time). Now I just need to secure the links between HQ and branches so the optical network provider (that provides links) could not access out data. If you have any good solution please write.
Thank you
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 9 years ago.
Improve this question
Suppose we have messenger like GTalk, Skype etc running on two different PCs(A and B) which have private IP addresses but connected to Internet through some ISP. The two PCs could be located in different parts of the world. Now its possible to send messages and make VoIP calls between A and B.
This obviously uses server for communication establishment. For text messages it could be routed through the server to reach A and B.
But for VoIP calls, I believe initial establishment would be taking help of server and later VoIP data would flow directly between A and B. Now, A and B both have private IP addresses.
So my question is how is it possible to communicate between A and B directly over the Internet who have private IP addresses ?
Is there any specific standard for this ? I am not talking about VoIP standard like RTP etc but the mechanism to communicate over Internet using private IP addresses. In other words, I simply have a TCP client and TCP server running on A and B respectively. How can TCP client reach TCP server ?
I would like to know if messengers like GTalk, Yahoo, Skype and many of the Android applications like Viber, Kakoa talk, WhatsApp etc use any specific standard for this. And I have seen that these work almost always, calls between A and B work, located anywhere in the world.
It would be nice if somebody can share the architecture and the concepts involved.
[I did read about concepts like STUN and hole punching. But I don't see any specific way. And there is no guarantee that these would work depending on the NAT behavior]
Thank you.
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 8 years ago.
Improve this question
I am trying to understand TCP congestion avoidance mechanism, but I don't understand one thing:
TCP congestion avoidance is per flow or per link?
In other words: there are 2 routers A and B
A is sending B two TCP flows - when one TCP flow detects congestion, does it decrease window size in the other flow as well?
of course if this happens, the other flow will detect congestion in some time, but does the second flow "waits" until it detects congestion on its own? that would be quite uneffective...
thanks a lot
It decreases the window size for the current connection. Each connection's RTT and windows are maintained independently.
Routers operate on layer 3 (IP) and are not aware of layer 4 (TCP), because of this, routers do not take any part in TCP congestion avoidance mechanism. This mechanism is fully implemented by TCP endpoints. It is triggered by routers dropping IP packets, but (classic) routers are not aware what higher level protocol IP packets carry.
The fact that one flow does not affect the other is quite desirable from the security perspective. With NAT you can have many hosts sharing the same IP address. From the outside world all these hosts look as a single machine. So, if some server reduced throughput of all TCP connections coming from a single IP address in response to packets dropped within one of those connections that would open a door to quite nasty DoS attacks.
Another issue is that some routers may be configured to drop packets based on IP ToS field. For example, latency sensitive SSH traffic may set different ToS than bulk FTP download. If router is configured to take into account ToS field, it may drop packets belonging to FTP connection, which should trigger congestion avoidance, but is should not affect packets belonging to SSH connection, which may be handled with higher priority.
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 3 years ago.
Improve this question
I want to connect two computer via serial but for each to see each other via a TCP/IP connection. Ie, create new network device on the computers that are in actual fact serial ports.
The reason for this is that I am actually testing the medium in which the serial connection is made (wireless), and part of the experiment will be to use TCP/IP.
The radio being tested is a telemetry radio for use in low power applications. It polls once a second, sending data out on the wireless channel every poll when something has been received via the serial port. It uses a Modbus RTU delimiter to determine the end of data coming in on the serial port.
slip and ppp are more suitable for use with actual serial modems from what I understand.
This is actually a very hard problem. TCP/IP is a very chatty protocol and you will have problems with the radio system you have described because of the pattern of packets and ACKs you will have. In the past for some similarly unsuited applications I worked on a system that fibbed about the TCP/IP connection by faking some packets while pushing the data over a link like you have.
It is a pain, but we were doing it to support sshing over a totally inappropriate channel (high loss and high latency with moving endpoints) but it worked.
SLIP (Serial Line IP) sounds like something you might want to look into for this project.
you may use Simple TCP/IP, UDP connection by using UART using a software like this:
http://www.serialporttool.com/CommTunnel.htm