TCP/IP Networking
TCP/IP is the basic communication language or protocol of the internet and many private networks. As a software developer or power user of modern applications and operating systems, you will need to understand the basics of how this system works and be able to configure and administer the network on your development machine as well as the machines you deploy your applications to. It is not necessary to learn every detail of TCP/IP or to have the skills to manage large networks, but learning the basics and being able to troubleshoot common networking problems will be an essential skill as you grow your development and deployment skills.
Goals/Objectives/Outcomes
- Understand the basic components and architecture of TCP/IP
- Understand how IP Addresses and domain names work
- Understand the client/server architecture that most systems use.
- Understand how Peer to Peer networking is different from client/server
- Understand how TCP/IP is connectionless and how applications maintain state
- Understand the key protocols in the application layer and how they are used
- Understand the common ports that applications run on
Reference Material
- https://en.wikipedia.org/wiki/Internet_protocol_suite
- http://www.w3schools.com/website/web_tcpip.asp
- http://www.yale.edu/pclt/COMM/TCPIP.HTM
Measures of Success
- Participant can articulate the basic ideas behind TCP/IP
- Participant has demonstrated the ability to configure machines on TCP/IP networks beyond simple DHCP
- Participant can articulate the concept of TCP/IP being connectionless and describe how applications maintain state
- Participant can discuss the various key protocols in the application layer and what they are used for and what ports they run on