计算机网络第二章应用层

网络应用的体系结构
C/S结构 如web
p2p结构 如文件共享
混和结构

在这里插入图片描述

不同主机上的进程通信

消息交换

进程间通信用套接字发送接收消息。
传输基础设施向进程提供API=socket
端口号是用来标识进程的,为每一个需要通信的进程分配一个端口号

网络应用需要遵循应用层协议
公开协议:又RFC(request for comments)定义,允许互操作,如HTTP,SMTP
私有协议。多数p2p文件共享应用

网络应用对传输服务的需求,
数据丢失/可靠性
某些网络应用能够容忍一定的数据丢失:网络点话,视频
某些网络要求100%可靠的数据传输:文件传输
时间/延迟
有些应用在延迟足够低才有效例如游戏
带宽
某些应用只有在带宽达到最低要求时才有效例如看视频带宽不够会很卡丢帧
某些应用能够使用任何带宽:email 或者下载
在这里插入图片描述
web与HTTP

在这里插入图片描述
对象的寻址:
URL(Uniform resource locator):统一资源定位器
格式
scheme(协议)://host:port/path
如 www.someschool.edu/somedept/pic。gif
| host name | path name |

超文本传输协议
http htpertext transfer protocol
传输层使用TCP传输协议
在这里插入图片描述
采用无状态的协议,服务器不维护任何有关客户端发过去的请求信息 例如两分钟前请求新浪主页,两分钟后在请求,如果页面没发生变化则不传输新浪主页,这种事不会发生。
因为有状态的协议更复杂:需要维护状态(历史信息),如果客户服务器失效,会产生状态的不一致,解决这种不一致代价高。

HTTP两种连接方式

非持久性连接
每个TCP连接最多允许传输一个对象,(即发送完一个对象之后就会关闭TCP连接)
HTTP1.0版本使用非持久性连接


在这里插入图片描述
在这里插入图片描述

RTT(Round trip TIMe)
从客户端发送一个很小的数据包到服务器并返回所经历的时间
响应时间(response time):
发起建立连接,1个RTT
发送http请求消息到http响应消息的前几个字节到达:1个RTT
响应消息中所含的文件/对象传输时间
总时间为2RTT+文件发送时间
持久性连接
每个TCP连接允许多个传输对象
HTTP1.1版本默认使用持久性连接
发送响应后,服务器保持TCP连接的打开,后续的http消息可以通过这个连接发送

无流水的持久性连接:客户端只有收到一个响应后才发送新的请求。每个被引用的对象耗时一个RTT

带有流水机制的持久性连接
HTTP1.1的默认铉锡
客户端只要遇到一个引用对象就尽快发出请求
理想情况下,收到所有的引用对象只需耗时约1个RTT

HTTP消息格式

HTTP协议有两类消息
请求消息(request)
响应消息(response)
请求消息
ASCII码编写:人直接可读
在这里插入图片描述
第一行请求行(请求命令:GET POST ,HEAD。+URL+版本 )
二到五行headr lines 第三行是浏览器类型 第四行表示连接
在这里插入图片描述
http上传输入方法的类型
在这里插入图片描述
post方法,网页经常需要填写表格,在请求消息的消息体中上传客户端的输入(例如登录账号密码)

http 的响应消息
在这里插入图片描述
在这里插入图片描述

cookie技术

http协议无状态,很多应用需要服务器掌握客户端的状态,如网上购物。

cookie:某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端的数据(通常经过加密) RFC为6265
(Web三大概念:cookie,session,application

Session:记录一系列状态

Session与cookie功能效果相同。Session与Cookie的区别在于Session是记录在服务端的,而Cookie是记录在客户端的。)
在这里插入图片描述
WEB缓存/代理服务器技术
在不访问服务器的前提下满足客户端的HTTP请求(例如在公司有代理服务器技术,则可直接访问某网页。实际并没有跟其通信)
优点:缩短客户请求的响应实际 减少机构/组织的流量。在大范围内实现有效的内容分发
在这里插入图片描述
条件性GET
在这里插入图片描述

email应用概述

在这里插入图片描述
在这里插入图片描述
SMTP 协议:RFC2821
使用TCP进行email消息的可靠传输。端口25
在这里插入图片描述

email消息格式:多媒体扩展
MIME:多媒体邮件扩展RFC2045,2056
通过在邮件头部增加额外的行以声明MIME的内容类型

邮件访问协议:从服务器获取邮件
POP:RFC1939
IMAP:RF1730
HTTP:163,QQ等

DNS概述
domain Name System
解决了internet上主机/路由器的识别问题
IP地址
域名:www.baidu.com
域名解析系统DNS
多层命名服务器构成的分布式数据库
应用层协议:完成名字的解析:internet核心功能,应用层协议实现

DNS服务:1、域名向IP地址的翻译。2、主机别名 。3、邮件服务器别名。4、负载均衡:web服务器(例:一个大型门户网站,对外提供web应用需要特别多的服务器来做。当DNS做域名向IP地址翻译时,可以提供多个映射,多个服务器地址。也可以打乱顺序,轮流给服务器分配用户)
DNS采用分布式层次式数据库
在这里插入图片描述

DNS根域名服务器

本地域名解析服务器无法解析域名时,访问根域名服务器
如果根域名服务器不知道用设,访问权威域名服务器,获得映射,向本地域名服务器返回映射。
在这里插入图片描述
本地域名服务器
不严格属于层级体系。
每个ISP有一个本地域名服务器:默认域名解析服务器
当主机进行DNS查询时,查询被发送到本地域名服务器。作为代理,将查询转发给层级式域名解析服务器

查询方式,递归查询(将任务交给下一个服务器),迭代查询(别的服务器会给他另外的服务器地址。)

DNS的缓存与更新
在这里插入图片描述

p2p结构
在这里插入图片描述
BitTorrent下载(迅雷)
p2p索引技术
在这里插入图片描述
在这里插入图片描述
有一个中心索引服务器,新加入的会从服务器中注册信息,IP地址等,然后两个端要通信会从服务器获取地址

洪泛式查询:Query flood

在这里插入图片描述
层次式覆盖网络
在这里插入图片描述

socket 网络编程—应用编程接口(API)

在这里插入图片描述
API就是应用进程的控制权和操作系统的控制权进行转换的一个系统调用接口
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4种基本类型服务器

循环无连接服务器
UDP。无连接服务器使用sendto,调用recvfrom接收数据时自动提取客户端点地址
循环面向连接服务器
在这里插入图片描述
并发无连接服务器
在这里插入图片描述
并发面向连接服务器
在这里插入图片描述

发布了33 篇原创文章 · 获赞 4 · 访问量 2613

猜你喜欢

转载自blog.csdn.net/CNMNMSL1/article/details/104728614