Chapter 58 Intro
- He provides his definition of internet
- A internet connects different computer networks, allowing hosts on all of the networks to communicate with one another.
- A subnet is one such network.
- This means that any host on any of the connected subnetworks has the potential to contact any other host on the connected networks with a single address.
- Request for Comment
- This is a set of documents that describe how the the internet is/can/should/might be built.
- Some RFCs are adopted by the Internet Engineering Task Force to become internet standards.
- Others are only for amusement A Standard for the Transmission of IP Datagrams on Avian Carriers".
- These contain the "official" standards for the internet.
- And are worth getting to know.
- Framework
- There have been multiple networks designed.
- The current standard is TCP/IP
- TCP/IP
- Was a ARPA/DARPA project in the Early 1970s.
- Is a series of protocols at different layers.
- Different pieces of hardware/software handle the transmission of data.
- Generally a host is located on a single network.
- A host that is connected to two networks is multihomed
- It has a connection to each network.
- It is able to communicate in the lower level protocols of each network.
- It has at least two addresses.
- A special multihomed task is that of a router
- This device is responsible forwarding packets between the networks to which it is connected.
- But it must filter, block, ....
- Yes, modern routers do this, but the primary function is to transfer packets.
- TCP/IP
- This is a multi layer model
-
- Each physical network has a protocol.
- What is a 0/1 in terms of voltage, duration, ....
- How to tell if a collision has occurred
- This is probably a more physical type thing.
- And might be over wire, fiber optic cable, radio waves, even pigeons.
- Then there is the data link layer
- This is the network card and the driver(s) that goes with it.
- It uses the underlying hardware, but adds some logical organization to it (like frames)
- Generally data is transferred in terms of frames.
- It can perform error detection, retrransmission, flow control.
- This is not a physical connection, but a logical level.
- But it is very close to the hardware.
- We probably don't have to worry about this as programmers.
- The IP layer is a networking layer.
- This is a get packets to the right place layer.
- Hosts have an IP address.
- Networks via routers transfer packets from one address to another.
- Packet delivery is unreliable and connectionless
- Packets have a maximum size, so data from a higher level may be fragmented.
- Packets are encapsulated or padded with possible headers and footers.
- The Transport layer (TCP, UDP, ...)
- This is a host to host communication layer.
- Ideas such as sessions/connections and reliability are implemented here.
- TCP supports ports.
- Application Layer (http, ftp, ssh, ...)
- This is per application.
- You must design how messages will be sent, what are the borers, what should I receive.
- Notice in the picture, it looks like logically each layer is "talking" to its corresponding level on the other machine.
- This is not true.
- We pass things down through the layers and back up for real
-
- And we employ encapsulation
- I like these pictures from wikipedia as well