导图社区 《计算机网络》第6章:应用层
计算机网络第7版第6章:应用层思维导图详细版。
编辑于2020-09-18 21:44:04第6章 应用层
6.1 域名系统DNS
1、域名系统概述
概述:互联网使用的命名系统
运输层协议:UDP
域名系统的属性:联机的、分布式、数据库系统、层次的
解析过程:主机-解析程序-成为DNS服务器的客户-报文中带有解析的域名-服务器响应,返回带有解析后的IP地址给主机
2、互联网的域名结构
层次结构:顶级域、二级域、三级域等等
常用域名形式:三级域名.二级域名.顶级域名
注意一:最左边的是顶级域名,域名层次从左到右依次降低
注意二:不区分大小写
3、域名服务器
作用:实现域名系统,以及域名解析
域名服务器的层次
根域名服务器:最高层次的域名服务器,知道所有的顶级域名和IP的地址
顶级域名服务:负责管理一个顶级域名的下的二级域名
权限域名服务器:负责管理一个区的域名(三级域名、四级域名等)
本地域名服务器:用来接受本地主机发出的域名解析要求,能够对所属对同一个本地ISP的主机进行解析
两种查询方式:递归查询、迭代查询
都需要使用8个UDP数据报
6.2 文件传送协议
1、FTP概述
文件共享协议分类
复制类型
特点:要对一个文件进行操作,只是操作其副本,操作结束后,用副本替换原文件
举例:FTP,TFTP
联机访问类型
特点:操作系统直接对远地共享文件进行访问,如同在本地系统上操作
举例:NFS
2、FTP的基本工作原理
基本知识
运输层协议:TCP
工作方式:客户服务器C/S方式
服务器熟知端口号:21
工作情况
客户端与服务器建立并行连接
1、控制进程创建的TCP控制连接
2、数据传送进程创建的TCP数据连接
3、简单文件传送协议TFTP
基本知识
运输层协议:UDP
工作方式:客户服务器C/S方式
服务器熟知端口号:69
功能(由于使用UDP数据报相对简单):只能够支持文件传输
6.3 远程终端协议TELNET
基本知识
作用:用户在其所在地可以远地连接到另一个主机上
运输层的协议:TCP
6.4 万维网WWW
1、万维网概述
属性:联机的、分布式的、大规模的、超媒体的系统(信息存储所)
联机的:在互联网上访问存储万维文档
分布式的:万维网的资源被分布在整个互联网上的站点
超媒体的:指超媒体文档拥有图形、视频、音乐、文本等形式资源
必须解决的问题
1、如何标记分布在整个互联网上的文档
统一资源定位符URL
2、如何实现万维网上的各种连接
超文本传输协议HTTP
3、如何创建万维网文档
超文本标记语言HTML
4、如何方便用户使用
工具:浏览器、搜索引擎
2、统一资源定位符URL
统一资源定位符URL:就是用来定位从互联网得到的资源的位置和访问资源的方法
URL其实就是常说的网址
访问资源的方法:是因为其指定了获取资源的协议和路径
URL形式:<协议>://<主机>:<端口>/<路径>
举例:使用HTTP的URL
访问资源的协议是:HTTP
访问资源的主机是:www.Tsingtao.edu.cn
协议的端口是:80
3、超文本传送协议HTTP
运输层协议:TCP
属性:无状态的
无状态的:指服务器不会记录关于客户的信息,简化了服务器的设计
HTTP/1.0
工作过程:请求HTTP报文发生在第三次报文握手,服务器响应后将HTTP响应报文在第四次握手中传输给客户端
两种报文:请求报文、响应报文
缺点:每次请求一个文档就要两倍的Rtt开销(一个RTT=两次报文握手)
HTTP/1.1
工作方式:持续连接,即在发送第一次文档后,继续保持连接,如果接下来还要在该服务器上进行传输,不需要每次都进行前两次的报文握手
HTTP的报文结构
1、请求报文
开始行称为请求行:操作方法+URL+HTTP版本
2、响应报文
开始行称为响应行:HTTP版本+状态码+简单短语
看书,简单理解各个字段
4、万维网的文档
认识HTML是一种语言,用来编程制作万维网的页面
5、万维网的信息检索系统
1、全文检索搜索引擎
特点:集中了互联网上的个网站的信息,然后收集起来,建立一个很大的在线索引数据库供用户查询
举例:百度、必应、谷歌
2、分类目录搜索引擎
特点:需要网站自行提交网站填写的关键信息等等,然后输入到建立的分类目录数据库中
举例:网易、搜狐
6.5 电子邮件
1、电子邮件概述
运输层协议:TCP
电子邮件最重要的两个标准:简单邮件传送协议SMTP与互联网文本报文格式
电子邮件系统的重要组件
1、用户代理:即一个程序和用户进行交互,能够撰写、显示、处理和通信电子邮件
2、邮件服务器:专门用来接受和发送邮件(接收方、发送方邮件服务器
特点
24H不停工作
能够存放邮件,等到对方来接受
同时给客户反馈邮件的接受结果
3、协议
SMTP协议:用户代理、邮件服务器之间或服务器与服务器之间的传送邮件的协议
POP协议:用于收件用户代理向接收方邮件服务器读取邮件的协议
工作流程
2、简单邮件传送协议SMTP
SMTP协议特点
规定了SMTP程序之间的通信方式
规定了14条命令(字母组成)和21种响应信息(开头是3个数字)
下面对关键的3个阶段,笼统介绍一些重要的命令与响应信息
1、连接建立
SMTP客户程序扫描到发送方邮件服务器内有邮件,就会与接收方邮件服务器请求建立连接,建立成功后,接收方发送“220 Service Ready”信息
然后SMTP客户向服务器发送HELO命令,附上主机名
SMTP服务器若有能力接收邮件,回答“250 OK”,不能就回答“421 Service not available”
2、邮件传送
传送是从MAIL命令开始,并附上发件人地址
若服务器已准备好接收邮件,则回答“250 OK”,否则指出原因451\452\500等等
RCPT命令用于弄清对方是否做好接受的准备,然后才发送邮件
最后是,DATA命令开始传送邮件的内容
3、连接释放
MSTP客服端发送QUIT命令
MSTP服务器返回”221 (关闭服务)“
3、电子邮件的信息格式
组成
信封
系统自动给信封添加内容,电子邮件的传输也依靠信封的信息来传输
内容
首部:包括一些关键字,如邮件主题、地址、日期、时间等的
主题:用户程序自行编写
4、邮件读取协议
邮件读取协议有两个
POP3
工作方式:C/S
允许位置:接收方用户代理、接收方的邮件服务器都必须有POP3协议
优点:简单
缺点:用户从POP3服务器上读取邮件之后,POP3服务器就会将邮件删除
网际报文存取协议IMAP
工作方式:C/S
协议属性:联机的
联机的:邮件通过操作系统接入互联网远程在服务器上操作,操作起来就和在本地主机操作一样灵活
运行位置:接收方用户代理、接受方邮件服务器都存在IMAP
优点:无论在哪里,使用什么计算机,都可以上网到对应的服务器上查看邮件
缺点:如果没有上网,且没有下载邮件,就无法进行操作,协议上比POP3复杂
同时相比于POP3的增加功能:拒绝垃圾文件夹和垃圾广告邮件,能够保持邮箱和客服端更新同步
5、基于万维网的电子邮件
6、通用互联网邮件扩充MIME
SMTP的缺点
不能传送二进制文件
仅限于传送7位ASCAII码
没有完全按照互联网标准,且拒绝超过一定超度的邮件
办法:通用互联网邮件扩充MIME在SMTP上进行扩充,保证了更多的功能
思路:继续使用原来的格式,但是增加了邮件主体的结构,并非只能传输ASCAII码的规则
MIME的组成部分
1、5个新的邮件首部字段
标记MIME版本
邮件的描述符
邮件的唯一标识符
邮件的内容传送编码方式
1、保留最简单的7位ACSAII码,此时MIME不做任何转换,直接交给SMTP
2、增加quoted-printable编码,支持对少量的非ASCAII码进行编码为ASCAII码
3、增加base64编码,用于传输二进制文件,使用64个ASCAII码来代替6位的二进制,达到格式转换
都是将各种文本先转换位ASCAII码后交给SMTP来传输
邮件的数据类型和子类型
数据类型如图片、文字、数据、视频、音乐
子类型如图片下的png,gift等等
6.6 动态主机配置协议DHCP
协议配置:指的是协议软件通常配置信息是软件参数化的,给这些参数赋值就是协议配置
DHCP基本知识
运输层协议:UDP
作用:给主机自动分配IP地址无需人工配置
工作方式:C/S
端口
客户UDP端口:68
服务器UDP端口:67
DHCP过程
1、主机向DCHP服务器广播发送发现报文(DHCPDISCOVERY),由于现在本身无IP 地址,故源地址为0.0.0.0,目的地址为255.255.255.255
2、DCHP服务器接受到了发现报文,然后DCHP服务器在数据库搜查是否有该计算机的配置信息,没有就到IP地址池里去寻找,然后将IP地址等配置信息通过报文分配给对方
DCHP中继代理
目的:为了避免使用太多的DHCP服务器,利用DHCP中继代理就是路由器来进行中继转发
6.7 简单网络管理协议SNMP
1、网络管理(网管)的基本概念
内容:网络管理利用人力、硬件、软件这些可协调的资源,来对网络进行监控、配置、分析、评价与控制,达到满足网络的一些需求
网络管理的主要构件
1、硬件:管理站、被管设备
2、软件:管理程序/进程(SNMP客户程序)、代理程序(SNMP服务器程序)、SNMP协议
3、人力:网络管理员、网络运行中心
被管对象:指的是被管设备的某个硬件,或者是某个软件的配置参数的集合
SNMP协议
概念:协调网络的监控、配置、分析等操作
设计基本原理:要管理一个对象,必然要添加一些硬件或者软件,但这种添加造成的影响必须够小
三大构件
1、SNMP(简单网络管理协议):定义了管理站和代理之间的交换的分组格式
完成网关动作,在管理程序和客户程序见分组转发
2、SMI(管理信息结构):定义命名对象和对象类型的通用规则,以及编码的规则
建立规则
3、MIB(管理信息库):在被管理的实体中创建命名对象,并规定其类型
对变量说明
2、管理信息结构SMI
功能
1、被管对象如何命名
方法:利用对象命名树+对象标识符
例如:mib-2为1.3.6.1.2.1,见图6-22
2、被管对象的数据类型
方法:抽象语技法
数据都有两种属性:值和类型,值就是值集合中的一个元素,类型这是值集合的名字
数据类型分类
简单类型:INTEGER、Unsigned32等等
结构化类型:sequence、sequence of
3、网络上传送的管理数据应如何编码
方法:BER下的TLV方法编码
原理:TLV分别代表,标记字段、长度字段、值字段
标记字段T:指明数据类型的类别、格式(简单/结构)、编号
3、管理信息库MIB
管理信息:就是指互联网中网管框架中被管对象的集合
管理信息库:就是将这些被管对象维持的读写的若干控制和状态信息作为一个虚拟数据库
只有在MIB中的对象才是可以接受SMNP管理
4、SNMP的协议数据单元和报文
SNMP的运输层协议:UDP
SNMP的两种基本功能
读:用Get报文检测被管对象的状况
写:用Set报文改变被管对象的状况
SNMP的功能实现
实现一:利用轮询机制,管理站每隔一定时间间隔就去询问被管对象
实现二:利用陷阱机制,当被管对象的代理程序检测到有时间发生,触发陷阱,就报给管理站
结合使用
SNMP使用的端口
运行代理程序的服务器端用161端口接受Get或Set报文和发送响应报文
运行管理程序的客户端使用162端口,来接受各自的trap信息
协议数据单元:有8总类型
报文格式
包括4个部分,首部、版本、安全参数、和SNMP的报文数据部分,简单了解
6.8 应用进程跨越网络的通信
1、系统调用和应用编程接口
问题:部分应用程序需要互联网支持,但是不能直接使用标准化的互联网协议下,如何通信呢?
方法:使用系统调用,下面只是简单介绍一下
系统调用的作用
1、在应用程序和操作系统之间传递控制权
2、在互联网上读取、写入都需要这种系统调用,帮助转换控制权
应用编程接口API:属于系统调用,指应用程序在使用系统调用之间要编写一些程序,特别是需要设备之系统调用中的参数
网络编程在应用进程和运输层之间的接口:通常是套接字Socket接口
系统调用:Socket系统调用
观察
观察一:在套接字接口以上是受应用程序管理的 ,而以下则受计算机操作系统控制
观察二:开发者只对套接字以上的应用进行有控制权
总结:套接字实际上是应用进程为了与网络进行通信使用的一种机制
2、几种常用的系统调用
以Socket为例,介绍3个常见阶段
1、连接建立阶段
bing:绑定套接字的本地地址
listen:将套接字设置为被动方式
accept:把原地客户进程发来的连接请求提取出来
2、数据传送阶段
利用send和recv系统调用来进行接收数据
3、连接释放阶段
利用close关闭数据
6.9 P2P应用
引言
P2P概念:对等式的通信
一种不同于C/S的通信方式
P2P体系结构:指没有固定的服务器,绝大数的交互都是使用对等方式(即两个主机交互)
1、具有集中目录服务器的P2P工作方式
第一代P2P工作方式:Napster下的集中目录服务器
集中目录服务器
集中:指对等方及时将自己拥有的信息发送给目录服务器,目录服务器进行统一集中管理
目录服务器:存储所有共享文件的索引信息的服务器
注意!!这个服务器并不会拥有文件,文件仍然存储在对方主机上,目录服务器只是拥有它的检索信息
P2P的下载方式:客户机需要一个文件时,向目录服务器发出查询请求,目录服务器查询到该文件的下载P地址,然后将该ip地址传给这个客户机,让其与对方进行通信,此时双方就是对等方
特点:分散传输(各种对等方之间的传输)、集中定位(定位信息集中在服务器上查询)
2、具有分布式结构的P2P文件共享程序
全分布式:指不需要集中管理,使用洪泛法来查询所有的对等方用户的信息
特点:分散传输、分散定位
第二代P2P工作方式:
第二代P2P工作方式:Gnutella的全分布式定位内容的P2P文件共享应用
下载方法:客户机向所有Gnutella的用户洪泛法发送请求下载,只有拥有该文件的用户就和其建立下载链接
第三代P2P
工作方式:P2P的共享文件程序
方法:使用分散定位和分散传播技术
介绍一种结束:比特洪流BT
3、P2P文件分发的分析
1、P2P的工作方式下的下载完文件的的时间下限Tp2p
小
2、C/S工作方式下的下载同样文件的时间下限是Tcs
大
P2P工作方式相比于C/S方式下载文件明显具有更快的速度
4、在P2P对等方中搜索对象