接上篇计算机网络总结(一);html
5、会话层、表示层和应用层算法
在TCP/IP四层模型中,这三层是直接合并成应用层来理解,统称为应用层,传输层以及传输层如下的各层提供的是完整的通讯服务,应用层则是面向用户的一层,咱们来复习一下以前的重要传输协议UDP和TCP,对应用层来讲,视频、语音和实时信息这些多媒体的信息发布,注重信息的实时性,哪怕是这一秒的信息丢失,下一秒也马上会有新数据填充进来,在传输层采用的就是UDP协议,而那些注重可靠信息传送的,好比金融信息,可靠通信等等,这些在传输层采用的就是TCP协议,能够看到,看似简单的UDP协议,在实际应用中仍是很普遍的。浏览器
这里介绍面向应用层经常使用的几种协议;安全
DNS(Domain Name System:域名系统协议)是一种分布式网络目录服务,DNS服务的端口号是53,,主要用于域名与 IP 地址的相互转换,以及控制电子邮件的发送;在传输层通讯中,是经过IP地址和端口号来完成进程间通讯的,可是IP地址和端口号记忆起来毫无逻辑、至关复杂,因而,咱们使用域名系统来帮助咱们记忆,好比你Ping一下baidu.com,相对于计算机来讲这个域名就会直接转化为IP地址,DNS服务就是将点分十进制的IP地址转化为方便记忆的域名,实际中是经过域名服务器来完成这个操做的,在域名服务器中记录着域名和IP地址的映射关系,当你访问某一域名时,首先会访问本地的域名服务器,若是没找到,则向上一级的域名服务器访问,直到找到对应的IP地址,返回给本机,就能完成这个操做了,如如下的操做,就完成了域名到IP地址的转换:服务器
DHCP(Dynamic Host Configuration Protocol:动态主机配置协议)是一个局域网协议,是应用UDP协议的应用层协议,其实就是解决咱们的电脑在链接不一样路由器时,IP地址不断变化的过程,通常咱们电脑使用的都是动态分配IP地址,DHCP服务器的默认监听端口是67,好比咱们在家连入WIFI时,主机会使用UDP协议广播DHCP发现报文,DHCP服务器接收这条报文后,就会发出DHCP提供报文,而后主机再向DHCP服务器发出DHCP请求报文,这时DHCP服务器回应并会提供它的IP地址供主机使用,这时咱们的主机就有IP地址使用了。简单点说就是:网络
主机:“兄弟,大家那谁有IP地址啊?”架构
DHCP服务器:“我这有,我这有。”分布式
主机:“给我一个呗!”加密
DHCP:“给你,给你!”计算机网络
这里须要提醒一下,其实你的电脑和路由器使用的是同一个IP地址,经过NAT技术,区别不一样端口号来实现的链接;
看到这里,你们确定会以为,DHCP协议和前面介绍的RARP协议很像,确实,其实DHCP协议从某种程度上来讲是对RARP协议的升级,如今的RARP协议其实已经被淘汰了,其功能有DHCP协议完成。
HTTP(Hyper Text Transfer Protocol:超文本传输协议)是一种可靠的传输协议,HTTP协议的端口号是80,它的底层是一般是依靠TCP/IP协议完成的,所谓的超文本就是指包含超连接的文本,采用的CS架构(Client/Server:客户端/服务端),它用于从Web服务器传输超文本到本地浏览器的传送协议。它可使浏览器更加高效,使网络传输减小。它不只保证计算机正确快速地传输超文本文档,还肯定传输文档中的哪一部分,以及哪部份内容首先显示(如文本先于图形)等。
HTTP协议经常使用的几种请求方法:
HTTP协议返回的状态码及其含义:
HTTPS协议是基于HTTP协议的,HTTP协议是一种明文传输,而HTTPS(Secure)是安全的HTTP协议,它的端口号是443,HTTPS的安全基础是SSL(Secure Sockets Layer:安全套接层);
这里首先引入两个加密模型概念,若是通讯双方使用的相同的秘钥进行加密和解密,则称为“对称加密”,若是通讯双方使用的是不一样的秘钥加密和解密,则称为“非对称加密”;在“非对称加密”中使用的两把秘钥A,B是拥有必定数学关系的一组秘钥,经常使用的就是公钥和私钥,好比我如今颁发给你们个人公钥,你们要给我传输加密信息,就能够经过公钥加密以后传输给我,等我接受到信息的以后,再经过我本身拥有的私钥解密,这样就完成了加密传输过程,在这里,使用过公钥加密以后,没法用公钥解开,保证了信息的私密性,只能经过私钥解密;
此外,还有一个重要概念:数字证书,是可信任组织颁发给特定对象的认证,在网络中,能够用来识别对方身份,相似网络身份证同样,并且数字证书中还包含了颁发方的公钥,这点很关键,在SSL加密中,会使用到。
接下来咱们讲解整个SSL过程:
经过以上三步,其实整个SSL加密过程就所有完成了,服务端接收到用它本身公钥加密的随机数3以后,使用其私钥解密,就能够获得随机数3了,这样,客户端和服务端就都获得了随机数一、2和3,而后经过第一步客户端发送给服务端的加密算法生成一个对称秘钥,就能进行加密传输了,为何说SSL是安全的加密传输呢?
咱们来考虑第三方如何也能获得这个秘钥来破解加密通讯,首先,你必须拦截到三次所有的信息,假设你完成了这个操做,这样你能够获得信息有加密算法、随机数1和随机数2,可是你没法获得随机数3,由于随机数3的解密私钥并未传输,因此保证了秘钥的安全;
回顾整个SSL过程,咱们能够发现,它是一个对称加密和非对称加密均使用了的加密过程,在传递随机数3的过程当中,使用了公钥和私钥的非对称加密,而最后都经过加密算法和対应随机数生成了相同的秘钥,使用对称加密进行通讯。
进一步分析,SSL过程是位于应用层和传输层之间的,在实际创建链接的过程当中,首先是客户端和服务端创建443端口的TCP链接,而后再进行SSL安全参数握手过程,生成相同的秘钥以后,最后才进行客户端和服务单的发送数据操做。
总的来讲,其实应用层的协议不少也很复杂,这里就不一一介绍了。
6、总结
其实整个过程,理清脉络,搞清楚为何要有这个协议,这个协议是干什么的,又是怎么实现的。这样细品,其实仍是很清晰的,不过总体来讲,上面讲到的这些都只是皮毛,还有许多知识的大门没有打开,告辞,告辞!