计算机网络-5应用层
TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议
UDP 是User Datagram Protocol的简称, 用户数据报协议
ARP地址解析协议,即(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。
ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
IGMP协议称为Internet 组管理协议(Internet Group Management Protocol),是因特网协议家族中的一个组播协议。该协议运行在主机和组播路由器之间。IGMP协议共有三个版本,即IGMPv1、v2 和v3。
1.应用层的主要功能
最靠近用户的一层,向应用程序提供网络通信
网络应用程序可被分为两大类:
直接网络应用程序:Browser , e-mail ,FTP , Telnet
间接网络应用程序:Word , resource manager , (viaRedirector)
2.掌握域名解析系统DNS
DNS是分层次的,基于域的命名方案,且采用了分布式数据库系统来实现
DNS的使用方法:
- 为了将一个名字映射为IP地址,应用程序调用一个叫解析器(resolver)的库过程,把名字作为参数传递给这个过程(如:gethostbyname()就是一个解析器)
- 解析器发送一个UDP分组给本地DNS服务器,它会负责查找该名字,然后将对应的IP地址返回给解析器
- 解析器返回结果给应用程序,然后应用程序即可开始工作了
DNS名字空间:
互联网被分成200多个顶级域
- 每个域被分成若干子域,子域还可进一步划分
- 所有这些域可以用一棵树来表示
顶级域有两种
- 通用域( generic )
- 国家域( country )
域名:
- 每个域的名字是:从它向上到根(未命名)的路径,各个部分间用圆点隔开
- 域名可以是绝对的,也可以是相对的,绝对域名总是以圆点结束(如: eng.sun.com. )
- 相对域名必须在一定的上下文环境中被解释出来才有意义,从而唯一地确定其真实的含义
- 绝对域名和相对域名都引用了域名树中一个特定的节点,以及它下面的所有节点
- 域名是大小写无关的(case insensitive)
- 各组成部分的名字最多有63个字符长,整个路径不超过255个字符
- 没有规则限制同时在两个或多个顶级域名下的注册 (如:sony.com and sony.nl)—域名抢注
- 每个域自己控制它下面的域(子域)的划分
- 要创建一个新的域,创建者必须得到该新域的上级域
- 域名遵循的是组织的边界而不是物理网络的边界
-
资源记录
每个域,无论是单主机域还是顶级域,都可以有一组跟它相关联的资源记录(ResourceRecords)
当一个解析器把域名传递给DNS时,DNS所返回的是与该域名相关联的资源记录。所以DNS的主要功能是将域名映射到资源记录上
一个资源记录包括5个部分:域名、生存期、类别、类型、值
根域服务器—最高级域名服务器:
最重要的域名服务器;存储所有顶级域名的名字和IP
无论是哪个本地域名服务器,无论何时,只要它无法回答一个查询请求,它都会向根域服务器求救 (for help)
全球有 13 根域服务器,它们的名字分别是a to m(前13 个字母)
域名解析:
- 一个解析器收到一个域名查询时,它将该查询传递给本地的一个域名服务器
- 如果待查询的域名落在该名字服务器的管辖范围内,它将返回权威资源记录
- 一个权威资源记录(authoritative record)是指来自于管理该记录的权威机构,因此总是正确的,它和缓存的记录不同,后者可能是过期的
- 如果被请求的域名是远程的,且本地没有关于它的信息,那么本地名字服务器向根域服务器发送一条查询此域的消息
域名解析的种类:
- 主机向本地域名服务器的查询一般都是采用递归查询。
- 本地域名服务器向根域名服务器的查询通常是采用迭代查询
优化方法:
高速缓存—减少查询环节,提高效率
缺点:缓存中的内容不具有权威性
3.了解各种应用的特点
电子邮件
电子邮件系统通常由两部分组成:
- 用户代理(UA User Agent):让用户能够阅读和发送邮件,也叫电子邮件客户端软件
- 本地程序,提供命令行或图形界面,让用户和电子邮件系统交互
- 消息传输代理 (MTA):将消息从源端送到目标端
- 通常是系统守护进程,即运行在后台的进程,在系统中传递电子邮件
SMTP(Simple Mail Transfer Protocol)简单邮件传输协议
两个投递协议:
POP3(Post Office Protocol邮局协议3):
允许用户和消息传输代理MTA联系,然后把邮件从ISP那里拷贝到用户的协议
使用TCP协议是为了实现可靠的传输
IMAP(网际报文存取协议)(Intenet Massege Accese Protocol):
假设所有的电子邮件都永久地保存在服务器上的多个邮箱中
万维网(World Wide Web)
WWW的组成部分:
- 资源,web页面,Resource (html)
- 统一资源定位器:URL
- 通信协议HTTP(超文本传输协议HyperText Transfer Protocol)
Web页面由URL (UniformResource Locators)(统一资源定位符)标识
当用户单击一个超级链接(URL)时:
- 浏览器检查URL (读取浏览器的输入)
- 浏览器向 DNS服务器询问域名的IP地址
- DNS返回对应的IP地址
- 浏览器和Web服务器建立TCP 连接(在端口80)
- 浏览器发送请求,要求获取文件products.html
- Web服务器返回被请求的文件
- TCP连接被释放
- 浏览器解释显示下载到本地的文件
-
高速代理服务器:
- 代理服务器(proxy server)又称为万维网高速缓存(Web cache),它代表浏览器发出 HTTP 请求。
- 万维网高速缓存把最近的一些请求和响应暂存在本地磁盘中。
- 当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要按 URL 的地址再去因特网访问该资源。
Cookie:
Cookie就是服务器暂存放在你计算机上的一笔资料,好让服务器用来辨认你的计算机。
文件传输(FTP、TFTP和NFS)
FTP:(File Transfer Protocol)文件传输协议
一种可靠的面向连接的服务,采用TCP在支持FTP的系统间传输文件,它支持双向二进制文件和ASCII文件传输。
TFTP:
一种无连接的不可靠的服务,采用UDP在支持TFTP的系统间传输文件。
FTP使用两条TCP链接:
远程登陆Telnet和rlogin
- 不要求远地系统创建众多的服务器,只需为每个远程登陆用户建立一个进程,这个进程再通过创建子进程为远程登陆用户提供各种允许的服务。
- 本地用户在本地终端对远地系统进行远程登陆,该远程登陆的内部视图实际上是一个TCP连接;
- 将本地终端上的键盘输入逐键传到远地机;
- 将远地机输出送回本地终端。
动态主机配置协议DHCP(Dynamic Host Configuration Protocol)
应用程序跨网络通信
socket api套接字接口
系统调用
从属服务器进程使用新创建的套接字与应用服务进行连接,通讯