Python网络编程-----简述

1. 在介绍网络编程之前,先介绍一下什么是网络。

在计算机的世界里,网络就是一种辅助双方或多方能够连接在一起的工具。我们是用网络通常是为了进行远程的数据传输和资源共享。所谓的网络编程就是让不同的电脑上的软件能够进行数据传输,即网络进程间的通信

在网络编程中最重要的是协议,早起的计算机网络,都是由各厂商自己规定一套协议,IBM、Apple、和Microsoft都有各自的网络协议,互不兼容。就像人与人之间的交流一样,有的说英语,有的说中⽂,有的说德语,说同⼀种语⾔的⼈可以交流,不同的语⾔之间就不⾏了。为了解决不同种族⼈之间的语⾔沟通障碍,现规定国际通⽤语⾔是英语,这就是⼀个规定,这就是协议。

为了使不同计算机厂家生产的计算机能够相互通信,便在更大的范围内建立计算机网络,国际标准化组织(ISO)在1978年提出了“开放系统互联参考模型”,即著名的OSI/RM模型(Open System Interconnection/Reference Model)。它将计算机网络体系结构的通信协议划分为七层,自下而上依次为:物理层(Physics Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)。

2.常用的三大协议(protocol)

1、TCP/IP协议是三大协议中最重要的一个,作为互联网的基础协议,没有它根本就不可能上网,任何和互联网有关的操作都离不开TCP/IP协议。

2、NetBEUI即NetBios Enhanced User Interface ,或NetBios增强用户接口。它是NetBIOS协议的增强版本,曾被许多操作系统采用,例如Windows for Workgroup、Win 9x系列、Windows NT等。NETBEUI协议在许多情形下很有用,是WINDOWS98之前的操作系统的缺省协议。NetBEUI协议是一种短小精悍、通信效率高的广播型协议。

3、IPX/SPX协议本来就是Novell开发的专用于NetWare网络中的协议,但是大部分可以联机的游戏都支持IPX/SPX协议,比如星际争霸,反恐精英等等。

3.端口

端口"是英文port的意译,可以认为是设备与外界通讯交流的出入口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。

如果⼀个进程需要收发网络数据,那么就需要有这样的端口。在linux系统中,端口可以有65535(2的16次方减1)个之多!既然有这么多,操作系统为了统一管理,所以进行了编号,这就是端口号

动态端口的范围是从1024到65535,之所以称为动态端口,是因为它⼀般不固定分配某种服务,而是动态分配。动态分配是指当⼀个系统进程或应用程序进程需要网络通信时,它向主机申请⼀个端口,主机从可用的端口号中分配⼀个供它使用。当这个进程关闭时,同时也就释放了所占用的端口号,至于1-1024的端口建议一般不要动用,用netstat -ano可以在window下查看所有被占用的端口。

4. IPv4

IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。在网络中的惟⼀性。

早期IP地址主要指的是IPv4,随着网络的发展IPv4的数量已经不能满足日新月异的网络发展,所以现在IP地址分为两大类,分别是IPv4和IPv6

IPv4的分类:

每⼀个IP地址包括两部分:网络地址和主机地址


A类IP地址:⼀个A类IP地址由1字节的⽹络地址和3字节主机地址组成,⽹络地址的最⾼位必须是“0”。地址范围1.0.0.1-126.255.255.254,可⽤的A类⽹络有126个,每个⽹络能容纳1677214个主机。

B类IP地址:⼀个B类IP地址由2个字节的⽹络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”, 地址范围128.1.0.1-191.255.255.254。可用的B类网络有16384个,每个网络能容纳65534主机。

C类IP地址:⼀个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”, 范围192.0.1.1-223.255.255.254。C类网络可达2097152个,每个网络能容纳254个主机。

D类地址用于多点广播:D类IP地址第⼀个字节以“1110”开始,它是⼀个专门保留的地址,它并不指向特定的网络,目前这⼀类地址被用在多点广播(Multicast)中多点广播地址用来⼀次寻址⼀组计算机。地址范围224.0.0.1-239.255.255.254

E类IP地址:以“1111”开始,为将来使用保留。E类地址保留,仅作实验和开发用

私有ip:在这么多网络IP中,国际规定有⼀部分IP地址是用于我们的局域网使用,也就是属于私网IP,不在公网中使用的。

5. IPv6

IPv6是Internet Protocol Version 6的缩写,其中Internet Protocol译为“互联网协议”。IPv6是IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议,号称可以为全世界的每一粒沙子编上一个网址。
由于IPv4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。

7. 子网掩码

子网掩码用来指定IP地址哪些位是网络号、哪些是主机号。子网掩码只有⼀个作⽤,就是将某个IP地址划分成往络地址和主机地址两部分子网掩码的设定必须遵循⼀定的规则。与IP地址相同,子网掩码的长度也是32位,左边是网络位,⽤⼆进制数字“1”表示;右边是主机位,⽤⼆进制数字“0”表示。假设IP地址为“192.168.14.1”子网掩码为“255.255.255.0”。其中,“1”有24个,代表与此相对应的IP地址左边24位是网络号;“0”有8个,代表与此相对应的IP地址右边8位是主机号。这样,子网掩码就确定了⼀个IP地址的32位⼆进制数字中哪些是网络号、哪些是主机号。这对于采⽤TCP/IP协议的⽹络来说⾮常重要,只有通过子网掩码,才能表明⼀台主机所在网络。




猜你喜欢

转载自blog.csdn.net/qwerLoL123456/article/details/81036838
今日推荐