计算机网络——网络应用(上)

发布于:2022-12-20 ⋅ 阅读:(1820) ⋅ 点赞:(2)

一、网络应用层内容概述

1、网络应用的体系结构

        (1)客户机/服务器(C/S结构);

        (2)P2P(对等连接结构);

        (3)混合结构;

2、网络应用的服务要求

        (1)可靠性;

        (2)带宽;

        (3)时延;

3、Internet传输层服务模型

        (1)TCP;

        (2)UDP;

4、特定的网络应用及协议

        (1)HTTP;

        (2)SMTP、POP、IMAP;

        (3)DNS;

        (4)P2P引用;

5、Socket编程

        (1)TCP;

        (2)UDP;

二、网络应用的基本原理

1、网络应用的特点及示例介绍

        (1)典型网络应用

                百度、QQ、email、迅雷、支付宝、微信、百度云、淘宝、网易等。

        (2)网络应用的特点

                ①信息的开放性;

                ②信息的互动性;

                ③信息传播的迅速性;

                ④能实现数据信息传输和集中处理;

                ⑤可以共享计算机系统资源;

                ⑥能进行分布式处理;

                ⑦综合信息服务;

2、网络应用体系结构

        (1)客户机/服务器结构(C/S结构)

                ①客户是服务请求方,服务器是服务提供方;

                ②客户机和服务器都是指计算机进程(软件);

                

                 例:

        (2)P2P结构

                ①没有永远在线的服务器;

                ②任意端系统/节点之间可以直接通讯;

                ③节点间歇性接入网络;

                ④节点可能改变IP地址;

        (3)混合结构

                例:

                

3、网络应用进程通信

        (1)进程

                主机上运行的程序。

        (2)同一主机上运行的进程之间的通信方法

                由操作系统提供的进程间的通信进制。

        (3)不同主机上运行的进程的通信方法

                消息交换;

                

         (4)套接字:Socket

                进程之间的通信利用socket发送/接收消息;

                 

                 传输基础设施向进程提供API(传输协议的选择,参数的设置);

        (5)寻址方法

                ①不同主机上的进程通信,每个进程必须拥有标识符(IP地址+端口号);

                ②为主机上每一个需要通信的进程分配一个端口号(注意不要随便用可能冲突);

4、应用层协议

        (1)公开协议

                是由RFC定义的,允许相互操作;

                例:HTTP、SMTP等;

        (2)私有协议

                多数的P2P文件共享应用。

        (3)应用层协议内容

                ①消息的类型:请求消息、相应消息;

                ②消息的语法/格式:消息中的字段,每个字段描述方法;

                ③字段语义:字段中信息的含义;

                ④规则:规定进程何时发送或响应消息,以及如何发送和响应消息;

                注:网络应用需要遵循应用层协议。

5、网络应用需求与传输层服务

        (1)网络应用对传输服务的需求

                ①数据丢失/可靠性

                        例:某些网络应用能够容忍一定会的数据丢失:网络电话;某些网络应用要求

                100%可靠的数据传输,就像文件传输、talnet等;

                ②时间延迟

                        例:有些应用只有在延迟足够低的时候才“有效”,就像网络电话/网络游戏等;

                ③带宽

                        某些应用只有在带宽达到最低要求的时候才“有效”,网络视频等;还有些应用能够

                适应任何带宽——弹性应用:email;

        (2)Internet提供的传输服务

                ①TCP:面向连接(客户机和服务器之间);它提供可靠的传输;还有流量控制的功能

                (即发送方的传输速率不会超过接收方的接收速率);还有拥塞控制(即网络负载过重

                的时候能限制发送发的发送速度);但是,不提供时间、延迟保障,以及不提供最小宽

                带保障。

                ②UDP:无连接,不提供可靠的数据传输,同时也不提供可靠性保障、流量控制、拥塞

                控制、延迟保障、带宽保障等。

三、Web应用

1、Web应用概述

        (1)Web与HTTP

                ①World Wide Web:网页;网页互相包含链接;

                ②网页包含多个对象:

                        对象:HTML、JPEG图片、视频文件、动态脚本等;

                        基本HTML文件:包含对其他对象引用的链接;

                ③对象的寻址

                        URL:统一资源定位器  RFC1738;

                        Scheme://host:port/path;host就是主机的IP,port就是端口号,path就是路径;

                        例: 

 

                        这里最前面的协议名省略了,默认是http;

        (2)HTTP协议概述

                ①万维网遵循HTTP协议(HyperText Transfer Protocol);

                ②C/S结构

                        客户——Browser:请求、接收、展示Web对象;

                        服务器——Web Server:响应客户的请求,发送对象;

                ③HTTP版本

                        1.0:RFC 1945;

                        1.1:RFC 2068;

                ④使用TCP传输服务

                ⑤无状态

                         服务器不维护任何有关客户端过去所发送请求的信息;

                        

2、HTTP连接类型 

        (1)HTTP连接的两个类型

                ①非持久性连接

                        每个TCP对象最多允许传输一个对象;

                        HTTP1.0版本使用非持久性连接;

                ②持久性连接

                        每个TCP连接允许传输多个对象;

                        HTTP1.1版本默认使用持久性连接;

        (2)非持久性连接

                ①每一个链接都需要请求一次,因为由于是非持久性连接,所以每一个连接请求完毕后

                都会关闭连接;

                        例:一个包含多个图片的网页,一开始第一次请求后加载出整个页面的基本内容,

                但是由于网页中有多个图片(即多个链接),因为第一次请求完毕后会关闭连接,所以

                有时候网速比较慢的时候,就可以清楚的看到后面的图片会一个个慢慢出现,因为它需

                要一个个去请求连接;

                ②响应时间分析与建模

                        RTT:

                                从客户端发送一个很小的数据包到服务器并返回所经历的时间;

                        响应时间:

                                发起、建立TCP连接:1个RTT;

                                发送HTTP请求消息到HTTP响应消息的前几个字节到达:1个RTT;

                                响应消息中所含的文件/对象传输时间;

                        Total = 2RTT + 文件发送时间;

                        

                 ③非持久性连接的问题

                        每个对象都需要2个RTT以上的时间;

                        操作系统需要为每个TCP连接开销资源;

                        浏览器会打开多个并行的TCP连接以获取网页所需要的对象,多个并发连接给服务

                器造成很大的影响;

        (3)持久性连接

                ①发送响应后,服务器保持TCP连接的打开;后续的HTTP消息可以通过这个连接连续发

                送;

                ②客户端只有收到前一个请求的响应后才发送新的请求,每个被引用的对象耗时1个

                RTT;

                ③带有流水机制的持久性连接

                        HTTP1.1的默认选项;

                        客户端只要遇到一个引用对象就尽快发出请求;

                        在理想的情况下,收到所有的引用对象只需要耗时约1个RTT;

3、HTTP消息格式 

        (1)HTTP请求消息

                ①类别:请求消息;响应消息;

        (2)请求消息

                ①ASCII:人是直接可读的;

                例:

                ②HTTP请求消息的通用格式:

                 ③上传输入的方法

                        POST:在请求消息的消息体中上传客户端的输入;

                        URL方法(GET方法):输入字段通过request行的URL字段上传;

                注:上传的信息比较少的话,可以使用GET方法,多的话用POST方法。

        (3)方法的类型

                ①HTTP/1.0:GET;POST;

                HEAD:请Server不要将所请求的对象放入响应消息中;(一般用来做测试)

                ②HTTP/1.1:GET、POST、HEAD;

                PUT:将消息体中的文件上传到URL字段所自定的路径;

                DELETE:删除URL字段所指定的文件;

        (4)HTTP响应消息

        (5) HTTP响应状态代码

                

 4、Cookie技术

        (1)应用介绍

                ①某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常

                经过加密);

                ②RFC6265;

        (2)Cookie的组件

                ①HTTP响应消息的cookie头部行;

                ②HTTP请求消息的cookie头部行;

                ③保存在客户端主机上的cookie文件,由浏览器管理;

                ④Web服务器端的后台数据库;

        (3)Cookie的原理

         (4)Cookie的作用

                

        (5)Cookie的问题以及未来的展望

                隐私问题;国际上的互联网巨头们都在琢磨Cookie的替代技术,Cookie差不多快走到头

                了;

5、Web缓存技术(代理服务器请求)

        (1)功能

                在不访问服务器的前提下满足客户端的HTTP请求;

        (2)发明这种技术的原因

                ①缩短客户请求的响应时间;

                ②减少机构/组织的流量开销;

                ③在大范围内(互联网)实现有效的内容分发;

        (3)Web缓存/代理服务器

                ①用户设定浏览器通过缓存进行Web访问;

                ②浏览器向缓存/代理服务器发送所有的HTTP请求;

                注:如果所请求对象在缓存中,则缓存直接返回对象,否则的话缓存服务器向原始服务

                器发送HTTP请求,获取对象,然后返回客户端并保存该对象;

                ③缓存既充当客户端,也充当服务器;一般由ISP架设;

                 

                例:

         (4)Web缓存技术的不足以及改进方法

                ①有时候缓存服务器中的数据和原始服务器中的数据不一致

                解决方法:条件性GET方法;

                ②条件性GET方法基本思想:如果缓存有最新版本,则不需要发送请求对象;

                ③缓存:在HTTP请求消息中声明所持有版本的日期 if-modified-since:<date>;

                ④服务器:如果缓存的版本是最新的,则响应消息中不包含对象;

                ⑤HTTP/1.0 304 Not Modified;

                例:

                

 

四、Email应用

1、Email应用的构成

        (1)Email应用的组成构件

                ①邮件客户端;

                ②邮件服务器;

                ③SMTP协议;

        (2)邮件客户端

                ①读、写Email消息;

                ②与服务器交互,收、发Email消息;

                ③Outlook,Foxmail,Thunderbird;

                ④Web客户端;

        (3)邮件服务器

                ①邮箱:存储发给用户的Email;

                ②消息队列:存储等待发送的Email;

        (4)SMTP协议

                ①邮件服务器之间传递消息所使用的的协议;

                ②客户端:发送消息的服务器;

                ③服务器:接收消息的服务器;

                ④使用TCP进行email消息的可靠传输;端口25;

                ⑤传输过程的三个阶段:握手、消息的传输、关闭;

                ⑥命令/响应模式:命令(ASCII文本),响应(状态代码和语句);

                ⑦Email消息只能包含7位ASCII码;

                ⑧持久性连接;

                ⑨利用CRLF.CRLF来确定消息的结束。

        (5)Email应用示例

        (6)与HTTP对比                 

                 

2、Email消息格式与POP协议 

        (1)Email消息格式

                ①SMTP:email消息的传输/交换协议;

                ②RFC 822:文本消息格式标准:

                

                ③MIME:多媒体邮件扩展RFC 2045,2056;通过在邮件头部增加额外的行为声明MIME

                的内容类型;

                例:

        (2)邮件访问协议 

                 邮件访问协议:从浏览器获取邮件;

                

        (3)POP协议 

                ①认证过程:

                        客户端命令:User(声明用户名);Pass(声明密码);

                        服务器响应:+OK;-ERR;

                ②事务阶段:

                        List:列出消息数量;

                        Retr:用编号获取消息;

                        Dele:删除信息;

                        Quit:退出;

                ③“下载并删除”模式

                        用户如果换了客户端软件,无法重读该邮件;

                ④“下载并保持”模式

                        不同客户端都可以保留消息的拷贝;

                ⑤POP3协议是无状态的;

        (4)IMAP协议(有状态协议)

                ①所有消息统一保存在一个地方:服务器;

                ②允许用户利用文件夹组织消息;

                ③IMAP支持跨会话(session)用户状态:文件夹的名字;文件夹与消息ID之间的映射

                等;

五、DNS应用     

1、DNS概述

        (1)DNS解决的问题     

                ①Internet上主机/路由器的识别问题:

                        IP地址(网络内部真正用作识别);

                        域名(人使用);

        (2)IP地址和域名的映射(域名解析系统DNS)

                ①多层命名服务器构成的分布式数据库;

                ②应用层协议:完成名字的解析(Internet的核心功能就是用应用层协议实现;网络边界

                很复杂);

        (3)DNS服务

                ①域名向IP地址的翻译;

                ②主机别名;

                ③邮件服务器别名;

                ④负载均衡:Web服务器;

        (4)不使用集中式DNS的原因

                ①单点失败问题;

                ②流量开销问题;

                ③使用点距离远近的问题;

                ④维护性问题;

                所以DNS是不可伸缩的;

        (5)DNS分布式层次数据库

                ①第一层是根服务器,第二层是顶级域名服务器,第三层是权威域名服务器。

                ②图例:

                例:

        (6)DNS根域名服务器

                ①本地域名解析服务器无法解析域名的时候,访问根域名服务器;

                ②根域名服务器如果不知道映射,就会访问权威域名服务器,然后获得映射之后向本地

                域名服务器返回映射;

        (7)TLD和权威域名解析服务器

                ①顶级域名服务器(TLD):

                        负责com、net、org、edu等顶级域名和国家顶级域名,例如cn、uk、fr等;

                        组织维护关系(例):

                                Network Solution维护com顶级域名服务器;

                                Educause维护edu顶级域名服务器;

                ②权威域名服务器:

                        组织的域名解析服务器,提供组织内部服务器的解析服务;

                        组织负责维护或服务提供商负责维护;

        (8)本地域名解析服务器

                ①不严格属于层级体系;

                ②每个ISP有一个本地域名解析服务器(是默认域名解析服务器);

                ③当主机进行DNS查询时,查询被发送到本地域名服务器(作为代理,将查询转发给

                (层级式)域名解析服务系统);

                ④迭代查询:

                ⑤递归查询:

         (9)DNS记录缓存和更新

                ①只要域名解析服务器获得域名——IP映射,即缓存这一映射(一段时间过后,缓存条

                目失效(删除);本地域名服务器一般会缓存顶级域名服务器的映射,因此根域名服务

                器不经常被访问);

                ②记录的更新/通知机制

2、DNS记录和消息 

        (1)DNS记录(资源记录)

                

                ①Type=A

                        Name:主机域名;

                        Value:IP地址;

                ②Type=NS

                        Name:域(edu.cn);

                        Value:该域权威域名解析服务器的主机域名;

                ③Type=CNAME

                        Name:某一真实域名的别名(例:www.ibm.comservereast.backup2.ibm.com

                ④Type=MX

                        Value是与Name相对应的邮件服务器;

        (2)DNS协议与消息

                ①DNS协议:

                        查询和回复(消息);

                        消息格式相同;

                ②消息头部:

                        Identification:16位查询编号,回复使用相同的编号;

                        Flags:查询或回复;期望递归;递归可用;权威回答;

 3、如何注册域名


网站公告

今日签到

点亮在社区的每一天
去签到