一、概述
1.1因特网概述
- 21世纪的一些重要特征就是数字化、网络化和信息化,它是一个以网络为核心的信息时代
- 上面说的网络是指“三网”,即电信网络、有线电视网络和计算机网络。
- 计算机网络向用户提供的最重要的功能有两个,即:(1)连通性 ; (2) 共享
1.1网络、互连网(互联网)和因特网
- 网络(Network):由若干结点(Node) 和连接这些结点的 链路(Link) 组成。
- 互联网(或互连网):多个网络还可以通过路由器互连起来,就构成了一个覆盖范围更大的网络,即互联网(或互连网),因此互联网是“网络的网络”
- 因特网(Internet):是世界上最大的互连网络
- internet与lnternet的区别:
- internet(互联网或互连网) 是一个通用名词,它泛指由多个计算机网络互连而成的网络。在这些网络之间的通信协议可以是任意的。
- Internet(因特网) 则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET。
1.2因特网发展的三个阶段
- ISP(Internet Service Provider):因特网服务提供者,如移动电信联通
- 基于ISP的三层结构的因特网:
- 根据提供服务的覆盖面积大小以及所拥有的IP地址数目的不同,ISP也分成为不同的层次:主干ISP、地区ISP和本地ISP。
- 根据提供服务的覆盖面积大小以及所拥有的IP地址数目的不同,ISP也分成为不同的层次:主干ISP、地区ISP和本地ISP。
1.3因特网的标准化工作
- 因特网在制定其标准上的一个很大的特点是面向公众。
- 因特网协会ISOC是一个国际性组织,它负责对因特网进行全面管理,以及在世界范围内促进其发展和使用。
- 因特网体系结构委员会IAB,负责管理因特网有关协议的开发;
- 因特网工程部IETF,负责研究中短期工程问题,主要针对协议的开发和标准化;
- 因特网研究部IRTF,从事理论方面的研究和开发一些需要长期考虑的问题。
- 制订因特网的正式标准要经过以下4个阶段:
(1)因特网草案(在这个阶段还不是RFC文档)
(2)建议标准(从这个阶段开始就成为RFC文档)
(3)草案标准
(4)因特网标准
1.4因特网的组成
- 边缘部分:由所有连接在因特网上的 主机(端系统) 组成。用户直接使用的,用来进行通信和资源共享。
- 操作系统 解决同一主机上不同进程的通信,计算机网络 解决不同主机间进程的通信。
- 端系统之间的通信方式:
- 客户-服务器方式(C/S方式):客户是服务请求方,服务器是服务提供方。
- 对等方式(P2P方式):两个主机在通信时并不区分哪一个是服务请求方还是服务提供方
- 核心部分:由大量网络和连接这些网络的 路由器 组成。为边缘部分提供服务的(提供连通性和交换)
- 路由器是实现 分组交换(packet switching) 的关键构件,其任务是转发收到的分组
- 路由器是实现 分组交换(packet switching) 的关键构件,其任务是转发收到的分组
1.2三种交换方式
2.1. 电路交换
- 电话交换机接通电话线的方式称为电路交换;
- 从通信资源的分配角度来看,交换(Switching)就是按照某种方式动态地分配传输线路的资源;
- 专用的物理通路
- 电路交换的三个步骤:
- 建立连接(分配通信资源)
- 通话(占用通信资源)
- 释放连接(归还通信资源)
- 当使用电路交换来传送计算机数据时,其线路的传输效率往往很低。
2.2. 分组交换(重点)
- 随时发送分组,不需要建立连接
- 路由器则是用来转发分组的,即进行分组交换的
2.3. 报文交换
- 报文交换主要用于早期的电报通信网,现在较少使用
- 不需要建立连接
三种方式的对比
1.3计算机网络的性能指标
- 性能指标可以从不同的方面来度量计算机网络的性能。
- 常用的计算机网络的性能指标有以下8个:
速率
带宽
吞吐量
- 吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量。
- 吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
- 吞吐量受网络的带宽或额定速率的限制。
时延
- 由发送时延、传播时延、处理时延组成
时延带积宽
往返时间(RTT)
- 双向交互一次所需的时间;
利用率
丢包率
- 丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率。
- 丢包率具体可分为接口丢包率、结点丢包率、链路丢包率、路径丢包率、网络丢包率等。
- 分组丢失主要有两种情况:
- 分组在传输过程中出误码,被结点丢弃;
- 分组到达一台队列已满的分组交换机时被丢弃;在通信量较大时就可能造成网络拥塞。
- 因此,丢包率反映了网络的拥塞情况
1.4计算机网络体系结构
4.1常见的计算机网络体系结构
4.2计算机网络体系结构分层的必要性
- 计算机网络是个非常复杂的系统。早在最初的ARPANET设计时就提出了分层的设计理念。
- "分层"可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
物理层
- 采用怎样的传输媒体(介质)
- 采用怎样的物理接口
- 使用怎样的信号表示比特0和1
数据链路层
- 如何标识网络中的各主机(主机编址问题,例如MAC地址)
- 如何从信号所表示的一连串比特流中区分出地址和数据
- 如何协调各主机争用总线
网络层
- 如何标识各网络以及网络中的各主机(网络和主机共同编址的问题,例如IP地址)
- 路由器如何转发分,如何进行路由选择
运输层
- 如何解决进程之间基于网络的通信问题
- 出现传输错误时,如何处理
应用层
- 通过应用进程间的交互来完成特定的网络应用
4.3计算机网络体系结构分层思想举例
4.4计算机网络体系结构中的专用术语
- 实体:任何可发送或接收信息的硬件或软件进程。
- 对等实体:收发双方相同层次中的实体。
- 协议:控制两个对等实体进行逻辑通信的规则的集合。
- 协议的三要素:语法、语义、同步
- 语法——定义所交换信息的格式
- 语义——定义收发双方所要完成的操作作
- 同步——定义收发双方的时序关系
- 在协议的控制个,两个对等实体间的逻辑通信使得本层能够向上一层提供服务。
- 要实现本层协议,还需要使用下面一层所提供的服务。
- 协议是“水平的",服务是"垂直的"
- 实体看得见相邻下层所提供的服务,但并不知道实现该服务的具体协议。也就是说,下面的协议对上面的实体是“透明的”
- 服务访问点:在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型。
- 数据链路层的服务访问点为帧的“类型”字段。
- 网络层的服务访问点为P数据报首部中的"协议字段"
- 运输层的服务访问点为“端口号"。
- 服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语。
- 协议数据单元PDU:对等层次之间传送的数据包称为该层的协议数据单元。
- 服务数据单元SDU:同一系统内,层与层之间交换的数据包称为服务数据单元。
- 多个SDU可以合成为一个PDU;一个SDU也可划分为几个PDU
二、物理层
2.1基本概念
- 物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流。
- 物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么。
2.2传输方式
串行传输和并行传输
- 计算机内部采用并行传输
- 计算机网络中远距离传输采用串行传输
同步传输和异步传输
单工/半双工/全双工
2.3编码与调制
三、数据链路层
3.1 数据链路层概述
- 数据链路层在网络体系结构中所处的地位
- 链路(Link)就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。
- 数据链路(Data Link)是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路。
- 数据链路层以帧为单位传输和处理数据。
- 数据链路层的三个重要问题
- 封装成帧
- 差错检测
- 可靠传输
3.2 封装成帧
- 封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧。
- 帧头和帧尾中包含有重要的控制信息。
- 帧头和帧尾的作用之一就是帧定界。
- 透明传输是指数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样。
- 面向字节的物理链路使用字节填充(或称字符填充) 的方法实现透明传输。
- 面向比特的物理链路使用比特填充的方法实现透明传输。
3.3 差错检测
- 比特差错:实际的通信链路都不是理想的,比特在传输过程中可能会产生差错:1可能会变成0,而0也可能变成1。
- 误码率BER(Bit Error Rate):在一段时间内,传输错误的比特占所传输比特总数的比率称为。
- 使用差错检测码来检测数据在传输过程中是否产生了比特差错,是数据链路层所要解决的重要问题之一。
- 检错码只能检测出帧在传输过程中出现了差错,但并不能定位错误,因此无法纠正错误。
- 要想纠正传输中的差错,可以使用冗余信息更多的纠错码进行前向纠错。但纠错码的开销比较大,在计算机网络中较少使用。
奇偶校验
- 在待发送的数据后面添加1位奇偶校验位,使整个数据(包括所添加的校验位在内)中"1"的个数为奇数(奇校验)或偶数(偶检验)。
- 如果有奇数个位发生误码,则奇偶性发生变化,可以检查出误码;
- 如果有偶数个位发生误码,则奇偶性不发生变化,不能检查出误码(漏检)
循环冗余校验CRC
- 收发双方约定好一个生成多项式G(x);
- 发送方基于待发送的数据和生成多项式计算出差错检测码(冗余码),将其添加到待传输数据的后面一起传输;
- 接收方通过生成多项式来计算收到的数据是否产生了误码;
- 循环冗余校验CRC有很好的检错能力(漏检率非常低),虽然计算比较复杂,但非常易于用硬件实现,因此被广泛应用于数据链路层。
3.5 MAC地址、IP地址和ARP协议
- MAC地址是以太网的MAC子层所使用的地址;——数据链路层
- IP地址是TCP/IP体系结构网际层所使用的地址;——网际层
- ARP协议属于TCP/IP体系结构的网际层,其作用是已知设备所分配到的IP地址,使用ARP协议可以通过该IP地址获取到设备的MAC地址;
MAC地址
- 当多个主机连接在同一个广播信道上,要想实现两个主机之间的通信,则每个主机都必须有一个唯一的标识,即一个数据链路层地址;
- 在每个主机发送的帧中必须携带标识发送主机和接收主机的地址。由于这类地址是用于媒体接入控制MAC(Media Access Controly,此这类地址被称为MAC地址;
- MAC地址一般被固化在网卡(网络适配器)的电可擦可编程只读存储器EEPROM中,因此MAC地址也被称为 硬件地址;
- MAC地址有时也被称为 物理地址 。注意:这并不意味着MAC地址属于网络体系结构中的物理层!
- 一般情况下,用户主机会包含两个网络适配器:有线局域网适配器(有线网卡)和无线局域网适配器(无线网卡)。每个网络适配器都有一个全球唯一的MAC地址。而交换机和路由器往往拥有更多的网络接口,所以会拥有更多的MAC地址。综上所述,严格来说,MAC地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识。
IP地址
- IP地址是因特网(Internet)上的主机和路由器所使用的地址,用于标识两部分信息:
- 网络编号:标识因特网上数以百万计的网络
- 主机编号:标识同一网络上不同主机(或路由器各接口)
- 数据包转发过程中IP地址与MAC地址的变化情况:
- 数据包转发过程中源IP地址和目的IP地址保持不变;
- 数据包转发过程中源MAC地址和目的MAC地址逐个链路(或逐个网络)改变。
ARP协议
- 源主机在自己的ARP高速缓存表中查找目的主机的IP地址所对应的MAC地址,若找到了,则可以封装MAC帧进行发送;若找不到,则发送ARP请求(封装在广播MAC帧中)
- 目的主机收到ARP请求后,将源主机的IP地址与MAC地址记录到自己的ARP高速缓存表中,然后给源主机发送ARP响应(封装在单播MAC帧中),ARP响应中包含有目的主机的IP地址和MAC地址;
- 源主机收到ARP响应后,将目的主机的IP地址与MAC地址记录到自己的ARP高速缓存表中,然后就可以封装之前想发送的MAC帧并发送给目的主机;
- ARP的作用范围:逐段链路或逐个网络使用; ARP协以只能在一段链路或一个网络上使用。
- 除ARP请求和响应外,ARP还有其他类型的报文(例如用于检查IP地址冲突的"无故ARP、免费ARP(Gratuitous ARP)");
- ARP没有安全验证机制,存在ARP欺骗(攻击)问题。
3.5 集线器与交换机的区别
集线器
- 早期的总线型以太网
- 使用双绞线和集线器HUB的星型以太网
- 使用集线器的以太网在逻辑上仍是一个总线网,各站共享总线资源,使用的还是CSMA/CD协议;
- 集线器只工作在物理层,它的每个接口仅简单地转发比特,不进行碰撞检测(由各站的网卡检测);
- **集线器一般都有少量的容错能力和网络管理功能。**例如,若网络中某个网卡出了故障,不停地发送帧。此时,集线器可以检测到这个问题,在内部断开与出故障网卡的连线,使整个以太网仍然能正常工作。
- 使用集线器HUB在物理层扩展以太网
以太网交换机
- 目前以太网中使用最广泛的互连设备
- 工作在OSI体系结构的数据链路层(也包括物理层)
- 根据MAC地址对帧进行转发
- 使用交换机作为互连设备的以太网,称为交换式以太网。交换机可以根据MAC地址过滤帧,即隔离碰撞域。
- 交换机的每个接口是一个独立的碰撞域
- 交换机隔离碰撞域但不隔离广播域(VLAN除外)
对比集线器和交换机
四、网络层
4.1 网络层概述
- 网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输。
- 要实现网络层任务,需要解决以下主要问题:
- 网络层向运输层提供怎样的服务(“可靠传输"还是"不可靠传输”)
- 网络层寻址问题
- 路由选择问题
- 因特网(Internet)是目前全世界用户数量最多的互联网,它使用TCP/IP协议栈。
- 由于TCP/IP协议栈的网络层使用网际协议IP,它是整个协议栈的核心协议,因此在TCP/IP协议栈中网络层常称为网际层。
4.2网络层提供的两种服务
面向连接的虚电路服务
- 可靠通信由网络来保证
- 必须建立网络层的连接——虚电路VC(Virtual Circuit)
- 通信双方沿着已建立的虚电路发送分组
- 目的主机的地址仅在连接建立阶段使用,之后每个分组的首部只需携带一条虚电路的编号(构成虚电路的每一段链路都有一个虚电路编号)
- 这种通信方式如果再使用可靠传输的网络协议,就可使所发送的分组最终正确到达接收方(无差错按序到达、不丢失、不重复)。
- 通信结束后,需要释放之前所建立的虚电路。
无连接的数据报服务
- 可靠通信应当由用户主机来保证
- 不需要建立网络层连接
- 每个分组可走不同的路径
- 每个分组的首部必须携带目的主机的完整地址
- 这种通信方式所传送的分组可能误码、丢失、重复和失序。
- 由于网络本身不提供端到端的可靠传输服务,路由器可以做得比较简单,而且价格低廉
- 因特网采用了这种设计思想,也就是将复杂的网络处理功能置于因特网的边缘(用户主机和其内部的运输层),而将相对简单的尽最大努力的分组交付功能置于因特网核心。
4.3 IPv4
- Pv4地址就是给Internet上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的32比特的标识符
- 为了方便阅读和记录,IPv4地址采用点分十进制表示方法以方便用户使用。
- IPv4地址的编址方法经历了如下三个历史阶段:
- 分类编址
- 划分子网
- 无分类编址
分类编址的IPv4
A类地址:
B类地址:
C类地址:
划分子网的IPv4地址
- 32比特的子网掩码可以表明分类IP地址的主机号部分被借用了几个比特作为子网号
- 子网掩码使用连续的比特1来对应网络号和子网号
- 子网掩码使用连续的比特0来对应主机号
- 将划分子网的IPv4地址与其相应的子网掩码进行逻辑与运算就可得到IPv4地址所在子网的网络地址
- 默认的子网掩码是指在未划分子网的情况下使用的子网掩码。
无分类编址的IPv4地址
- 划分子网在一定程度上缓解了因特网在发展中遇到的困难,但是数量巨大的C类网因为其地址空间太小并没有得到充分使用,而因特网的IP地址仍在加速消耗,整个IPv4地址空间面临全部耗尽的威胁。
- 为此,因特网工程任务组IETF又提出了采用无分类编址的方法来解决IP地址紧张的问题,同时还专门成立IPv6工作组负责研究新版本IP以彻底解决IP地址耗尽问题。
- 1993年,IETF发布了无分类域间路由选择CIDR(Classless Inter-Domain Routing)的RFC文档:RFC 1517~1519和1520.
- CIDR消除了传统的A类、B类和C类地址,以及划分子网的概念;
- CIDR可以更加有效地分配IPv4的地址空间,并且可以在新的IPv6使用之前允许因特网的规模继续增长。
- CIDR使用“斜线记法",或称CIDR记法。即在IPv4地址后面加上斜线"/",在斜线后面写上网络前缀所占的比特数量。
- CIDR实际上是将网络前缀都相同的连续的IP地址组成一个"CIDR地址块"
路由聚合(构造超网) - 网络前缀越长,地址块越小,路由越具体;
- 若路由器查表转发分组时发现有多条路由可选,则选择网络前缀最长的那条,这称为最长前缀匹配,因为这样的路由更具体。
五、运输层
六、应用层
6.1 应用层概述
- 应用层是计算机网络体系结构的最页层,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分。
客户/服务器方式(C/S方式)和对等方式(P2P方式)
- 开发一种新的网络应用首先要考虑的问题就是网络应用程序在各种端系统上的组织方式和它们之间的关系。目前流行的主要有以下两种:
- 客户/服务器(Client/Server,C/S)方式
- 方式口对等(Peer-to-Peer,P2P)方式
客户/服务器(Client/Server,C/S)方式
- 口客户和服务器是指通信中所涉及的两个应用进程。
- 口客户/服务器方式所描述的是进程之间服务和被服务的关系。
- 客户是服务请求方,服务器是服务提供方。
- 服务器总是处于运行状态,并等待客户的服务请求。服务器具有固定端口号(例如HTTP服务器的默认端口号为80),而运行服务器的主机也具有固定的IP地址。
- C/S方式是因特网上传统的、同时也是最成熟的方式,很多我们熟悉的网络应用采用的都是C/5方式。包括万E网www.电子邮件、文件传输FTP等。
- 基于C/S方式的应用服务通常是 服务集中型 的,即应用服务集中在网络中比客户计算机少得多的服务器计算机上。
- 由于一台服务器计算机要为多个客户机提供服务,在C/S应用中,常会出现服务器计算机跟不上众多客户机请求的情况。
- 为此,在C/S应用中,常用计算机群集(或服务器场)构建一个强大的虚拟服务器。
6.2 动态主机配置协议DHCP
- 动态主机配置协议DHCP(Dynamic Host Configuration Protocol)提供了一种机制,称为即插即用连网。这种机制允许一台计算机加入新网络时可自动获取IP地址等网络配置信息而不用手工参与。
- DHCP报文在运输层使用UDP协议封装
- DHCP客户在未获取到IP地址时使用地址0.0.0.0
DHCP的作用
DHCP的工作过程
DHCP中级代理
- 在每一个网络上都设置一个DHCP服务器会使DHCP服务器的数量太多。因此现在是使每一个网络至少有一个DHCP中继代理(通常是一台路由器),它配置了DHCP服务器的IP地址信息,作为各网络中计算机与DHCP服务器的桥梁。
6.3 域名系统DNS(Domain Name System)
域名系统的作用
- 早在1983年,因特网就开始采用层次结构的命名树作为主机的名字(即域名),并使用分布式的域名系统 DNS
- DNS使大多数域名都在本地解析,仅少量解析需要在因特网上通信,因此系统效率很高。
- 因特网采用层次树状结构的域名结构
- 顶级域名TLD(Top Level Domain)分为以下三类:
- 国家顶级域名nTLD :如cn表示中国,us表示美国,uk表示英国、等等。
- 通用顶级域名gTLD :即:com(公司企业)、net(网络服务机构)、org(非营利性组织)、int(国际组织)、edu(美国教育结构)、gov(美国政府部门)、mil(美国军事部门)
- 反向域arpa:用于反向域名解析,即IP地址反向解析为域名。
在国家顶级域名下注册的二级域名均由该国家自行确定。例如,顶级域名为jp的日本,将其教育和企业机构的二级域名定为ac和co,而不用edu和com。
- 在国家顶级域名下注册的二级域名均由该国家自行确定。
- 我国则将二级域名划分为以下两类:
- 类别域名(共七个):ac(科研机构)、com(工、商、金融等企业)、edu(教育机构)、gov(政府部门)、net(提供网络服务的机构)、mil(军事机构)和org(非营利性组织)。
- 行政区域名共34个,适用于我国的各省、自治区、直辖市。例如:bj为北京市、sh为上海市、js为江苏省,等等。
- 域名和IP地址的映射关系必须保存在域名服务器中,供所有其他应用查询。显然不能将所有信息都储存在一台域名服务器中。DNS使用分布在各地的域名服务器来实现域名到IP地址的转换。
- 域名服务器可以划分为以下四种不同的类型:
- 根域名服务器
- 最高层次的域名服务器,每个根域名服务器都知道所有的顶级域名服务器的域名及其IP地址。
- 因特网上共有13个不同IP地址的根域名服务器,"每台服务器"实际上是由许多分布在世界各地的计算机构成的服务器群集。当本地域名服务器向根域名服务器发出查询请求时,路由器就把查询请求报文转发到离这个DNS客户最近的一个根域名服务器。这就加快了DNS的查询过程,同时也更合理地利用了因特网的资源。
- 根域名服务器通常并不直接对域名进行解析,而是返回该域名所属顶级域名的顶级域名服务器的IP地址。
- 顶级域名服务器
- 这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当收到DNS查询请求时就给出相应的回答(可能是最后的结果,也可能是下一级权限域名服务器的IP地址)
- 权限域名服务器
- 这些域名服务器负责管理某个区的域名。每一个主机的域名都必须在某个权限域名服务器处注册登记。因此权限域名服务器知道其管辖的域名与IP地址的映射关系。另外,权限域名服务器还知道其下级域名服务器的地址。
- 本地域名服务器
- 不属于上述的域名服务器的等级结构。当一个主机发出DNS请求报文时,该报文就首先被送往该主机的本地域名服务器。本地域名服务器起着代理的作用,会将该报文转发到上述的域名服务器的等级结构中。
- 每一个因特网服务提供者ISP,一个大学,甚至学院,都可以拥有一个本地域名服务器,它有时也称为默认域名服务器。本地域名服务器离用户较近,一般不超过几个路由器的距离,也有可能就在同一个局域网中。本地域名服务器的IP地址需要直接配置在需要域名解析的主机中。
- 根域名服务器
域名解析的过程
- 递归查询
- 迭代查询
为了提高DNS的查询效率,并减轻根域名服务器的负荷和减少因特网上的DNS查询报文数量,在域名服务器中广泛地使用了高速缓存。高速缓存用来存放最近查询过的域名以及从何处获得域名映射信息的记录。
6.4 文件传送协议FTP
- 文件传送协议FTP(File Transfer Protocol)是因特网上使用得最广泛的文件传送协议。
- FTP提供交互式的访问,允许客户指明文件的类型与格式(如指明是否使用ASCI码),并允许文件具有存取权限(如访问文件的用户必须经过授权,并输入有效的口令)
- FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。
- FTP客户和服务器之间要建立以下两个并行的TCP连接:
- 控制连接在整个会话期间一直保持打开,用于传送FTP相关控制命令。
- 数据连接用于文件传输,在每次文件传输时才建立,传输结束就关闭。
- 默认情况下,FTP使用TCP 21端口进行控制连接,TCP20端口进行数据连接。
- 数据连接与传输模式有关,主动方式使用TCP20端口,被动方式由服务器和客户端自行协商决定。
6.5 电子邮件
- 电子邮件系统采用客户/服务器方式。
- 电子邮件系统的三个主要组成构件:用户代理,邮件服务器,以及电子邮件所需的协议。
- 用户代理:电子邮件客户端软件
- 协议:邮件发送协议(例如SMTP)和邮件读取协议(例如POP3,IMAP)
SMTP(简单邮件传送协议)
6.6 万维网
- 万维网www(World Wide Web) 并非某种特殊的计算机网络。它是一个大规模的、联机式的信息储藏所,是运行在因特网上的一个分布式应用。
- 万维网利用网页之间的超链接将不同网站的网页链接成一张逻辑上的信息网。
- 浏览器最重要的部分是渲染引擎,也就是浏览器内核。负责对网页内容进行解析和显示。
- 万维网使用统一资源定位符URL来指明因特网上任何种类"资源"的位置。
HTTP
- HTTP定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及万维网服务器怎样把万维网文档传送给浏览器。
- HTTP/1.0采用非持续连接方式。在该方式下,每次浏览器要请求一个文件都要与服务器建立TCP连接,当收到响应后就立即关闭连接。
- HTTP/1.1采用持续连接方式。在该方式下,万维网服务器在发送响应后仍然保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文。
- 为了进一步提高效率,HTTP/1.1的持续连接还可以使用流水线方式工作,即浏览器在收到HTTP的响应报文之前就能够连续发送多个请求报文。这样的一个接一个的请求报文到达服务器后,服务器就发回一个接一个的响应报文。节省了很多个RTT时间,使TCP连接中的空闲时间减少,提高了下载文档的效率。
- 使用Cookie在服务器上记录用户信息,Cookie是一种对无状态的HTTP进行状态化的技术。
- 早期的万维网应用非常简单,仅仅是用户查看存放在不同服务器上的各种静态的文档。因此HTTP被设计为一种 无状态 的协议。这样可以简化服务器的设计。
- 缓存和代理服务器
- 万维网缓存又称为Web缓存(Web Cache),可位于客户机,也可位于中间系统上,位于中间系统上的Web缓存又称为代理服务器(Proxy Server)
- Web缓存把最近的一些请求和响应暂存在本地磁盘中。当新请求到达时,若发现这个请求与暂时存放的请求相同,就返回暂存的响应,而不需要按URL的地址再次去因特网访问该资源。