计算机网络-应用层详解(持续更新中)

news2024/12/25 9:57:31

应用层概述

应用层是解决通过应用进程的交互来实现特定网络应用的问题。

应用层是计算机网络体系结构的最顶层,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分。

  • 早期基于文本的应用(电子邮件、远程登录、文件传输、新闻组)
  • 20世纪90年代将因特网带入千家万户的万维网WWW
  • 当今流行的即时通信、P2P文件共享及各种音视频应用
  • 计算设备的小型化和“无处不在‘,宽带住宅接入和无线接入的日益普及和迅速发展,为未来更多的新型应用提供了广阔的舞台。

在本章中,我们以一些经典的网络应用为例来学习有关网络应用的原理、协议和实现方面的知识。

客户-服务器和对等关系

网络应用程序运行在处于网络边缘的不同的端系统上,通过彼此间的通信来共同完成某项任务。

开发一种新的网络应用首先要考虑的问题就是网络应用程序在各种端系统上的组织方式和它们之间的关系。目前流行的主要有以下两种:

  • 客户/服务器(Client/Server,C/S)方式
  • 对等(Peer-to-Peer,P2P)方式

客户/服务器方式

客户/服务器方式

  • 客户和服务器是指通信中所涉及的两个应用进程。
  • 客户/服务器方式所描述的是进程之间服务和被服务的关系。
  • 客户是服务请求方,服务器是服务提供方。
  • 服务器总是处于运行状态,并等待客户的服务请求。服务器具有固定端口号(例如HTTP服务器的默认端口为80),而运行服务器的主机也具有固定的IP地址。

C/S方式是因特网上传统的、同时也是更成熟的方式,很多我们熟悉的网络应用采用的都是C/S方式。

基于C/S方式的应用服务通常是服务集中型的,即应用服务集中在网络中比客户计算机少得多的服务计算机上。

  • 由于一台服务器计算机要为多个客户机提供服务,在C/S应用种,常会出现服务器计算机跟不上众多客户机请求的情况
  • 为此,在C/S应用中,常用计算机群集(或服务器场)构建一个强大的虚拟服务器

对等方式

在P2P方式中,没有固定的服务请求者和服务提供者,分布在网络边缘各端系统中的应用进程是对等的,被称为对等方对等方相互之间直接通信,每个对等方既是服务的请求者,又是服务的提供者。

目前,在因特网上流行的P2P应用主要包括P2P文件共享、即时通信、P2P流媒体、分布式存储等。

基于P2P的应用是服务分散型的,因为服务不是集中在少数几个服务器计算机中,而是分散在大量对等计算机中,这些计算机并不是为服务提供商所有,而是为个人控制的桌面计算机和笔记本电脑,它们通常位于住宅、校园和办公室中。

​​​​​​​

P2P方式的最突出特性之一就是它的可扩展性。因为系统每增加一个对等方,不仅增加的是服务的请求着,同时也增加了服务的提供者,系统性能不会因规模的增大而降低

P2P方式具有成本上的优势,因为它通常不需要庞大的服务器设施和服务器带宽。为了降低成本,服务提供商对于将P2P方式用于应用的兴趣越来越大。

动态主机配置协议DHCP

动态主机配置协议DHCP提供了一种机制,称为即插即用连网。则会中机制允许一台计算机加入新网络时可自动获取IP地址等网络配置信息而不用手工参与

DHCP的作用

 DHCP的工作过程

DHCP主要使用DHCP来实现其功能:

  • DHCP DISVCOVER:DHCP发现报文
  • DHCP OFFER:DHCP提供报文
  • DHCP REQUEST:DHCP请求报文
  • DHCP ACK:DHCP确认报文
  • DHCP NACK:DHCP否认报文
  • DHCP RELEASE:DHCP释放报文

DHCP报文在运输层使用UDP协议封装

  • DHCP客户使用的UDP端口号为68
  • DHCP服务器使用的UDP端口为67

DHCP在未获取到IP地址时使用地址0.0.0.0

 DHCP中继代理

在每一个网路都设置一个DHCP服务器会使DHCP服务器的数量太多。因此现在是使每一个网络至少有一个DHCP中继代理(通常是一台路由器),它配置了DHCP服务器的IP地址信息,作为各网络中计算机与DHCP服务器的桥梁。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/63989.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

百度联合行业头部企业新发5个行业大模型,大模型产业落地路径愈发清晰

本文已在【飞桨PaddlePaddle】公众号平台发布,详情请戳链接:百度联合行业头部企业新发5个行业大模型,大模型产业落地路径愈发清晰 11月30日,由深度学习技术与应用国家工程研究中心主办、飞桨承办的WAVE SUMMIT2022深度学习开发者…

WLAN AP安全策略中WPA认证与WPA2认证的差异

一、安全策略WPA认证(PSK认证TKIP加密)的案例 组网需求: 设备作为FAT AP,为用户提供WLAN服务,用户可以搜索到名为huawei的无线网络,采用的安全策略为WPA-PSK认证TKIP加密的方式。 组网图如下:…

3 内存访问

内存访问 1 字的存储 寄存器中:16位寄存器存一个字。高8位放高位字节,低8位当低位字节。 内存中:内存单元是字节单元,一个字要用2个连续的内存单元保存。低位字节保存在低地址内存单元,高位字节保存在高地址内存单元…

vmware上的centos8没有网络

目录一、先了解虚拟机的三种网络模式二、目前的网络模式和网络状况三、 解决网络不可用问题一、先了解虚拟机的三种网络模式 虚拟机的三种网络模式 二、目前的网络模式和网络状况 我的虚拟机网络配置 我们要将虚拟机和本机在同一个局域网络里才能入网 进入cmd输入ipconfig…

Java多线程之常用的相关方法总结(线程停止、线程休眠、线程礼让、线程优先级、守护线程等等)

Java多线程之相关常用方法一、线程方法二、线程停止1、思路2、样例三、线程休眠(sleep)1、思路2、样例四、线程礼让(yield)1、思路2、样例五、线程强制执行(join)1、思路2、样例六、观测线程状态1、相关概念…

Mac配置python wind量化接口

首先Mac与Windows的wind配置完全不同: Windows:wind相对容易配置,直接用软件就可以点击并添加配置环境即可Mac配置如下 文章目录Mac上Wind的基本情况Mac配置python Wind量化接口1. 在App Store中下载并打开 “Wind App” 这个应用2. 配置pyt…

带有SPI接口的独立CAN控制器DP2515

DP2515是一款独立控制器局域网络(Controller Area Network, CAN)协议控制器,完全支持 CAN V2.0B 技术规范。该器件能发送和接收标准和扩展数据帧以及远程帧。 DP2515自带的两个验收屏蔽寄存器和六个验收滤波寄存器可以过滤掉不想要…

MySql使用MyCat分库分表(五)MyCat 管理及监控

视频学习地址:17-尚硅谷-垂直分库_哔哩哔哩_bilibili 笔记参考地址:MySQL 分库分表 | xustudyxus Blog (frxcat.fun) MyCat 管理 Mycat默认开通2个端口,可以在server.xml中进行修改。 8066 数据访问端口,即进行 DML 和 DDL 操…

Java搭建宝塔部署实战毕设项目SSM学生学籍管理系统源码

大家好啊,我是测评君,欢迎来到web测评。 本期给大家带来一套Java开发的毕设项目SSM学生学籍管理系统的源码,适合拿来做毕业设计的同学。可以下载来学习一下,本期把这套系统分享给大家。 技术架构 技术框架:ssm layui…

Kafka 数据重复怎么办?(案例)

一、前言 数据重复这个问题其实也是挺正常,全链路都有可能会导致数据重复。 通常,消息消费时候都会设置一定重试次数来避免网络波动造成的影响,同时带来副作用是可能出现消息重复。 整理下消息重复的几个场景: 生产端&#xff1…

Scanner、Random、stirng

API的使用 API : Application Programming Interface [应用程序编程接口] -> 帮助文档,词典 [对JDK的翻译文档][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aWo9KVNQ-1670235353300)(https://cdn.staticaly.com/gh/quinhua/picsmain/markdown/…

RabbitMQ发布确认高级

在生产环境中由于一些不明原因,导致 RabbitMQ 重启,在 RabbitMQ 重启期间生产者消息投递失败,导致消息丢失,需要手动处理和恢复。 在这样比较极端的情况,RabbitMQ 集群不可用的时候,无法投递的消息该如何处…

Chrome安装油猴插件详细教程

Chrome安装油猴插件详细教程 一、油猴安装方法 方法一:Google官方商店安装(推荐,需要科学上网) 方法二:本地安装(无需科学上网,不会科学上网的适用) 二、安装油猴插件 方法一&am…

FineReport数据图表制作-标签控件

1. 概述 1.1 版本 报表服务器版本 功能变更 11.0 -- 1.2 应用场景 「标签控件」不支持填报应用,只能在参数页面下使用。如下图所示: 注:移动端不识别「标签控件」,识别的是普通控件的「标签名称」属性,所以移动端…

我不说你知道 DotImage SDK之DotViewer 在线文档查看编辑?

关注我 日日新,关注我 一手料,关注我 懂国外,关注我 更新快,关注我 不玩假!!!! 开发团队被请求淹没,并被迫用更少的资源做更多的事情。DotViewer 旨在帮助解决这一挑战&…

sequencer和sequence

●了解了sequencer与driver之间传递sequence item的握手过程,同时也掌握了sequence与item之间的关系。 ●接下来需要就sequence挂载到sequencer的常用方法做出总结,大家可以通过对这些常用方法和宏的介绍,了解到它们不同的使用场景。 ●面对多个sequence如果需要同时…

Python学习----静态web服务器

开发静态web服务器 开发步骤: 1、编写一个TCP服务端程序 2、获取浏览器发送的HTTP请求报文数据 3、读取固定页面数据,把页面数据组装HTTP响应报文数据发送给浏览器 4、HTTP响应报文数据发送完成之后,关闭服务于客户端的套接字 import socke…

(Java)Mybatis学习笔记(四)

前言 继续学习自定义映射,今天便是mybatis初步学完的最后一天了,加油,奥里给~ 搭建MyBatis框架 步骤说明 创建表时把email打成了eamil,导致报了下错 1️⃣在mybatis下创建一个module 2️⃣配置pom.xml文件,导入相…

[附源码]计算机毕业设计基于springboot的桌游信息管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

深度解析布谷鸟过滤器(上篇)

深度解析布谷鸟过滤器 0 引言 布隆过滤器(Bloom Filter),诞生于UNIX元年(1970年)的一个老牛逼的过滤器,与时间戳同寿,经久不衰老而弥坚,查重性能至今令人非常满意。美中不足的是有…