【Python基础入门知识】网络编程三要素有哪些?
老男孩IT教育
常见问题
2021年10月14日 17:49
什么是网络编程?网络编程指使用编程语言实现多台计算机的通信,具有三大要素,其中包括IP地址、端口、协议,接下来我们看看具体的内容介绍。
什么是网络编程?网络编程指使用编程语言实现多台计算机的通信,具有三大要素,其中包括IP地址、端口、协议,接下来我们看看具体的内容介绍。
网络编程三要素有哪些?
(1)IP地址:网络中每一台计算机的唯一标识,通过IP地址找到指定的计算机。
(2)端口:用于标识进程的逻辑地址,通过端口找到指定进程。
(3)协议:定义通信规则,符合协议则可以通信,不符合不能通信。一般有TCP协议和UDP协议。
以下是详细的内容介绍:
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协议规定了如何找到目标计算机,那么各个开发商在开发自己的软件时就必须遵守该协议,不能另起炉灶。
所谓协议族(Protocol Family),就是一组协议(多个协议)的统称。最常用的是TCP/IP协议族,它包含了TCP、IP、UDP、Telnet、FTP、SMTP等上百个互为关联的协议,由于TCP、IP是两种常用的底层协议,所以把它们统称为TCP/IP协议族。
老男孩教育Python课程,10余年技术沉淀,紧跟技术潮流,10大阶段从入门到专业层层进阶,无论你是否有IT基础,均可轻松学会,成就高薪职业!
推荐阅读:
Python列表类型list合并有哪些方法?Python培训机构