My notes from Wendel Odems CCNA ICND1 100-101 study book. These come from chapter 1
TCP/IP and OSI Network Model
- A network model refers to a comprehensive set of documents that define how a network should work
- Protocols are a set of logical rules that devices must follow to communicate
- Physical requirements for networking define the voltage and current levels used on a cable when transmitting.
Main networking models
There are two main networking models that people refer to when talking about networking models
- OSI – Ended up “loosing” the race but we almost always use it’s layers when describing networking functions. It was made by the “International Organization for Standardization”.
- TCP/IP – Ended up “becoming” the standard that every single computer, tablet and phone now uses. It was made at Universities for a DoD contract.
Overview of the TCP/IP Networking Model
- TCP/IP (like OSI) both DEFINES and REFERENCES a large collection of protocols. The protocols allow devices like computers to communicate.
- To define a protocol, TCP/IP uses documents called Requests for Comments (RFC)
- To avoid repeating work, it will sometimes refer to standards or protocols created by other groups
- IEEE Defined Ethernet LANS
- TCP/IP does not define Ethernet in a RFC, rather it refers to IEEE Ethernet as an option
- Each Layer includes protocols & standards that relate to that category of functions
TCP/IP Protocols and Examples
This isn’t an exhaustive list by any means…
- Application – HTTP, POP3, SMTP
- Transport – TCP/UDP
- Internet – IP
- Link – Ethernet, PPP, T1, T3
TCP/IP Application Layer
- Provides services to the application software running on a computer
- Application layer does NOT define the application itself. Rather it defines the services that the application needs. Eg. There are many Web browser application on the market. Internet Explorer, Firefox, Safari and Chrome. The Application layer does NOT define these applications. It defines how web servers and web browsers talk to each other.
Basic HTTP Logic
Let’s go over the diagram above:
1.) HTTP header gets sent. The header includes a “GET” message. If there is no file in particular the web server will assume the computer is asking for the default webpage
2.) The message returns a return code (200) which means “OK”. The second message includes the first part of the requested file.
3.) Another message gets sent, but this time without a HTTP header. HTTP transfers data by sending multiple messages.
*NOTE* – HTTP won’t waste space by sending repeated HTTP headers!
TCP/IP Transport Layer
- Transport Layer includes a smaller # of protocols than the application layer
- Two most common protocols are Transmission Control Protocol (TCP) and User Datagram Protocol (UDP)
- Transport layer provides services to the application layer that resides one layer higher in the TCP/IP model. eg TCP Error Recovery
TCP/IP needs a mechanism to guarantee delivery of data across the network. To recover from errors , TCP uses the concept of ACKNOWLEDGEMENTS.
Let’s explain the example a little bit more:
- TCP uses sequence #’s with each message. When there was an issue, the client realizes that data is missing. It requests SEQ2 again.
- HTTP doesn’t need to headers each time at APPLICATION LAYER because HTTP relies on TCP to ensure delivery of all the data that is sent.
The last point bring up an example of one layer using another layer for services. This allows each layer to be optimized for the task at hand.
Same Layer & Adjacent Layer Interactions
Same Layer Interaction (Different Computers)
- Two computers use a protocol (agreed set of rules) to communicate with the same layer on another computer
- The protocol defined by each layer uses a header that is transmitted between the computers to communicate what each computer should do.
- Header info added by the layer of the sending computer is processed by the same layer of the receiving computer.
Adjacent Layer Interaction (On the Same Computer)
- On a single computer, one layer provides a server to a high layer
- Software or hardware that IMPLEMENTS the high layer requests that the next lower layer perform the needed function.