目录
- 概论
- 原理性的网络体系结构
- 两大网络体系结构
- 应用层
- 客户端/服务器(C/S)工作模式
- 对等(P2P)工作模式
- C/S与P2P的混合模式
- 应用层协议与传输层协议的关系
- Web服务与HTTP协议
- Web的三个关键技术
- 超文本和超媒体
- Web工作方式
- URL与信息资源定位
- 无状态协议
- 非持续连接和持续连接
- HTTP报文格式
- 报头结构和交互过程
- Web文档类型
- E-mail电子邮件服务
- 电子邮件系统结构
- 邮件报文交付的3个阶段
- 简单邮件传输协议SMTP
- MIME协议
- POP3协议和IMAP4协议
- 基于Web的电子邮件
- FTP网络文件传输
- FTP的工作过程
- 匿名FTP服务
- TFTP协议
- 控制连接、数据连接
- FTP会话过程
- 域名系统与DNS服务
- 域名结构
- 传输层协议和端口号
- 域名解析的基本原理
- 域名系统的高速缓存
- TELNET远程登录
- 动态主机配置协议DHCP
- SNMP协议
- 协议端口号总结
概论
原理性的网络体系结构
综合了OSI和TCP/IP协议分层的优点,用于加深对网络体系结构概念的理解。
自底向上分别为:
(1)物理层:规定物理接口,比特流透明传输。
(2)数据链路层:实现逻辑链路上无差错的数据帧传输。
(3)网络层:实现网络分组传输,解决寻址、路由、转发。
(4)传输层:实现进程之间可靠/无差错的端到端通信。
(5)应用层:根据应用进程通信要求,满足用户的需要。
两大网络体系结构
两大网络体系结构:OSI七层参考模型和TCP/IP四层参考模型
其中,TCP/IP已经成为事实上的标准,在计算机网络领域中占有重要地位。
TCP/IP协议模型主要特点:
- 在互联网应用层提供丰富的网络应用服务(C/S、P2P)
- 在传输层支持面向连接/可靠/无差错服务(TCP)和无连接/快速/高效服务(UDP)
- 较少的协议层次,实现简单、高效
- 实现多种异构网的互连问题,网际协议IP为互联网核心
应用层
客户端/服务器(C/S)工作模式
典型的网络应用是由两个部分组成: 客户端和服务器
客户端特点:
- 与服务器通信,使用服务器提供的服务
- 间歇性接入网络
- 可能使用动态IP
- 不会与其它客户机直接通信
服务器特点:
- 不间断提供服务
- 永久性访问地址/域名
- 利用大量服务器实现可扩展性
对等(P2P)工作模式
特点:
- 所有结点的地位平等,以对等方式直接通信
- 没有永远在线的服务器
- 任意端系统/节点可以通信
- 节点间歇性接入网络
- 节点可能改变IP
应用:
- 应用于实时通信、协同工作、内容分发、分布式计算等领域。
C/S与P2P的混合模式
以Napster为例:
- 文件传输采用P2P
- 文件的搜索采用C/S
- 每个节点向中央服务器登记自己的内容
- 每个节点向中央服务器提交查询请求,查找感兴趣的内容
应用层协议与传输层协议的关系
Web服务与HTTP协议
Web的三个关键技术
超文本传输协议HTTP:Web服务应用层协议,超文本在浏览器与Web服务器之间的传输协议。
超文本标记语言HTML:文档中的特殊数据格式,一个文档可以链接到另一个文档
统一资源定位符URL:标识Web中的资源,以便于用户查找
超文本和超媒体
在Web系统中,信息按超文本方式组织;超媒体进一步扩展了超文本所链接的信息类型。
超文本:
超媒体:
Web工作方式
C/S模式,也可以说是浏览器/服务器(B/S)模式。
URL与信息资源定位
提供Internet上资源定位、访问方式的一种抽象表示方法
- 由三部分组成:协议类型、主机名、路径及地址
- 通过Web浏览器,URL不仅能漫游Web网,也能用于FTP、E-mail和TELNET等
- URL格式 : 访问方式://服务器域名[:端口号]/路径/文件名
- 访问Web网站要使用的HTTP协议 ,其形式为: http://服务器名[:端口号]/路径/文件名
- URL(:冒号左边)指明了URL的访问方式:
http:超文本传输协议(HTTP)
ftp:文件传输协议(FTP)
telnet:交互式会话
mailto:电子邮件地址 - HTTP的默认端口号是80(可以省略)
- 路径/文件名用于直接指向服务器中的某一个文件;省略路径和文件名,则URL就指向了Internet上的某个主页
无状态协议
Web服务器发送HTTP应答报文时,不保存浏览器的任何请求状态信息,属于无状态协议。(状态怎么理解?)
非持续连接和持续连接
非持续连接(HTTP1.0)
非持续连接每次请求/响应都要建立一次TCP连接。
例如:一个网页包括一个HTML文件和105个GIF图像文件(106个对象),那么每次请求一个文件的所需时间如下:
缺点:必须为每个请求对象建立和维护一个新的TCP连接。
注意:可以通过设置浏览器的属性来控制TCP连接的并行度,大部分浏览器运行5-10个并行的TCP连接。
持续连接(HTTP1.1)
持续连接时,服务器在发出响应后保持该TCP连接,相同的客户端进程与服务器端之间的后续报文都通过该连接传送。
例如:一个网页包括一个HTML文件和8个JPEG图像文件,所有请求与应答报文都通过一个持续TCP连接来传送。
持续连接分为非流水线方式与流水线方式:
流水线模式的工作效率会比非流水线更高,因此HTTP1.1默认状态下是持续连接的流水线工作方式。
HTTP报文格式
请求报文:
应答报文:
报头结构和交互过程
请求报文的报头结构:通用头部、请求头部、正文头部
应答报文的报头结构:通用头部、应答头部、正文头部
交互过程
GET方法:获取文档
HEAD方法:获取文档信息
POST方法:向服务器发送数据
Web文档类型
静态文档是指内容固定的文档,它是由服务器创建,并存放在其中。Web客户端只能得到文档的副本。
动态文档是在浏览器请求该文档时才由服务器创建的。当浏览器的请求到达时,服务器就运行一个创建动态文档的应用程序,将创建的文档作为响应发送给浏览器,因此每一次请求产生的新文档都可以是不相同的。
例如请求日期和时间的动态文档,服务器会运行date程序再把结果传回。
活动文档是指能够提供了一种连续更新屏幕内容的技术,这种技术把创建文档的工作移到浏览器端进行。
当浏览器请求一个活动文档时,服务器就返回这个活动文档程序的二进制代码,然后就在浏览器端运行,此时,活动文档程序可与用户直接交互,以便连续地更新屏幕的显示内容。
E-mail电子邮件服务
电子邮件系统结构
用户接口UA:一个在本地运行的窗口界面程序,提供撰写、显示、处理邮件等功能。
报文传送代理 MTA(邮件发送给接收方,从网络接收邮件):CS方式传送/接收、报告邮件传送情况
邮件报文交付的3个阶段
简单邮件传输协议SMTP
- 使用TCP传送邮件报文, 端口25
- 直接传输: 发送服务器到接收服务器
- 传输的三个阶段:连接建立、报文传送、连接终止
MIME协议
允许非7位ASCII码数据通过SMTP传输,只是对SMTP的一种补充。
POP3协议和IMAP4协议
前面的SMTP是推送邮件到服务器,用来发送;而这两种协议都是用于从邮件服务器拉取邮件,用来接收。
POP3协议
删除模式:读取邮件后从服务器上删除
保留模式:读取邮件后仍保存在服务器中
IMAP4协议
与POP3类似,但功能更强。
基于Web的电子邮件
- 目前几乎所有门户网站都提供基于Web的电子邮件,使用Web浏览器收发邮件
- 基于Web电子邮件,用户代理就是Web浏览器,用户与远程邮箱之间的通信使用的是HTTP协议,而不是POP3或IMAP4协议
- 邮件服务器之间的通信仍然使用SMTP协议
FTP网络文件传输
FTP允许用户将文件从一台计算机保证可靠传输到另一台计算机。
FTP的工作过程
采用典型的C/S模式,传输层选择TCP协议。
匿名FTP服务
- 在FTP服务器上建立一个公开账户(通常为Anonymous),并赋予该账户访问公共目录的权限,以便提供免费的服务。
- 要访问匿名服务FTP,不需要输入用户名与用户密码(也可以用“Anonymous”作为用户名,用“Guest”作为密码)。
- 匿名FTP服务只允许用户下载文件,不允许用户上传文件。
TFTP协议
相比于FTP:
- 对传输可靠性的要求。FTP采用面向连接、可靠的TCP协议;TFTP简洁、采用UDP协议
- 协议的命令集。FTP制定发送/接收文件、列出目录与删除文件等复杂命令;TFTP协议只定义文件发送/接收基本命令
- 数据表示方式。FTP指定数据类型,TFTP协议只允许传输ASCII码或二进制文本文件
- 用户鉴别。FTP有登录用户鉴别功能,TFTP不提供用户鉴别功能
控制连接、数据连接
与一般CS模型不同,FTP客户端与服务器之间要建立双重连接:控制连接和数据连接。
控制连接(端口号21):在FTP客户端与服务器端之间传输控制信息,例如命令、用户名和口令。
数据连接(端口号20):在FTP客户端与服务器端之间传输文件。
在整个FTP交互过程中,控制连接始终处于连接状态;而数据连接则在每次文件传送时先打开然后关闭,可以多次开关。
FTP会话过程
- FTP会话之前,FTP客户端使用临时端口号(如5100)与服务器端熟知端口号(21)之间连接一个控制连接。
- 控制连接建立之后,服务器端要求客户端发送用户名和口令。
- 服务器端接收到客户端文件传输命令后,开始发起与客户端的数据连接。客户端使用临时端口号(如5000)与服务器端熟知端口号20之间建立数据连接。
- 文件下载(或上传)。
- 数据连接上文件传输结束,关闭数据连接。
域名系统与DNS服务
DNS的作用是主机域名转换成IP地址。
域名结构
主机名字要求全局唯一,能在整个互联网通用
- 便于管理(名字分配、确认、回收)
- 便于映射,域名与IP地址之间映射(关键问题映射效率)
传输层协议和端口号
DNS报文通常在UDP协议下实现封装,主要是考虑到即使请求域名服务的主机在没有很快得到应答的情况下,又发送了第二个请求报文,也不会造成很大的网络开销。使用的端口号为53。
域名解析的基本原理
概念:将域名转换为对应的IP地址的过程
域名解析算法:递归解析和反复解析(也叫迭代解析)
主机向本地域名服务器查询过程如下:
迭代解析本地域名服务器会多次向各级域名服务器发出域名解析请求,并多次接收IP地址,直到找到最终结果。
递归解析
本地域名服务器只需要向根域名服务器发出一次查询请求,之后的查询过程是在其他的域名服务器之间进行,最终由根域名服务器向本地域名服务器反馈查询结果。
域名系统的高速缓存
复制:每个根目录被复制,该服务器副本存放在整个网络上。当一个新的网络加入互联网时,在本地的DNS服务器中配置一个根服务器表
缓存:使用高速缓存优化查询开销。每个服务器都保留了一个域名缓存,查询一个新的域名时,服务器将该绑定的一个副本置于它的缓存中
TELNET远程登录
采用C/S模式,服务器端口为23,通过TCP进行连接, 客户端与服务器之间采用NVT标准进行通信。
动态主机配置协议DHCP
主要有两个用途,一个是用于内部网或网络服务供应商自动分配IP地址给用户,另一个是用于内部网管理员作为对所有电脑作中央管理的手段。
使用UDP协议工作,客户端也要使用熟知端口号,客户端端口号为68,服务器端口号为67。
SNMP协议
SNMP:“简单网络管理协议”,用于网络管理的协议。SNMP用于网络设备的管理。SNMP的工作方式:管理员需要向设备获取数据,所以SNMP提供了“读”操作;管理员需要向设备执行设置操作,所以SNMP提供了“写”操作;设备需要在重要状况改变的时候,向管理员通报事件的发生,所以SNMP提供了“Trap”操作。
SNMP被设计为工作在TCP/IP协议族上。SNMP基于TCP/IP协议工作,对网络中支持SNMP协议的设备进行管理。所有支持SNMP协议的设备都提供SNMP这个统一界面,使得管理员可以使用统一的操作进行管理,而不必理会设备是什么类型、是哪个厂家生产的。
SNMP采用UDP 161端口接收和发送请求,162端口接收trap
协议端口号总结
服务 协议 端口号
- DHCP 服务器 UDP 67
- POP3 TCP 110
- IMAP TCP 143
- SMTP TCP 25
- Telnet TCP 23
- HTTP TCP 80
- FTP 控制连接 TCP 21 FTP 数据连接 TCP 20
- TFTP UDP 端口 69
- DNS UDP 53,DNS TCP 53
- SNMP UDP 161