×

Grokking Computer Networking for Software Engineers

Add to wishlistAdded to wishlistRemoved from wishlist 0
Add to compare+
level

Beginner

Duration

20h

Lessons

115 Lessons

Master Grokking Computer Networking for Software Engineers. Learn client-server architecture, Python socket programming, and key networking essentials for engineers!

(1 customer review)
Product is rated as #1 in category Network Security

The way applications are developed today requires software engineers to have a firm understanding of client-server architecture and networking. If you’re planning to write web applications, or apps that communicate with a remote server, then networking is an essential skill. With this in mind, it’s clear that what you do as a software engineer will be deeply rooted in networking.

This course will teach you the fundamentals of networks, socket programming in Python, command-line tools and the main protocols of each layer. Additionally, you will get hands-on experience with not only socket programming, but with implementing network protocols that require distributed processing. Join us in a deep dive on everything network-related.

Course Content

1.Getting Started

Get familiar with computer networking fundamentals, practical skills, and essential Python tools.

  • Course Learning Outcomes
  • Learning Instruments

2.Getting to Know the Internet

Look at the Internet’s structure, history, standards, and communication protocols.

  • What is the Internet?
  • A Quick History of The Internet
  • Internet Standards Documents
  • Communication Over the Internet

3.Access Networks

Examine access networks, end systems, and various connection types, including DSL and fiber.

  • The Edge of The Internet: End Systems
  • What Are Access Networks?
  • Types of Access Networks: DSL
  • Types of Access Networks: Cable, FTTH, Dial-Up, and Satellite

4.Types of Computer Networks

Find out about various computer network types by medium, distance, and topology.

  • Types by Physical Medium: Guided Physical Media
  • Types by Physical Medium: Unguided Physical Media
  • Types by Geographical Distance
  • Types by Topology

5.Network Infrastructure: The OSI Model

Take a closer look at the OSI and TCP/IP models, layering and modularity in network infrastructures.

  • Layered Architectures & Protocol Stacks
  • The Open Systems Interconnection (OSI) Model
  • The TCP/IP Model

6.The Application Layer

Focus on the application layer’s role, network architectures, HTTP dynamics, email protocols, DNS operations, and BitTorrent functionality.

  • What Is the Application Layer?
  • Network Application Architectures
  • P2P vs. Client-Server
  • How Processes Communicate
  • HTTP: The Basics
  • HTTP: Request Messages
  • Exercise: Looking at a Real HTTP Request
  • HTTP: Response Messages
  • Exercise: Looking at a Real HTTP Response
  • Cookies
  • Exercise: View and Manage Your Cookies
  • Email: SMTP
  • Exercise: Checking a Domain’s Mail Server with nslookup
  • Email: POP & IMAP
  • Email: Message Format
  • DNS: Introduction
  • Exercise: Finding Name Servers
  • DNS: Records and Messages
  • Exercise: Looking At DNS Response Messages and Resource Records
  • BitTorrent

7.The Transport Layer

Master the transport layer’s protocols, reliable data transfer, congestion control, and efficient packet handling.

  • What Is the Transport Layer?
  • Multiplexing and Demultiplexing
  • Multiplexing & Demultiplexing in UDP
  • Introduction to Congestion Control
  • More on Principles of Congestion Control
  • Principles of Reliable Data Transfer
  • Reliable Data Transfer: Sliding Window
  • Reliable Data Transfer: Go-back-n
  • The User Datagram Protocol
  • UDP Checksum Calculation & Why UDP?
  • Exercise: Capturing UDP Packets
  • The Transmission Control Protocol
  • Key Features of the Transmission Control Protocol
  • TCP Segment Header
  • TCP Header Flags
  • TCP Headers: Window Size, Checksum & More
  • TCP Connection Establishment: Three-way Handshake
  • Other TCP Connection Establishment Methods
  • When Connection Establishment Fails: Syn Floods & Retransmission
  • TCP Connection Release
  • Efficient data transmission with TCP
  • TCP Window Scaling
  • Exercise: Measuring RTT with Ping
  • TCP Congestion Control: AIMD
  • TCP Congestion Control: Slow Start

8.An Introduction to Socket Programming with Python

Step through Python socket programming, from creating UDP and TCP sockets to building chat applications.

  • The Basics
  • Setting up a UDP Socket
  • Writing a UDP Server
  • Writing a UDP Client Program
  • Running The UDP Server & Client Together
  • Improvements to UDP Programs: Avoiding Arbitrary Servers
  • Project: Write a UDP Chat App!
  • Solution: Write a UDP Chat App!
  • A TCP Client-Server Program

9.Network Layer

Unpack the core of network layer functionality, IP protocols, and routing methodologies.

  • What Is the Network Layer?
  • Organization of the Network layer
  • The Control Plane: Static & Dynamic Routing
  • The Control Plane: Distance Vector – Routing Information Protocol
  • Programming Challenge: Routing Information Protocol
  • Solution Review: Routing Information Protocol
  • The Control Plane: Link State Routing
  • The Control Plane: Route Calculation – Dijkstra’s
  • Programming Challenge: Implementing Dijkstra’s
  • Solution Review: Implementing Dijkstra’s
  • The Internet Protocol: Introduction to IPV4
  • The Internet Protocol: IPV4 Address Allocation
  • The Internet Protocol: IPV4 Packets
  • The Internet Protocol: IPV4 Packet Fragmentation & Reassembly
  • The Internet Control Message Protocol (ICMP)
  • Exercise: Sending ICMP Messages With Ping & Traceroute
  • Address Resolution Protocol (ARP)
  • Dynamic Host Configuration Protocol (DHCP)
  • IPv4 in Practice: The Life of a Packet
  • Why IPv6?
  • IPv6 Features
  • Middleboxes: Firewalls
  • Middleboxes: NATs
  • Introduction to Routing in IP: Intradomain & Interdomain
  • Intradomain Routing: OSPF
  • Interdomain Routing: Border Gateway Protocol
  • Border Gateway Protocol: Determining the Best Routes

10.Link Layer

Explore key aspects of the data link layer, including framing, error detection, MAC, and Ethernet.

  • What is The Data Link Layer?
  • Principles of The Data Link Layer: The Framing Problem
  • Principles of The Data Link Layer: Error Detection
  • Medium Access Control: Static Allocation
  • Medium Access Control: Stochastic Methods – ALOHA
  • Medium Access Control: Stochastic Methods – CSMA
  • Medium Access Control: Stochastic Methods – CSMA/CD
  • Medium Access Control: Stochastic Methods – Optimizing CSMA/CD
  • Introduction to Ethernet
  • Ethernet Frame Format
  • Physical Layers for Ethernet
  • Ethernet Switches
  • Programming Challenge: Spanning Tree Protocol
  • Solution Review: Spanning Tree Protocol
  • Virtual LANs

11.Conclusion

Grasp the fundamentals of networking careers, roles, certifications, and course conclusion insights.

  • Networks Career Paths
  • Final Thoughts

1 review for Grokking Computer Networking for Software Engineers

5.0 out of 5
1
0
0
0
0
Write a review
Show all Most Helpful Highest Rating Lowest Rating
  1. Diana

    Good basic course, but I would appreciate more challenges, and more ideas or real life examples which will help me understand this

    Helpful(0) Unhelpful(0)You have already voted this

    Add a review

    Your email address will not be published. Required fields are marked *

    Grokking Computer Networking for Software Engineers
    Grokking Computer Networking for Software Engineers
    Edcroma
    Logo
    Compare items
    • Total (0)
    Compare
    0
    https://login.stikeselisabethmedan.ac.id/produtcs/
    https://hakim.pa-bangil.go.id/
    https://lowongan.mpi-indonesia.co.id/toto-slot/
    https://cctv.sikkakab.go.id/
    https://hakim.pa-bangil.go.id/products/
    https://penerimaan.uinbanten.ac.id/
    https://ssip.undar.ac.id/
    https://putusan.pta-jakarta.go.id/
    https://tekno88s.com/
    https://majalah4dl.com/
    https://nana16.shop/
    https://thamuz12.shop/
    https://dprd.sumbatimurkab.go.id/slot777/
    https://dprd.sumbatimurkab.go.id/
    https://cctv.sikkakab.go.id/slot-777/
    https://hakim.pa-kuningan.go.id/
    https://hakim.pa-kuningan.go.id/slot-gacor/
    https://thamuz11.shop/
    https://thamuz15.shop/
    https://thamuz14.shop/
    https://ppdb.smtimakassar.sch.id/
    https://ppdb.smtimakassar.sch.id/slot-gacor/
    slot777
    slot dana
    majalah4d
    slot thailand
    slot dana
    rtp slot
    toto slot
    slot toto
    toto4d
    slot gacor
    slot toto
    toto slot
    toto4d
    slot gacor
    tekno88
    https://lowongan.mpi-indonesia.co.id/
    https://thamuz13.shop/
    https://www.alpha13.shop/
    https://perpustakaan.smkpgri1mejayan.sch.id/
    https://perpustakaan.smkpgri1mejayan.sch.id/toto-slot/
    https://nana44.shop/
    https://sadps.pa-negara.go.id/
    https://sadps.pa-negara.go.id/slot-777/
    https://peng.pn-baturaja.go.id/
    https://portalkan.undar.ac.id/
    https://portalkan.undar.ac.id/toto-slot/
    https://penerimaan.ieu.ac.id/
    https://sid.stikesbcm.ac.id/