计算机网络--知识点总结4(应用层)

一、应用层概述

四层协议中的应用层在TCP/IP七层协议中分为:应用层、表示层、会话层

应用层工作在终端设备

  • 应用层以下的层提供完整的通信服务
  • 应用层是面向用户的一层
  • 面向传输层的协议也可以认为是应用层的

UDP使用场景:

  • 用于多媒体分发
  • 比如视频、语音等实时信息

TCP使用场景:

  • 用于可靠信息传输
  • 比如金融交易、可靠通讯等

应用层功能:

  • 定义应用间通信的规则
    • 应用进程的报文类型–请求报文、应答报文
    • 报文的语法、格式
    • 应用进程发送数据的时机、规则

二、DNS详解

  • DNS(Domain Name System:域名系统),其中域代表网络号或者AS,名表示名称
    • DNS解决:计算机面对多样的进程,如何记住数量众多的IP和端口号
  • DNS功能:域名(baidu.com、taobao.com)----->通过DNS服务转换—>IP

1、域名

  • 域名由点、字母(不区分大小写)和数字组成
  • 点分割不同的域
  • 域名可以分为顶级域、二级域、三级域
    • 例如:www.taobao.com 其中com为顶级域,taobao为二级域,www为三级域,还可以继续分为四级域、五级……
    • 顶级域
      • 国家:cn中国,us美国,uk英国,ca加拿大
      • 通用:com公司,net网络机构,gov政府,org组织机构
    • 二级域
      • aliyun、qq、taobao…

2、域名服务器工作过程

在这里插入图片描述
也就是
在这里插入图片描述
根域名服务器:分布在各个国家
第二层:解决顶级域名服务器的解析

域名查询过程
首选查询本地域名服务器,如果没查到,去问根域名服务器,得到顶级域名服务器所在位置,再问顶级域名服务器,得到二级域名服务器,直到查到IP地址

三、DHCP协议详解

1、概念

  • DHCP(Dynamic Host Configuration Protocol:动态主机设置协议)
  • DHCP是一个局域网协议,网络层中保留的三类IP地址即为局域网,使用NAT技术与外网通信
  • DHCP是应用UDP协议的应用层协议

2、DHCP的作用

1)解决的问题:

同一个笔记本,在家、公司等不同地方的IP地址如何设置?
使用DHCP协议提出即插即用联网方式

2)实际问题说明:

在这里插入图片描述
电脑中的自动获得IP地址,就是使用了DHCP协议,这样主机会获得一个临时IP,一般会有一个租期,超过使用租期就不可以再使用,也可以续租

3、DHCP的工作步骤

  • DHCP服务器监听默认端口:67
  • 主机使用UDP协议广播DHCP发现报文
    • UDP协议在IP协议上,IP协议会有一个IP地址,这个IP地址一般设为全1,表示它是一个广播报文
  • DHCP服务器收到广播报文后发出DHCP提供报文
  • 主机向DHCP服务器发出DHCP请求报文
  • DHCP服务器回应并提供IP地址

四、HTTP协议

1、HTTP协议详解

1)http协议是什么
  • HTTP(HyperText Transfer Protocol):超文本传输协议
    • 超文本:带有超链接的文本,这个链接可以使网络从一个地方到另外一个地方;带文字、图片、视频等
  • 网站地址/路径:http(s)://<主机>:<端口>/<路径>
    • 主机可以是域名也可以是IP地址
    • 端口:一般为80、443,安全的HTTP协议使用443端口
    • 路径:指向特定的内容
  • HTTP协议是可靠的数据传输协议
    • HTTP协议以TCP协议为底层协议
    • 数据有文本、文件、图片、动图、音频、视频,也就是我们浏览网页的Web内容
2)Web服务端

HTTP协议运行在C/S架构上,即客户端/服务端,客户端即手机、电脑等终端,服务端即Web浏览器

i、分类

硬件部分: 裸机组的部分,如计算机、虚拟机
软件部分: Nginx,Apache

ii、工作过程
  1. 接受客户端连接。将自己的IP(由于使用HTTP协议,使用域名)和端口号(一般为80)告诉客户端,等待客户端们连接
  2. 接收请求报文。客户端在需要服务时,发送HTTP请求协议报文给Web服务器。
  3. Web服务器根据请求报文处理请求
  4. Web服务器根据请求报文中的请求,访问Web资源
  5. Web服务器根据访问到的资源,构造HTTP应答报文
  6. Web服务器发送HTTP应答报文给客户端

其中,客户端发送的HTTP请求报文中,客户端根据自己的需要使用不同的请求方法

iii、HTTP请求方法
HTTP请求方法功能
GET获取指定的服务端资源
POST提交数据到服务端
DELETE删除指定的服务端资源
UPDATE更新指定的服务端资源
PUT-
OPTIONS-
PATCH-
HEAD-
TRACE-

HTTP的请求报文:

[请求方法][请求地址][HTTP版本]
请求头
请求内容

以https://coding.imooc.com/?sort=0&unlearn=0&page=2,为例

请求方法、请求地址、HTTP版本POST https://coding.imooc.com HTTP/1.1
请求头Accept-Encoding:gzip Accept-Language:zh-CN
请求内容{‘sort’:0,‘unlearn’:0,‘page’:2}

HTTP应答报文:

HTTP版本,状态码,状态解释
应答头
应答内容
状态码含义
200~299成功状态码
300~399重定向状态码(要访问的资源在别的服务器,将服务器告诉客户端,让客户端自己重新去访问)
400~499客户端错误状态码
500~599服务端错误状态码
iv、如何指定资源

不管什么方法,都需要指定到确定的服务端资源,如何指定资源?

  • 在地址中指定
    • 比如https://coding.imooc.com/class/355.html,其中class/355.html就是一个具体内容的指定
    • 比如https://coding.imooc.com/?sort=0&unlearn=0&page=2,其中?之后的均为对内容的指定
  • 在请求数据中指定

2、HTTP工作的结构

五、HTTPS协议详解

1、概念

  • HTTP是明文传输
    • 但是网页中会有账号密码、个人信息、交易信息、账户信息等敏感信息,如果使用明文传输,这些信息就可能被泄露,因此有了HTTPS安全传输
  • HTTPS(Secure)是安全的HTTP协议
  • 网站地址:https😕/<主机>:<端口>/<路径>
    • 其中有变化的为https,端口称为443

2、工作过程

1)加密模型
i、对称加密

数据-----使用秘钥A加密–>应用数据-----使用秘钥B解密—>数据
如果加密和解密的秘钥相同(即A=B),则为对称加密

ii 、非对称加密

数据-----使用秘钥A加密–>应用数据-----使用秘钥B解密—>数据
如果加密和解密的秘钥不同(即A!=B),则为非对称加密

iii、秘钥
  • A、B是拥有一定数据关系的一组秘钥
    • 私钥:自己使用,不对外公开
    • 公钥:给大家使用,对外公开

比如老师给了大家一个公钥,当学生给老师发消息时,使用公钥加密,老师收到后,使用秘钥解密查看,公钥加密后不能使用公钥解密,除非老师的秘钥被泄露

2)数字证书
  • 数字证书是可信任组织颁发给特定对象的认证
    • 可信任组织:客户端和服务端都认为是可信任的组织
    • 特定对象:就像身份证对于人一样
  • 数字证书内容
证书格式、版本号证书序列号签名算法有效期对象名称对象公开秘钥
3)SSL

在这里插入图片描述

  • SSL(Secure Socket Layer:安全套接层)
  • 保证数据安全和数据完整
  • 对传输层数据进行加密后传输
4)HTTPS工作过程
i、过程

在C/S架构中进行

  • 首先在双方之间通过443端口建立TCP连接
  • 进行SSL安全参数握手
  • 客户端发送数据
    • 客户端首先加密数据,经过TCP连接将数据传给服务端,服务端对数据进行解密
  • 服务端发送数据
    • 服务端加密数据,经过TCP连接将数据传给客户端,客户端收到后对数据进行解密
ii、SSL安全参数握手详解

1、首先从客户端开始(此时客户端有随机数1)

  • 客户端生成一个随机数1
  • 将随机数1、协议版本、加密算法发送给服务端(明文的,不加密的)

2、然后服务端回应(此时客户端、服务端都有随机数1、随机数2)

  • 服务端生成随机数2
  • 提供自己的数字证书,
  • 并确定客户端的加密算法

3、然后客户端回应(此时双方都有随机数1、2、3)

  • 确认证书是否有效
  • 生成随机数3
  • 使用服务器的公钥(在数据证书中)加密随机数3
  • 将加密后的数据发送给服务端
  • 服务端使用自己的秘钥解密

4、开始传输

  • 双方根据随机数1、2、3和相同的算法生成对称秘钥
  • 双方使用对称秘钥进行加密通信

总结:

  • 综合使用对称加密、非对称加密(随机数阶段使用非对称,生成秘钥后对称)
  • 双方分别生成秘钥,没有经过传输,防止秘钥泄露
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值