Defined in RFC 791, the protocol has two basic functions: addressing and fragmentation of data. Fragmentation is very interesting. It means that a large piece of information, like a web page, is broken into a string of very small pieces called packets, datagrams or segments which are independently sent out on the Internet. Each piece has no knowledge of the other pieces while it is being transferred over the Internet. Each piece may travel a different route across the network and thus they might arrive in a different order than as they were sent. Some might get lost in the network, following dead ends or going around in circles. They may get stuck on a server. Thus, every packet has a time limit that it lives before the network destroys it. This timespan is embedded in the packet.
Built on top of the InternetProtocol are two transport protocols. One, Transmission Control Protocol (TCP) is the protocol used to reliably ensure a stream of information gets to a peer host. It has a sufficient amount of overhead bookkeeping to ensure that all segments arrived as intended, including retransmission and flow control. The User Datagram Protocol (UDP) on the other hand is used when data loss is acceptable, such as when streaming information that is temporal like an Internet radio cast. If you lose information for part of the stream that has already played, it is not a big deal since it will never be replayed, and so it is more efficient to just send as much data at the other end as possible.
The source and destination addresses of a packet depend on the network it is sent over. As the Internet is really a bunch of networks sewn together, for each network, the packet has to be routed over that network from one point to another. This may result in changes of address as it crosses networks, since each network might have a unique internal addressing system. The boundary between networks is called a gateway. The gateway has two addresses, one on each side of a network. The gateway's job is to forward packets between networks, translating addresses if necessary.
EndToEnd. The architecture of the Internet results in certain social outcomes. For one, because the actual InternetProtocol is so simple, amounting to "passing notes", it puts all the application-level complexity at the ends. This EndToEnd design means that the Internet does not favour one application type over another, but rather facilitates any type of application that could be conceivably created on top of it. This is likened to the road network which does not control what type of person can travel it or for what purpose. You can drive to the beach, truck lumber, or drive military vehicles all on the same road network. In this way, it's more proper to consider the Internet as communications infrastructure than a content distribution system.
Socialized distribution. Information as a product generates revenue by controlling its distribution. People want to copy valuable information for their own benefit, and so information tends to spread around. If you think of it as water suddenly released from a reservoir, the flow of that water can be used to create work simply by impeding its progress. By "harnessing" the running horses of TheAudience's desire to copy that information, the person who controls access to that information can stand to get a lot of money. That person can directly control distribution of that information, say by limiting the venues through which that information is available. For instance, audiences can only see Hollywood movies as they are first released in theatres controlled by the studios, and thus the premium to see those movies is much higher than if the audience was free to spread the movie around. Another method is through IntellectualProperty law which attempts to construct a CommunityExpectation not to relay information transmitted to you, and thus create the friction necessary to generate revenue.
The Internet's "passing notes" architecture means simply that distribution is "socialized." It's as if the postal system was as simple as handing a letter off to your neighbour. If everyone could be reliably trusted to pass the letter on, the cost of distribution is only as much as it costs to distribute a letter directly to your neighbour, as well as every other letter passed onto you. This means some people pay a lot more if they are in high traffic neighbourhoods; but it also means that attempts to create revenue by controlling distribution cannot be as naive as owning the physical infrastructure of distribution. Legal methods are also subverted since the information could potentially flow around the entire Internet once it is sent out.
Anonymity. Because information on the network only needs to know where it currently is and where it has to go, the conception of where it came from is not particularly relevant. As such, tracing a message directly back to its originator is non-trivial, and in fact impossible with just the InternetProtocol alone, particularly since the protocol relies on the honour system to maintain the integrity of the source address. This means that anonymous communication is greatly facilitated by the InternetProtocol. Moreover, since the network is a network of networks, there are numerous political opportunities to hide authorship. One gateway may opt not to disclose the nature of the network on one side to the other. Further, information may be sent to one network which then retransmits it as if originated from there.
Note that the necessity of two-way communication, as with TCP, or even with many UDP applications, increases the barrier to anonymity. One must create, maintain, and use a proxy system in that case to achieve the sort of anonymity described.