【计算机网络概述】第二章:应用层:2.1 应用层原理

简介: 【计算机网络概述】第二章:应用层:2.1 应用层原理

学习目标:

客户端/服务器模式

peer to peer 模式(对等模式)

前言

      在第一章的内容中,我们学习了计算机网络的大体轮廓,因为在计算机网络中,我们需要记住非常多的专有名词,所以在第一章中,我们需要进行非常多的记忆。第一章还是非常重要的。

一、一些网络应用的例子

      比如,我们所使用的E-mail,Web服务器,文本信息,远程登陆,P2P文件共享(基于P2P模式下),即时通信,多用户网络游戏,流媒体的应用(YouTobe,Hulu,Netfix),Internet电话,实时电视通信,社交网络,搜索功能等一些例子。

二、如何部署网络应用

2.1 编程

  • 在不同的端系统中应用;
  • 通过网络基础设施进行服务,应用进程之间彼此通信;
  • 比如说是:Web,我们需要进行客户端与服务器之间的通信,Web软件与服务器软件进行通信。

2.2 网络核心中没有应用层软件

  • 网络核心中没有应用层功能
  • 网络应用只在端系统中存在,快速网络开发和应用。

三、网络应用模型

3.1 客户端/服务器模式

      在客户端/服务器模式下,有一个总是打开的主机称为服务器,它服务于许多来自其他称为客户机的主机请求。

3.1.1  客户端/服务器模式的功能流程:

  1. 服务器处于接受请求的状态;
  2. 客户端发出服务请求,并等待处理结果;
  3. 服务器在收到请求后,分析请求,进行必要的处理,得到结果并发送给客户机。

3.1.2 客户端与服务器的地位对等吗

      答案是不对等的,因为在进行对话中,客户端程序必须知道服务器程序的地址,客户机上一般不需要特殊的硬件和复杂的操作系统。而在服务器中运行的软件则是专门进行提供某种服务的程序,可同时处理多个进程或本地客户的要求,被动地等待并接收各地客户的请求。因此,服务器程序不需要知道客户程序的地址。

3.1.3 客户/服务器模型的主要特点

  • 网络中各个计算机的地位是不平等的,整个网络的管理系统由少数服务器担当,因此网络中的管理非常集中和方便;
  • 客户机相互之间不能直接通信;
  • 可扩展性不高。
  • 固定的IP地址(也可能是不固定的)和众所周知的端口号(约定)

3.2 P2P模式

3.2.1 为什么会有P2P模式?

      不难看出,在C/S模式中,服务器的性能好坏决定了整个系统的性能,当大量用户请求服务时,服务器就必然成为系统的瓶颈。P2P模式的思想是整个网络中的传输内容不再被保存在中心服务器上,每一个节点都同时具有下载、上传的功能,其权利和义务都是大体对等的。

3.2.2 P2P模式的优点

  • 减轻了服务器的计算压力,消除了对某个服务器的完全依赖,可以将任务分配到各个节点上,大大提高了系统效率和资源利用率。
  • 多个客户机之间可以直接共享文档。
  • 可扩展性好,传统服务器有响应和带宽的限制,因此只接受一定数量的请求。
  • 网络健壮性强,单个节点失效不会影响其他部分的节点。

3.2.3 P2P模型的缺点

      在获取服务的同时,还要给其他节点提供服务,因此会占用较多的内存,影响整机的速度。

3.3 易错知识点

      在未建立前,服务器在某一个端口上监听。客户端是连接的请求方,客户端必须事先知道服务器的地址才能发出连接请求,而服务器则从客户端发来的数据包中获取客户端的地址。一旦连接建立,服务器就能响应客户端请求的内容,服务器也能主动发送数据给客户端,用于消息的通知,比如一些错误的消息。

      客户机的作用是根据用户需求向服务器发出服务请求,并将服务器返回的结果呈现给客户,因此客户机是面向用户的,服务器是面向任务的

3.4 C/S和P2P体系结构的混合体

我们来举一些例子:

即时通信

在线检测:集中C/S模式

  • 当用户上线时,向中心服务器注册其IP地址,用户与中心服务器联系,以找到其在线好友的位置。

两个用户之间聊天:P2P模式

Napster

文件搜索:集中

  • 主机在中心服务器上注册其资源
  • 主机向中心服务器查询资源位置

文件传输:P2P

  • 任意peer结点之间

3.5 进程通信

进程:在主机上运行的应用程序

客户端进程:发起通信的进程

服务器进程:等待连接的进程

进程中通信可以分为两种在同一主机内通信在不同主机内通信

  1. 在同一主机内,使用进程间通信机制通信(操作系统定义)
  2. 不同主机,通过交换报文来通信:使用OS提供的通信服务;按照应用协议交换报文,借助传输层提供的服务。

注意:不管是C/S模式,还是P2P模式,其架构的应用都有客户端进程和服务器进程之分。

3.6 分布式进程通信应该解决的问题

3.6.1 进程标识和寻址问题

进程为了接收报文,必须要有一个标识,即:SAP(发送也需要标识)

  • 主机:唯一的32位IP地址,但是仅有一个IP地址无法唯一地标识一个进程,在一台端系统上有很多应用进程在进行。
  • 所采用的传输层协议:TCP 和 UDP
  • 端口号                                                                                                                                    

一些知名的端口号有:HTTP:tcp80,FTP:tcp21,SMTP:tcp25,POP:tcp110

之前说,一个进程无法只通过一个IP地址进行标识,所以要通过IP+port(端口)来进行标识。

本质上,一对主机之间的通信要有两个端结点构成。

3.6.2 传输层提供的服务-需要穿过层间的信息

层间接口需要携带的信息:

  • 要传输的报文(对于本层来说:SDU)
  • 谁传的:对方的应用进程的标示:IP+TCP(UDP) 端口
  • 传给谁:对方的应用进程的标示:对方的IP+TCP(UDP)端口号

传输层实体根据这些信息进行数据报的封装,但是在封装过程中,会不会觉得很麻烦呢?是的,比较麻烦。

3.6.3 如何使用传输层提供的服务实现应用

  1. 定义应用层协议:报文格式,解释,时序等;
  2. 编写程序,通过API调用网络应用设施提供通信服务传报文,解析报文,实现应用时序等。

3.7 Socket

      为了解决上述的问题,并且每一次传输,都携带如此多的信息,太繁琐易错,不便于管理,所以我们可以采用一个编号来表示通信的双方或者单方。

3.7.1 TCP的Socket

TCP的Socket是一个四元组,包括:源IP,源port,目标IP,目标port

3.7.2 UDP的Socket

UDP的Socket是一个二元组,包括:本IP,本port

相关文章
|
24天前
|
网络协议 安全 5G
网络与通信原理
【10月更文挑战第14天】网络与通信原理涉及众多方面的知识,从信号处理到网络协议,从有线通信到无线通信,从差错控制到通信安全等。深入理解这些原理对于设计、构建和维护各种通信系统至关重要。随着技术的不断发展,网络与通信原理也在不断演进和完善,为我们的生活和工作带来了更多的便利和创新。
61 3
|
6天前
|
运维 物联网 网络虚拟化
网络功能虚拟化(NFV):定义、原理及应用前景
网络功能虚拟化(NFV):定义、原理及应用前景
21 3
|
17天前
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
|
28天前
|
机器学习/深度学习 人工智能 监控
深入理解深度学习中的卷积神经网络(CNN):从原理到实践
【10月更文挑战第14天】深入理解深度学习中的卷积神经网络(CNN):从原理到实践
81 1
|
30天前
|
网络协议 Linux 应用服务中间件
Socket通信之网络协议基本原理
【10月更文挑战第10天】网络协议定义了机器间通信的标准格式,确保信息准确无损地传输。主要分为两种模型:OSI七层模型与TCP/IP模型。
|
1月前
|
存储 安全 算法
网络安全与信息安全:构建数字世界的防线在数字化浪潮席卷全球的今天,网络安全与信息安全已成为维系现代社会正常运转的关键支柱。本文旨在深入探讨网络安全漏洞的成因与影响,剖析加密技术的原理与应用,并强调提升公众安全意识的重要性。通过这些综合性的知识分享,我们期望为读者提供一个全面而深刻的网络安全视角,助力个人与企业在数字时代中稳健前行。
本文聚焦网络安全与信息安全领域,详细阐述了网络安全漏洞的潜在威胁、加密技术的强大防护作用以及安全意识培养的紧迫性。通过对真实案例的分析,文章揭示了网络攻击的多样性和复杂性,强调了构建全方位、多层次防御体系的必要性。同时,结合当前技术发展趋势,展望了未来网络安全领域的新挑战与新机遇,呼吁社会各界共同努力,共筑数字世界的安全防线。
|
1月前
|
域名解析 网络协议 前端开发
【第四期】网络层、传输层、应用层
【第四期】网络层、传输层、应用层
25 3
|
1月前
|
存储 安全 自动驾驶
探索未来网络:量子互联网的原理与应用
【10月更文挑战第2天】 本文旨在探讨量子互联网的基本原理、技术实现及其在通讯领域的革命性应用前景。量子互联网利用量子力学原理,如量子叠加和量子纠缠,来传输信息,有望大幅提升通信的安全性和速度。通过详细阐述量子密钥分发(QKD)、量子纠缠交换和量子中继等关键技术,本文揭示了量子互联网对未来信息社会的潜在影响。
|
17天前
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9-2):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
|
1月前
|
XML JSON 网络协议
【网络】TCP/IP五层网络模型:应用层
【网络】TCP/IP五层网络模型:应用层
21 1