python网络编程三要素有哪些?
什么是网络编程?网络编程指使用编程语言实现多台计算机的通信,具有三大要素,其中包括IP地址、端口、协议,接下来我们看看具体的内容介绍。
一、IP地址
计算机分布在世界各地,要想和它们通信,必须要知道确切的位置。确定计算机位置的方式有多种,IP地址是最常用的,例如,114.114.114.114是国内第一个、全球第三个开放的DNS服务地址,127.0.0.1是本机地址。
其实,我们的计算机并不知道IP地址对应的地理位置,当要通信时,只是将IP地址封装到要发送的数据包中,交给路由器去处理。路由器有非常智能和高效的算法,很快就会找到目标计算机,并将数据包传递给它,完成一次单向通信。
目前大部分软件使用IPv4地址,但IPv6也正在被人们接受,尤其是在教育网中,已经大量使用。
二、端口
有了IP地址,虽然可以找到目标计算机,但仍然不能进行通信。一台计算机可以同时提供多种网络服务,例如Web服务、FTP服务、SMTP服务等,仅有IP地址,计算机虽然可以正确接收到数据包,但是却不知道要将数据包交给哪个网络程序来处理,所以通信失败。
为了区分不同的网络程序,计算机会为每个网络程序分配一个独一无二的端口号,例如,Web服务的端口号是80,FTP服务的端口号是21,SMTP服务的端口号是25。
端口(Port)是一个虚拟的、逻辑上的概念。可以将端口理解为一道门,数据通过这道门流入流出,每道门有不同的编号,就是端口号。
三、协议
协议(Protocol)就是网络通信的约定,通信的双方必须都遵守才能正常收发数据。协议有很多种,例如TCP、UDP、IP等,通信的双方必须使用同一协议才能通信。协议是一种规范,由计算机组织制定,规定了很多细节,例如,如何建立连接,如何相互识别等。
协议仅仅是一种规范,必须由计算机软件来实现。例如IP协议规定了如何找到目标计算机,那么各个开发商在开发自己的软件时就必须遵守该协议,不能另起炉灶。
所谓协议族(ProtocolFamily),就是一组协议(多个协议)的统称。最常用的是TCP/IP协议族,它包含了TCP、IP、UDP、Telnet、FTP、SMTP等上百个互为关联的协议,由于TCP、IP是两种常用的底层协议,所以把它们统称为TCP/IP协议族。
相关推荐HOT
更多>>python流式读取大文件的两种方法
python流式读取大文件的两种方法1、使用read方法分块读取使用更底层的file.read()方法,与直接循环迭代文件对象不同,每次调用file.read(chunk_...详情>>
2023-11-14 16:48:08pythongreenlet如何交替运行
pythongreenlet如何交替运行1、greenlet说明greenlet是一个基于Greenlet实现的网络库,它使用greenlet来实现协同程序。其基本思想是,当greenle...详情>>
2023-11-14 14:52:57python收集参数的调用顺序
python收集参数的调用顺序本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。1、说明收集参数,关键字参数,普通参数可以混合使用使用...详情>>
2023-11-14 13:23:09python实例属性的优先级分析
python实例属性的优先级分析1、说明当在实例上给类属性赋值时,实际上是给这个实例绑定了同名的属性而已,并不会影响类属性和其他实例。使用实...详情>>
2023-11-14 10:17:33