1.应用层的功能
1.文件传输、访问和管理:FTP
2.电子邮件:SMTP、POP3
3.虚拟终端:HTTP
4.查询服务和远程作业登录:DNS
2.网络应用模型
2.1.客户/服务器模型(C/S)
1.服务器:提供计算服务的设备
①永久提供服务(不间断,一直有效)
②永久性访问地址/域名(地址不变)
2.客户机:请求计算服务的设备
①使用服务器提供的服务
②间歇性接入网络
③可能使用动态IP地址(地址可能会变)
④不与其他客户机直接通信(客户机与服务器通信,服务器再与目的主机通信)
3.应用:Web、FTP、远程登陆、电子邮件
2.2.P2P模型(peer to peer)
1.不存在永远在线的服务器(C/S服务器永远有效)
2.每个主机既可以提供服务,也可以请求服务(C/S客户机只能请求服务)
3.任意端系统/节点之间可以直接通信(C/S客户机和服务器直接通信,客户机间不能直接通信)
4.节点间接性接入网络(C/S同)
5.可能使用动态IP地址(C/S同)
6.可扩展性好(大量主机涌入时,还能服务。但C/S只能接收一定量主机)
7.健壮性强(单个结点失效不影响其他结点。但C/S服务器坏了全部瘫痪)
3.DNS系统
端口号:53,基于C/S
3.1.域名服务器
1.根域名服务器:最高层次的域名服务器,知道所有顶级域名服务器的及其对应的IP地址
2.顶级域名服务器:管理在该顶级域名服务器注册的所有二级域名
3.权限域名服务器:负责一个区的域名服务器。(例如:abc.com和y.abc.com属于com顶级域名服务器的两个不同的区,两者等级相等,每个权限域名服务器只能负责一个区,因此,需要需要两个权限域名服务器)
4.本地域名服务器:当主机发出DNS查询请求时,将查询报文发送给本地域名服务器
访问顺序4→1→2→3
3.2.域名解析过程
1.递归查询(靠别人):
①主机向本地域名服务器发出DNS请求报文(查询y.abc.com的IP地址)
②本地域名接到请求后查询本地缓存,若查询不到,则作为客户,向根域名服务器查询(本地域名服务器查找___.xyz.com,查找不到,向根域名服务器查询)
③根域名服务器接到请求后,若查询不到,则作为客户,向顶级域名服务器查询(根域名服务器收到后,向com顶级域名服务器查询,即___.com)
④顶级域名服务器接到请求后,若查询不到,则作为客户,向权限域名服务器查询(com顶级域名服务器收到后,向abc.com权限域名服务器查询,即___.abc.com)
⑤权限域名服务器接到请求后,找到后,逐步返回给客户(abc.com权限域名服务器收到后,查找y.abc.com的IP地址,然后将其返回给com顶级域名服务器,com顶级域名服务器再将其返回给根域名服务器,根域名地址再将其返回给本地域名服务器,最后本地域名服务器将其返回给主机)
2.迭代查询(靠自己):递归和迭代相结合的方式
①主机向本地域名服务器发出DNS请求报文(查询y.abc.com的IP地址)
②本地域名服务器收到后,向根域名服务器查询,根域名服务器告诉它应该找com域名服务器
及com顶级域名服务器的ip地址
③本地域名服务器向com顶级域名服务器查询,顶级域名服务器告诉它应该找abc.com权限域名服务器及abc.com权限域名服务器的ip地址
③本地域名服务器向abc.com权限域名服务器查询,权限域名服务器告诉它y.abc.com的IP地址
④本地域名服务器将y.abc.com的IP地址返回给主机
3.DNS高速缓存:每次DNS域名服务器收到DNS查询结果时,将其缓存在DNS高速缓存中,下次查询相同域名时,直接返回该结果,过一段时间会丢弃(本地域名服务器和主机都有)若查询y.abc.com,且高速缓存中有com顶级域名服务器的地址,则可以直接查询com顶级域名服务器,而跳过向根域名服务器查询com顶级域名服务器这一步)
4.FTP
基于C/S,数据连接端口号20,控制连接端口号21
1.使用TCP实现可靠传输
2.FTP分为一个主进程和若干个从属进程
主进程:负责接收新的请求,为新请求分配相应的从属进程处理
从属进程:处理单个请求,处理完之后等待接收下一个请求
3.控制连接:传送请求;在整个会话期间内保持开启状态,端口号21
数据连接:传送数据;收到传输请求后创建,传输完毕后关闭,端口号20(仅保持一会儿)
数据连接的端口号并不一定是20:
主动传输,端口号20
被动传输,端口号由主机和服务器协商
5.电子邮件
5.1.电子邮件格式
地址格式:用户名@邮箱所在主机的域名
5.2.电子邮件系统组成结构
1.用户代理:用户和电子邮件系统的接口
2.邮件服务器:发送和接收邮件
3.协议:发送邮件:SMTP。发送方到发送方邮件服务器,发送方邮件服务器到接收方邮件服务器
接收邮件POP3、IMAP:接收方邮件服务器到接收方
5.3.SMTP和MIME
5.3.1.SMTP
1.规定两个SMTP进程之间如何交换信息
2.SMTP客户:发送邮件的SMTP。包括发送方和发送方服务器
SMTP服务器:接收邮件的进程
3.TCP连接,端口号25,基于C/S
4.三个阶段:连接建立→邮件传送→连接释放
5.3.2.MIME
使电子邮件可以支持多种格式(声音、图像和不同语言)的传输
5.4.POP3、IMAP和基于万维网
5.4.1.POP3
1.TCP连接,端口号110,基于C/S
2.两种工作方式:
①下载并删除:邮件一旦读取,就从邮件服务器删除
②下载并保留:邮件读取后,还能保存在邮件服务器
5.4.2.IMAP
1.允许用户仅获取邮件的首部(摘要、邮件发送方)
2.允许用户在不同地方使用不同计算机处理邮件
5.4.3.基于万维网
用户代理和邮件服务器之间的协议改为采用HTTP,但是邮件服务器之间的协议仍是SMTP
6.万维网和HTTP
6.1.万维网
1.URL唯一标识一个资源:<协议>://<主机>:<端口>/<路径>
协议:HTTP,FTP
主机:域名,IP地址
2.HTTP:使用TCP连接进行可靠传输,应用层协议
3.HTML:对页面上的各种信息进行描述
4.基于C/S
6.2.HTTP
1.HTTP报文面向文本,报文中的每个字段都是ASCII码
2.服务器不断监听TCP的端口80
6.2.1.HTTP运行过程
1.浏览器分析URL
2.浏览器向DNS请求解析IP地址
3.DNS解析出IP地址
4.浏览器和服务器建立TCP连接
5.浏览器发出取文件命令
6.服务器响应
7.释放TCP
8.浏览器显示
6.2.2.HTTP的特点
1.无状态:同一个客户第二次访问同一个服务器上的页面时,服务器的响应和第一次访问一样
cookie:存储在用户主机,能够识别用户,并追踪用户活动。例如:记录访问记录
2.HTTP本身无连接:在使用前不需要建立连接
非持久连接:每个网页元素的对象都需要单独建立一次TCP连接,即需要两个RTT
持久连接:在建立TCP连接后,双方可以继续使用该TCP连接传输
①非流水线式(类似停止-等待):一次只能进行一个对象的传输
②流水线式(类似后退N帧或者选择重传):一次可以传输多个对象