python 网络编程认知==服务器、IP与端口、网络协议、网络架构、协议分层与依赖关系

发布于:2025-08-14 ⋅ 阅读:(26) ⋅ 点赞:(0)

一、什么是服务器?

  • 服务器(Server)是指在网络中负责管理和提供服务的计算机
  • 它通常拥有较高的性能和稳定性,全天候运行,为其他计算机(客户端)提供各种服务。

服务器的两大职能

  1. 提供服务
    • 为网络中的计算机和终端提供支撑,如:寻址、验证、记录、数据存储、网页访问等。
  2. 管理
    • 控制网络中其他计算机和终端的行为,如:设置访问权限、分配资源、监控状态等。

二、一个程序如何找到另一个程序?

  • 依靠“IP地址”和“端口”

1. IP地址

  • IP地址(Internet Protocol Address)是分配给网络中每台设备的唯一标识。
  • 作用:定位到某一台具体的计算机
  • 例:192.168.10.200,如同“门牌号”。

2. 端口(Port)

  • 端口是设备或程序与外界通信的“出口”或“入口”。
  • 作用:定位到某台设备上的某个具体程序或服务
  • 端口号范围:0~65535(常用如80是HTTP,3306是MySQL等)。
  • 例:8900,如同“门上的房间号”。

3. 综合定位

  • 只有IP地址+端口号,才能唯一定位到网络中的某个具体服务。
  • 例:192.168.10.200:8900,就像“某小区某栋某单元某房间”。

三、什么是网络协议?为什么要有网络协议?

1. 网络协议定义

  • 网络协议是指在计算机网络中进行数据交换时,所遵循的规则、标准或约定的集合。
  • 例:HTTP、TCP、IP、UDP、DNS、FTP等。

2. 为什么要有网络协议?

  • 没有协议,网络通信就会像没有规则的社会一样混乱,无法互通。
  • 协议规定了数据如何组织、传输、解析,保证了不同设备、不同厂商、不同系统之间可以顺利通信。

四、网络的“架构”与分层

1. 网络架构

  • 网络通信是软件和硬件协同完成的,涉及多个层次和协议。
  • 典型的网络架构采用分层设计,每一层负责不同的功能。

2. 常见协议分层举例

层级 主要协议/举例 作用说明
应用层 HTTP, FTP, SMTP 直接为用户提供服务的软件协议
传输层 TCP, UDP 负责数据的可靠/高效传输
网络层 IP 负责数据包的路由和寻址
链路/硬件层 ARP, 以太网协议等 负责物理传输、硬件寻址
  • 软件层面协议:如HTTP、FTP,定义了应用如何通信。
  • 传输层协议:如TCP、UDP,定义了数据如何可靠或高效地传输。
  • 网络层协议:如IP,定义了数据如何在网络中寻址和路由。
  • 硬件层协议:如ARP,定义了如何通过物理地址(MAC)找到设备。

五、协议的依赖关系与分层思想

  • 上层协议依赖下层协议,下层协议为上层协议提供支撑。

  • 例如:

    • HTTP协议(应用层)依赖于TCP协议(传输层)来保证数据可靠传输。
    • TCP协议依赖于IP协议(网络层)来实现数据包的寻址和路由。
    • IP协议依赖于ARP协议(链路层)来找到目标设备的物理地址。
  • 分层的好处

    • 各层独立,便于开发、维护和升级。
    • 不同厂商、不同系统可以只要遵守协议就能互通。

六、网络通信的实际流程举例

以“计算机A(微信)发送消息到计算机B(微信)”为例:

  1. 应用层(微信/HTTP):用户输入消息,微信客户端准备数据。
  2. 传输层(TCP/UDP):微信客户端将消息打包,选择TCP或UDP协议,分配端口号。
  3. 网络层(IP):为数据包分配目标IP地址,决定如何路由到目标计算机。
  4. 链路层(ARP/以太网):查找目标IP对应的物理地址,准备在局域网中传输。
  5. 物理层:数据通过网线、WiFi等物理介质传输到目标设备。
  6. 目标设备:各层协议依次解析数据,最终由微信客户端接收并显示消息。

七、常见网络协议举例

  • HTTP:网页浏览、API通信
  • FTP:文件传输
  • TCP:可靠数据传输
  • UDP:高效但不保证可靠性(如视频、语音)
  • IP:网络寻址和路由
  • DNS:域名解析
  • DHCP:自动分配IP地址
  • ARP:IP地址与物理地址的映射

八、总结

  • 服务器:为网络提供服务和管理的计算机。
  • IP+端口:唯一定位到网络中的某个服务。
  • 网络协议:通信的规则和标准,保证不同设备能互通。
  • 分层架构:每层协议各司其职,互相依赖,保证网络通信的高效和可靠。
  • 协议依赖链:上层协议依赖下层协议,下层协议为上层协议服务。

网站公告

今日签到

点亮在社区的每一天
去签到