计算机网络概述-应用层

1 网络应用体系结构

客户机/服务器结构

组件对比
服务器提供服务永久访问地址通过大量服务器扩展
客户机使用服务间歇性接入网络,可以动态IP不与其他客户机通信

P2P结构

相当于去掉了C/S结构中处在集中位置的服务器,任意节点间可以通讯。
优点是高度可伸缩,缺点是难于管理。

混合结构

充分利用以上两种优点,如Napster应用。

2 网络应用进程通信和服务需求

进程通信

进程是主机上运行的程序,同一台主机上进程间可以依靠操作系统来完成,而不同主机间如何保证通信,需要采用交换机制,利用Socket实现消息发送与接收。
网络中的主机通过IP地址寻找,
而主机中的进程通过端口号寻找,
IP地址+端口(Port)构成了进程的标识符。
为了保证消息能够顺利被传递,网络应用需遵循应用层协议,作为协议,则应具备三要素即语法、语义和时序。

服务需求

描述计算机网络性能指标有速率、带宽、延迟、数据丢包率、吞吐量。
网络应用需要可靠和有效的传输,因此数据丢失、延迟、带宽是主要需求。不同的应用根据需求存在差别。比如邮件不允许存在数据丢失,而观看网络视频可以容忍丢失。
典型的网络传输服务包括TCP和UDP。
TCP面向连接、可靠。
UDP无连接、不可靠。

3 web应用

对象寻址

主机通过URL找到网页对象,可以理解成对象在整个网络中的名字。
URL(Uniform ResoureLocator):统一资源定位器。
URL表示示例:Scheme://host:port/path。

万维网

网络结构:C/S
遵循协议:HTTP(版本1.0和1.1)
传输服务:TCP
传输过程:

1服务器在80端口等待客户的请求
2浏览器发起到服务器的TCP连接(创建套接字Socket)
3服务器接受来自浏览器的TCP连接
4浏览器(HTTP客户端)与Web服务器(HTTP服务器)交换HTTP消息
5关闭TCP连接

连接:持久性连接和非持久连接,分别对应版本1.0和1.1。

项目特点请求消息方法
非持久连接每个请求对象需要2个RTT,操作系统需要为每个TCP连接开销资源(overhead)GET、POST、HEAD
持久连接每个被引用对象(无流水机制)或收到所有引用对象(带流水机制)需要1个RTTGET、POST、HEAD、PUT、DELETE

注释:RTT(Round Trip Time):从客户端发送一个很小的数据包到服务器并返回所经历的时间。HTTP协议为请求/响应模式,规定了请求消息和响应消息,具体的消息结构可以结合python的request方法查看。
响应消息中第一行为响应状态,包括200、301、400、404(常见,NOT found) 、505。

Cookie

某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。
常用于用户认证、网购的购物车、用户推荐等,同时带来的必然是隐私问题。
原理如图,服务器端通过响应消息将cookie ID发送给第一次建立连接的客户端,客户端将cookieID加入到请求消息中,Web服务器端将此ID下的特定数据进行保存,同时Cookie文件存储在客户端本地。
在这里插入图片描述

缓存/代理服务器

一般由ISP(Internet服务提供商)架设。
功能:在不访问服务器的前提下满足客户端的HTTP请求。
优势:缩短客户请求的响应时间,减少机构/组织的流量,在大范围内(Internet)实现有效的内容分发。

4 Email应用

示意图:
在这里插入图片描述
组件:邮件客户端、邮件服务器、邮件应用协议
邮件发送、邮件服务器之间遵循协议:SMTP、MIME
邮件访问遵循协议:POP、IMAP、HTTP
网络结构:C/S
传输服务:TCP
传输过程的三个阶段:握手、消息传输、关闭。
交互模式:命令/响应
在这里插入图片描述
POP协议包括认证和事务阶段,具有下载删除和下载保持两种模式(即下载邮件后从服务器上是否清除);IMAP所有消息统一保存在服务器,具有更多功能,能够操作邮件服务器上的消息。HTTP主要应用于网页上登录的邮箱。

5 DNS应用

为了方便理解我们在网络应用中采用域名来标识主机,这就会造成域名和主机IP地址的对应问题。DNS域名解析系统,就是用来解决IP和域名的映射。
DNS是Internet的核心服务,但是仍处在应用层,目的是尽可能简化Internet核心结构。
DNS采用分层式结构,如下图,从上到下可以分为根域名服务器、顶级域名服务器、权威域名服务器。
在这里插入图片描述
Q:为什么不用集中式?
A:集中式结构存在单点失败问题、流量问题、距离问题、维护问题,即不可伸缩。
交互模式:查询/回复
查询方式:迭代式和递归式。
假设本地域名服务器中没有缓存需要查询的地址,两种过程如下图。
迭代式查询
递归式
本地域名服务器并不严格属于层级体系,每个ISP有一个本地域名服务器,迭代方法中查询一直由本地域名服务器发起,递归方法中本地域名服务器只向根域名服务器询问一次,然后通过层层递归得到需要的结果。
DNS记录格式(name, value, type, ttl)
其中type包括A、NS、CNAME、MX,每种都有不同的用途。
在这里插入图片描述

6 P2P应用

C/S结构下随着请求副本的增加,消耗时间线性增加,而P2P变化较平缓。
在这里插入图片描述
文件分发:BitTorrent
分发方法:将文件分成固定大小的Chunk,节点加入到Torrent(交换同一个文件的节点组),节点在下载的同时,也要上传给其他节点,一旦节点完成文件下载,可以选择留下或离开。
P2P索引技术:

集中式索引:内容和文件传输是分布式的,但是内容定位是高度集中式,所以存在单点失效、性能瓶颈
洪泛式索引:完全分布式架,洪泛查询
层次式覆盖网络:介于集中式和洪泛式之间,节点和超级节点间采用集中式,超级节点之间采用洪泛式,经典应用Skype。

参考自中国大学MOOC平台。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值