《计算机网络》笔记摘抄汇总

时间:2024-10-07 22:49:32

《计算机网络》2017级课堂笔记


 

第一章 绪论

1.1 计算机网络在信息时代的作用

21世纪是一个以网络为核心的信息时代 三大网络:电信网络、有线电视网络、计算机网络 互联网两个基本特点:连通性共享

1.2 互联网概述

计算机网络由若干个结点和连接这些结点的链路组成(结点可以是:计算机,集线器,交换机和路由器) 网络之间可以通过路由器互联起来,就构成了覆盖范围更大的计算机网络,即互联网 网络把许多计算机连接在一起,而互联网则把许多网络通过路由器连接在一起。与网络相连的计算机常称为主机 互联网基础结构发展的三个阶段:1、从单个网络APPANET向互联网发展的过程 2、三级结构的互联网 3、多层次的ISP结构的互联网

1.3 互联网的组成

从工作方式上可分为: 1.边缘部分:这部分由用户直接使用,用来进行通信和资源共享 在网络边缘的端系统之间的通信方式可划分为两大类:客户-服务器方式和对等方式 (1)客户-服务器方式:客户是服务请求方,服务器是服务提供方(客户和服务器本来指的是计算机进程) (2)对等连接方式:即P2P方式,可支持大量对等用户同时工作

2.核心部分:由大量网络和连接这些网络的路由器组成,为边缘部分提供连通性和交换 在网络核心部分其特殊作用的是路由器,路由器是实现分组交换的关键构件,可以转发收到的分组 电路交换 的三个阶段:建立连接——通话——释放连接 在通话时,两用户之间占用端到端的资源,而由于绝大部分时间线路都是空闲的,所以线路的传输速率往往很低 分组交换 的组成:报文、首部、分组。采用存储转发技术,即收到分组——存储分组——查询路由(路由选择协议)——转发分组。优点:高效、灵活、迅速、可靠。缺点:时延、开销。关键构件:路由器 报文交换 整个报文传送到相邻结点,全部存储下来之后查询转发表,转发到下一个结点 AltAlt

1.4 计算机网络在我国的发展

计算机网络在我国经推广普及,发展迅速

1.5 计算机网络的类别

分类 按通信距离分:广域网、局域网、城域网 按信息交换方式分:电路交换网、分组交换网、总和交换网 按网络拓扑结构分:星型网、树型网、环型网、总线网 按通信介质分:双绞线网、同轴电缆网、光纤网、卫星网 按传输带宽分:基带网、宽带网 按使用范围分:公用网、专用网 按速率分:高速网、中速网、低速网 按通信传播方式分:广播式、点到点式

1.6 计算机网络的性能

性能指标:速率、带宽、时延 速率:指连接在计算机网络上的主机在数字信道上传送数据的速率b/s(bps) 如100M以太网,实际是指100Mb/s。往往是指额定速率或标称速率 带宽:数字信道所能传送的最高速率b/s(bps) 吞吐量:单位时间内通过某个网络(或信道、接口)的实际数据量。其绝对上限值等于带宽 时延:数据(一个报文或分组、甚至比特)从网络(或链路)的一段传送到另一端的时间,也称延迟   ① 发送时延:主机或路由器发送数据帧所需的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。也成传输时延 发送时延 = 数据帧长度(b) / 信道带宽(b/s)  ② 传播时延:电磁波在信道中传输一定距离所需划分的时间 传播时间 = 信道长度(m) / 传输速率(m/s)  ③ 处理时延:主机或路由器处理收到的分组所花费的时间  ④ 排队时延:分组在输入队列中等待处理的时间加上其在输出队列中等待转发的时间 综上:总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延 注:对于高速网络链路,提高的是发送速率而不是传播速率 时延带宽积:传播时延 * 带宽 (表示链路的容量) 往返时间RTT:从发送方发送数据开始,到发送发收到接收方的确认为止,所花费的时间 利用率:某信道有百分之几是被利用的(有数据通过)。而信道或网络利用率过高会产生非常大的时延 当前时延=空闲时时延/(1-利用率)

1.7 计算机网络体系结构

网络协议:简称协议,是为了进行网络中的数据交换而建立的规则、标准或约定 网络协议的三要素 语法:数据与控制信息的结构或格式 语义:需要发出何种控制信息,完成何种动作以及做出何种响应 同步:事件实现顺序的详细说明 体系结构(architecture)是计算机网络的各层及其协议的集合

五层协议的体系结构 物理层:物理层的任务就是透明地传送比特流。(注意:传递信息的物理媒体,如双绞线、同轴电缆、光缆等,是在物理层的下面,当做第0 层。)物理层还要确定连接电缆插头的定义及连接法。 数据链路层:将网络层交下来的IP数据报组装成帧,在两个相邻结点间的链路上”透明“的传送以帧为单位的数据。每一帧包括数据和必要的控制信息。在收到数据时,控制信息使收到端直到哪个帧从哪个比特开始和结束。 网络层:选择合适的路由,使发送站的运输层所传下来的分组能够正确无误地按照地址找到目的站,并交付给目的站的运输层。网络层将运输层产生的报文或用户数据报封装成分组(IP数据报)或包进行传送。 运输层:向上一层的进行通信的两个进程之间提供一个可靠的端对端服务,使它们看不见运输层以下的数据通信的细节。(TCP、UDP) 应用层:直接为用户的应用进程提供服务(HTTP、FTP等) OSI体系结构:物理层、数据链路层、网络层、运输层、会话层、表示层、应用层 TCP/IP体系结构:网络接口层、网际层IP、运输层、应用层

第二章 物理层

2.1 物理层的基本概念

物理层的主要任务描述为确定与传输媒体的接口之间的特性: 机械特性、电气特性、功能特性、过程特性 数据在通信线路上的传输方式一般都是串行传输

2.2 数据通信的基本知识

数据通信系统可分为三大部分: 1.源系统:(或发送端、发送方) 其中包含源点,发送器,接收器,终点 2.传输系统(或传输网络) 3.目的系统(或接收端、接收方)

通信方式单向通信(单工) 双向交替通信(半双工) 双向同时通信(全双工)

基带信号:来自信源的信号。 带通信号:经过载波条之后的信号。基本带通调制方法:调幅(AM)、调频(FM)、调相(PM)

2.3 物理层下面的传输媒体

导向传输媒体 1. 双绞线 双绞线已成为局域网中的主流传输媒体 可分为屏蔽双绞线 STP 和 无屏蔽双绞线 UTP 2. 同轴电缆 细缆(适合短距离,安装容易,造价低) 粗缆(适合较大局域网,布线距离长,可靠性好) 3. 光纤 光纤有很好的抗电磁干扰特性和很宽的频带,主要用在环形网中 多模光纤(用发光二极管,便宜,定向性较差) 单模光纤(注入激光二极管,定向性好) 非导向传输媒体 微波、红外线、激光、卫星通信 Alt

2.4 信道复用技术

频分复用 FDM :所有用户在同样的时间占用不同的频率带宽资源 时分复用 TDM :则是将时间划分为一段段等长的时分复用帧(TDM 帧) 统计时分复用 STDM :是改进的时分复用,明显地提高信道的利用率 波分复用 WDM :光的频分复用 码分复用 CDM :常用的名词是码分多址 CDMA:有很强的抗干扰能力

2.5 数字传输系统

早期数字系统存在的问题: 1.速率标准不统一 2.不是同步传输 后美国首先推出一个数字传输标准叫做:同步光纤网SONET

2.6 宽带接入技术

从宽带接入方式可分为: 1.有线宽带接入技术 2.无线宽带接入技术

ADSL技术: 即非对称数字用户线ADSL技术,用数字技术对现有的模拟电话用户线进行改造 ADSL技术的主要特点是可以充分利用现有的铜缆网络(电话线网络,在线路两端加装ADSL 设备即可为用户提供高宽带服务。ADSL的另外一个优点在于它可以与普通电话共存于一条电话线上,在一条普通电话线上接听、拨打电话的同时进行ADSL传输而又互不影响 光纤同轴混合网(HFC网): 是以光纤作为传输骨干,采用模拟传输技术,以频分复用方式传输模拟和数字信息的网络。也可以说,它是一种综合应用模拟和数字技术、同轴电缆和光缆技术以及射频技术的高分布式接入网络,是电信网和CATV网相结合的产物。它实际上是将现有光纤/同轴电缆混合组成的单向模拟CATV网改造为双向网络,除了提供原有的模拟广播电视业务外,利用频分复用技术和专用电缆解调器实现话音、数据和交互式视频等宽带双向业务的接入和应用 HFC系统的典型结构由馈线网、配线网和用户引入线3部分组成 Alt

第三章 数据链路层

3.1 使用点对点信道的数据链路层

链路 :从一个结点到相邻结点的一段物理线路 :数据层链路的协议数据单元 数据链路 :把实现这些协议的硬件和软件加载链路上 现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。一般的适配器都包括了数据链路层和物理层这两层的功能。

三个基本问题: 封装成帧 就是在一段数据的前后分别添加首部(帧开始符SOH 01)和尾部(帧结束符EOT 04),然后就构成了一个帧。(数据部分<=长度限制MTU)首部和尾部的一个重要作用就是进行帧定界。 帧定界是分组交换的必然要求 透明传输 为了达到透明传输(即传输的数据部分不会因为包含SOH和EOT而出错),在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(十六进制1B) 透明传输避免消息符号与帧定界符号相混淆 差错检测 现实通信链路中比特在传输中会产生差错,传输错误的比特占比称为误码率BER,为了保证可靠性,通常通过循环冗余检验CRC来做差错检测。 差错检测防止无效数据帧浪费后续路由上的传输和处理资源

3.2 点对点协议PPP

协议的组成部分: 一个将 IP 数据报封装到串行链路的方法 链路控制协议 LCP 网络控制协议 NCP

协议的帧格式 Alt首部: 首部中的标志字段F(Flag),规定为0x7E(符号0x表示它后面的字符是用十六进制表示的 十六进制的7E的二进制表示是01111110),标志字段表示一个帧的开始 首部中的地址字段A规定为0xFF(即11111111) 首部中的控制字段C规定为0x03(即00000011)

首部中的2字节的协议字段: (1)当协议字段为0x0021时,PPP帧的信息字段就是IP数据报 (2)当协议字段为0xC021时,PPP帧的信息字段就是PPP链路控制协议LCP的数据 (3)当协议字段为0x8021时,PPP帧的信息字段就是网络层的控制数据

尾部

尾部中的第一个字段(2个字节)是使用CRC的帧检验序列FCS 尾部中的标志字段F(Flag),规定为0x7E(符号0x表示它后面的字符是用十六进制表示的 十六进制的7E的二进制表示是01111110),标志字段表示一个帧的结束

3.透明传输的实现方法 当信息字段中出现和标志字段一样的比特(0x7E)组合时,就必须采取一些措施使这种形式上和标志字段一样的比特组合不出现在信息字段中

字节填充——PPP使用异步传输 当 PPP 用在异步传输时,就使用一种特殊的字符填充法:将每一个 0x7E字节变为(0x7D, 0x5E),0x7D转变成为(0x7D, 0x5D)。ASCII 码的控制字符(即数值小于 0x20 的字符),则在前面要加入0x7D,同时将该字符的编码加以改变

零比特填充——PPP使用同步传输 只要发现有5个连续的1,则立即填入一个0 Alt

4.PPP 协议的工作状态: 链路静止-建立物理层-链路建立-pc发LCP-NCP分配IP地址-链路打开,网络层建立。(释放时倒过来)

3.3 使用广播信道的数据链路层

广播信道是一种一对多的通信,局域网使用的就是广播信道

1.局域网的数据链路层(局域网的数据链路层被拆分为了两个子层) 逻辑链路控制LLC子层:与传输媒体无关 媒体接入控制MAC子层:和局域网都对LLC子层来说是透明的

2.CSMA/CD 协议 以太网采用CSMA/CD协议的方式来协调总线上各计算机的工作。在使用CSMA/CD协议的时候,一个站不可能同时进行发送和接收,因此使用CSMA/CD协议的以太网不可能进行全双工通信而只能进行双向交替通信(半双工)

CSMA/CD是载波监听多点接入/碰撞检测,下面是CSMA/CD协议的要点: “多点接入” :就是计算机以多点接入(动态媒体接入控制)的方式连接在一根总线上

“载波监听” :就是”发送前先监听”,即每一个站在发送数据前先要检测一下总线是否有其他站在发送数据,如有则暂时不要发送数据,要等到信道为空闲

“碰撞检测” :就是“边发送边监听”,即适配器边发送数据边检测信道上的信号电压的变化情况。当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送

把总线上的单程端到端传播时延记为τ,A 发送数据后,最迟要经过2τ才能知道自己发送的数据和其他站发送的数据有没有发生碰撞

3.4 扩展的以太网

  1. 在物理层扩展以太网 以太网上的主机之间的距离不能太远(例如,10BASE-T以太网的两主机之间的距离不超过200米),否则主机发送的信号经过铜线的传输就会衰减到使CSMA/CD协议无法正常使用 过去,广泛使用粗缆或细缆以太网时,常使用工作在物理层的转发器来扩展以太网的地理覆盖范围 现在,双绞线以太网成为以太网的主流类型,扩展主机和集线器之间的距离的一种简单方法就是使用光纤(通常是一对光纤)和一对光纤调制解调器 光纤调制解调器的作用,是进行电信号和光信号的转换 ALT

  2. 在数据链路层扩展以太网 注:在数据链路层扩展以太网要使用网桥 网桥工作在数据链路层,它根据MAC帧的目的地址对收到的帧进行转发或过滤。当网桥收到一个帧时,并不是向所有的接口转发这个帧,而是检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口,或者是把它丢弃(即过滤)

3.虚拟局域网-交换机 多接口网桥即交换式集线器常称为以太网交换机。利用以太网交换机可以很方便地 实现虚拟局域网,虚拟局域网协议允许在以太网的帧格式中插入一个 4 字节的标识符,称为 VLAN 标记。

3.5 高速以太网

1.100BAST-T以太网: 随着个人计算机处理能力的增强,计算机网络应用的普及,用户对计算机网络的需求日益增加,现在常规局域网已经远远不能满足要求。于是高速局域网便应运而生。高速局域网的传输速率大于等于100Mbit/s,常见的高速局域网有FDDI光纤环网、100BASE-T高速以太网、千兆位以太网、10Gbit/s以太网等

2.吉比特以太网: 吉比特以太网或称千兆以太网, 是一个描述各种以吉比特每秒速率进行以太网帧传输技术的术语,由IEEE 802.3-2005标准定义。该标准允许通过集线器连接的半双工吉比特连接,但是在市场上利用交换机的全双工连接才是标准

3.10吉比特以太网和更快的以太网: 10GE只工作在全双工方式,因此不存在争用问题,当然也不使用CSMA/CD协议 现在以太网的工作范围已经从局域网(校园网、企业网)扩大到城域网和广域网,从而实现了端到端的以太网传输

4.使用以太网进行宽带接入: 基于以太网技术的宽带接入网由局端设备和用户端 设备组成,局端设备一般位于小区内或商业大楼内,用户端设备一般位于居民楼内;局端设备提供与IP骨干网的接口

第四章 网络层

4.1 网络层提供的两种服务

本文主要说明网络层提供的两种服务,一种是虚拟电路服务,另外一种是数据报服务 1、虚拟电路服务 虽然因特网是一个利用数据报服务传输信息的,但是很多其他网络体系结构(例如ATM)使用的是虚拟电路网络 电信网把用户电话机产生的语音信号可靠地传输到对方的电话机

一条虚拟电路的组成有这些部分构成: (1)源主机和目的主机之间的路径(2)路径中每一段链路都有一个VC号(3)路径中的每个路由器都有一个转发表

使用虚拟电路服务就一般是通过以下三个步骤: (1)虚拟电路的建立 (2)数据传送 (3)虚拟电路的拆除

2、数据报服务 网络层上只是简单提供无连接的、简单灵活的、尽最大努力交付的数据报服务。在网络层是不提供可靠传输服务的,所以IP数据报是可能在传输过程中出现错误的。这种设计就使得网络中的路由器可以做的比较简单,而且价格低廉。而进行可靠传输是有主机中的运输层来做的(包括差错处理、流量控制等)(所谓的TCP/IP中的IP是不保证可靠传输的,而是交给了TCP来做的)。

4.2 网络协议IP

网际协议IP是TCP/IP体系中两个最重要的协议之一,也是最重要的因特网标准协议之一。与IP协议配套是用的四个协议: 1.地址解析协议ARP:是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题 2.网际控制报文协议ICMP:提供差错报告和询问报文,以提高IP数据交付成功的机会 3.网际组管理协议IGMP::用于探寻、转发本局域网内的组成员关系 ALT

虚拟互连网络: 因为没有一种单一的网络能够适应所有的用户需求,所以网络互连也变得困难,所以需要一些中间设备: 物理层中间设备:转发器 数据链路层中间设备:网桥或桥接器 网络层中间设备:路由器 网络层以上的中间设备:网关

分类的IP地址: IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的 32 位的标识符。由因特网名字与号码指派公司ICANN进行分配

IP地址编制方法的三个阶段: 分类的IP地址子网的划分构成超网

每一类地址都由 网络号 net-id和 主机号 host-id组成 主机号中全0表示网络地址,全1表示广播地址

A类: 由1字节的网络地址和3字节主机地址组成 网络地址的最高位必须是“0“,可指派的网络数为128-2,减2的原因是0.0.0.0对应“本网络”,另外一个是127.0.0.1是本地软件的回环地址,用于测试自己电脑IP地址是否可用 地址范围1.0.0.0到126.255.255.255最大主机数为2563-2=16777214台,减2的原因是全0的主机号字段代表该IP地址是"本主机“,全1表示”所有的“,表示该网络上的所有主机

B类: 由2字节的网络地址和2字节主机地址组成 网络地址的最高位必须是“10”,可指派的网络数为 214 -1,因为最高位为10,所以不存在全0全1的情况,但是B类网络地址128.0.0.0是不指派的,可指派最小网络地址是128.1.0.0 地址范围128.0.0.0-191.255.255.255 最大主机数为2562-2=65534台,减2同样是全0全1情况

C类: 由3字节的网络地址和1字节主机地址组成 网络地址的最高位必须是“110”,可指派的网络数为221-1,192.0.0.0不指派,最小可指派网络地址是192.0.1.0 地址范围192.0.0.0-223.255.255.255 最大主机数为256-2=254台,减2同样是全0全1情况 ALT

D类是多播地址,“lll0”开始

E类地址保留为今后使用,“llll0”开头

ALT

IP地址与硬件地址: 硬件地址是数据链路层和物理层使用的地址 IP地址是网络层和以上各层使用的地址,是一种逻辑地址 IP地址放在IP数据报的首部,而硬件地址放在MAC帧的首部。当数据报放入数据链路层的MAC帧中后,整个IP数据报就成为MAC帧的数据,因而在数据链路层看不见数据报的IP地址

地址解析协议ARP: ARP是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题 每一个主机都设有一个ARP高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表 如果所要找的主机和源主机不在同一个局域网上,那么就要通过 ARP 找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络

IP数据报格式: 一个IP数据报由首部(20 字节+可选字段)和数据两部分组成 ALTALT

分组转发流程: (1) 从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N (2) 若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是间接交付,执行(3) (3) 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4) (4) 若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行(5) (5) 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6) (6) 报告转发分组出错

4.3 划分子网和构造超网

两级IP地址缺陷: IP地址空间的利用率有时很低 给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏 两级的 IP 地址不够灵活

子网划分的基本思路: 划分子网纯属一个单位内部的事情,单位对外仍然表现为没有划分子网的网络 划分子网的方法是从主机号借用若干个位作为子网号 路由器在收到IP数据报后,按目标网络号和子网号定位目标子网

子网掩码: 子网掩码是一个网络或一个子网的重要属性

构造超网(无分类编址CIDR)

CIDR(无分类域间路由选择)的主要特点: CIDR消除了传统的A、B、C类地址以及划分子网的概念,用网络前缀代替网络号和子网号,后面的部分指明主机。因此,CIDR使IP地址从三级编址(使用子网掩码),又回到了两级编址,但这已是无分类的两级编址 CIDR把网络前缀相同的连续的IP地址组成一个”CIDR地址块”只要知道CIDR地址块中的任何一个地址,就可以知道这地址块的起始地址(即最小地址)和最大地址,以及地址块中的地址数

地址掩码: 是一连串的1和0组成,而1的个数救赎网络前缀长度。在斜线记法中。斜线后面的数字就是地址掩码中1的个数。

构成超网:由于一个CIDR地址块中含有很多地址,所以在路由表中就利用CIDR地址块来查找目标网络,这种地址的聚合常称为路由聚合,也称构成超网。

4.4 网际控制报文协议ICMP

为了更有效地转发IP数据报和提高交付成功的机会,在网际层使用了ICMP,ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告

ICMP报文的种类:

ICMP差错报告报文 ICMP差错报告报文共有 5 种: 终点不可达、源点抑制、时间超过、参数问题、改变路由(重定向)

ICMP询问报文

ICMP 询问报文有两种: 回送请求和回答报文 时间戳请求和回答报文

4.5 互联网的路由选择协议

两大类路由选择协议: 内部网关协议IGP:一个自治系统内部使用的路由选择协议。有多种协议,如 RIP 和OSPF 协议 外部网关协议EGP:一个自治系统的边界,将路由选择信息传递到另一个自治系统中

RIP协议的优缺点: RIP 存在的一个问题是当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器 RIP 协议最大的优点就是实现简单,开销较小 RIP 限制了网络的规模,它能使用的最大距离为 15(16 表示不可达) 路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加

RIP是一种分布式的基于距离向量的路由选择协议,其主要特点: (1)仅和相邻路由器交换信息 (3)按固定的时间间隔交换路由信息

OSPF最主要的特征就是使用分布式的链路状态协议,其主要特点: (1)使用洪泛法向本自治系统中所有路由器发送信息 (2)发送的信息是与本路由器相邻的所有路由器的链路状态 (3)只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息

BGP是不同自治系统的路由器之间交换路由信息的协议,它采用路径向量路由选择协议,其主要特点: (2)自治系统AS之间的路由选择必须考虑有关策略 (3)BGP只能力求寻找一条能够到达目的网络且比较好的路由,而并非要寻找一条最佳路由

4.6 IPv6

IP是互联网的核心协议,解决IP地址耗尽的根本措施就是采用更大地址空间和新版本的IP,即IPv6

IPv6的首部 IPv6的主要变化:更大的地址空间扩展的地址层次结构灵活的首部地址改进的选项允许协议继续扩充支持即插即用支持资源的预分配IPv6首部改为8字节对齐

IPv6基本首部中各字段的作用版本:占4位,指明了协议的版本 通信量类:占8位,为了区分不同的IPv6数据报的类别或优先级 流表号:占20位,对实时音频/视频的传送特别有用 有效载荷长度:占16位,指明IPv6数据报除基本首部以外的字节数 下一个首部:占8位,相当于IPv4的协议字段或可选字段 跳数限制:占8位,用来防止数据报在网络中无限期地存在 源地址:占128位,是数据报的发送端的IP地址 目的地址:占128位,是数据报的接收端的IP地址

IPv6的地址 一个IPv6的目的地址可分为三种基本类型: 单播:传统的点对点通信 多播:一点对多点的通信,数据报发送到一组计算机中的每一个 任播:任播的终点是一组计算机,但数据报只交付其中的一个,通常是距离最近的一个

IPv6使用冒号十六进制记法

从IPv4到IPv6的过渡

双协议栈:指在一台设备上同时启用IPv4协议栈和IPv6协议栈。这样的话,这台设备既能和IPv4网络通信,又能和IPv6网络通信。如果这台设备是一个路由器,那么这台路由器的不同接口上,分别配置了IPv4地址和IPv6地址,并很可能分别连接了IPv4网络和IPv6网络。如果这台设备是一个计算机,那么它将同时拥有IPv4地址和IPv6地址,并具备同时处理这两个协议地址的功能

隧道技术:一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将这些其他协议的数据帧或包重新封装在新的包头中发送。新的包头提供了路由信息,从而使封装的负载数据能够通过互联网络传递

ICMPv6 ICMPv6,即互联网控制信息协议版本六。ICMPv6为了与IPv6配套使用而开发的互联网控制信息协议。与IPv4一样,IPv6也需要使用ICMP,旧版本的ICMP不能满足IPv6全部要求,因此开发了新版本的ICMP,称为ICMPv6 ICMPv6是面向报文的协议,它利用报文来报告差错,获取信息,探测邻站或管理多播通信

4.7 IP多播

基本概念

IP多播直观上可以按照下图理解,源主机只需要发送一份数据,而网络中的路由器在转发该数据时需要将它复制多份,分别发给在该个多播组内的所有主机。也就是说,IP多播必须依赖于多播路由器,这些路由器具有识别多播包的功能,当然,多播路由器也能转发单播包。

ALT

ip网络中每个主机都有自己唯一的IP地址(为简化问题,这里忽略NAT,只考虑公共IP),那如何让一个多播数据包到达该多播组内的多台主机呢?肯定不能将这么多主机的ip地址都写入该多播数据包的目的ip包头域(长度限制),而是在该多播数据包的目的ip地址域中写入D类地址(224.0.0.0—239.225.225.225 前4bit固定为1110),每个D类地址对应一个多播组,则D类地址可以标志2^28个多播组。因此,多播数据包与一般的单播广播数据包的区别是它的目的ip地址为D类地址,并且ip首部中的协议字段为2,表明采用的是IGMP网际组管理协议。(需要注意的是多播数据包的目的ip地址实际上不可能对应某一台真实存在的主机的ip地址,也就是说该目的ip地址永远不可能作为源地址,即多播ip地址只能用于目的ip地址,不能用于源ip地址)

ip多播可以分为两种,一种是在本地局域网上进行硬件多播,第二种是在互联网的范围内进行多播。第二种最后还是需要依赖于把多播数据包在局域网上用硬件多播交付给多播组的所有成员

本地局域网上进行硬件多播: 当一台电脑加入到一个多播组, 它需要能够区分普通的单播和多播。当有硬件多播时,网卡经过驱动配置,除了关注自己的MAC地址外,还关注特定的MAC地址。当网卡收到一个多播MAC地址的报文时,它会向上交给IP层作进一步处理

互联网的范围内进行多播 IP多播需要两种协议:IGMP网际组管理协议以及多播路由选择协议

IGMP协议:

IGMP协议是让连接在本地局域网上的多播路由器知道本局域网上是否有主机(严格讲,是主机的某个进程)参加或者退出了某个多播组。IGMP协议具体的工作过程这里不再叙述,可以参见谢希仁的书。强调,多播数据包的发送者和接受者都知道一个多播组的成员有多少,也不知道这些成员分别对应哪些主机。任何应用进程都可以在任何时候向任何一个多播组发送多播数据包,而且该应用程序并不需要加入这个多播组

多播路由选择协议

仅有IGMP是不能完成多播任务的,连接在局域网上的多播路由器还必须和互联网上其他的多播路由器协同工作,以便把多播数据包用最小的代价传送给所有的组成员,这就需要使用多播路由选择协议。多播路由选择协议并未被标准化,多播路由选择实际上就是要找出以源主机为根节点的多播转发树,它们在转发数据包时使用了以下的三种方法 ALT

转发多播数据报使使用的方法:洪泛与剪除隧道技术基于核心技术的发现技术

一些建议使用的多播路由器选择协议 距离向量多播路由器选择协议、基于核心的转发树CBT、开放最短通路优先的多播开展MOSPF、协议无关多播-稀疏方式PLM-SM、协议无关多播-密集方式PLM-DM

4.8 虚拟专用网VPN和网络地址转换NAT

虚拟专用网VPN 利用公用的互联网作为本机构各专用网之间的通信载体,这样的专用网又称为虚拟专用网VPN 虚拟专用网络(VPN)的功能是:在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。VPN可通过服务器、硬件、软件等多种方式实现 ALT

网络地址转换NAT 需要在专用网连接到互联网的路由器上安装 NAT 软件。装有 NAT 软件的路由器叫做 NAT路由器,它至少有一个有效的外部全球IP地址 所有使用本地地址的主机在和外界通信时,都要在 NAT 路由器上将其本地地址转换成全球 IP 地址,才能和互联网连接 ALT

4.9 多协议标记交换MPLS

“多协议”表示在 MPLS 的上层可以采用多种协议,例如:IP,IPX;可以使用多种数据链路层协议,例如:PPP,以太网,ATM 等

MPLS 具有以下三个方面的特点: 支持面向连接的服务质量、支持流量工程,平衡网络负载、有效地支持虚拟专用网 VPN

MPLS 的工作原理: 在 MPLS 域的入口处,给每一个 IP 数据报打上固定长度“标记”,然后对打上标记的 IP 数据报用硬件进行转发 采用硬件技术对打上标记的 IP 数据报进行转发就称为标记交换 “交换”也表示在转发时不再上升到第三层查找转发表,而是根据标记在第二层(链路层)用硬件进行转发

MPLS的基本工作过程: MPLS 域中的各 LSR 使用专门的标记分配协议 LDP 交换报文,并找出标记交换路径 LSP。各 LSR 根据这些路径构造出分组转发表 分组进入到 MPLS 域时,MPLS 入口结点把分组打上标记,并按照转发表将分组转发给下一个 LSR。给 IP 数据报打标记的过程叫做分类 一个标记仅仅在两个标记交换路由器 LSR 之间才有意义。分组每经过一个 LSR,LSR 就要做两件事:一是转发,二是更换新的标记,即把入标记更换成为出标记。这就叫做标记对换 当分组离开 MPLS 域时,MPLS 出口结点把分组的标记去除。再以后就按照一般分组的转发方法进行转发

“转发等价类”就是路由器按照同样方式对待的分组的集合

MPLS首部的位置与格式 MPLS 首部共包括以下四个字段: 标记值 占20位 可以同时容纳高达 220 个流(即 1048576 个流)。实际上几乎没有哪个 MPLS 实例会使用很大数目的流,因为通常需要管理员人工管理和设置每条交换路径 试验 占3位 目前保留用作试验 栈S 占1位 在有“标记栈”时使用 生存时间TTL 占8位用来防止 MPLS 分组在 MPLS 域中兜圈子 ALT

第五章 运输层

5.1 运输层协议概述

运输层功能: 运输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信) 运输层还要对收到的报文进行差错检测 运输层需要有两种不同的运输协议,即面向连接的 TCP 和无连接的 UDP

运输层的两个主要协议 TCP/IP 的运输层有两个不同的协议: 用户数据报协议 UDP UDP 在传送数据之前不需要先建立连接。对方的运输层在收到 UDP 报文后,不需要给出任何确认。虽然 UDP 不提供可靠交付,但在某些情况下 UDP 是一种最有效的工作方式

传输控制协议 TCP TCP 则提供面向连接的服务。TCP 不提供广播或多播服务。由于 TCP 要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源

ALT

运输层的端口 TCP/IP的运输层的端口用一个 16 位端口号进行标志 端口号只具备本地意义,即端口号只是为了标志本计算机应用层中的各进程

客户发起通讯请求时,必须先知道对方服务器的IP地址和端口号,运输层的端口号分为下面三大类:

熟知端口号,数值一般为 0~1023

登记端口号,数值为1024~49151,为没有熟知端口号的应用程序使用的

客户端口号或短暂端口号,数值为49152~65535,留给客户进程选择暂时使用

5.2 用户数据协议UDP

UDP的主要特点: UDP 是无连接的,即发送数据之前不需要建立连接 UDP 使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制 UDP 是面向报文的 UDP 没有拥塞控制,很适合多媒体通信的要求 UDP 支持一对一、一对多、多对一和多对多的交互通信 UDP 的首部开销小,只有 8 个字节

UDP 的首部格式: 用户数据报 UDP 有两个字段:数据字段和首部字段 首部字段有 8 个字节,由 4 个字段组成,每个字段都是 2 个字节

ALT

5.3 传输控制协议TCP概述

TCP的主要特点: TCP 是面向连接的运输层协议 每一条 TCP 连接只能有两个端点,每一条 TCP 连接只能是点对点的(一对一) TCP 提供可靠交付的服务 TCP 提供全双工通信 面向字节流

TCP连接: TCP 把连接作为最基本的抽象 每一条 TCP 连接有两个端点 TCP 连接的端点不是主机,不是主机的IP 地址,不是应用进程,也不是运输层的协议端口 TCP 连接的端点叫做套接字或插口 端口号拼接到 IP 地址即构成了套接字

5.4 可靠传输的工作原理

理想的传输条件有以下两个特点: 传输信道不产生差错 不管发送方以多快的速度发送数据,接收方总是来得及处理收到的数据

停止等待协议: 停止等待”就是每发送完一个分组就停止发送,等待对方的确认在收到确认后再发送下一个分组 全双工通信的双方既是发送方也是接收方

无差错情况:A 发送分组 M1,发完就暂停发送,等待 B 的确认 (ACK)。B 收到了 M1 向 A 发送 ACK。A 在收到了对 M1 的确认后,就再发送下一个分组 M2 ALT

出现差错: 在接收方 B 会出现两种情况: B 接收 M1 时检测出了差错,就丢弃 M1,其他什么也不做(不通知 A 收到有差错的分组) M1 在传输过程中丢失了,这时 B 当然什么都不知道,也什么都不做 在这两种情况下,B 都不会发送任何信息 但A都必须重发分组,直到B正确接收为止,这样才能实现可靠通信

确认丢失和确认迟到: 确认丢失: 若 B 所发送的对 M1 的确认丢失了,那么 A 在设定的超时重传时间内不能收到确认,但 A 并无法知道:是自己发送的分组出错、丢失了,或者 是 B 发送的确认丢失了

确认迟到: 传输过程中没有出现差错,但 B 对分组 M1 的确认迟到了 A 会收到重复的确认。对重复的确认的处理很简单:收下后就丢弃 B 仍然会收到重复的 M1,并且同样要丢弃重复的 M1,并重传确认分组 ALT

信道利用率: 为了提高传输效率,发送方可以不使用低效率的停止等待协议,而是采用流水线传输 流水线传输就是发送方可连续发送多个分组,不必每发完一个分组就停顿下来等待对方的确认。这样可使信道上一直有数据不间断地传送 由于信道上一直有数据不间断地传送,这种传输方式可获得很高的信道利用率

连续 ARQ 协议: 基本思想: 发送方一次可以发出多个分组 使用滑动窗口协议控制发送方和接收方所能发送和接收的分组的数量和编号 每收到一个确认,发送方就把发送窗口向前滑动 接收方一般采用累积确认的方式 采用回退N(Go-Back-N)方法进行重传

5.5 TCP报文的首部格式

各字段的意义: 源端口和目的端口: 各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现 序号: 占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号 确认号: 占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号 数据偏移(即首部长度): 占 4 位,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。“数据偏移”的单位是 32 位字(以 4 字节为计算单位) 保留 : 占 6 位,保留为今后使用,但目前应置为 0 紧急 URG : 当 URG  1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据) 确认 ACK: 只有当 ACK =1 时确认号字段才有效。当 ACK =0 时,确认号无效 推送 PSH: 接收 TCP 收到 PSH = 1 的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付 复位 RST: 当 RST=1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接 同步 SYN: 同步 SYN = 1 表示这是一个连接请求或连接接受报文 终止 FIN: 用来释放一个连接。FIN=1 表明此报文段的发送端的数据已发送完毕,并要求释放运输连接 窗口: 占 2 字节,用来让对方设置发送窗口的依据,单位为字节 检验和: 占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部 紧急指针: 占 16 位,指出在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面) 选项: 长度可变。TCP 最初只规定了一种选项,即最大报文段长度 MSS ALT

其他选项:窗口扩大选项、时间戳选项、选择确认选项

5.6 TCP可靠传输的实现

以字节为单位的滑动窗口: TCP 的滑动窗口是以字节为单位的 发送窗口表示:在没有收到确认的情况下,可以连续把窗口内的数据全部发送出去 接收窗口表示:只允许接收落入窗口内的数据 ALT

ALT

超时重传时间的选择: 重传机制是 TCP 中最重要和最复杂的问题之一 TCP 每发送一个报文段,就对这个报文段设置一次计时器 只要计时器设置的重传时间到但还没有收到确认,就要重传这一报文段

Karn 算法:在计算平均往返时间 RTT 时,只要报文段重传了,就不采用其往返时间样本

选择确认 SACK: 如果使用选择确认,那么原来首部中的“确认号字段”的用法仍然不变 只是以后在 TCP 报文段的首部中都增加了 SACK 选项,以便报告收到的不连续的字节块的边界

5.7 TCP的流量控制

利用滑动窗口实现流量控制: 流量控制就是让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞 利用滑动窗口机制可以很方便地在 TCP 连接上实现流量控制 为了解决互相等待的死锁,TCP 为每一个连接设有一个持续计时器

必须考虑传输效率: 可以用不同的机制来控制 TCP 报文段的发送时机: 第一种机制是 TCP 维持一个变量,它等于最大报文段长度 MSS。只要缓存中存放的数据达到 MSS 字节时,就组装成一个 TCP 报文段发送出去

第二种机制是由发送方的应用进程指明要求发送报文段,即 TCP 支持的推送 (push) 操作

第三种机制是发送方的一个计时器期限到了,这时就把当前已有的缓存数据装入报文段(但长度不能超过 MSS)发送出去

糊涂窗口综合症:每次仅发送一个字节或很少几个字节的数据时,有效数据传输效率变得很低的现象

解决方法:Nagle算法

Nagle算法:若发送应用进程把要发送的数据逐个字节地送到 TCP 的发送缓存,则发送方就把第一个数据字节先发送出去,把后面到达的数据字节都缓存起来 当发送方收到对第一个数据字符的确认后,再把发送缓存中的所有数据组装成一个报文段发送出去,同时继续对随后到达的数据进行缓存 只有在收到对前一个报文段的确认后才继续发送下一个报文段 当到达的数据已达到发送窗口大小的一半或已达到报文段的最大长度时,就立即发送一个报文段

ALT

5.8 TCP的拥塞控制

拥塞控制的一般原理: 在某段时间,若对网络中某资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏。这种现象称为拥塞 出现拥塞的原因:∑对资源需求 > 可用资源

拥塞控制:防止过多的数据注入到网络中,使网络中的路由器或链路不致过载;是一个全局性的过程,涉及到与降低网络传输性能有关的所有因素

流量控制:抑制发送端发送数据的速率,以使接收端来得及接收;是点对点通信量的控制,是端到端的问题;

开环控制:在设计网络时,事先考虑周全,力求工作时不发生拥塞

闭环控制:基于反馈环路的概念;根据网络当前的运行状态采取相应控制措施;

TCP的拥塞控制方法: TCP进行拥塞控制的四种算法:慢开始拥塞避免快重传快恢复

假定:(1)数据是单方向传送的,对方只传送确认报文 (2)接收方总是有足够大的缓存空间,因而发送窗口的大小由网络的拥塞程度来决定

慢开始: 目的:用来确定网络的负载能力或拥塞程度 算法的思路:由小到大逐渐增大拥塞窗口数值 拥塞窗口cwnd控制方法:在每收到一个对新的报文段的确认后,可以把拥塞窗口增加最多一个 SMSS 的数值

拥塞避免: 让拥塞窗口 cwnd 缓慢地增大,避免出现拥塞 每经过一个传输轮次,拥塞窗口 cwnd = cwnd + 1 使拥塞窗口 cwnd 按线性规律缓慢增长 在拥塞避免阶段,具有 “加法增大” 的特点

快重传: 发送方只要一连收到三个重复确认,就知道接收方确实没有收到报文段,因而应当立即进行重传(即“快重传”),这样就不会出现超时,发送方也不就会误认为出现了网络拥塞 使用快重传可以使整个网络的吞吐量提高约20%

快恢复: 当发送端收到连续三个重复的确认时,由于发送方现在认为网络很可能没有发生拥塞,执行快恢复算法 FR 算法: 慢开始门限 ssthresh = 当前拥塞窗口 cwnd / 2 新拥塞窗口 cwnd = 慢开始门限 ssthresh 开始执行拥塞避免算法,使拥塞窗口缓慢地线性增大 ALT

主动队列管理 AQM: 路由器的队列通常都是按照“先进先出”FIFO 的规则处理到来的分组

当队列已满时,以后再到达的所有分组(如果能够继续排队,这些分组都将排在队列的尾部)将都被丢弃。这就叫做尾部丢弃策略

若发生了路由器中的尾部丢弃,就可能会同时影响到很多条 TCP 连接,结果使这许多 TCP 连接在同一时间突然都进入到慢开始状态。这在 TCP 的术语中称为全局同步

5.9 TCP的运输连接管理

TCP 连接有三个阶段:连接建立数据传送连接释放 TCP 连接的管理就是使 TCP 连接的建立和释放都能正常地进行 TCP 连接的建立采用客户服务器方式 主动发起连接建立的应用进程叫做客户 被动等待连接建立的应用进程叫做服务器

TCP 的连接建立: TCP 建立连接的过程叫做握手 握手需要在客户和服务器之间交换三个 TCP 报文段。称之为三报文握手 ALT

TCP 的连接释放: 数据传输结束后,通信的双方都可释放连接 TCP 连接释放过程是四报文握手 ALT

保活计时器:用来防止在TCP连接出现长时期的空闲

TCP 的有限状态机: ALT 粗实线箭头表示对客户进程的正常变迁
粗虚线箭头表示对服务器进程的正常变迁
细线箭头表示异常变迁

第六章 应用层

每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用层的具体内容就是规定应用进程在通信时所遵循的协议

6.1 域名系统DNS

域名系统概述: 多应用层软件经常直接使用域名系统 DNS,但计算机的用户只是间接而不是直接使用域名系统 互联网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统 DNS 名字到 IP 地址的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器

互联网的域名结构: 互联网采用了层次树状结构的命名方法 任何一个连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字,即域名 域名的结构由标号序列组成,各标号之间用点隔开: 域名只是个逻辑概念,并不代表计算机所在的物理地点

*域名 TLD分为三大类:国家*域名通用*域名基础结构域名

二级域名分为:类别域名、行政区域名

ALT

域名服务器: 一个服务器所负责管辖的(或有权限的)范围叫做区 每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到 IP 地址的映射

域名服务器有以下四种类型: 根域名服务器 、*域名服务器 、权限域名服务器 、本地域名服务器

根域名服务器:根域名服务器是最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的*域名服务器的域名和 IP 地址

*域名服务器:*域名服务器(即 TLD 服务器)负责管理在该*域名服务器注册的所有二级域名 当收到 DNS 查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器的 IP 地址)

权限域名服务器:负责一个区的域名服务器 当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的 DNS 客户,下一步应当找哪一个权限域名服务器

本地域名服务器: 当一个主机发出 DNS 查询请求时,这个查询请求报文就发送给本地域名服务器 每一个互联网服务提供者 ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器, 这种域名服务器有时也称为默认域名服务器

6.2 文件传送协议

FTP 概述: 文件传送协议 FTP (File Transfer Protocol) 是互联网上使用得最广泛的文件传送协议 FTP 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限 FTP 屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件

FTP 的基本工作原理: FTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性 FTP 使用客户服务器方式。一个 FTP 服务器进程可同时为多个客户进程提供服务。FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求

NFS 允许应用进程打开一个远地文件,并能在该文件的某一个特定的位置上开始读写数据 NFS 可使用户只复制一个大文件中的一个很小的片段,而不需要复制整个大文件

简单文件传送协议 TFTP: TFTP 是一个很小且易于实现的文件传送协议 TFTP 只支持文件传输而不支持交互 TFTP 没有一个庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别

TFTP 的主要特点: 每次传送的数据 PDU 中有 512 字节的数据,但最后一次可不足 512 字节 数据 PDU 也称为文件块 (block),每个块按序编号,从 1 开始 支持 ASCII 码或二进制传送 可对文件进行读或写 使用很简单的首部

6.3 远程终端协议TELNET

TELNET 是一个简单的远程终端协议,也是互联网的正式标准 用户用 TELNET 就可在其所在地通过 TCP 连接注册(即登录)到远地的另一个主机上(使用主机名或 IP 地址) TELNET 能将用户的击键传到远地主机,同时也能将远地主机的输出通过 TCP 连接返回到用户屏幕。这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连在远地主机上

6.4 万维网WWW

万维网概述 万维网是一个大规模的、联机式的信息储藏所 万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息 客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档 在一个客户程序主窗口上显示出的万维网文档称为页面

统一资源定位符 URL URL 相当于一个文件名在网络范围的扩展。因此 URL 是与互联网相连的机器上的任何可访问对象的一个指针 ALT 使用 HTTP 的 URL 的一般形式:http://<主机>:<端口>/<路径>

超文本传送协议 HTTP 为了使超文本的链接能够高效率地完成,需要用 HTTP 协议来传送一切必须的信息 用户浏览页面的两种方法: 1,在浏览器的地址窗口中键入所要找的页面的 URL 2,在某一个页面中用鼠标点击一个可选部分,这时浏览器会自动在互联网上找到所要链接的页面

HTTP 的主要特点: HTTP 使用了面向连接的 TCP 作为运输层协议,保证了数据的可靠传输 HTTP 协议本身也是无连接的,虽然它使用了面向连接的 TCP 向上提供的服务 HTTP 是面向事务的客户服务器协议 HTTP 1.0 协议是无状态的

持续连接的两种工作方式:非流水线方式、流水线方式 代理服务器又称为万维网高速缓存,它代表浏览器发出 HTTP 请求 万维网高速缓存把最近的一些请求和响应暂存在本地磁盘中

HTTP 有两类报文: 请求报文——从客户向服务器发送请求报文 响应报文——从服务器到客户的回答 ALT

万维网站点可以使用 Cookie 来跟踪用户 Cookie 表示在 HTTP 服务器和客户之间传递的状态信息

万维网的文档 HTML 把各种标签嵌入到万维网的页面中。这样就构成了所谓的 HTML 文档

HTML还规定了链接的设置方法。每个链接都有一个起点和终点 远程链接:超链的终点是其他网点上的页面 本地链接:超链指向本计算机中的某个文件

静态文档是指该文档创作完毕后就存放在万维网服务器中,在被用户浏览的过程中,内容不会改变 动态文档是指文档的内容是在浏览器访问万维网服务器时才由应用程序动态创建

通用网关接口 CGI:它定义了动态文档应如何创建,输入数据应如何提供给应用程序,以及输出结果应如何使用 活动文档技术把所有的工作都转移给浏览器端

万维网的信息检索系统 在万维网中用来进行搜索的程序叫做搜索引擎 垂直搜索引擎针对某一特定领域、特定人群或某一特定需求提供搜索服务

博客和微博 博客是万维网日志的简称 微博就是微型博客 微博不同于一般的博客。微博只记录片段、碎语,三言两语,现场记录,发发感慨,晒晒心情,永远只针对一个问题进行回答

6.5 电子邮件

电子邮件概述: 电子邮件:指使用电子设备交换的邮件及其方法

用户代理 UA 就是用户与电子邮件系统的接口,是电子邮件客户端软件 用户代理的功能:撰写、显示、处理和通信

邮件发送和读取使用不同的协议协议 简单邮件发送协议 SMTP:用于在用户代理向邮件服务器或邮件服务器之间发送邮件 邮局协议 POP3:用于用户代理从邮件服务器读取邮件

发送和接收电子邮件的几个重要步骤: 1.发件人调用 PC 中的用户代理撰写和编辑要发送的邮件 2.发件人的用户代理把邮件用 SMTP 协议发给发送方邮件服务器 服务器把邮件临时存放在邮件缓存队列中,等待发送 4.发送方邮件服务器的 SMTP 客户与接收方邮件服务器的 SMTP 服务器建立 TCP 连接,然后就把邮件缓存队列中的邮件依次发送出去 5.运行在接收方邮件服务器中的SMTP服务器进 程收到邮件后,把邮件放入收件人的用户邮箱中,等待收件人进行读取 6.收件人在打算收信时,就运行PC机中的用户代理,使用POP3(或 IMAP)协议读取发送给自己的邮件

简单邮件传送协议 SMTP SMTP 规定了在两个相互通信的 SMTP 进程交换信息的方法 SMTP 使用客户–服务器方式 SMTP 基于 TCP 实现客户与服务器的通信

SMTP 通信的三个阶段: 1.连接建立:连接是在发送主机的 SMTP 客户和接收主机的 SMTP 服务器之间建立的。SMTP不使用中间的邮件服务器
2.邮件传送: 邮件的传送是从MAIL命令开始的 3.连接释放:邮件发送完毕后,SMTP 应释放 TCP 连接

电子邮件的信息格式 一个电子邮件分为信封和内容两大部分

邮件读取协议 POP3 和 IMAP 两个常用的邮件读取协议: POP3:邮局协议 IMAP:网际报文存取协议 Alt

基于万维网的电子邮件 发送、接收电子邮件时使用 HTTP 协议 两个邮件服务器之间传送邮件时使用 SMTP

通用互联网邮件扩充 MIME 通用互联网邮件扩充 MIME 并没有改动 SMTP 或取代它

MIME 主要包括三个部分: 5 个新的邮件首部字段,它们可包含在原有首部中。这些字段提供了有关邮件主体的信息 定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化 定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变

6.6 动态主机配置协议DHCP

协议软件中,给协议参数赋值的动作叫做协议配置 一个协议软件在使用之前必须是已正确配置的

连接到互联网的计算机的协议软件需要配置的参数包括:IP 地址子网掩码默认路由器的 IP 地址域名服务器的 IP 地址

在协议软件中给这些参数赋值的动作叫做协议配置

DHCP给运行服务器软件、且位置固定的计算机指派一个永久地址,给运行客户端软件的计算机分配一个临时地址

DHCP 使用客户-服务器方式,采用请求/应答方式工作 DHCP 基于 UDP 工作,DHCP 服务器运行在 67 号端口, DHCP客户运行在 68 号端口

6.7 简单网络管理协议SNMP

网络管理的基本概念 网络管理包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求,如实时运行性能,服务质量等 网络管理常简称为网管

管理站也常称为网络运行中心 NOC 是网络管理系统的核心 管理程序在运行时就成为管理进程 大型网络往往实行多级管理,因而有多个管理者,而一个管理者一般只管理本地网络的设备

网络管理协议是管理程序和代理程序之间进行通信的规则 简单网络管理协议SNMP 中的管理程序和代理程序按客户–服务器方式工作 若要管理某个对象,就必然会给该对象添加一些软件或硬件,但这种“添加”必须对原有对象的影响尽量小些

SNMP 的网络管理由三个部分组成:SNMP 本身管理信息结构 SMI管理信息库 MIB SMI建立规则,MBI对变量进行说明,SNMP完成网管的动作

管理信息结构 SMI SMI 的功能:被管对象应怎样命名;用来存储被管对象的数据类型有哪些种;在网络上传送的管理数据应如何编码

被管对象的命名:SMI 规定所有被管对象必须在命名树上 被管对象的数据类型:简单类型、结构化类型 编码方法:基本编码规则 BER

管理信息库 MIB 被管对象必须维持可供管理程序读写的若干控制和状态信息。这些信息总称为管理信息库 MIB 只有在 MIB 中的对象才是 SNMP 所能够管理的

SNMP 的协议数据单元和报文 SNMP 的操作只有两种基本的管理功能: “读”操作,用 get 报文来检测各被管对象的状况 “写”操作,用 set 报文来改变各被管对象的状况

探询操作 —— SNMP 管理进程定时向被管理设备周期性地发送探询信息

SNMP 的报文格式: ALT

6.8 应用进程跨越网络的通信

系统调用和应用编程接口 大多数操作系统使用系统调用的机制在应用程序和操作系统之间传递控制权

系统调用接口实际上就是应用进程的控制权和操作系统的控制权进行转换的一个接口 使用系统调用之前要编写一些程序,特别是需要设置系统调用中的许多参数,因此这种系统调用接口又称为应用编程接口 API

几种常用的系统调用 当应用进程需要使用网络进行通信时,就发出系统调用 使用 TCP/IP 应用编程接口 API,就可以编写基于互联网的网络应用程序了 调用 API 时,用户可以使用 TCP 服务,也可以使用 UDP 等其他服务

使用TCP服务需要经历 3 个阶段: 连接建立阶段、数据传送阶段、连接释放阶段

6.9 P2P应用

具有集中目录服务器的 P2P 工作方式 在 P2P 工作方式下,所有的音频/视频文件都是在普通的互联网用户之间传输

用户要及时向 Napster 的目录服务器报告自己存有的音乐文件 Napster 的文件传输是分散的,文件的定位则是集中的

集中式目录服务器的缺点:可靠性差、会成为性能的瓶颈

具有全分布式结构的 P2P 文件共享程序 Gnutella 是第二代 P2P 文件共享程序,采用全分布方法定位内容的 P2P 文件共享应用程序

Gnutella 与 Napster 最大的区别是:不使用集中式的目录服务器,而是使用洪泛法在大量 Gnutella 用户之间进行查询

为了不使查询的通信量过大,Gnutella 设计了一种有限范围的洪泛查询,以减少倾注到互联网的查询流量,但也影响到查询定位的准确性

P2P 文件分发的分析 从互联网传送数据到主机,叫做下载 从主机向互联网传送,则称为上传

P2P 方式下分发的最短时间: 所有主机都下载完文件 F 的最少时间的下限是:Tp2p >= max(F/us , F/dmin, NF/uT)

在 P2P 对等方中搜索对象 现在广泛使用的索引和查找技术叫做分布式散列表 DHT DHT 即分布式哈希表,它是由大量对等方共同维护的散列表

分布式散列表 DHT 利用散列函数,把资源名 K 及其存放的结点 IP 地址 N 都分别映射为资源名标识符 KID 和结点标识符 NID

2020.1.4