What exactly is TCP/IP?

211 views

I am starting out in IT and am about to complete A+ cert course. I understand that TCP/IP is a foundation element of the internet and is implemented with many other protocols. I would like to know exactly what it’s function is tho. What does it do, how long has it been around, and how it work in tandem with other protocols? I’ve tried researching it but always end up reading a bunch of high level tech jargon.

In: 1

7 Answers

Anonymous 0 Comments

If you think of the information as a letter being sent the application drafts the letter and then it get’s all packed up and ready to send but you need to know where it is going. TCP/IP is essentially the address and return address information and then DNS allows names to be converted to the numbers etc.

Anonymous 0 Comments

TCP and IP are both separate but tightly coupled protocols used as the basis of the Internet.

IP is used to deliver packets of information between two devices. The IP packet header includes the source and destination addresses, which tell the routers where to route the packet. However, this protocol doesn’t contain any information on where to direct the packet inside the device (which program should get it) or how it relates to other packets, and has no mechanism to detect packet loss.

TCP is used to establish a “conversation” between two programs. A TCP packet’s source and destination ports are used to identify the conversation between two programs, so the devices themselves know where to route them. The packets are numbered sequentially, so that the receivers on both ends know how to order them and how to join them into a single stream of data, as well as detect when a packet was lost along the way, so they could ask for that packet again.

Anonymous 0 Comments

Internet Protocol (IP) controls how data packets are routed over the internet to get to their destination.

Transmission control protocol (TCP) handles establishing a connection between two devices to pass data back and forth and detecting things like packet loss and retransmitting if needed.

Other protocols like http then build on top of TCP/IP.

There are some alternatives to TCP like UDP that run on top of IP for different types of connection but TCP is by far the most common.

There is also a MAC layer (media access control) that runs under all of this that handles the physical link between two devices. This will get replaced each hop along the network. E.g. the MAC layer for WiFi is very different to the one for wired ethernet but the IP layer and above are the same on both.

Anonymous 0 Comments

TCP and IP are two different things, which are often used together.

At the lower levels, you have things like Ethernet and Wi-Fi which allow your computer to communicate to a device next to them- one connected by wires in the case of Ethernet or within radio range in the case of Wi-Fi.

The Internet Protocol, or IP is the system that lets you use all the computers connected together as a relay to forward a message from your computer to any other computer connected to the Internet even if it’s not directly connected to your computer.

The problem is that in this giant relay around the world, sometimes messages get lost or arrive out of order. The transmission control protocol, or TCP is a procedure built on top of IP that you and the computer you’re communicating with can use to try to find order in that chaos. It’s got the rules for how to tell the other computer how many messages you’re sending and what order they’re supposed to be arranged in, and the rules for when you should retry sending a message in case it got lost. It makes an Internet connection seem more reliable than it really is.

Anonymous 0 Comments

Others have already answered the question adequately I suppose, but just thought of pointing out that you may also want to lookup up others like arp, udp, smtp, icmp, rtcp, sctp… You can basically run Wireshark or a similar tool and go from there (also maybe YouTube wap, that’s a very important protocol to learn in college ;-))

Anonymous 0 Comments

TCP is a flow-control protocol.

Say you want to send a file to someone. You take the big chunk of data, and chop it up into packets, ready to send down the wire.

Now, it really matters that the file arrives in one piece, with no bits missing, and no bits out-of-order.

It’s not good just blasting them out and hoping; you need a system to make sure they all arrived at their destination, and that none of them arrived early or late in the queue.

So, you have a two-way conversation with the other end:

* I’mma send you a bunch of stuff
* Okay, I’m listening
* Cool, here’s the first packet, got it?
* Yep, got the first one.
* Okay, I’mma send some more, check the numbers as they come in
* woah, I didn’t get #38, send it again
* Okay, #38 again. Am I sending too fast?
* yeah, a little bit, I’m getting backed up here.
* Okay, here’s 39, and I’m cutting the rate for a while until you catch up.
* Yeah that’s better, handling nicely, turn it up again in a bit
* Okay, that’s the last one, got it?
* Yep, shutting down, bye.

etc etc.

Anonymous 0 Comments

Everyone else seems to be explaining the TCP and IP protocols, which is useful, but it sounds like you’re asking about the TCP/IP model, which is a little bit different. The TCP/IP model is a high level overview of how data is processed and managed while travelling through a network. It’s split up into these layers:

Application

Transport

Network (Sometimes called the Internet Layer)

Data Link (Sometimes called the Network Access Layer)

This model is kind of a simplified version of another model, called the OSI model, which I won’t go into, but I’m sure you’ll learn about it in your course. Data is formatted in different ways as it travels through a network (or multiple networks). At each layer, the data must be handled by a device, or piece of software that knows how to manage data at that layer. I’ll use a website as an example. When you’re in your web browser, you type [youtube.com](https://youtube.com) into the URL bar, and your DNS server retrieves the IP address of the Youtube servers. Your computer needs to create a web page request that can be sent to the Youtube servers, asking them to send back the home page so your browser can display it. The creation of this request happens in the Application layer, it all happens on your local computer, and no data is sent over any network. To send your request to youtube, we move to the transport layer.

In this layer, a set of rules for the connection are established, (called the protocol). This layer describes how the data will be sent, and how it will be received. For example, the TCP protocol. Other people have explained this protocol pretty well already, but essentially, the source device and destination device must communicate with each other first before the data is sent. Then once the destination device receives the data, it must send an acknowledgement back to the source, to confirm that that data was sent successfully. There are other protocols that have different rules, such as UDP, and you can look them up if you’re interested. Once this is done, the data moves to the network layer.

This is the layer where the data is sent to devices on other networks, and is where IP addresses are used to route the data. In this layer, the data is bundled with the IP addresses of the source and the destination. This bundle is called a packet. In order for your computer to transmit data over the internet, it needs to get it to the router, and the router will handle it from there. The router is connected to the computer via an ethernet network, but ethernet devices don’t understand IP addresses, or any network layer protocol, so now the data moves to the data link layer.

Ethernet devices, such as network cards and switches aren’t addressed with IP addresses, instead they use MAC addresses. The network card and the switch don’t understand the IP addresses and the web page request inside the packet, all they understand is that they need to get that data to the router. So the data packet is bundled up again with the MAC address of the source device (your computer’s network card) and the destination device (the router). This bundle is called a frame. Your network card sends the frame to the ethernet switch, which then sends it to the router. The router deconstructs the frame and takes out the packet inside, and proceeds to send it to youtube. When the youtube server receives the packet, it deconstructs it to find the web page request inside.

Now the process happens in reverse, the youtube server gets the home page of youtube, wraps it up into a packet (network layer), and sends it to your router, the router wraps it up into a frame (data link layer) in order to send it over the ethernet network, then your computer receives it, deconstructs the frame and the packet, and finds the web page inside. Now we’re back on the application layer, and the web browser can display the web page on the screen.

This is a simplified overview, in real life, the internet is very complicated and the data will be bouncing back and forth between different layers multiple times as it passes through different networks on it’s journey to youtube.