计算机网络应用层不简单

从计算机网络应用的概述入手,介绍万维网的组成和HTTP协议以及DNS域名和域名解析过程

前文推荐
学计算机网络之前了解这些,学习效率不提升过来打我
计算机网络物理层第一章物理层详解
吐血码万字长文搞懂了数据链路层
计算机网络的网络层,真就一看就懂?
计算机网络期末复习必看篇之传输层

应用层

应用层概述

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

应用层协议定义

  1. 应用进程交换的报文类型,请求还是响应?
  2. 各种报文类型的语法,如报文中的各个字段及其详细描述
  3. 字段的语义,即包含在字段中的信息的含义
  4. 进程何时,如何发送报文,以及对报文进行响应的规则

应用层的功能:

  1. 文件的传输.访问和管理
  2. 电子邮件
  3. 虚拟终端(能够使个人计算机使用他人的计算机和大型计算机进行通信)
  4. 查询服务和远程作业登录

应用层的重要协议:

  1. FTP
  2. SMTP.POP3
  3. HTTP
  4. DNS

网络应用模型

  1. 客户/服务器模型(Client/Server)
  2. P2P模型(Peer-to-Peer)

客户/服务器(C/S)模型

客户/服务器(C/S)模型图示
image-20200615105218883

服务器:提供计算服务的设备

  1. 永久提供服务
  2. 永久性访问地址/域名

客户机:请求计算服务的主机

  1. 与服务器通信,使用服务器提供的服务
  2. 间歇性接入网络
  3. 可能使用动态IP地址
  4. 不与其他客户机直接通信(需要通过服务器)

客户/服务器模型的应用:

Web应用(网站),文件传输FTP,远程登录,电子邮件

P2P模型

P2P模型图示
image-20200615105707258
  • 没有服务器,数据都保存在自己的机器上,每台主机的权利和义务对等
  • 每个主机既可以提供服务,又可以请求服务
  • 任意端系统/节点之间可以直接通讯
  • 节点间歇接入网络
  • 节点可能改变IP地址
  • 可扩展性好(当有新的主机接入到网络中,因为每台主机既要请求服务也要提供服务,因此资源不会枯竭,所以扩展性好,而C/S模型,中接入的主机只请求服务,由于服务器的带宽受限,因此可能会在高并发时,服务器崩溃)
  • 网络健壮性强(健壮性指的是整个网络不容易瘫痪,假如一个主机退出了网络,不会影响整个网络的通信)

DNS系统

由于网络的发展,我们的网站越来越多,要浏览的IP地址也就越来越多,但是每次都用IP地址来访问网站很不方便,IP地址一般都很长.

因此诞生了域名

但是两个节点之间要进行通信,那么就一定要通过IP地址来确定对方的唯一位置(网络中的),那么我们通过域名进行访问网站,我们没有通过IP地址,那么就是有处理域名转换为IP地址的系统,这个系统就是DNS系统

域名

域名系统
image-20200615140138737

域名服务器

本地域名服务器:

当一个主机发出DNS查询请求时,这个查询请求报文就发给本地域名服务器

根域名服务器:

只存储了顶级域名服务器的IP地址,且这个IP地址是多态主机公用的IP地址

顶级域名服务器:

管理该顶级域名服务器注册的所有二级域名服务器

权限域名服务器:

负责一个区的域名服务器

域名解析过程

  • 递归查询(本地—根---由根去找顶级域名服务器—由顶级域名服务器去找权限域名服务器)靠别人(指的是本地域名服务器靠别人来查询IP地址)
  • 迭代查询(本地–根--由本地域名服务器去找顶级域名服务器(它之所以知道找那个顶级域名服务器时根告诉它的)----由本地去找权限域名服务器)靠自己(靠本地域名服务器自己去找IP地址)
递归查询
image-20200615141651992
迭代查询
image-20200615141716707

由于迭代和递归查询来解析域名的IP地址是一个耗时的操作,为了让耗时减少,我们引入了高速缓存,把之前解析过的域名放入到高速缓存中,这样在主机需要再次访问网站时就可以在本地域名服务器中查询到对应域名的IP地址.

使用高速缓存的作用:

  1. 减轻域名服务器的负荷
  2. 是的DNS请求和回答报文的数量大大减少
  3. 加快了DNS请求的速度

但是高速缓存中存储的内容不是不变的,需要定期更新,那么会为每个在高速缓存中存储的DNS域名解析IP地址都设置一个定时器,并处理超过合理时间的项.

文件传输协议FTP

  • 文件传输协议FTP(File Transfer Protocol)
    • 提供不同种类主机系统(硬件.软件体系等都可以不同)之间的文件传输能力
  • 简单文件传送协议TFTP(Trivial File Transfer Protocol)
    • 简单文件传送协议是一个很小的,易于实现的文件传输协议代码块也很小
    • 适用于UTP,文件向多台设备进行下载
FTP的功能
image-20200615143038292

FTP服务器和用户端

FTP是基于客户/服务器(C/S)的协议

用户通过一个客户机程序连接至远程计算机上运行的服务器程序

依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器

连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端

FTP工作原理

了解FTP工作原理需要知道的概念
image-20200615143642004
FTP工作原理
image-20200615144024818

FTP传输模式:

文本模式:ASCLL模式,以文本序列传输数据

二进制模式Binarry模式,以二进制序列传输数据.

电子邮件

电子邮件
image-20200615144222638

电子邮件的信息格式

电子邮件的信息格式
image-20200615144353872

电子邮件系统的组成结构

电子邮件系统的组成结构
image-20200615145045136
形象化图示
image-20200615145108308

简单邮件传送协议SMTP

SMTP规定了两个相互通信的SMTP进程之间应如何交换信息.

负责发送邮件的SMTP进程就是SMTP客户,负责接收邮件的进程就是SMTP服务器

SMTP规定了14条命令(几个字母)和21种应答信息(三位数字代码+简单文字说明)

SMTP特点和流程
image-20200615145459101
SMTP协议通信过程
image-20200615145819760

SMTP的缺点:

  1. SMTP不能传送可执行文件或者其他二进制对象
  2. SMTP仅限于传送7位ASCLL码,不能传送其他非英语国家的文字
  3. SMTP服务器会拒绝超过一定长度的邮件

通用因特网邮件扩充MIME

通用因特网邮件扩充MIME
image-20200615150100951

邮局协议POP3

邮局协议POP3
image-20200615150401086

网际报文存取协议IMAP

IMAP协议比P0P协议复杂当用户Pc上的IMCP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上.

IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中某一个部分(先看正文,有WiFi的时候再下载附件)

网际报文存取协议IMAP
image-20200615150942338

基于万维网的电子邮件

基于万维网的电子邮件(网站的电子邮件)
image-20200615151320554
  • 注意使用的协议

万维网和HTTP协议

万维网概述

万维网WWW(World Wide Web)是一个大规模的.联机式的信息储存所/资料空间,是无数个网络站点和网页的集合.

使用同一资源定位符URL----唯一标识—>资源(文字.视频.音频)

URL一般形式:

<协议>://<主机>:<端口>/<路径>

http 域名

ftp IP地址

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

万维网以客户/服务器方式工作,用户使用的浏览器就是万维网客户程序,万维网文档所驻留的主机运行服务器程序.

万维网使用超文本标记语言HTML,使得万维网页面设计者可以很方便地从一个界面的链接转到另一个界面,并能够在自己的屏幕上展示出来.

超文本传输协议HTTP

HTTP协议定义了浏览器(万维网客户进程)怎样想万维网服务器请求资源,以及万维网如何将资源传送给浏览器

HTTP协议通信过程
image-20200615153516130

具体过程:

  1. 浏览器分析URL
  2. 浏览器向DNS请求解析IP地址
  3. DNS解析出IP地址
  4. 浏览器与服务器建立TCP连接
  5. 浏览器发出取文件命令(请求)
  6. 服务器响应(响应)
  7. 释放TCP连接
  8. 浏览器显示

HTTP协议的特点:

  1. HTTP协议是无状态
    • 但是在实际工作中,一些万维网站点常常希望能够识别用户,-------->Cookie
    • Cookie是存储在用户主机中的文本文件,记录一段时间内某用户(使用识别码识别)的访问记录
  2. HTTP采用TCP作为运输层协议,但是HTTP协议本身是无连接的(通信双方在交换HTTP报文之前不需要先建立HTTP连接)

HTTP协议的连接方式

HTTP协议的连接方式
image-20200615154308494
连接方式的工作原理
image-20200615154501866

HTTP协议的报文结构

  • HTTP的请求报文
  • HTTP的响应报文
HTTP报文结构
image-20200615154729689
HTTP的装桃吗和请求报文格式
image-20200615155012358

我是雷雨佳,一个普本科的学生,主要专注于Java后端和大数据开发

如果这篇文章有帮助到你,希望你给我一个大大的赞
如果有什么问题,希望你能留言和我一起研究,学习靠自觉,分享靠自愿

转载注明出处
https://blog.csdn.net/qq_40742223

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

炒冷饭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值