Overview
The lecture covers the structure and function of the TCP/IP protocol suite, its layers, key protocols, IP addressing concepts, and various client-server technologies in networking.
The TCP/IP Stack and Its Layers
- TCP/IP consists of four layers: application, transport, network, and link.
- Application layer selects the protocol and interacts with user software (e.g., browsers).
- Transport layer establishes connections, splits data into packets, and adds sequence and port numbers.
- Network layer assigns IP addresses and routes packets via routers.
- Link layer manages hardware connections and assigns unique MAC addresses.
Sockets, Ports, and MAC Addresses
- Socket addresses combine IP addresses and port numbers to direct packets to specific applications.
- Well-known ports are reserved for common protocols (e.g., FTP: 20/21, HTTP: 80, HTTPS: 443).
- MAC addresses uniquely identify hardware on local networks and change at each network hop.
Standard Application Layer Protocols
- FTP transfers files; supports anonymous and authenticated access.
- SSH provides encrypted remote management.
- HTTP/HTTPS serve web pages, with HTTPS offering encryption.
- POP3 retrieves emails; SMTP sends emails.
- Web browsers render web pages and resources from servers.
IP Addressing and Subnetting
- IP addresses have a network identifier and a host identifier.
- Subnet masking separates the network part of an IP address.
- IPv4 uses 32 bits; IPv6 uses 128 bits for more addresses.
- Public (routable) IPs are globally unique; private (non-routable) are for internal use.
DHCP, NAT, and Port Forwarding
- DHCP dynamically assigns IP addresses to devices from a pool.
- NAT lets devices with private IPs communicate with the public Internet by translating addresses.
- Port forwarding directs external requests to specific devices/services inside a private network.
Client-Server Model, APIs, and Websockets
- Clients request and servers respond with data or actions.
- APIs define communication protocols between applications.
- Websocket protocol allows full-duplex, real-time communication for apps like messaging and games.
CRUD, REST, XML, and JSON
- CRUD: Create, Retrieve, Update, Deleteβmaps to SQL commands.
- REST architecture uses HTTP verbs (POST, GET, PUT, DELETE) to manipulate resources.
- Servers respond with data in XML or JSON; JSON is more compact and easier to process.
Thin vs Thick Client Computing
- Thin-client networks centralize processing on servers and ease management but need powerful servers.
- Thick-client networks have independent, capable clients, reducing server needs but increasing setup and maintenance costs.
Key Terms & Definitions
- TCP/IP β A suite of protocols for Internet communication.
- MAC Address β Unique hardware identifier for network devices.
- Socket Address β IP address and port number combination to route data.
- Subnet Mask β Identifies the network part of an IP address.
- NAT β Translates private IPs to public IPs for Internet access.
- DHCP β Protocol for automatic IP address allocation.
- CRUD β Basic operations for databases: Create, Retrieve, Update, Delete.
- REST β Web architecture for resource manipulation via HTTP methods.
- API β Set of rules for software communication.
- Websocket β Protocol for two-way, real-time communication over a single connection.
Action Items / Next Steps
- Review and memorize the roles of each TCP/IP layer.
- Practice subnet masking calculations.
- Compare and contrast thin-client and thick-client networks.
- Understand differences between XML and JSON responses.