一、应用层
DNS
功能:将机器地址转换成IP地址。
是一个域名系统
DNS 协议运行在 UDP 上,使用 53 端口
DNS 通常是由其他应用层协议所使用的,包括 HTTP,SMTP 和 FTP ,将用户的主机名解析为 IP 地址。
一个由分层的 DNS 服务器 实现的分布式数据库。
P2P应用
P2P,也就是点对点,无需通过服务器,可以进行两个客户,也就是两台主机之间的直接通信。
TCP/UDP
TCP:在应用层数据报文发送之前,TCP就会在客户和服务器搭建起连接。一个TCP连接之后,双方就可以在这个连接上进行报文的发送和接收,当结束了发送和接收,我们就需要拆除连接。
UDP:是一种不提供不必要服务的轻量级运输协议,仅仅提供最小的服务,和之前的分组交换差不多,因此UDP在两个进程没有进行连接的时候,UDP协议提供一种不可靠的数据传送服务,为什么叫做不可靠,是因为没有连接,所以不能够保证传出去的数据能够被接收方的进程去接收
应用层的协议:
应用层协议定义了运行在不同端上的应用程序进程如何相互传递报文,其中包括了
1)交换的报文类型,
2)各种报文类型的语法,如报文中的各个字段以及这些字段是怎么描述的
3)字段的语义,即这些字段中包含信息的含义
4)一个进程何时以及如何发送报文,对报文进行响应的规则
WEB和HTTP:
Web应用的协议是HTTP(HyperText Transfer Protocol)超文本传输协议,HTTP由两个程序实现,一个是客户程序,一个是服务器程序,两者通过交换HTTP报文进行通信。
Cookie:Cookie是用来弥补HTTP的无连接性的
Session:Session是存放在服务器端的,相对于cookie,会给服务器造成压力
Web缓存:Web缓存器也叫做代理服务器,Web缓存器有自己的磁盘存储空间,并在存储空间中保存最近请求过的对象副本。
OSI应用层与我们打交道的常见例子:
我们要看网页,打开IE浏览器,输入一个网址,就进入了相应的网站,
那么这个IE浏览器就是我浏览网页的应用工具,也是工作在应用层的。
IE浏览器是基于HTTP协议开发的,HTTP是一个应用层的协议。
我们要使用FTP上传下载一个文件,会首先打开FTP客户端,然后去连接FTP服务器,
这个客户端,就是应用层的工具。FTP客户端是基于FTP协议开发的,
FTP协议也是一个应用层的协议。
我要发一封E-mail,我会在电脑装一个Foxmail、Outlook等邮件客户端软件,然后编辑邮件,
发送给相应的人。Outlook、Foxmail是基于SMTP和POP3协议开发的,SMTP、POP3也是应用层的协议。
应用层的协议非常的多,现在所有的网络工具,大多是基于这些程序所开发。
我们所使用的软件是应用程序,这些软件只是软件开发者编程开发出来的,这些应用软件只是一个壳子,而这些软件里嵌套的协议才是应用层的内容,使用网络的程序需要集成协议才可以正常使用。
IE浏览器,使用的是应用层的HTTP协议;QQ使用的应用层协议是OICQ;Outlook使用收发邮件的SMTP、POP3协议……
DNS的寻址过程

1、客户机发出查询请求,在本地计算机缓存查找,若没有找到,就会将请求发送给dns服务器
2、先发送给本地dns服务器,本地的就会在自己的区域里面查找,若找到,根据此记录进行解析,若没有找到,就会在本地的缓存里面查找
3、本地服务器没有找到客户机查询的信息,就会将此请求发送到根域名dns服务器
4、根域名服务器解析客户机请求的根域部分,它把包含的下一级的dns服务器的地址返回到客户机的dns服务器地址
5、客户机的dns服务器根据返回的信息接着访问下一级的dns服务器
6、这样递归的方法一级一级接近查询的目标,最后在有目标域名的服务器上面得到相应的IP信息
7、客户机的本地的dns服务器会将查询结果返回给我们的客户机
8、客户机根据得到的ip信息访问目标主机,完成解析过程
SMTP和pop3
发送时候用SMTP协议,接受用pop3协议
负载均衡 反向代理模式的优点、缺点
代理方式是代理内部网络用户访问internet上服务器的连接请求,客户端必须指定代理服务器,将请求先发给代理服务器,代理服务器发给Internet上的服务器。(并将本来要直接发送到internet上服务器的连接请求发送给代理服务器处理。)隐藏了真实的客户端。
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。隐藏了真实的服务器。
Nginx就是性能非常好的反向代理服务器,用来做负载均衡。
优点:(1)反向代理负载均衡可以将优化的负载均衡策略和代理服务器的高速缓存技术结合在一起,提升静态网页的访问速度,提供有益的性能;
(2)由于网络外部用户不能直接访问真实的服务器,具备额外的安全性(同理,NAT负载均衡技术也有此优点)。
其缺点主要表现在以下两个方面:
(1)反向代理是处于OSI参考模型第七层应用的,所以就必须为每一种应用服务专门开发一个反向代理服务器,这样就限制了反向代理负载均衡技术的应用范围,现在一般都用于对web服务器的负载均衡。
(2)针对每一次代理,代理服务器就必须打开两个连接,一个对外,一个对内,因此在并发连接请求数量非常大的时候,代理服务器的负载也就非常大了,在最后代理服务器本身会成为服务的瓶颈。
一般来讲,可以用它来对连接数量不是特别大,但每次连接都需要消耗大量处理资源的站点进行负载均衡,如search等。
参考:https://blog.youkuaiyun.com/qq_33102061/article/details/81141821
https://blog.youkuaiyun.com/qq_36457148/article/details/81519027