计算机网络应用层

1、应用层协议原理

1.1、应用层协议原理

1.1.1、网络应用层体系结构

两种体系结构:客户—服务器体系结构和p2p体系结构

客户服务器体系结构特点

服务器固定,总是开着接收客户的请求。客户之间不能直接通信,需要通过服务器来通信

p2p体系结构特点

没有固定的服务器,不同客户之间可直接通信,不需要通过服务器。上传数据的主机可成为服务器,下载数据的成为客户。

1.1.2、进程通信

客户和服务器进程

定义:发起通信的成为客户,等待联系的进程称为服务器。

进程和计算机网络之间的接口是套接字

套接字由目的主机ip地址和进程端口号共同组成。

1.1.3、运输层提供的服务分类

可靠性:传输的数据没有丢失,不重复

吞吐量:发送进程向接收进程交付比特的速率

定时:时间敏感性,即实时性

安全性:传输的数据不容易被窃取,篡改

1.1.4、因特网提供的 运输服务有tcp和udp

tcp:面向连接的和可靠的传输服务。

面向连接:每次数据传输前都需要进行三次握手,再传输数据,结束发送需要断开连接。

可靠传输:数据有序,无丢失和冗余

tcp不提供安全性保障,可供过ssl加强tcp来达到安全性保障。

 

udp:无连接的,不可靠的数据传输服务

 

1.2 web应用和http协议

1.2.1、http介绍

端口号默认是80

http定义了web客户端和web服务器相互之间传递报文的方式。http使用的运输层协议是tcp。

http是无状态协议,http服务器不会保存任何关于客户的信息。

1.2.2、持续连接和非持续连接

非持续连接:每个请求/响应都通过一个单独的tcp连接发送,发送完毕后,关闭tcp连接

持续连接:所有的请求/连接都通过相同的tcp连接发送

1.2.3、http报文格式

1.2.3.1请求报文

第一行叫做请求行,后继的为首部行。

请求行有三个字段:请求方法,url,和http版本号。请求方法有get,post,head,put和delete。绝大部分使用get。

使用tcp传输。

通用格式

使用post方法提交表单的时候,表单的内容会显示在实体主体中,get方法报文中的实体主体为空。

1.2.3.2响应报文

响应报文由三部分组成,状态行,首部行和实体行。

状态行包含http版本号,状态码和响应的状态信息。

date表示服务器产生并发送响应报文的时间。

server:表示服务器的类型。

connection:close表示发送完报文后将关闭连接

last-modified:对象最后创建和修改时间

常见的状态码和含义

200:请求成功

301:请求对象已经被转移了

400:请求不能被服务器端理解

404:被请求的文档不在服务器上

505:服务器不支持http协议版本

 

1.2.4 用户和服务器的交互:cookie

用户首次发送请求报文给web服务器,web服务器会为用户生成一个识别码,并在数据库中存储用户的信息。

web服务器在响应报文中包含一个set cookie:识别码,发送给web浏览器。web浏览器在自己的cookie文件中

添加识别码和服务器主机名。之后浏览器每次访问服务器都会带着识别码去访问服务器,服务器会根据识别码

来获取用户的一些信息

1.2.5 web缓存

web缓存器也叫代理服务器

工作原理:

web缓存器有自己的磁盘存储空间,用于存储最近请求过的对象的副本。

浏览器会发送一个请求到web缓存器,缓存器会检查本地是否存储了请求对象,如果有,则直接发送响应

报文,把请求对象发送给浏览器。如果没有,缓存器向服务器发出请求,获取请求对象,发送给浏览器,并在本地

存储请求对象的副本。

缓存器的优点

大大减少请求的响应时间

减少某个机构的通信容量

 

1.3、ftp协议(文件传输协议)

端口号位21,ftp使用两条并行的tcp连接来传输文件,一条传输控制命令,一条传输实际的文件数据

控制命令中包含用户的标识和一些口令等,控制连接贯穿了用户的整个会话期间。

1.4smtp协议

端口号默认是25

alice通过邮件代理(运行在客户端的一些邮箱应用程序,如outlook等),用smtp协议把要发送的邮件传给alice的邮件服务器,

alice的邮件服务器和bob的邮件服务器建立连接,并把邮件传给bob的邮件服务器,bob的邮件代理再通过pop3/imap协议把

邮件从邮件服务器中读取出来。

 

1.5、dns 域名系统

dns运行在udp上,负责把主机名解析为ip地址。默认端口号位53。

dns工作原理概述:

用户主机的应用程序把需要解析的主机名发送给dns客户端,dns客户端向网络中发送一个查询报文,

一段时间后,dns客户端收到解析的ip地址,并返回给主机应用程序。

dns服务器的层次结构

第一层:根dns服务器

第二层:顶级域服务器

第三层:权威dns服务器

另外还有一个本地dns服务器,通常靠近主机。

dns服务器的交互

查询流程:请求主机——本地dns服务器——根dns服务器—顶级域名服务器——

                 权威dns服务器——本地dns服务器——请求主机。

dns的缓存

为了改善时延和网络中的通信量,可采用缓存。即每次dns服务器收到一个dns回答时,会把回答中的信息

存储在本地。当下次有同样的dns请求时,dns服务器可以直接把ip地址返回,不必再去查询其他dns服务器。

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值