计算机网络之应用层

两个位于因特网上的进程通过socket通信;

socket是建立网络应用程序的可编程接口(API)

socket是应用程序进程和运输层协议的接口;

 

根据程序不同的用途选择不同的运输层协议,TCP or  UDP;

可以从4个方面考虑:

1.可靠数据传输 交易/视频

2.吞吐量 网络电话/Email

3.定时 游戏/Email

4.安全性

 

安全性:

TCP和UDP都不能保证安全性,二者都是明文发送。现在出现了SSL,可以对TCP进行加密。SSL不是传输协议,是在应用层的API,用来加密数据。SSL加密后传给TCP;

 

经典的应用层协议:

HTTP:用于Web;HTTP是一个无状态协议;

非持续性连接:每次连接都使用单独的TCP;

持续性连接:服务器响应后保持TCP连接打开,直到超时;

HTTP请求报文:request head,分为状态行,首部行,实体体,下同;

HTTP响应报文:response head;

cookies:使服务器可以对客户端进行标识;

web缓存器(代理服务器):减少客户请求的响应时间;既是服务器又是客户;减少流量;

FTP:

  使用了两个并行的TCP连接,一个控制连接,一个数据链接,FTP客户连接服务器的21号端口,建立一条控制TCP  连接,然后服务器通过20号端口与客户建立一条数据TCP连接,数据TCP连接在传输完一个文件后关闭,传输第二个文件需重开数据TCP连接;

      SMTP:用于Email中;

                  用户代理;

                  邮件服务器;

                  邮件访问协议;

                  基于web的电子邮件;

DNS:一个由分层的DNS服务器实现的分布式数据库;

           一个使得主机能够查询分布式数据库的应用层协议;

          DNS协议运行在UDP上,使用53号端口;

         DNS通常被其他应用层协议使用,将用户提供的主机名解析为IP地址;

                主机别名;邮件服务器别名;负载分配

                DNS使用了大量的DNS服务器,大致分为3类:

1.根DNS服务器;

2.顶级域DNS服务器;

3.权威DNS服务器;

另还有本地DNS服务器;

DNS查找过程:

                           首先与根DNS服务器之一联系,根据返回的信息与下一级DNS服务器联系,直到获得IP地址。

DNS缓存:

为了改善延时性能并减少DNS报文数量。本地DNS服务器可以缓存任何信息,下次遇到相同的请求可以直接返回IP,缓存在一段时间后将丢弃。

P2P:

P2P体系结构的扩展性;

BitTorrent是一种用于文件分发的流行P2P协议;

分布式散列表(DHT):分布式、P2P版本的数据库;

posted @ 2018-08-31 13:06  bosslv  阅读(286)  评论(0编辑  收藏  举报