(六)计算机网络之应用层 - 计网

本文探讨了网络应用中的C/S和P2P模型,重点讲解了DNS系统的工作原理及文件传输协议FTP、电子邮件系统和万维网。还介绍了HTTP协议和DNS解析过程,展示了如何通过这些技术进行高效通信与文件共享。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

应用层对应用程序的通信提供服务

功能:

  • 文件传输、访问、管理
  • 电子邮件
  • 虚拟终端
  • 查询服务和远程作业登录

一、网络应用模型

客户/服务器(C/S)模型P2P(对等式)模型
服务器:提供计算服务的设备(面向任务)
  • 永久提供服务
  • 永久性访问地址/域名
  • 不存在永远在线的服务器
  • 每个主机都可提供&请求服务
客户机:请求计算服务的主机(面向用户)
  • 可能使用动态IP地址
  • 客户机之间不能互相通信
  • 间歇性接入网络
  • 任意端系统/节点可直接通信
  • 节点间歇性接入网络

在C/S模型中,服务器性能决定了整个系统的性能。P2P模型中任一计算机可互相通信,具备上传与下载的功能。
优点:

  • 减轻服务器的计算压力,消除对某个服务器的完全依赖,将任务分配到各个结点上,大大提高系统效率与资源利用率。
  • 多个客户机之间直接共享文档
  • 网络健壮性强,单个结点失效不会影响其他部分的结点

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


二、域名解析系统DNS

网络层是通过IP地址寻找,但人记不住IP地址,通过域名访问,而DNS服务器实现域名转换成IP地址
DNS系统采用C/S模型,其协议运行在UDP上,使用53号端口

2.1 层次域名空间

因特网采用层次树状结构的命名方法,任何一个连接到因特网的主机/路由器,都有唯一的层次结构名称,即域名。

域名 www.pku.edu.cn.

  • 根 :最后一个 .
  • 顶级域名 : (cn
    • 国家顶级域名 : cn , us , uk
    • 通用顶级域名 : com , net , org , gov
    • 基础结构域名/反向域名 : arpa
  • 二级域名 : (edu)
    • 类别域名: ac , com , edu
    • 行政区域名 :用于我国各省、自治区、直辖市
  • 三级域名、四级域名…… pkuwww
2.2 域名服务器

因特网的域名系统被设计为一个联机分布式的数据库系统,并采用C/S模型域名 -> IP地址的解析由运行在域名服务器上的程序完成,但一个服务器只管辖一个区,保存区中所有主机域名到IP地址的映射,还有连向其他域名服务器的信息(无法完成转换时,找其他域名服务器)

DNS服务器分类

  • 本地域名服务器:当主机发出DNS查询请求时,发送查询请求报文给该主机的本地域名服务器
  • 根域名服务器:所有根域名服务器都知道所有顶级域名服务器的IP地址
  • 顶级域名服务器:管理本服务器下注册的所有二级域名
  • 权限域名服务器:负责一个区的域名服务器
2.3 域名解析过程

域名解析指将域名映射成IP地址(正向解析)或把IP地址映射成域名(反向解析)的过程
当客户机需要解析域名时,通过本机的DNS客户端构造DNS请求报文,UDP数据报的方式发给本地域名服务器

  1. 递归查询 (由于给根域名服务器造成的负载过大,实际中几乎不适用)
    本地域名服务器以DNS客户的身份,向根域名服务器继续发出查询请求报文,替该主机继续查询,依次递归到后面的服务器,得到IP地址后逐级返回。

  2. 递归与迭代结合的查询
    主机向本地域名服务器的查询使用递归
    本地域名服务器向根域名服务器的查询使用迭代

  • 1.客户机向本地服务器发出DNS请求报文
  • 2.本地域名服务器收到请求后,查询本地缓存,若无记录,则向根域名服务器发出解析请求
  • 3.根域名服务器的处理与2类似,只是找到了对应的顶级域名服务器IP后不自己找,而是返回给本地域名服务器让其继续依次找
    ……
  • 8.本地域名服务器将结果保存到本地缓存,同时返回给客户机

高速缓存:在DNS服务器的高速缓存中保存最近接收的DNS查询结果,当另一相同的域名查询到达时,可直接提供该IP地址
好处:提高DNS的查询效率,减少因特网上的DNS查询报文数量


三、文件传输协议(FTP)

  • 文件传送协议 FTP
    • FTP是因特网上使用最广泛的文件传输协议,提供交互式的访问,允许客户指明文件的类型与格式,允许文件有存取权限
    • 采用C/S的工作方式(用户通过客户机程序连接至远程计算机上运行的服务器程序),使用TCP实现可靠传输

    一个FTP服务器进程可同时为多个客户进程提供服务,有两部分组成:主进程(负责接收新的请求),从属进程(处理单个请求)

    从属进程的工作步骤
    1. 打开21号控制端口,使客户进程能连接上
    2. 等待客户进程发连接请求
    3. 启动从属进程处理客户进程发出的请求(与主进程并发执行,处理完请求后就终止)
    4. 回到等待状态,继续接收其他客户进程的请求
  • 简单文件传送协议 TFTP

  • 四、电子邮件

    电子邮件的信息格式

    • 信封
    • 内容
      • 首部 From:邮件地址To:邮件地址Subject:……
      • 主体

    电子邮件地址的规定格式:收件人邮箱名@邮箱所在主机域名:保证该邮箱地址在整个因特网上唯一


    4.1 电子邮件系统

    三个组成构件
    1. 用户代理(UA):用户与电子邮件系统的接口,通常是一个运行在PC上的程序
    2. 邮件服务器:组成电子邮件系统的核心,功能是接收与发送邮件,向发信人报告传送情况。采用客户机/服务器方式工作,但它能同时充任客户机与服务器
    3. 邮件发送协议与读取协议:发送时SMTP客户端主动将邮件推到SMTP服务器端;POP3通信方式:用户读取邮件时,用户代理向邮件服务器发出请求,拉取邮件

    在这里插入图片描述


    4.1 SMTP(简单邮件传送协议)与POP3

  • 简单邮件传送协议SMTP
  • SMTP建立在TCP连接、端口号25、C/S基础上,规定两个相互通信的SMTP进程之间如何交换信息(SMTP客户机与SMTP服务器之间)

    SMTP通信阶段

    1. 连接建立
      • 发送方邮件送到服务器的邮件缓存中,SMTP客户端每隔一段时间扫描缓存。
      • 若发现邮件,则使用25号端口与接收方的SMTP服务器建立TCP连接
      • TCP建立后,接收方SMTP发出"220 service ready",然后SMTP客户机发送"HELLO"命令,并附上发送方主机名
    2. 邮件传送
      • MAIL命令+收件人地址:若服务器准备好接收,则回答250 OK
      • RCPT命令+ 发送收件人地址:每发送一个RCPT命令,服务器返回相应信息(250 OK / 550 No such user)
        RCPT作用:弄清接收方系统是否做好接收邮件的准备,以便不至于发送很长邮件后发现地址错误而浪费通信资源
      • DATA命令开始传输内容
    3. 连接释放:客户发送QUIT命令,服务器返回221(服务器关闭,表明同意释放TCP连接)
      在这里插入图片描述
    • SMTP的缺点:不能传送可执行文件或其他二进制对象,仅限7位ASCII码,不能传送非英语文字,拒绝过长的邮件

    • 通用因特网邮件扩充 MIME:使电子邮件系统可支持声音、图像、视频、多种语言,使传输内容丰富多彩

  • 邮局协议POP3
  • POP采用C/S工作方式,在传输层使用TCP连接、端口号110

    POP的两种工作方式

    • 下载并保存:用户从邮件服务器读取后,依然保存在邮件服务器,可再次读取
    • 下载并删除:一旦被用户读取就从邮件服务器删除,不能再次读取
  • 网际报文存取协议IMAP
  • 基于万维网的电子邮件 HTTP+SMTP+HTTP

  • 五、万维网和HTTP协议

    5.1 WWW的概念

    万维网(World Wide Web)是一个资料空间,无数网络站点和网页的集合
    内核构成:

    • 1.统一资源定位符URL (唯一标识 资源)
      一般形式:<协议>://<主机> : <端口>/<路径>

    • 2.超文本传输协议HTTP 用户通过点击超链接获取资源,这些资源通过传送给使用者

    • 3.超文本标记语言HTML显示页面

    万维网以C/S方式工作,客户程序是用户计算机的浏览器,服务器程序在万维网文档驻留的计算机上运行。
    通信流程:

    • 1.Web用户使用浏览器指定URL与Web服务器建立连接,并发送浏览器请求
    • 2.Web服务器将URL转换成文件路径,并返回信息给Web浏览器
    • 3.通信完成,关闭连接

    5.2 超文本传输协议HTTP

    定义浏览器如何请求万维网文档,以及服务器如何将文档传输给浏览器

    过程:

    • 1.浏览器分析URL
    • 2.浏览器向DNS请求解析IP地址
    • 3.DNS解析出IP地址
    • 4.浏览器与该服务器建立TCP连接(默认端口号为80)
    • 5.浏览器发出HTTP请求
    • 6.服务器通过HTTP响应把文件发给浏览器
    • 7.TCP连接释放
    • 8.浏览器解释HTML文件,并显示给用户

    HTTP协议是无状态的,但是实际工作中,网站希望能通过Cookie识别用户,提供个性化服务

    cookie是存储在用户主机中的文本文件,记录一段时间内某用户的访问记录

    HTTP协议采用TCP作为运输层协议,但HTTP本身是无连接的(通信双方在交换HTTP报文之间不需要先建立HTTP连接)

    • 非持久连接
    • 持久连接

    HTTP的报文结构
    请求报文 : 方法 URL 版本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值