大二下 互联网计算笔记 lesson2:应用层 20250304
1.应用层架构模式
客户端-服务器(Client-Server)
客户端(client)
可能有动态 IP 地址
按需启动
主动发起请求
例如:浏览器、邮件客户端
服务器(server):
固定 IP 地址
持续运行(作为守护进程 daemon 运行)
响应请求
例如:Web 服务器、邮件服务器
对等网络(Peer-to-Peer, P2P)
无中心服务器,节点兼具客户端和服务器功能
特性:自扩展性、节点动态变化(如 BitTorrent、Skype)
其中,自扩展性是指 P2P 网络能够根据网络中用户节点的需求和网络规模的变化自动进行扩展。例如,在 BitTorrent 下载网络中,当越来越多的用户下载同一文件时,网络的节点数量会自然增加。每一个新增的用户(节点)既可以获取文件数据,也可以成为其他用户获取数据的来源。这种扩展不需要像传统客户 - 服务器模式一样,需要预先规划服务器的容量或者额外的人为干预来增加服务器的数量。
例如,假设有一部热门电影通过 P2P 网络进行分享,最初可能是 10 个用户(节点)拥有电影的不同数据块。当另外 20 个用户想要下载这部电影时,这些新用户不仅从现有的 10 个节点获取数据,而且他们下载完成后,也会继续上传电影数据块。这样整个网络的节点数增加到 30 个,网络的容量和提供数据的能力也随着节点的增加而自然扩展,用户可以更快地获取数据。这种扩展是自动的,网络系统的性能会随着用户的增多而提升。
而节点动态变化是指在 P2P 网络中,节点可以自由地加入和离开网络,而且这个过程是随时发生的。例如BitTorrent 中的用户,他们可以在下载完成后退出网络,也可以在下载的同时继续提供数据作为种子用户。节点的动态变化并不会对整个网络的运行造成太大的影响。
比如,在 Skype 这个基于 P2P 技术的即时通信软件中,用户作为节点在网络中的状态随时可能改变。当一个用户因为网络故障离线时,该节点暂时消失,网络中的其他节点可以通过重新建立连接的方式继续通信。而当新的用户安装运行 Skype 软件时,他们就能加入到网络中成为新的节点,这些新节点可以和其他节点进行语音通话、视频聊天等通信操作。这种动态变化使得网络具有很强的灵活性和适应性。
混合模式示例:Skype 使用中心服务器进行地址发现,通信时建立直接连接
一些术语
进程(process):运行在主机上的程序。
在同一主机内,两个进程间使用进程间通信(Inter-Process Communication, IPC)机制,由操作系统提供。
在不同主机间,两个进程间使用应用层协议(App-layer protocol)进行通信。
用户代理(user agent):一个位于应用程序「上方」和网络「下方」的接口。其实现了用户界面和应用层协议。Web 上的用户代理是浏览器,电子邮件中的用户代理是邮件客户端。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~