网络分析和总结.docx
第一章:延迟(Delay)的分类: 处理延迟(ProCeSSingDelay):路由器检查包头并决定将包发送至何处所需的时间。 排队延迟(QueuingDelay):数据包在路由器缓冲区中等待传输的时间。 传输延迟(TransniissionDelay):数据包被路由器送进物理线路所需的时间。 传播延迟(ProPagationDelay):数据包从物理线路的开头到达下一结点所需的时间。传输强度(Trafficintensity):单位时间内到达路由器的数据大小与路由器传输速率的比值。传输强度不应大于U包丢失(PacketLoss):当路由器的传输强度大于1时,其缓冲区必已被填满。此时,路由器将丢弃新到达的任何包。五层互联网协议栈:应用层,传输层,网络层,链路层,物理层消息(Message):应用层传输的数据包,传给传输层。段(Segment):传输层传输的数据包,封装传输层的头信息和应用层的消息,传给网络层。数据报文(Datagram):网络层传输的数据包,封装网络层的头信息和传输层的段,传给链路层。帧(Frame):链路层传输的数据包,封装链路层的头信息和网络层的数据报文,传给物理层。应用层协议:HTTP,SMTP,FTP,DNS,P2P,DHCP传输层协议:TCP,UDP网络层协议:IP,路由链路层协议:以太网,WiFi,PPP七层OSl模型:应用层,表现层,会话层,传输层,网络层,链路层,物理层第二章:应用层应用的架构: 客户端-服务器架构在一次通信会话的上下文环境中,发起通信的进程被称为客户端;等待被通信、进而开始会话的进程被称为服务器。 点对点架构套接字:进程通过网络发送、接收消息的软件接口。是一个终端内应用层和传输层之间的接口。传输层向应用层提供的服务: 可靠的数据传输 保证最低传输速率 实时性保证 安全性TCP服务:提供面向连接的服务(握手)、可靠数据传输服务、拥塞控制机制。UDP服务:提供没有连接、没有控制、轻量的不可靠数据传输服务。目前互联网传输层服务均不能提供最低传输速率和实时性的保证。一、超文本传输协议(HTTP)HTTP使用TCP协议作为传输层协议。 HTTP协议首先向服务器在80端口发起TCP连接;一旦连接建立,浏览器与服务器通过TCP协议套接字通信。客户端将HTTP请求(request)消息发送到套接字接口,从套接字接口接受HTTP响应(response)o HTTP是“无状态”的协议,HTTP服务器不维护客户端的任何信息。 HTTP协议默认采用持久连接:一次请求/响应过程结束后,客户端与服务器的TCP连接不会被立刻关闭。HTTP协议可以改用非持久连接。1.HTTP消息格式HTTP消息有两种类型:请求消息和响应消息。HTTP消息使用ASCII文本编写。请求消息请求行(RcquestLine):请求消息的第一行。请求行由3部分组成:方法域、URL域、HTTP版本域。 头行(HeaderLine):请求消息第二行至一个空白行之间的行。头行的格式为:域名:值XCRLF一些常见的头行的域如下:Host:指定了请求对象的主机的地址。Connection:指定了是否使用持久连接。User-agent:指定了用户的浏览器类型。 实体部分(EntityBody):头行的末尾空行后的剩余行。使用GET方法的请求,实体部分为空;使用POST方法的请求,表单的参数被放置在实体部分。HEAD方法:服务器返回的消息中不包含请求的对象。PUT方法:允许客户端向服务器上传对象。DELETE方法:允许客户端删除服务器上的对象。响应消息状态行(StatUSLine):响应消息的第一行。状态行由3部分组成:版本号、状态码、对应状态码的附加信息。常见的状态码和对应的附加信息有:2000K:请求已完成,需要的信息已经在响应中。301MovedPermanently:请求的对象已经被永久移除,新的URL在响应消息的Location头行指定。400BadRequest:服务器无法理解请求。505HTTPVersiOnNotSupported:服务器不支持该请求的HTTP协议版本。 头行:响应消息第二行至一个空白行之间的行。格式与请求消息相同。常见的响应消息的头行域有:Date:指定响应消息是何时被服务器创建、发送的。Server:指定服务器的信息。User-agent:与收到的请求中的相同域保持一致。1.ast-Modified:指定请求的对象被创建或是最后被修改的时间。Content-Length:指定请求对象的大小(以字节为单位)。Content-Type:指定请求对象的类型。 实体部分:头行的末尾空行后的剩余行。请求的对象通常存放于此。CookiesHTTP服务器是无状态的,HTTP使用CoOkieS来跟踪用户。 在response头中,加入Set-cookie域,来设置用户浏览器的Cookieso 在request头中,加入CoOkie域,来向服务器发送COokies。2.代理服务器代理服务器在客户端和服务器中间扮演中介的角色。(1)浏览器先与代理服务器建立TCP连接,向代理A艮务器发送HTTP请求。代理服务器检查自己是否保存有该请求所需的对象;如果有,则直接把该对象与HTTP响应打包直接发回客户端浏览器。如果代理服务器没有保存所需的对象,代理服务器与源服务器建立TCP连接,完成完整的HTTP请求、响应过程,将获取的对象保存在代理服务器中,并发回客户端浏览器。代理服务器可作为Web缓存,极大减轻带宽压力。条件(Conditional)GET:缓存用于检测其保存的对象是否是最新的机制。代理服务器在接收浏览器的请求时,向源服务器发送一条件GET:在请求头中,增加一If-Modified-Since域,填入代理服务器在以前请求同一对象时,响应中的Last-Modified域的内容;如果该对象没有变化,源服务器发回一响应信息,响应代码为304,附加信息为NOtModified(并不会重复发送一次该对象)。二、文件传输协议(FTP)FTP是基于TCP的文件传输协议。 FTP使用两个并行的TCP连接传输文件,其中一个是控制连接,一个是数据连接(HTTP则只使用一个,请求与响应消息均与实体部分混在一起组成一个HTTP消息发送)。因为这种特性,FTP的控制信息被称为“带外(OUt-of-band)控制信息”(HTTP的请求、响应头则称为“带内(in-band)控制信息)。控制连接用于在两个主机间传输控制信息,如用户身份、密码、命令等;数据连接用于传输实际的文件。 用户向远程主机发起FTP会话时,FTP客户端与服务器在21端口建立控制TCP连接,然后发送用户身份验证信息。客户端还通过控制连接发送文件操作命令。当服务器收到文件传输指令后,服务器向客户端发起数据TCP连接。FTP通过数据连接发送一个文件后就关掉该连接。如果有多个文件要发送,则数据连接会被打开、关闭多次。 FTP是有状态的协议。FTP服务器要保持客户端的状态:服务器要把控制连接与一个特定的用户关联起来,并持续跟踪用户的当前目录和用户关心的远程目录树。 FTP命令和答复:控制连接使用7比特的ASCIl码编写。每一个命令使用CRLF隔开,命令由四个大写ASCII码构成。常见的FTP命令有: USER用户名:客户端发送用户身份至服务器。 PASS空码:客户端发送密码至服务器。 1.IST:向服务器请求当前远程目录的所有文件(文件列表从一个新的数据连接发回)。 RETR文件名:客户端从远程主机当前目录获取一个文件。 STOR&件名:客户端发送一个文件到远程主机的当前目录。FTP答复由服务器发给客户端。答复由3位数字和一个可选的附加消息组成。常见的FTP答复有: 331UsernameOK,passwordrequired 125Dataconnectionalreadyopen;transferstarting 425Can,topendataconnection 452Errorwritingfi1e三、简单邮件传输协议(SMTP)SMTP协议使用TCP协议作为传输层协议。SMTP协议是用于发送邮件的协议。 SMTP协议比HTTP协议出现得早得多。由于历史遗留原因,SMTP协议的主体部分必须使用7比特的ASCIl编码。 SMTP协议不使用任何中间服务器中转。1. SMTP协议的工作过程(1)发送端构造SMTP消息;消息包含目标邮件地址以及邮件主题、主体。发送端将该消息发送至邮件服务器,邮件服务器将该消息放于消息队列中。邮件服务器与目标邮件服务器在25端口建立一TCP连接。(4)邮件服务器与目标邮件服务器开始应用层握手。握手后,该消息通过该TCP连接发送至目标邮件服务器。(6)目标邮件服务器将该消息放入收件人的信箱。2. 客户端常使用的SMTP命令 HELO:尝试取得服务器的回应。 MAILFROM:<addr>:指定发送者的邮件地址。 RCPTTO:<addr>:指定接收者的邮件地址。 DATA:指定邮件内容。 <CRLT>.<CRLT>(独立的一行,该行内只含有一个点):标识邮件内容的结束。 QUIT:关闭连接。3. SMTP消息头SMTP消息头是邮件内容的一部分,其中的内容不参与SMTP握手过程。常见的SMTP消息头有如下域: From:发送者邮件地址。 To:接收者邮件地址。 Subject:邮件主题。四、邮件访问协议邮件访问协议用于从邮件服务器获取指定账户的收件箱中的邮件。1. 邮局协议,版本号3(POP3)POP3协议使用TCP协议作为传输层协议。客户端与服务器在110端口建立TCP连接。POP3协议会保持当前会话的状态,但不保持跨会话的状态。 POP3协议的3个阶段:(1)认证:客户端向服务器发送用户名、密码。会话(Transaction):客户端接收邮件。在该过程中,客户端可以选择标记需要删除的邮件。更新:客户端关闭连接后,服务器删除客户端标记的邮件。 POP3协议的命令: user用户名、pass密码:用于认证阶段。 list:用于会话阶段,获取邮件列表。 retrNo.:用于会话阶段,获取该邮件的内容。 deleNo.:用于会话阶段,标记该邮件需要删除。 quit:关闭连接。 POP3协议的消息: 认证阶段响应正确的命令:+OK附加消息 认证阶段响应错误的命令:-ERR 会话阶段响应list:每行代表一封邮件,格式为编号邮件大小,以CRLT.CRLT标记结束。 会话阶段响应retr:直接返回邮件内容,以CRLT.CRLT标记结束。 会话阶段响应dele:没有任何响应信息。 会话阶段响应quit:+OKPOP3serversigningoff2.IMAPIMAP协议可以在服务器维护用户的邮件目录。IMAP比POP3协议明显复杂。IMAP协议提供了可以创建目录、删除目录、移动邮件的命令。IMAP协议维持踏会话的状态。IMAP协议允许客户端获取邮件的一部分。五、互联网目录服务:域名解析服务(DNS)DNS是通过DNS服务器实现的分布式数据库;是主机用于查询这个分布式数据库的应用