云计算百科
云计算领域专业知识百科平台

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

一、什么是服务器?

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

服务器的两大职能

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

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

    • 依靠“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(微信)”为例:

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

  • 七、常见网络协议举例

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

    八、总结

    • 服务器:为网络提供服务和管理的计算机。
    • IP+端口:唯一定位到网络中的某个服务。
    • 网络协议:通信的规则和标准,保证不同设备能互通。
    • 分层架构:每层协议各司其职,互相依赖,保证网络通信的高效和可靠。
    • 协议依赖链:上层协议依赖下层协议,下层协议为上层协议服务。
    赞(0)
    未经允许不得转载:网硕互联帮助中心 » python 网络编程认知==服务器、IP与端口、网络协议、网络架构、协议分层与依赖关系
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!