计算机网络-----第三章 应用层

第三章 应用层


1. DNS系统

​ IP地址难以记忆,所以出现了域名来一对一的对IP地址进行映射.

​ 在发送一个请求时,我们输入的是域名,然后与一台或多台DNS服务器进行访问,DNS服务器会将域名转化为对应主机的IP地址返回回来.然后我们的主机在使用得到的IP地址进行访问.

2. HTTP协议

​ HTTP协议规定了浏览器如何向服务器请求资源和服务器如何向浏览器发送资源.

​ 服务器监听80端口,发现所有访问服务器的请求,一旦服务器监听到请求,并且成功建立连接,浏览器就可以发送HTTP请求报文,服务器接收到HTTP请求报文之后根据自身的逻辑准备资源,并将资源通过HTTP响应报文发送给客户端.最后释放TCP连接.

(1). HTTP的特点

  • 无状态:用一个客户两次访问服务器时服务器的HTTP响应是没有区别的.
    • 通过cookie使得HTTP请求可以记录信息,是记录在用户主机中的文本文件
  • 采用TCP协议作为传输层协议,但HTTP本身是无连接的

(2). HTTP报文结构

​ 分为请求报文和响应报文.

​ HTTP报文是面向文本的,因此报文中每一个字段都是ASCII码串

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RVxfu6iq-1575943499846)(http://benjaminlee.cn:8989/hello/images/1574517235838.png)]

1). 请求行

​ 方法就是该请求要对资源进行的操作

  • GET:用于获取服务器中的资源

  • POST:用于创建一个资源

  • PUT:用于修改一个资源

  • DELETE:用于删除一个资源

    ​ 版本是HTTP协议的版本

2). 首部字段

​ 首部行(请求头,响应头)

使用Key:value的方式保存数据:

  • 字符集:Accept-Charset
  • 正文的格式:Content-Type
  • .
  • .
  • .

响应报文中的状态码就是404,500,200那一堆东西:

  • 1xx:通知信息,如请求正在处理等
  • 2xx:请求成功
  • 3xx:重定向
  • 4xx:客户出现差错
  • 5xx:服务器出现差错
3). 正文

​ 这部分放置要传输的数据(买什么,买多少)

3. HTTP请求的发送

​ HTTP协议是基于TCP协议的,通过二进制流将数据传给对方时,在TCP层会按照TCP协议把二进制流变成一个一个报文发送给对方.

​ 每发送一个报文段,都需要对方回应一个确认号ack,保证这个确认号之前的数据全部收到了.

​ TCP在发送每一个报文的时候,都需要加上源地址,源端口号,目标地址和目标端口号,将这些信息放入IP头中,交给IP层进行传输.

​ IP层需要查看目标地址是否和自己在一个局域网中,如果在,就发送ARP协议来请求这个目标地址对应的MAC地址,将源MAC地址和目标MAC地址放入MAC头,发送出去.

网络层的ARP协议工作原理:

网络层的ARP协议完成了IP地址与物理地址的映射。

首先,每台主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址的对应关系。

当源主机需要将一个数据包要发送到目的主机时,会首先检查自己ARP列表中是否存在该IP地址对应的MAC地址:如果有,就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。

此ARP请求数据包里包括源主机的IP地址、硬件地址、以及优酷目的主机的IP地址。网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个ARP响应数据包,告诉对方自己是它需要查找的MAC地址;源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。

​ 如果不在一个局域网,需要将这个IP包发送到网关,先发送ARP协议请求网管的MAC地址,然后步骤和之前类似.

​ 一层一层的跳跃后,终于达到了目标地址的局域网,找到目标的MAC地址,然后发送出去.

​ 目标机器发现MAC地址符合,就将包收起来.发现IP地址符合,就拆包到TCP层.TCP层分发到指定端口后验证序列号,发现序号是不是当前需要的,如果是就返回一个ACK.如果不是,就丢弃包.

4. HTTP协议各个版本

参考博客:从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路

(1). HTTP 0.9

​ 最原始的HTTP协议,每一个请求都要经历TCP连接的建立和断开.

​ 只有一个GET方法.只能回复HTML格式的字符串.

(2). HTTP 1.0

​ 任何格式都可以发送了(文字,图像,视频,二进制)

​ 加入了POST和HEAD方法

​ 加入了请求头,描述元数据

(3). HTTP 1.1

​ 引入了持久连接,也就是TCP连接默认是不关闭的,可以被多个HTTP请求复用.客户端和服务端一段时间没有互动后才会主动断开连接.

​ 引入了管道机制,在同一个TCP连接里面,可以同时发送多个请求.但请求的回复还是按顺序回复的.

(4). HTTP 2

​ 二进制协议,在之前HTTP 1.1版本的头信息是文本(ASCII编码),数据体可以使文本也可以是二进制.而HTTP 2之后,头信息和数据体都是二进制的.统称为帧.

​ 客户端可以同时发送多个请求或者回应,而且不用按照顺序一一对应.也就是异步性.为了实现这个功能,HTTP 2为每个数据包添加了唯一的编号,用编号来唯一对应请求包和响应包.

​ 头信息压缩.一方面,头信息使用gzip等方式压缩后再发送,另一方面客户端和服务端都会维护一个存储了头信息的表,所有字段都对应一个索引号.每次只发送其中的索引号.

5. HTTPS协议

​ 基于HTTP协议,通过SSL或者TLS提供加密处理数据,验证身份以及数据完整性保护.

​ 内容加密:采用混合加密技术,中间者不能查看明文内容

​ 验证身份:通过证书认证客户端访问的是自己的服务器.

​ 保护数据完整性:防止传出的内容被中间人冒充或修改

(1). SSL建立连接过程

  1. C端向S端发送请求,连接到S端的443端口.发送的信息是随机值1和C端支持的加密算法.
  2. S端收到信息后进行响应,包括随机值2和匹配好的协商加密算法,这个加密算法是C端发过来所支持的算法的子集.
  3. S端发送给C端第二个响应,是数字证书,数字证书必须要有一整套.可以自己制作也可以向组织申请(自己制作的证书会在客户端弹出不安全提醒).一整套证书其实就是一对公钥和私钥.传送的证书是其中的公钥.
  4. C端解析证书,这个工作是由客户端的TLS完成的.
    1. 首先会验证公钥是否有效
    2. 如果没问题,那么生成一个随机值(预主密钥)
  5. C端验证证书通过后,通过随机值1,随机值2和预主密钥组装会话秘钥.然后通过证书的公钥加密会话秘钥
  6. 传送加密信息传输的是加密后的会话秘钥,让服务端通过解密得到随机值1,随机值2和预主密钥
  7. 服务端组装出会话秘钥,应与客户端的会话秘钥一致
  8. 客户端通过会话秘钥加密一条数据发送给服务端,验证是否能正常接收消息
  9. 服务端通过会话秘钥加密一条消息回传给客户端,如果都能正常接收,那么表名SSL层连接建立完成

(2) 对称加密与非对称加密

​ 对称密钥加密是指加密和解密使用同一个密钥的方式,这种方式存在的最大问题就是密钥发送问题,即如何安全地将密钥发给对方;而非对称加密是指使用一对非对称密钥,即公钥和私钥,公钥可以随意发布,但私钥只有自己知道。发送密文的一方使用对方的公钥进行加密处理,对方接收到加密信息后,使用自己的私钥进行解密。

​ 由于非对称加密的方式不需要发送用来解密的私钥,所以可以保证安全性;但是和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
管理系统中计算机应用 主讲老师—贾鹏 管理系统中计算机应用 精讲8 管理系统中计算机应用-第七章-系统设计全文共110页,当前为第1页。 复习方法: 1. 题库、随堂考、作业题目。 2. 上课课件。 3.名词解释、简答、论述汇总。 4. 历年真题(选择5套弄懂即可)。 管理系统中计算机应用-第七章-系统设计全文共110页,当前为第2页。 管理系统中计算应用 第一章 管理系统与信息技术应用 第二章 应用信息系统 第三章 管理系统的信息化平台 第四章 数据库系统 第五章 信息系统的建设规则 第六章 系统分析 第七章 系统设计 第八章 系统实施 第九章 系统运行管理与维护 第十章 实际应用举例 管理系统中计算机应用-第七章-系统设计全文共110页,当前为第3页。 第七章 系统设计 管理系统中计算机应用-第七章-系统设计全文共110页,当前为第4页。 第七章 系统设计 管理系统中计算机应用-第七章-系统设计全文共110页,当前为第5页。 系统设计阶段的主要活动如下:【选】 第七章 系统设计 分类 内容 系统总设计 软件系统总体结构设计,数据库设计,通信网络平台设计。 系统详细设计 其中包括代码设计,输入输出界面设计,处理过程设计。 编写系统设计报告 管理系统中计算机应用-第七章-系统设计全文共110页,当前为第6页。 系统设计阶段的主要活动如下:【选】 第七章 系统设计 分类 内容 _________ 软件系统总体结构设计,数据库设计,通信网络平台设计。 _________ 其中包括代码设计,输入输出界面设计,处理过程设计。 _________ 管理系统中计算机应用-第七章-系统设计全文共110页,当前为第7页。 系统设计阶段的主要活动如下:【选】 第七章 系统设计 分类 内容 系统总设计 软件系统总体结构设计,数据库设计,通信网络平台设计。 系统详细设计 其中包括代码设计,输入输出界面设计,处理过程设计。 编写系统设计报告 管理系统中计算机应用-第七章-系统设计全文共110页,当前为第8页。 第七章 系统设计 管理系统中计算机应用-第七章-系统设计全文共110页,当前为第9页。 7.1系统结构设计 一、总体结构设计的任务 根据系统分析的逻辑模型设计应用软件系统的物理结构。 第七章 系统设计 管理系统中计算机应用-第七章-系统设计全文共110页,当前为第10页。 第七章 系统设计 管理系统中计算机应用-第七章-系统设计全文共110页,当前为第11页。 7.1系统结构设计 二、结构化设计的基本思想【选】 模块化、结构化、自顶向下逐步求精,构成了结构化设计方法的核心内容。 第七章 系统设计 管理系统中计算机应用-第七章-系统设计全文共110页,当前为第12页。 7.1系统结构设计 二、结构化设计的基本思想【选】 _____化、_____化、_____逐步求精,构成了结构化设计方法的核心内容。 第七章 系统设计 管理系统中计算机应用-第七章-系统设计全文共110页,当前为第13页。 7.1系统结构设计 二、结构化设计的基本思想【选】 模块化、结构化、自顶向下逐步求精,构成了结构化设计方法的核心内容。 第七章 系统设计 管理系统中计算机应用-第七章-系统设计全文共110页,当前为第14页。 第七章 系统设计 管理系统中计算机应用-第七章-系统设计全文共110页,当前为第15页。 7.1系统结构设计 二、结构化设计的基本思想 1.程序的结构化设计【选】 率性、随意 一致性、可读性和可维护性 该方法包括三种基本的程序结构:顺序结构、选择结构和循环结构。 第七章 系统设计 管理系统中计算机应用-第七章-系统设计全文共110页,当前为第16页。 7.1系统结构设计 二、结构化设计的基本思想 2.模块的结构化设计【选】 模块间的关系必须要阐明 模块间也有三种不同的结构形式:顺序结构、选择结构和循环结构。 第七章 系统设计 管理系统中计算机应用-第七章-系统设计全文共110页,当前为第17页。 第七章 系统设计 管理系统中计算机应用-第七章-系统设计全文共110页,当前为第18页。 7.1系统结构设计 二、结构化设计的基本思想 3.控制结构图【选】 控制结构图也称为软件结构图或模块结构图 表示系统的层次分解关系、模块调用关系、模块之间数据流和控制信息流的传递关系。 第七章 系统设计 管理系统中计算机应用-第七章-系统设计全文共110页,当前为第19页。 第七章 系统设计 管理系统中计算机应用-第七章-系统设计全文共110页,当前为第20页。 7.1系统结构设计 二、结构化设计的基本思想 3.控制结构图——控制结构的基本符号和规定【选】 第七章 系统设计 图形符号 说明 图形符号 说明 表示模块 数据存储 表示模块调用关系,箭尾连接上层模块,箭头指向被调用
### 回答1: 《计算机网络-自顶向下方法》是一本经典的计算机网络教材。该教材采用自顶向下的方法,从应用层开始逐层深入,涵盖了计算机网络的所有核心概念和技术。全书分为两部分,第一部分介绍了计算机网络的基础知识和技术,包括网络体系结构、传输层、网络层、链路层以及物理层等;第二部分则讲解了高级主题,如无线和移动网络、网络安全、多媒体网络等。 该教材的独特之处在于采用了自顶向下的学习方法,即首先讲解应用层的协议,然后逐层深入,最后讲解物理层。这样的学习方法让学生能够了解计算机网络是如何被构建的,同时也能够更好地理解计算机网络中各层之间的关系和作用。 《计算机网络-自顶向下方法》是一本非常重要的计算机网络教材,不仅适用于本科生和研究生,也适用于从事网络工程或计算机相关行业的技术人员。通过对该教材的学习和理解,读者可以深入了解计算机网络的核心概念和技术,从而在相关领域取得更好的成果。 ### 回答2: 《计算机网络-自顶向下方法》是计算机网络课程中经典的教材之一。该教材采用自顶向下的方法,即从应用层开始,向下逐层讲解网络的各个层次,并且强调了网络协议的设计思想和实现原理。 在本教材中,作者基于该方法,详细介绍了TCP/IP协议族,包括网络层、传输层、应用层和物理层。每一章都有丰富的图示和实例,以帮助学生深入理解和掌握网络协议的工作原理和应用。 此外,本教材还介绍了一些相关的话题,例如错误检测和纠正、网络安全和隐私、无线和移动网络等。这些话题不仅丰富了课程内容,也加强了学生对网络技术的综合认识能力。 总之,该教材适用于计算机网络相关专业的本科生和研究生,也适用于从事网络工程的从业人员。如果您想深入了解计算机网络的知识和技术,本教材是您不可缺少的参考书。 ### 回答3: 《计算机网络-自顶向下方法英文版清晰版.pdf》是一本通过自顶向下的方式来讲解计算机网络的书籍。自顶向下的方法是指从应用层开始,逐步向下分解,一层层地介绍计算机网络各个层次的知识点。 该书主要分为三个部分:应用层、传输层和网络层。在应用层,介绍了HTTP、DNS、SMTP等协议的工作原理和应用;在传输层,讲解了TCP和UDP的区别、流量控制和拥塞控制等内容;在网络层,涉及到了路由选择、IP协议和子网划分等知识点。 除了一般的理论知识外,该书还介绍了一些实际应用,如Wireshark的使用和实践、网络安全和加密技术等内容。此外,书中还提供了大量的示例和代码,可以帮助读者更好地理解和应用所学知识。 总之,《计算机网络-自顶向下方法英文版清晰版.pdf》是一本十分详细、通俗易懂的计算机网络入门书籍,适合各个层次的读者阅读和学习。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值