首页 > 编程语言 >【Python】网络编程

【Python】网络编程

时间:2024-08-07 10:28:55浏览次数:12  
标签:协议 子网 Python 主机 编程 网络 TCP IP地址 子网掩码

计算机网络的介绍

计算机的发展经历了以下几个阶段:

阶段时间物理器件
第一阶段1946年到20世纪50年代后期电子管
第二阶段20世纪50年代后期到20世纪60年代中期晶体管
第三阶段20世纪60年代中期到20世纪70年代初期中小规模集成电路
第四阶段20世纪70年代初期至今大规模集成电路

1.通信协议

计算机为了联网,就必须规定通信协议,早期的计算机都是由各厂商自己规定的一套协议,互不兼容。

为了把全世界的各种类型的计算机连接起来,就必须规定一套全球通用的协议,为了实现这个目标,互联网协议簇就是通用协议 标准出现了。

网络协议

网络体系结构协议主要用途
TCP/IPIP,ICMP,TCP,UDP,HTTP,TELNET互联网、局域网
IPX/SPXIPX,SPX,NPC...个人电脑局域网
AppleTalkDDP,RTMP,AEP,ZIP0.....苹果公司现有产品的局域网
DEcentDPR,NSP,SCP....前DEC小型机
OSIFTAM,MOTIS,VT,CMIS/CMIP
XNSIDP,SPP,PEP施乐公司网络

2.TCP协议

互联网包含了上百种协议,其中最重要的两个协议是TCP和IP协议,所以互联网协议简称为TCP/IP协议。

TCP协议是一种可靠的、面向连接的、基于全双工通信和字节流的传输层协议通信。使用TCP的应用有Web浏览器、电子邮件和文件传输程序等。

为了提供可靠的通信服务,TCP通过三次分节建立连接、四次分节关闭连接。

3.IP地址

①IP地址介绍

在通信时,通信双方必须知道对方的标识,好比送快递必须知道对方的地址。互联网上的每个计算机唯一标识就是IP地址。IP地址实际上是一个32位整数以字符串表示的IP地址,把32位整数按8位分组后的数字表示,便于阅读。

②IP地址的作用

IP地址的作用是标识网络中唯一一台设备,也就是说通过IP地址能够找到网络中的某台设备。

4.子网掩码

①子网掩码的介绍

子网掩码又叫做网络掩码、地址掩码,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机位的掩码。

子网掩码不能单独存在着,它必须和IP地址一起使用。子网掩码就只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。

子网掩码是一个32位整数,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。

②子网掩码的表示方法

(1)点分十进制表示法

二进制转换成十进制,每8位用点号分隔开。

(2)CIDR斜线记法

格式:IP地址/n

③子网掩码的分类

(1)缺省子网掩码:也叫做默认的子网掩码,即未划分子网,对应的网络号的位置都为1,主机号都为0

未作子网划分的IP地址格式:网络号+主机号

A类缺省子网掩码:255.0.0.0 CIDR表示为/8

B类缺省子网掩码:255.255.0.0 CIDR表示为/16

C类缺省子网掩码:255.255.255.0 CIDR表示为/24

(2)自定义子网掩码:将一个网络划分为子网后,把原本的主机号的位置的一部分给了子网号,剩余的才是给了子网的主机号。形式如下:

网络号+子网号+子网主机号

例如:192.168.1.100/25,子网掩码表示为 255.255.255.128

④子网掩码和IP地址的关系

子网掩码是用来判断任意两台主机的IP地址是否属于同一网络的依据,就是拿双方主机的IP地址和自己主机的子网掩码进行运算,如果在同一网络就可以直接通信。

5.域名

①域名介绍

因为直接记忆IP地址非常困难,所以我们通常使用域名访问某个特定的服务。域名解析服务器DNS负责把域名翻译成对应的IP地址,客户端再根据IP地址访问服务器。

②用域名取得主机的IP地址

域名是为了便于记忆,用来代替IP地址访问网络的方法。在使用域名访问网络的时候,需要将这个域名转换成相应的IP地址,用域名返回地址的函数是gethostbyname。函数的使用方法如下:

sruct hostent *gethostbyname(const char *name)

6.Socket

①介绍

在网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的其中一端称为一个Socket(套字节),用于描述IP地址和端口。

建立网络通信连接至少要一对端口号,Socket的本质是编程接口(API),对TCP/IP的封装,提供了网络通信能力。

每种服务都打开一个Socket,并且绑定到端口上面,不同的端口对应不同的服务,例如HTTP对应80端口。

②socket()函数

Python中,我们采用socket()函数来创建套字节,其语法格式如下:

socket.socket([family[,type[,proto]]])

7.UDP协议

相对于TCP协议,UDP协议是面向无连接的协议。使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就可以直接发送数据包。但是,无法保证数据包一定被送达。虽然UDP传输数据不可靠,但是它的优势是比TCP协议速度快。对于不要求可靠到达的数据,就可以用UDP协议。

8.Python第三方库

python第三方库是采用额外的安装方式来提供更广泛的Python计算生态,由不同行业的开发者进行维护。第三方库的领域有数据分析、文本处理、机器学习、游戏开发等等。

①requests库

requests库是一个建立在Python语言的urlib3库基础上,简洁而简单的处理HTTP请求的第三方库,其最大的优点是程序编写过程更加接近URL访问过程。requests库支持非常丰富的连接访问功能,包括国际域名和URL获取、HTTP长连接和自动解压缩、自动解码等。

②pandas库

numpy是Python的一种开源数值计算扩展第三方库,用于处理数据库类型相同的多维数组。而pandas是基于numpy扩展的一个重要第三方库,用来解决数据分析任务而创建的,为时间序列分析提供了很好的支持。pandas提供一维数组类型Series和二维数组类型DataFrame。更多介绍请访问:http://pandas.pydata.org/。

标签:协议,子网,Python,主机,编程,网络,TCP,IP地址,子网掩码
From: https://blog.csdn.net/2401_86008949/article/details/140976452

相关文章

  • 猫头虎分享 Python 知识点:pandas--info()函数用法
    ......
  • 计算机毕业设计必看必学!! 87229 基于ssm珠宝店信息管理系统,原创定制程序, java、PHP
    摘要近年来,随着移动互联网的快速发展,电子商务越来越受到网民们的欢迎,电子商务对国家经济的发展也起着越来越重要的作用。简单的流程、便捷可靠的支付方式、快捷畅通的物流快递、安全的信息保护都使得电子商务越来越赢得网民们的青睐。现今,大量的计算机技术应用于商业领域,......
  • 网络视听节目信息管理系统备案如何办理?
    目前,网络视听节目备案系统已经全面启用,但仍有不少公司负责人在问,“怎么获取新备案系统的用户名和密码?应该找谁?”“新备案系统究竟怎么操作?”“要不要审核成片?”下面,众森企服小编来给你大家好好聊聊网络视听平台信息管理系统备案如何办理?一、网络视听平台信息管理系统备案需......
  • 计算机毕业设计必看必学! ! 79197 基于ssm+mysql的学生心理健康在线咨询平台,原创定制
    摘要:在社会快速发展的影响下,教育业继续发展,大大增加了学生心理健康在线咨询平台的数量、多样性、质量等等的要求,使学生心理健康在线咨询平台的管理和运营比过去十年更加困难。依照这一现实为基础,设计一个快捷而又方便的学生心理健康在线咨询平台是一项十分重要并且有价值的事......
  • Python中有 spawn、fork、forkserver 三种创建子进程的模式
    spawn可以绕开GIL限制frok后重新启动python解释器避免共享父进程不安全的资源出现竞争的条件主动传入进程对象run方法所需的资源,子进程会拷贝一份传递进来的资源速度比fork或者forkserver模式慢1.创建新进程:spawn命令允许在当前进程的环境中创建一个新进程。这个......
  • 【数值计算方法】线性方程组迭代算法的Python实现
    线性方程组迭代算法的Python实现jacobi迭代法defJacobiIter(A:np.ndarray,b:np.ndarray,tol:float=1e-5,maxIter:int=100)->Tuple[np.ndarray,np.ndarray]:"""使用Jacobi迭代法求解线性方程组Ax=binput:......
  • Python从0到100(四十九):数据库设计及Django ORM使用
    前言:零基础学Python:Python从0到100最新最全教程。想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Python爬虫、Web开发、计算机视觉、机器学习、神经网络以及人工智能相关知......
  • Python从0到100(五十):深入理解Django ORM与事务处理
    前言:零基础学Python:Python从0到100最新最全教程。想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Python爬虫、Web开发、计算机视觉、机器学习、神经网络以及人工智能相关知......
  • 神经网络之卷积篇:详解边缘检测示例(Edge detection example)
    详解边缘检测示例卷积运算是卷积神经网络最基本的组成部分,使用边缘检测作为入门样例。在这个博客中,会看到卷积是如何进行运算的。在之前的博客中,说过神经网络的前几层是如何检测边缘的,然后,后面的层有可能检测到物体的部分区域,更靠后的一些层可能检测到完整的物体,这个例子中就是......
  • python 实现FFT快速傅立叶变换算法
    FFT快速傅里叶变换介绍FFT(快速傅里叶变换)是计算离散傅里叶变换(DFT)及其逆变换的一种高效算法。DFT是一种将信号从时域转换到频域的数学工具,而FFT通过减少计算量来加速这一过程。FFT的基本思想FFT利用了DFT中的对称性和周期性,通过分而治之的策略将DFT分解为更小的DFT,从而显......