定义不同主机中的多个应用进程之间的通信规则和协议
基于客户服务器方式,客户是服务请求方,服务器是服务提供方
域名系统DNS(Domain Name System)
把互联网上的主机名字转换为IP地址;
2.1 解析过程
当某一个应用进程需要把主机名解析为IP地址时,该应用进程就调用解析程序(resolver),并成为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器(使用UDP是为了减少开销);
本地域名服务器发出查询请求后,把对应的IP地址放在回答报文中返回;
应用进程获得目的主机的IP地址后即可进行通信;
2.2 域名结构
每一个域名(domain name)由标号(label)序列组成,各标号之间用点隔开;
main.cctv.com >> 三级域名.二级域名.顶级域名
2.3 三大类顶级域名
国家顶级域名nTLD,通用顶级域名gTLD,基础结构域名
2.4 四种不同类型的域名服务器
根域名服务器(root name server)--任播(anycast)技术
顶级域名服务器(TLD服务器)
权限域名服务器
本地域名服务器
2.5 域名的解析过程
主机向本地域名服务器--递归查询(recursive query)
本地域名服务器向根域名服务器--迭代查询(iterative query)文件传送协议FTP(File Transfer Protocol)
基于TCP;
主要功能:减少或消除在不同操作系统下处理文件的不兼容性;
一个FTP服务器进程可同时为多个客户进程提供服务;
3.1 主进程的工作步骤
打开端口,使客户进程能连接上
等待客户进程发出连接请求
启动从属进程处理客户进程发来的请求
回到等待状态,继续接受其他客户进程发来的请求远程终端协议TELNET
网络虚拟终端NVT(Network Virtual Terminal)万维网WWW
是一个大规模的、联机式的信息储藏所,简称Web;
超媒体(hypermedia)系统,是超文本(hypertext)系统的扩充;
客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档;
- 统一资源定位符URL(Uniform Resource Locator)
- 超文本传送协议HTTP(HyperText Transfer Protocol),基于TCP可靠传送
- 超文本标记语言HTML(HyperText Markup Language)
- URL
表示从互联网上得到的资源位置和访问这些资源的方法;
<协议>://<主机>:<端口>/<路径>
HTTP的默认端口号是80,一般可省略;
<协议>和<主机>部分,字母不分大小写;
<路径>有时区分大小写;
-
HTTP的操作过程
请求一个万维网文档所需的时间是该文档的传输时间(与文档大小成正比)加上两倍往返时间RTT;
- 主要缺点
每请求一个文档就有两倍RTT的开销;
每一次建立新的TCP连接就要分配缓存和变量;
使用并行TCP连接可缩短响应时间; - HTTP/1.1协议
使用持续连接(persistent connection)
工作方式:非流水线方式(without pipelinging)、流水线方式(with pipelining)
代理服务器(proxy server)
万维网高速缓存(Web cache)-
HTTP的报文结构
请求报文的第一行“请求行”只有三个内容:方法、请求资源的URL、HTTP的版本