计算机网络-应用层协议与网络安全

计算机网络-应用层协议与网络安全

上一篇:计算机网络-运输层协议 TCP/UDP协议(TCP与UDP对比,流量控制,拥塞控制,三次握手,四次挥手)

主要内容:

  • DNS
  • HTTP
  • HTTPS
    计算机网络

1. 应用层协议

之前有两篇文章分别介绍网络层(还没写)和运输层。
这篇完整是网络章节最后一篇。因为毕竟是Java开发,不是网管(网络管理员)。很多都是针对Java可能关注的点来写的,例如物理层和数据链路层基本没介绍,还有很多协议都也没有。对其他网络内容有需要或感兴趣建议看书 《计算机网络》谢希仁 现在应该是第七版出来了。

1.1 DNS

域名解析系统(Domain Name System)
功能是将域名地址转换为IP地址
是一个分布式的域名存储系统,其实就是存储域名和IP的映射(联想Redis 的K-V结构)

  • 在物理层和数据链路层 使用的是MAC地址(硬件地址,在网卡上刻着,唯一字符,不可更改)
  • 网络层以上使用的是 IP地址 目的是为了简化使用,在路由器是有IP与MAC的映射关系的(这个不叫DNS)
  • 用户使用的是域名,域名是要申请的,要钱。非顶级,非特殊域名还比较便宜,例如我之前搞个域名就只要9块钱/年
  • 为什使用域名? 比IP好用 baidu.com肯定比一串数字好记忆
  • 解析大部分是在本地完成解析,通过 ipconfig -all可以查询本地DNS服务器,不会超过几个路由器 host文件与DNS的关系? host文件也能够起到域名转换的作用,但是和DNS什么关系,我暂时还没理清楚
  • DNS是个分布式的系统,解析步骤:①调用解析程序,成为DNS的一个客户②把待解析的域名添加DNS请求报文中,以UDP的方式发给本地域名服务器③本地域名服务器查找域名后将,把对应的IP地址返回。如果本地域名服务器找不到,本地域名服务器再向上级服务器查找

域名服务器分类:①根域名服务器②顶级域名服务器③权限域名服务器④本地域名服务器
域名服务器查找方式:①迭代查询 ②递归查询
这种时候图片比文字可有太多说服力了

简单说迭代查询就行你去公立医院,挂科挂错,医生会和你说应该去哪个科挂号,然后你自己去找;低估查询就像你去海底捞,你问服务员要问某个东西,他不知道但是他会去想办法,然后把最终结果告诉你(PS:这两种方式并没哪个好坏,对用户来说肯定是递归查询最好,因为你需要做的事少。但是服务器就有很大的压力了。迭代查询对服务器的压力就响度小很多)
(有没有人想到WEB里面经常问的一个问题:转发和重定向的区别
DNS查询举例

1.2 万维网WWW

万维网(World Wide Web)是一个大规模的,联机式信息储藏所
分布式的超媒体系统,是超文本系统的扩充
过程:客户程序向服务器程序发出请求,服务器程序向客户程序返回客户要求的万维网文档

万维网必须解决以下问题:

  1. 怎样标志分布在因特网上的万维网文档 ---->URL统一资源定位符
  2. 用什么样的协议来实现各种链接 ---->HTTP超文本传输协议
  3. 怎样使不同作者的不同风格各自展现出来 ---->HTML 超文本标记语言
  4. 怎样使用户很方便的知道什么地方存在的链接 ---->搜索引擎:百度,搜狗
1.2.1 URL:统一资源定位符

<协议>://<主机>:<端口>/<路径>
下面这个是HTTPS协议的统一资源定位符
https://blog.csdn.net/m0_37628958/article/details/105362424
blog.csdn.net是主机和端口号,用域名代替了IP,同时HTTPS是443默认443端口,不需要指定

1.2.2 HTTP协议 超文本传输协议

基于TCP(传输层)
默认端口80(HTTPS是443)
HTTP本身无状态(通过Cookie和Session记录状态)
HTTP1.0无连接,导致每次传输数据都要握手,HTTP1.1后 保持连接

HTTP报文
请求报文:客户端向服务器发送请求报文
请求行(方法+URL+版本)+首部行+实体主体(通常没有)
响应报文:服务器给客户端的回答
状态行(版本+状态码+短语)+ 首部行 + 实体主体
HTTP请求报文的一些方法
GET:请求读取URL的信息
POST:给服务器添加信息
PUT:提交信息
DELETE:删除指明的URL信息
其他方法,上面四个最常用,其他的我都没用过。略过
此处该联想(Resetful API设计规范),Spring MVC好像是默认resetful设计规范的。老实说我目前还没见过非Resetful设计的接口
状态码
1XX 表示请求收到了或或正在处理
2XX处理成功
3XX重定向,完成请求还需要采取进一步的心动
4XX客户端的差错(最常见的404)
5XX表示服务器的差错
**Cookie和Session的区别与联系:**Cookie存储在客户端,Session存储在服务器。cookie会记住客户相关信息,同时会存储SessionID。Session其实就存储这个客户是否访问过。不会记录其他太多信息(毕竟多个客户端对应一个服务器,服务器哪来那么多多余空间)

1.3 DHCP

动态主机配置协议。就是给我们电脑分配IP地址,网关,DNS的那个

2. 网络安全

计算机网路攻击方式分为两大类:
**被动攻击:**截获他人的通信内容,又称为流量攻击。截获的都是各个数据单元,其实获取了也不是那么容易解密
**主动攻击:**①篡改:修改网络上发送的报文②恶意程序③拒绝服务:想某个服务器不同的请求,导致这个服务器一直处于忙的状态,无法对正常请求进行处理

2.1 密码体系

  1. 对称密码体系:加密秘钥和解密秘钥相同。例如压缩文件的加密。
    代表:DES数据加密标准
  2. 非对称密码体系:加密秘钥和解密秘钥不相同。分为私钥和公钥,私钥加密的只能用公钥解密,反之亦然。私钥自己保留,公钥公开,所有人都知道
    代表:RSA

两者对比:非对称加密算法效率相对对称加密算法效率低些
对称秘钥有个问题是:我怎么确保我的秘钥在传输的时候不被获取?
非对称秘钥有很多特殊用途:①用来加密对称秘钥。对称秘钥不是传输有问题,我用你给我的公钥对 对称秘钥进行加密,然后在发给你。那么只要你才能获取这个对称秘钥,因为只有你才能解密 ②数字签名:能有我的公钥解密的文件,一定是我发送的。因为只有我的私钥能够解密(密码泄露那我得自己负责,因为私钥是不需要公开的)

2.2 数字签名

数字签名为了和手写签名达到相同的效果,要保证下面三个功能:①接收者能够确认这份文件是发送者发送的,其他人无法伪造对报文的签名,这叫报文鉴别②接受者确信发送的文件没有被篡改过,这叫报文的完整性③发送者时候不能抵赖报文的签名,这叫做不可否认

非对称秘钥非常适合干这种事:
签名者将自己的公钥公开,用自己的私钥进行加密。然后将文件传输给接受者。接受者用公钥解密,得到文件
1.因为除了签名者外,其他人是不知道其私钥的,同时其他人无法用其私钥加密,所以确信这份文件有签名者签署发送,且无法被篡改确保了①②③。

2.3 鉴别

报文鉴别: 确保报文没有被修改过
虽然非对称加密算法RSA可以做到这个,但是大炮不能用来打蚊子,而且非对称秘钥效率不高。如果是大文件,加密解密就相当飞时间了
而且我仅需要保证报文没有被修改过,不需要其他的功能
MD5算法是报文鉴别的代表算法:一个 不可逆的单向散列函数(简单理解,就是比较厉害hash函数)
报文(无论多长多短)经过MD5加密后,会得出128位的报文摘要。既然不可逆,那么怎么鉴别没有被篡改过?发送时将原文与报文摘要一起发送,然后接收方同样用MD5 算法对报文进行MD5加密,得到128位报文摘要。与接收到的摘要对比,如果一致,说明未被篡改(要求这个Hash算法比较好,hash冲突少)。
类似的方法不可逆单向散列函数用处很多:例如服务器保存用户密码。(没有那家公司会保存用户的密码的,都是经过这种函数加密过的,如果不是:这家公司需要改进了),你银行卡密码忘记的时候,去银行是重置密码:银行是不知道你的密码的。

2.6 安全协议

安全套接字层SSL(Secure Socket Layer)端口号 443(HTTPS就是HTTP+SSL,所以端口号就是443)
提供服务器鉴别,SSL客户鉴别,加密的SSL会话服务
运输层安全TLS(Transport Layer Security)改进的SSL3.0

2.7 HTTPS

就是HTTP+SSL
过程:

  1. 协商加密算法:浏览器告知服务器自己支持哪种SSL版本,服务器选一个自己支出的,告知浏览器
  2. 服务器鉴别:利用CA机构对服务器进行验证
  3. 会话秘钥计算:用浏览器计算对称秘钥,用服务器的公钥加密对称秘钥,再把对称秘钥发送给服务器
  4. 安全数据传输:用上面的对称秘钥加密传输的数据

3. 小结

  • 网络协议是什么?两方面内容:一方面是便于理解的约束或者说规定(这是给我们人看的);另一方面:是有一定规则的计算器程序(给计算机看的) 【我之前就一直很好奇:为什么协议就可以传输数据?其实包含我们平时理解的那部分内容,同时它也是个计算机程序】
  • HTTPS就是HTTP结合SSL。(利用非对称秘钥来认证服务器。在利用非对称秘钥加密对称秘钥。传输对称秘钥。在利用对称秘钥传输数据)
  • 分布式这个概念早就要了,在计算机网络里面分布式,缓存,K-v这种概念还蛮多的。为什么以前没有这么火?估计是以前少有这么大流量的应用。毕竟我兔

总目录:Java进阶之路-目录

											神欢体自轻,意欲凌风翔
											来自:《郡斋雨中与诸文士燕集》唐 韦应物
											博主:五更依旧朝花落
											首次发布时间:2020年4月14日17:25:55
											末次更新时间:2020年4月15日17:50:55(更改标题以及添加目录)
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值