计算机网络之应用层

博客介绍了因特网上进程通过socket通信,socket是网络应用程序可编程接口,还说明了根据程序用途选择TCP或UDP协议的考量因素。同时介绍了SSL加密,以及HTTP、FTP、SMTP、DNS等经典应用层协议,还提及P2P体系结构和分布式散列表。

两个位于因特网上的进程通过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版本的数据库;

转载于:https://www.cnblogs.com/bosslv/p/9565257.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值