Learning Python Network Programming

(Sean Pound) #1

Network Programming


and Python


This book will focus on writing programs for networks that use the Internet
protocol suite. Why have we chosen to do this? Well, of the sets of protocols
supported by the Python standard library, the TCP/IP protocol is by far the most
widely employable. It contains the principle protocols used by the Internet. By
learning to program for TCP/IP, you'll be learning how to potentially communicate
with just about every device that is connected to this great tangle of network cables
and electromagnetic waves.


In this chapter, we will be looking at some concepts and methods around networks
and network programming in Python, which we'll be using throughout this book.


This chapter has two sections. The first section, An introduction to TCP/IP networks,
offers an introduction to essential networking concepts, with a strong focus on the
TCP/IP stack. We'll be looking at what comprises a network, how the Internet
Protocol (IP) allows data transfer across and between networks, and how TCP/IP
provides us with services that help us to develop network applications. This section
is intended to provide a grounding in these essential areas and to act as a point of
reference for them. If you're already comfortable with concepts such as IP addresses,
routing, TCP and UDP, and protocol stack layers, then you may wish to skip to
second part, Network programming with Python.


In the second part, we'll look at the way in which network programming is
approached with Python. We'll be introducing the main standard library modules,
looking at some examples to see how they relate to the TCP/IP stack, and then
we will be discussing a general approach for finding and employing modules
that meet our networking needs. We'll also be taking a look at a couple of general
issues that we may encounter, when writing applications that communicate over
TCP/IP networks.

Free download pdf