Introduction To Network Programming
Welcome fellas! And congratulations on taking your very first step towards becoming a Security Engineer. Uh..Security Engineer, but what does that even mean?
Well, the Internet transfers PettaBytes of data every minute across the globe. Do you have any idea how that happens? You click on a link and you download a multi MegaByte(MB) file within seconds, watch your favourite videos, do live video calls and what not. This is not magic! There are people behind the scene, who are working very hard to make all this happen, both efficiently and safely, by making sure that the data reaching you is unsniffed and legitimate. They are called Security Engineers.
Well some of you might be wondering about what are you going to learn here. Well if you have learnt programming you must have wondered, Ok, we know programming! But, what to do with it? What's it's practical implementation. Afterall, no one is going to give you an array and will ask you to sort it or so. Right! Real world problems that are solved by programming are different and complicated.
Well In this series of tutorials, you will come across some fantastic practical implementations of programming using none other than Python language.
What is Networking?
Computer Networking aims to study and analyze the communication process among various computing devices or computer systems that are linked, or networked together to exchange information and share resources. So, in order to perform networking you must have a network. It's like to make a telephone call you must have a telephone line. Isn't it obvious! So, there are basically four types of computer networks:
LAN (Local Area Network)
Used to serve a small number of people located in a small geographical space like colleges, small organisations etc. It's more of a peer to peer conection.
WAN (Wide Area Network)
This network type covers more area than LAN as they allow connectivity across large geographical Area. It basically connects many LANs together to reach beyond just peer to peer sharing. The Internet is an example of WAN.
Following picture will provide you a good idea about LAN and WAN:
MAN (Metropolitan Area Network)
MAN is a computer network that interconnects users with computer resources in a geographic area or region larger than that covered by a LAN(Local Area Network) but smaller than the area covered by a WAN(Wide Area Network). The term is derived from its usage for the interconnection of networks in a city into a single larger network.
PAN(Personal Area Network)
A personal area network (PAN) is a computer network used for data transmission amongst devices such as computers, telephones, tablets and personal digital assistants. PANs can be used for communication amongst the personal devices themselves (interpersonal communication), or for connecting to a higher level network and the Internet (an uplink) where one master device takes up the role as internet router.