计算机网络
计算机网络
考试相关
非对称数字用户线 ADSL (Asymmetric Digital Subscriber Line)技术由:数字用户线接入复用器DSLAM,用户线和用户家中的一些设施组成
物理层使用设备:中继器,集线器
数据链路层使用设备:交换机,网桥
网络层使用设备:路由器
“三网融合”指电信网络、有线电视网络和计算机网络的相互渗透、互相兼容、并逐步整合成为全世界统一的信息通信网络,
各层协议
物理层
数据链路层
- 停止等待协议
- 后退N帧协议
- 选择重传协议
- ALOHA协议
- CDMA(Code division multiplexing access)码分多址。是另一种共享信道的方法,每一个用户可以在同样的时间使用同样的频带进行通信。
- CSMA/CD(Carrier Sense Multiple Access/collision detection,带有冲突检测的载波侦听多路存取)是IEEE 802.3使用的一种媒体访问控制方法。从逻辑上可以划分为两大部分:数据链路层的媒体访问控制子层(MAC)和物理层。它严格对应于OSI开放系统互连模式的最低两层。LLC子层和MAC子层在一起完成OSI模式的数据链路层的功能。
- CSMA/CA协议
- 令牌传递协议
- 广域网PPP协议
网络层
- IP协议。IP协议(Internet Protocol,互联网协议),是TCP/IP协议栈中最核心的协议之一,通过IP地址,保证了联网设备的唯一性,实现了网络通信的面向无连接和不可靠的传输功能。
- ARP:地址解析协议 ARP 作用:在主机 ARP 高速缓存中存放一个从 IP 地址到硬件地址的映射表,并且这个映射表经常动态更新。每一台主机都设有一个 ARP 高速缓存(ARP Cache),里面有本局域网上的各主机和路由器的 IP 地址到硬件地址的映射表(并且每一个映射地址都设置有生存时间)。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
- ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
- DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,统一使用两个IANA分配的端口:67(服务器端),68(客户端)。DHCP通常被用于局域网环境,主要作用是集中的管理、分配IP地址,使client动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。简单来说,DHCP就是一个不需要账号密码登录的、自动给内网机器分配IP地址等信息的协议。
- NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。
- VPN虚拟专用网络 (Virtual Private Network,VPN)
- RIP(Routing Information Protocol,路由信息协议)是一种内部网关协议(IGP),是一种动态路由选择协议,用于自治系统(AS)内的路由信息的传递。RIP协议基于距离矢量算法(Bellham-Ford)(DistanceVectorAlgorithms),使用“跳数”(即metric)来衡量到达目标地址的路由距离。
- OSPF协议。OSPF全称(Open Shortest Path First,OSPF)开放式最短路径优先,是被最广泛使用的一种动态路由协议,是一种链路状态协议。具有路由变化收敛速度快、无路由环路、支持变长子网掩码(VLSM)和汇总、层次区域划分等优点。
- BGP全称是Border Gateway Protocol, 对应中文是边界网关协议。
- IGMP是Internet Group Management Ptotocol的简称,被称为互联网组管理协议,是TCP/IP协议族中负责IPV4组播成员管理的协议。
- 组播路由协议
传输层
- UDP(User Datagram Protocol)用户数据报协议
- TCP协议.传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793 [1]定义。
应用层
- FTP
- TFTP
- TELNET。Telnet是Internet远程登录服务的标准协议和主要方式,最初由ARPANET开发,现在主要用于Internet会话,它的基本功能是允许用户登录进入远程主机系统。
- HTTP
- SMTP
- MIME
- POP3
- IMAP
各个协议和技术:
- SIP(Session initialization Protocol,会话初始协议)是由 IETF (Internet Engineering Task Force, 因特网工程任务组 )制定的多媒体 通信协议 。 它是一个基于文本的应用层 控制协议 ,用于创建、修改和释放一个或多个参与者的会话。
- RIP协议(Routing Information Protocol,路由信息协议)是一种基于距离矢量的内部网关协议,即根据跳数来度量路由开销,进行路由选择。相比于其它路由协议(如OSPF、ISIS等),RIP协议实现更简单,对带宽、配置和管理等要求也更低,但受到路由跳数和收敛速度的限制,跳数大于15就认为网络不可达,所以无法用在大型复杂网络中。
- VoIP(互联网电话协议)是一种电话技术,允许您使用互联网而不是传统电话线拨打和接听电话。
- SNMP是广泛应用于TCP/IP网络的网络管理标准协议,该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。SNMP采用轮询机制,提供最基本的功能集,适合小型、快速、低价格的环境使用,而且SNMP以用户数据报协议(UDP)报文为承载,因而受到绝大多数设备的支持,同时保证管理信息在任意两点传送,便于管理员在网络上的任何节点检索信息,进行故障排查。
- SSL (Secure Sockets Layer)安全套接层。是由Netscape公司于1990年开发,用于保障Word Wide Web(WWW)通讯的安全。主要任务是提供私密性,信息完整性和身份认证。1994年改版为SSLv2,1995年改版为SSLv3.
第一章概述
互连网 (internet) ≠ 互联网 (Internet)
互联网基础结构发展的三个阶段:
- 1969-1990从单个网络 ARPANET 向互联网发展。
- 1985 – 1993建成了三级结构的互联网
- 1993 – 现在全球范围的多层次 ISP结构的互联网
计算机之间通信:主机 A 的某个进程和主机 B 上的另一个进程进行通信
端系统之间的两种通信方式:
- 客户/服务器方式 C/S
- 对等方式 P2P
互联网的核心部分:在网络核心部分起特殊作用的是路由器 (router)路由器是实现分组交换 (packet switching) 的关键构件,其任务是转发收到的分组。分组又称为“包”,而分组的首部也可称为“包头”。
- 互联网的核心部分采用分组交换技术,分组是在互联网中传送的数据单元
典型交换技术包括:
- 电路交换(电话线),通话的两个用户始终占用端到端的通信资源
- 分组交换,采用存储转发技术
- 报文交换
按照网络的作用范围进行分类:
- 广域网 WAN (Wide Area Network)
- 城域网 MAN (Metropolitan Area Network)
- 局域网 LAN (Local Area Network)
- 个人区域网 PAN (Personal Area Network)
网络性能参数:
速率:指的是数据的传送速率,也称为数据率 (data rate) 或比特率 (bit rate)。单位:bit/s,或 kbit/s、Mbit/s、 Gbit/s 等。
带宽 (bandwidth)某信道允许通过的信号频带范围称为该信道的带宽(或通频带)。网络中某通道传送数据的能力,表示在单位时间内网络中的某信道所能通过的“最高数据率”。
吞吐量 (throughput)单位时间内通过某个网络(或信道、接口)的实际数据量。
时延:指数据从网络的一端传送到另外一端所需的时间。
- 发送时延:是主机或路由器发送数据帧所需要的时间。公式为:数据帧长度(bit)/发送速率(bit/s)
- 传播时延:是电磁波在信道中传播一定的距离需要花费的时间。公式为:信道长度(m)/电磁波在信道上的传播速率(m/s)
- 处理时延:主机或路由器在收到分组时要花费一定的时间进行处理
- 排队时延:在分组进入路由器后要先在输入队列中排队等待处理
- 时延带宽积:链路的时延带宽积又称为以比特为单位的链路长度。
管道中的比特数表示从发送端发出但尚未到达接收端的比特数。
只有在代表链路的管道都充满比特时,链路才得到了充分利用。 - 往返时间 RTT (Round-Trip Time):表示从发送方发送完数据,到发送方收到来自接收方的确认总共经历的时间。
- 利用率:•某信道有百分之几的时间是被利用的(即有数据通过)根据排队论,当某信道的利用率增大时,时延会迅速增加。
网络协议 (network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。三个组成要素:
- 语法:数据与控制信息的结构或格式 。
- 语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
- 同步:事件实现顺序的详细说明。
五层协议的体系结构:
- 物理层:任务:实现比特(0 或 1)的传输。确定连接电缆的插头应当有多少根引脚,以及各引脚应如何连接。注意:传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内,而是在物理层协议的下面。
- 数据链路层:常简称为链路层。任务:实现两个相邻节点之间的可靠通信。在两个相邻节点间的链路上传送帧(frame)。如发现有差错,就简单地丢弃出错帧。如果需要改正出现的差错,就要采用可靠传输协议来纠正出现的差错。这种方法会使数据链路层协议复杂。
- 网络层:为分组交换网上的不同主机提供通信服务。两个具体任务:路由选择:通过一定的算法,在互联网中的每一个路由器上,生成一个用来转发分组的转发表。转发:每一个路由器在接收到一个分组时,要依据转发表中指明的路径把分组转发到下一个路由器。互联网使用的网络层协议是无连接的网际协议 IP (Internet Protocol) 和许多种路由选择协议,因此互联网的网络层也叫做网际层或 IP 层。IP 协议分组也叫做 IP 数据报,或简称为数据报。
- 运输层:任务:负责向两台主机中进程之间的通信提供通用的数据传输服务。具有复用和分用的功能。主要使用两种协议: 传输控制协议 TCP 用户数据报协议 UDP 。TCP (Transmission Control Protocol):提供面向连接的、可靠的数据传输服务。数据传输的单位是报文段 (segment)。UDP (User Datagram Protocol):提供无连接的尽最大努力 (best-effort) 的数据传输服务(不保证数据传输的可靠性)。数据传输的单位是用户数据报。
- 应用层:任务:通过应用进程间的交互来完成特定网络应用。协议:定义的是应用进程间通信和交互的规则。把应用层交互的数据单元称为报文(message)。例如:DNS,HTTP,SMTP
- OSI 参考模型把对等层次之间传送的数据单位称为该层的协议数据单元 PDU (Protocol Data Unit)
第二章物理层
2.1 物理层的基本概念
物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。
确定与传输媒体的接口的一些特性。4 个特性:
机械特性:指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等。
电气特性:指明在接口电缆的各条线上出现的电压的范围。
功能特性:指明某条线上出现的某一电平的电压的意义。
过程特性:指明对于不同功能的各种可能事件的出现顺序。
2.2数据通信的基础知识
常用术语:
- 消息(message):如话音、文字、图像、视频等。
- 数据 (data): 运送消息的实体。有意义的符号序列。
- 信号 (signal):数据的电气的或电磁的表现。
- 模拟信号 (analogous signal):代表消息的参数的取值是连续的。
- 数字信号 (digital signal):代表消息的参数的取值是离散的。
- 码元:在使用时间域(简称为时域)的波形表示数字信号时,代表不同离散数值的基本波形。
- 使用二进制编码时,只有两种不同的码元: 0 状态,1 状态。
有关信道的几个基本概念:
- 信道:一般用来表示向某一个方向传送信息的媒体。
- 单向通信(单工通信):只能有一个方向的通信,没有反方向的交互。
- 双向交替通信(半双工通信):通信的双方都可以发送信息,但双方不能同时发送(当然也就不能同时接收)。
- 双向同时通信(全双工通信):通信的双方可以同时发送和接收信息。
- 基带信号(即基本频带信号)
- 来自信源的信号。
- 包含有较多的低频成分,甚至有直流成分。
- 调制
- 基带调制:仅对基带信号的波形进行变换,把数字信号转换为另一种形式的数字信号。把这种过程称为编码 (coding)。
- 带通调制:使用载波 (carrier)进行调制,把基带信号的频率范围搬移到较高的频段,并转换为模拟信号。经过载波调制后的信号称为带通信号(即仅在一段频率范围内能够通过信道)。
常用编码方式:
- 不归零制:正电平代表 1,负电平代表 0。
- 归零制:正脉冲代表 1,负脉冲代表 0。
- 曼彻斯特编码:位周期中心的向上跳变代表 0,位周期中心的向下跳变代表 1。但也可反过来定义。
- 差分曼彻斯特编码:在每一位的中心处始终都有跳变。位开始边界有跳变代表 0,而位开始边界没有跳变代表 1。
信道的极限容量:
- 任何实际的信道都不是理想的,都不可能以任意高的速率进行传送。
- 码元传输的速率越高,或信号传输的距离越远,或噪声干扰越大,或传输媒体质量越差,在接收端的波形的失真就越严重。
- 限制码元在信道上的传输速率的两个因素:
- 信道能够通过的频率范围。
- 信噪比。
奈氏准则:码元传输的最高速率 = 2W (码元/秒)
在带宽为 W (Hz) 的低通信道中,若不考虑噪声影响,则码元传输的最高速率是 2W (码元/秒)。传输速率超过此上限,就会出现严重的码间串扰的问题,使接收端对码元的判决(即识别)成为不可能。
信噪比就是信号的平均功率和噪声的平均功率之比。常记为 S/N,并用分贝 (dB) 作为度量单位。即:信噪比(dB) = 10 log10(S/N ) (dB)
香农公式:信道的极限信息传输速率 C 可表达为:
- C = W log2(1+S/N) (bit/s)
其中:
W 信道的带宽 (Hz);
S 为信道内所传信号的平均功率;
N 为信道内部的高斯噪声功率。
2.3物理层下面的传输媒体
传输媒体是数据传输系统中在发送器和接收器之间的物理通路。
两大类:
- 导引型传输媒体:电磁波被导引沿着固体媒体(铜线或光纤)传播。
- 非导引型传输媒体:指自由空间。非导引型传输媒体中电磁波的传输常称为无线传输。
导引型传输媒体:
- 双绞线:绞合度越高,可用的数据传输率越高。双绞线标准 EIA/TIA-568.2 大类:
- 无屏蔽双绞线 UTP。
- 屏蔽双绞线 STP
- 同轴电缆:由内导体铜质芯线(单股实心线或多股绞合线)、绝缘层、网状编织的外导体屏蔽层(也可以是单股的)以及保护塑料外层所组成。
- 光缆:光纤是光纤通信的传输媒体。通过传递光脉冲来进行通信。其传输带宽远远大于目前其他各种传输媒体的带宽。
非导引型传输媒体:
利用无线电波在自由空间的传播可较快地实现多种通信,因此将自由空间称为“非导引型传输媒体”。
无线传输所使用的频段很广: LF ~ THF (30 kHz ~ 3000 GHz)
2.4信道复用技术
- 频分复用 FDM (Frequency Division Multiplexing) 将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。所有用户在同样的时间占用不同的带宽(即频带)资源。
- 时分复用 TDM (Time Division Multiplexing)将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙。每一个用户所占用的时隙是周期性地出现(其周期就是TDM帧的长度)的。TDM 信号也称为等时 (isochronous) 信号。所有用户在不同的时间占用同样的频带宽度。
- 波分复用 WDM (Wavelength Division Multiplexing) :光的频分复用。使用一根光纤来同时传输多个光载波信号。
- 码分复用每一个用户可以在同样的时间使用同样的频带进行通信。各用户使用经过特殊挑选的不同码型,因此不会造成干扰。当码分复用 CDM (Code Division Multiplexing) 信道为多个不同地址的用户所共享时,就称为码分多址 CDMA (Code Division Multiple Access)。
2.5 数字传输系统
早期,电话网长途干线采用频分复用 FDM 的模拟传输方式。
目前,大都采用时分复用 PCM 的数字传输方式。
现代电信网业务括话音、视频、图像和各种数据业务。因此需要一种能承载来自其他各种业务网络数据的传输网络。
在数字化的同时,光纤开始成为长途干线最主要的传输媒体。
2.6宽带接入技术
非对称数字用户线 ADSL (Asymmetric Digital Subscriber Line) 技术:用数字技术对现有的模拟电话用户线进行改造,使它能够承载宽带业务。
ADSL 技术把 0~4 kHz 低端频谱留给传统电话使用,而把原来没有被利用的高端频谱留给用户上网使用。
ADSL 的 ITU 的标准:G.992.1(或称 G.dmt)。
非对称:下行(从 ISP 到用户)带宽远大于上行(从用户到 ISP)带宽。
3 大组成部分:数字用户线接入复用器 DSLAM(DSL Access Multiplexer),用户线和用户家中的一些设施。
第三章数据链路层
3.1使用点对点信道的数据链路层
链路 (link) :一条无源的点到点的物理线路段,中间没有任何其他的交换结点。
数据链路 (data link):把实现控制数据传输的协议的硬件和软件加到链路上,就构成了数据链路。典型实现:适配器(即网卡)
物理、数据链路区别:
- 链路是物理链路,而数据链路是逻辑链路。
- 采用复用技术时,一条链路上可以有多条数据链路。
- 链路不可靠(可能出现差错),而数据链路是可靠的(出现差错后可纠正)。
- 链路连接的生存期是结点开机到结点关机时止;而数据链路连接的生存期是从通信开始到通信结束时止。
数据链路层协议数据单元:帧
三个基本问题 :
- 封装成帧 (framing):在一段数据的前后分别添加首部和尾部,构成一个帧。首部和尾部的一个重要作用就是进行帧定界(即确定帧的界限)。
最大传送单元 MTU (Maximum Transfer Unit) :规定了所能传送的帧的数据部分长度上限。
用控制字符作为帧定界符:
- 控制字符 SOH (Start Of Header) 放在一帧的最前面,表示帧的首部开始。
- 控制字符 EOT (End Of Transmission) 放在一帧的末尾,表示帧的结束。
- 透明传输:如果数据中的某个字节的二进制代码恰好和 SOH 或 EOT 一样,数据链路层就会错误地“找到帧的边界”,导致错误。
解决办法:用“字节填充”或“字符填充”法解决透明传输的问题
- 差错控制 :在传输过程中可能会产生比特差错:1 -> 0, 0 -> 1。
在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER (Bit Error Rate)。
循环冗余检验 CRC (Cyclic Redundancy Check) 原理:在发送端,先把数据划分为组。假定每组 k 个比特。 CRC 运算在每组 M 后面再添加供差错检测用的 n 位冗余码,然后构成一个帧发送出去。一共发送 (k + n) 位。
这种为了进行检错而添加的冗余码常称为帧检验序列 FCS (Frame Check Sequence)。
可靠传输:数据链路层的发送端发送什么,在接收端就收到什么。
传输差错可分为两大类:
- 比特差错;
- 传输差错:帧丢失、帧重复或帧失序等。
在数据链路层使用 CRC 检验,能够实现无比特差错的传输,但这还不是可靠传输。
3.2点对点协议 PPP
对于点对点的链路,目前使用得最广泛的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。
PPP 协议的帧格式:
当 PPP 用在异步传输时,使用字节填充法。
7E->7D5E
7D->7D5D
03->7DD23
当 PPP 用在同步传输链路时,采用零比特填充法。
连续5个1插入0
3.3使用广播信道的数据链路层
以太网的两个标准 :
- DIX Ethernet V2:世界上第一个局域网产品(以太网)的规约。
- IEEE 802.3:第一个 IEEE 的以太网标准。
CSMA/CD 协议:
- CSMA/CD (Carrier Sense Multiple Access with Collision Detection) :载波监听多点接入 / 碰撞检测。
- 多点接入:说明这是总线型网络。许多计算机以多点接入的方式连接在一根总线上。
- 载波监听:即“边发送边监听”。不管在想要发送数据之前,还是在发送数据之中,每个站都必须不停地检测信道。
- 碰撞检测:适配器边发送数据,边检测信道上的信号电压的变化情况。电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞(或冲突)。
碰撞后重传的时机:采用截断二进制指数退避 (truncated binary exponential backoff) 确定。
发生碰撞的站停止发送数据后,要退避一个随机时间后再发送数据。
基本退避时间 = 2t
从整数集合 [0, 1, … , (2k - 1)] 中随机地取出一个数,记为 r。
重传所需的时延 = r ⅹ 基本退避时间。
参数 k = Min[重传次数, 10]
当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。
MAC 层的硬件地址:硬件地址又称为物理地址,或 MAC 地址。
MAC帧格式:
局域网数据链路层分为 2 个子层:
- 逻辑链路控制 LLC (Logical Link Control) 子层:与传输媒体无关。
- 媒体接入控制 MAC (Medium Access Control) 子层:与传输媒体有关。
3.4扩展的以太网
使用光纤扩展
使用集线器扩展
早期使用网桥,现在使用以太网交换机。
- 网桥:工作在数据链路层,根据 MAC 帧的目的地址对收到的帧进行转发和过滤。或者转发,或者丢弃
- 交换机:工作在数据链路层。多端口的网桥。可明显地提高以太网的性能。
- 即插即用。其内部的帧交换表(又称为地址表)是通过自学习算法自动地逐渐建立起来的。这种交换表就是一个内容可寻址存储器CAM (Content addressable Memory)。
存在的问题:回路
消除回路:使用生成树协议(SPT)生成树协议 STP (Spanning Tree Protocol) 要点:
不改变网络的实际拓扑,但在逻辑上则切断某些链路,使得从一台主机到所有其他主机的路径是无环路的树状结构,从而消除了兜圈子现象
广播域(broadcast domain):指这样一部分网络,其中任何一台设备发出的广播通信都能被该部分网络中的所有其他设备所接收。
虚拟局域网 VLAN:虚拟局域网 VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个 VLAN 的帧都有一个明确的标识符,指明发送这个帧的计算机是属于哪一个 VLAN。
划分虚拟局域网的方法:
- 基于交换机端口
- 基于计算机网卡的 MAC 地址
- 基于协议类型
- 基于 IP 子网地址
- 基于高层应用或服务
3.5高速以太网
又称为快速以太网 (Fast Ethernet)。
在双绞线上传送 100 Mbit/s 基带信号的星形拓扑以太网。
仍使用 IEEE 802.3 的 CSMA/CD 协议。
1995 定为正式标准:IEEE 802.3u。
第四章网络层
4.1网络层的几个重要概念
对比的方面 | 虚电路服务 | 数据报服务 |
---|---|---|
思路 | 可靠通信应当由网络来保证 | 可靠通信应当由用户主机来保证 |
连接的建立 | 必须有 | 不需要 |
终点地址 | 仅在连接建立阶段使用,每个分组使用短的虚电路号 | 每个分组都有终点的完整地址 |
分组的转发 | 属于同一条虚电路的分组均按照同一路由进行转发 | 每个分组独立选择路由进行转发 |
当结点出故障时 | 所有通过出故障的结点的虚电路均不能工作 | 出故障的结点可能会丢失分组,一些路由可能会发生变化 |
分组的顺序 | 总是按发送顺序到达终点 | 到达终点时不一定按发送顺序 |
端到端的差错处理和流量控制 | 可以由网络负责,也可以由用户主机负责 | 由用户主机负责 |
4.2网际协议 IP
与网际协议 IPv4 配套的 3 个协议:
- 地址解析协议 ARP (Address Resolution Protocol)
- 网际控制报文协议 ICMP (Internet Control Message Protocol)
- 网际组管理协议 IGMP (Internet Group Management Protocol)
IP 地址及其表示方法:
互联网上的每台主机(或路由器)的每个接口分配一个在全世界唯一的 IP 地址。
由互联网名字和数字分配机构 ICANN (Internet Corporation for Assigned Names and Numbers) 进行分配。
IP地址=网络号(n位)+主机号(32-n位)
IP地址分类:
- A类地址:0.0.0.0~127.255.255.255,即0开头
- B类地址:128.0.0.0~191.255.255.255,即10开头
- C类地址:192.0.0.0~223.255.255.255,即110开头
- D类地址:224.0.0.0~239.255.255.255,即1110开头
- E类地址:240.0.0.0~255.255.255.255,即1111开头
各类 IP 地址的指派范围
不使用的IP
无分类编址 CIDR:CIDR (Classless Inter-Domain Routing) :无分类域间路由选择。
消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,可以更加有效地分配 IPv4 的地址空间,但无法解决 IP 地址枯竭的问题。
要点:
(1) 网络前缀
(2) 地址块
(3) 地址掩码
最大的区别:前缀的位数 n 不固定,可以在 0 ~ 32 之间选取任意值。
CIDR 记法:斜线记法 (slash notation)
a.b.c.d / n:二进制 IP 地址的前 n 位是网络前缀。
例如:128.14.35.7/20:前 20 位是网络前缀。
CIDR 把网络前缀都相同的所有连续的 IP 地址组成一个 CIDR 地址块。
一个 CIDR 地址块包含的 IP 地址数目,取决于网络前缀的位数。
地址掩码 (address mask)又称为子网掩码 (subnet mask)。
位数:32 位。
目的:让机器从 IP 地址迅速算出网络地址。
由一连串 1 和接着的一连串 0 组成,而 1 的个数就是网络前缀的长度。
网络地址 = (二进制的 IP 地址) AND (地址掩码)
路由聚合 (route aggregation):
地址解析协议 ARP(Address Resolution Protocol ) 作用:从 IP 地址解析出 MAC 地址。
实现 IP 通信时使用了两个地址:
- IP 地址(网络层地址)
- MAC 地址(数据链路层地址)
ARP 高速缓存 (ARP cache):
- 存放 IP 地址到 MAC 地址的映射表。
- 映射表动态更新(新增或超时删除)。
为什么要使用两种地址:IP 地址和 MAC 地址?
- 不同使用不同的 MAC 地址。MAC 地址之间的转换非常复杂。
- 对以太网 MAC 地址进行寻址也是极其困难的。
- IP 编址把这个复杂问题解决了。
- 连接到互联网的主机只需各自拥有一个唯一的 IP 地址,它们之间的通信就像连接在同一个网络上那样简单方便,即使必须多次调用 ARP 来找到 MAC 地址,但这个过程都是由计算机软件自动进行的,对用户来说是看不见的。
- 因此,在虚拟的 IP 网络上用 IP 地址进行通信非常方便。
4.3 IP 层转发分组的过程
基于终点的转发:
- 分组在互联网中是逐跳转发的。
- 基于终点的转发:基于分组首部中的目的地址传送和转发。
最长前缀匹配规则:
- 使用 CIDR 时,在查找转发表时可能会得到不止一个匹配结果。
- 最长前缀匹配 (longest-prefix matching) 原则:选择前缀最长的一个作为匹配的前缀。
- 网络前缀越长,其地址块就越小,因而路由就越具体。
- 可以把前缀最长的排在转发表的第 1 行。
两种特殊路由:
主机路由 (host route)
- 又叫做特定主机路由。
- 是对特定目的主机的 IP 地址专门指明的一个路由。
- 网络前缀就是 a.b.c.d/32
- 放在转发表的最前面。
默认路由 (default route)
- 不管分组的最终目的网络在哪里,都由指定的路由器 R 来处理
- 用特殊前缀 0.0.0.0/0 表示。
4.4网际控制报文协议 ICMP
ICMP (Internet Control Message Protocol) 允许主机或路由器报告差错情况和提供有关异常情况的报告。
ICMP 是互联网的标准协议。但 ICMP 不是高层协议,而是 IP 层的协议。
ICMP 报文的种类:差错报告报文,询问报文
不应发送 ICMP 差错报告报文的几种情况:
- 对 ICMP 差错报告报文不再发送 ICMP 差错报告报文。
- 对第一个分片的数据报片的所有后续数据报片都不发送 ICMP 差错报告报文。
- 对具有多播地址的数据报都不发送 ICMP 差错报告报文。
- 对具有特殊地址(如127.0.0.0 或 0.0.0.0)的数据报不发送 ICMP 差错报告报文。
ICMP 询问报文
(1) 回送请求和回答
由主机或路由器向一个特定的目的主机发出的询问。
收到此报文的主机必须给源主机或路由器发送 ICMP 回送回答报文。
这种询问报文用来测试目的站是否可达,以及了解其有关状态。
(2) 时间戳请求和回答:
请某台主机或路由器回答当前的日期和时间。
时间戳回答报文中有一个 32 位的字段,其中写入的整数代表从1900 年 1 月 1 日起到当前时刻一共有多少秒。
时间戳请求与回答可用于时钟同步和时间测量。
PING (Packet InterNet Groper)
用来测试两个主机之间的连通性。
使用了 ICMP 回送请求与回送回答报文。
是应用层直接使用网络层 ICMP 的例子,没有通过运输层的 TCP 或 UDP。
4.5IPv6
IPv4 地址耗尽问题:根本解决措施:采用具有更大地址空间的新版本的 IP,即 IPv6。
由两大部分组成:
- 基本首部 (base header)
- 有效载荷 (payload)。有效载荷也称为净负荷。有效载荷允许有零个或多个扩展首部 (extension header),再后面是数据部分。
在 IPv6 中,每个地址占 128 位,地址空间大于$ 3.4 ·10^{38}$ 。
使用冒号十六进制记法(colon hexadecimal notation, 简写为 colon hex):16 位的值用十六进制值表示,各值之间用冒号分隔。
零压缩:一串连续的零可以用一对冒号取代。
4.6互联网的路由选择协议
互联网:
- 采用自适应的(即动态的)、分布式路由选择协议。
- 把整个互联网划分为许多较小的自治系统 AS,采用分层次的路由选择协议。
分为 2 个层次:
- 自治系统之间的路由选择 或 域间路由选择 (interdomain routing);
- 自治系统内部的路由选择 或 域内路由选择 (intradomain routing);
自治系统 AS :是在单一技术管理下的许多网络、IP地址以及路由器,而这些路由器使用一种自治系统内部的路由选择协议和共同的度量。每一个 AS 对其他 AS 表现出的是一个单一的和一致的路由选择策略。
2 大类路由选择协议:
- 内部网关协议 IGP(Interior Gateway Protocol): 在一个自治系统内部使用的路由选择协议常用:RIP,OSPF
- 外部网关协议 EGP (•External Gateway Protocol)•在不同自治系统之间进行路由选择时使用的协议使用最多:BGP-4
路由信息协议 RIP (Routing Information Protocol) 是一种分布式的、基于距离向量的路由选择协议。要求网络中的每个路由器都要维护从它自己到其他每一个目的网络的距离记录。
好路由 = “距离短”的路由。最佳路由 = “距离最短”的路由。
一条路径最多只能包含 15 个路由器。
“距离”的最大值为 16 时即相当于不可达。
RIP 不能在两个网络之间同时使用多条路由,只选择距离最短”的路由。
距离向量算法:对每个相邻路由器(假设其地址为 X)发送过来的 RIP 报文,路由器:
RIP 协议特点:好消息传播得快,坏消息传播得慢。
问题:坏消息传播得慢(慢收敛)。当网络出现故障时,要经过比较长的时间才能将此信息(坏消息)传送到所有的路由器。
内部网关协议 OSPF:开放最短路径优先 OSPF (Open Shortest Path First)是为克服 RIP 的缺点在 1989 年开发出来的。原理很简单,但实现很复杂。使用了 Dijkstra 提出的最短路径算法 SPF。采用分布式的链路状态协议 (link state protocol)。 现在使用 OSPFv2。
- 采用洪泛法 (flooding),向本自治系统中所有路由器发送信息。
- 发送的信息是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。
- 链路状态:说明本路由器都和哪些路由器相邻,以及该链路的度量 (metric)。
- 当链路状态发生变化或每隔一段时间(如30分钟),路由器才用洪泛法向所有路由器发送此信息。
外部网关协议 BGP:BGP 是不同自治系统的路由器之间交换路由信息的协议。
BGP 较新版本是 2006 年 1 月发表的 BGP-4(BGP 第 4 个版本),即 RFC 4271 ~ 4278。
可以将 BGP-4 简写为 BGP。
4.7IP 多播
在互联网上进行多播就叫做 IP 多播。
互联网范围的多播要靠路由器来实现。
能够运行多播协议的路由器称为多播路由器 (multicast router)。
多播路由器也可以转发普通的单播 IP 数据报。
从 1992 年起,在互联网上开始试验虚拟的多播主干网 MBONE (Multicast Backbone On the InterNEt)。
不考
4.8虚拟专用网 VPN 和网络地址转换 NAT
重点
虚拟专用网 VPN
利用公用互联网作为本机构各专用网之间的通信载体,这样的专用网又称为虚拟专用网 VPN (Virtual Private Network)。
专用网:指这种网络是为本机构的主机用于机构内部的通信,而不是用于和网络外非本机构的主机通信。
虚拟:表示实际上没有使用通信专线,只是在效果上和真正的专用网一样。
远程接入 VPN (remote access VPN):允许外部流动员工通过接入 VPN 建立 VPN 隧道访问公司内部网络,好像就是使用公司内部的本地网络访问一样。
网络地址转换 NAT (Network Address Translation)
需要在专用网连接到互联网的路由器上安装 NAT 软件。装有 NAT 软件的路由器叫做 NAT路由器,它至少有一个有效的外部全球 IP 地址。所有使用本地地址的主机在和外界通信时,都要在 NAT 路由器上将其本地地址转换成全球 IP 地址,才能和互联网连接。
在内部主机与外部主机通信时,在 NAT 路由器上发生了两次地址转换:
离开专用网时:替换源地址,将内部地址替换为全球地址。
进入专用网时:替换目的地址,将全球地址替换为内部地址。
NAT 并不能节省 IP 地址。
NAPT 可以使多台拥有本地地址的主机,共用一个 全球 IP 地址,同时和互联网上的不同主机进行通信。
使用运输层端口号的 NAT 叫做网络地址与端口号转换 NAPT (Network Address and Port Translation),而不使用端口号的 NAT 就叫做传统的 NAT (traditional NAT)。
4.9多协议标记交换 MPLS
不考
4.10软件定义网络 SDN 简介
软件定义网络 SDN(Software Defined Network)由斯坦福大学N. McKeown 于 2009 年首先提出。
第五章运输层
5.1运输层协议概述
屏蔽作用:
运输层向高层用户屏蔽了下面网络核心的细节(如网络拓扑、所采用的路由选择协议等),使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。
运输层的两个主要协议:
- 用户数据报协议 UDP (User Datagram Protocol)
- 传输控制协议 TCP (Transmission Control Protocol)
两个对等运输实体在通信时传送的数据单位叫作运输协议数据单元 TPDU (Transport Protocol Data Unit)。
TCP 传送的数据单位协议是 TCP 报文段 (segment)。
UDP 传送的数据单位协议是 UDP 报文或用户数据报( datagram ) 。
UDP和TCP的区别:
- UDP:传送数据之前不需要先建立连接。•收到 UDP 报后**,**不需要给出任何确认。•不提供可靠交付,但是一种最有效的工作方式
- TCP提供可靠的、面向连接的运输服务。不提供广播或多播服务。开销较多。不提供广播或多播服务。开销较多**。**
端口号 :在运输层使用协议端口号 (protocol port number),或通常简称为端口 (port)。把端口设为通信的抽象终点。
- 端口用一个 16 位端口号进行标志,允许有 65,535 个不同的端口号。
- 端口号只具有本地意义,只是为了标志本计算机应用层中的各进程。
- 在互联网中,不同计算机的相同端口号没有联系。
5.2用户数据报协议 UDP
UDP 只在 IP 的数据报服务之上增加了一些功能:
- 复用和分用
- 复用:将 UDP 用户数据报组装成不同的 IP 数据报,发送到互联网。
- 分用:根据 UDP 用户数据报首部中的目的端口号,将数据报分别传送到相应的端口,以便应用进程到端口读取数据。
- 差错检测
UDP主要特点:
- 无连接。发送数据之前不需要建立连接。
- 使用尽最大努力交付。即不保证可靠交付。
- 面向报文。UDP 一次传送和交付一个完整的报文。
- 没有拥塞控制。网络出现的拥塞不会使源主机的发送速率降低。很适合多媒体通信的要求。
- 支持一对一、一对多、多对一、多对多等交互通信。
- 首部开销小,只有 8 个字节。
5.3传输控制协议 TCP 概述
TCP 是面向连接的运输层协议,在无连接的、不可靠的 IP 网络服务基础之上提供可靠交付的服务。为此,在 IP 的数据报服务基础之上,增加了保证可靠性的一系列措施。
- TCP 是面向连接的运输层协议。
- 每一条 TCP 连接只能有两个端点 (endpoint),每一条 TCP 连接只能是点对点的(一对一)。
- TCP 提供可靠交付的服务。
- TCP 提供全双工通信。
- 面向字节流
- TCP 中的“流”(stream) 指的是流入或流出进程的字节序列。
- 面向字节流:虽然应用程序和 TCP 的交互是一次一个数据块,但 TCP 把应用程序交下来的数据看成仅仅是一连串无结构的字节流。
5.4可靠传输的工作原理
理想传输条件的特点:
- 传输信道不产生差错。
- 不管发送方以多快的速度发送数据,接收方总是来得及处理收到的数据。
停止等待协议:
- 每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。
- 全双工通信的双方既是发送方也是接收方。
- 假设仅考虑 A 发送数据,而 B 接收数据并发送确认。因此 A 叫做发送方,而 B 叫做接收方。
无差错情况:
出现差错:两种情况,在这两种情况下,B 都不会发送任何信息。
- B 接收 M1 时检测出了差错,就丢弃 M1,其他什么也不做(不通知 A 收到有差错的分组)。
- M1 在传输过程中丢失了,这时 B 当然什么都不知道,也什么都不做。
问题:A 如何知道 B 是否正确收到了 M1 呢?解决方法:超时重传
- A 为每一个已发送的分组设置一个超时计时器。
- A 只要在超时计时器到期之前收到了相应的确认,就撤销该超时计时器,继续发送下一个分组 M2 。
- 若 A 在超时计时器规定时间内没有收到 B 的确认,就认为分组错误或丢失,就重发该分组。
确认丢失
- 若 B 所发送的对 M1 的确认丢失了,那么 A 在设定的超时重传时间内将不会收到确认,因此 A 在超时计时器到期后重传 M1。
- 假定 B 正确收到了 A 重传的分组 M1。这时 B 应采取两个行动:
(1) 丢弃这个重复的分组 M1,不向上层交付。
(2) 向 A 发送确认。
确认迟到
- B 对分组 M1 的确认迟到了,因此 A 在超时计时器到期后重传 M1。
- B 会收到重复的 M1,丢弃重复的 M1,并重传确认分组。
- A 会收到重复的确认。对重复的确认的处理:丢弃。
停止等待协议要点:
- 停止等待。发送方每次只发送一个分组。在收到确认后再发送下一个分组。
- 暂存:在发送完一个分组后,发送方必须暂存已发送的分组的副本,以备重发。编号。对发送的每个分组和确认都进行编号。
- 超时重传。发送方为发送的每个分组设置一个超时计时器。若超时计时器超时位收到确认,发送方会自动超时重传分组。
- 超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些,防止不必要的重传。
- 简单,但信道利用率太低。
提高传输效率:流水线传输:
连续 ARQ 协议:
- 发送窗口:发送方维持一个发送窗口,位于发送窗口内的分组都可被连续发送出去,而不需要等待对方的确认。
- 发送窗口滑动:发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置。
- 累积确认:接收方对按序到达的最后一个分组发送确认,表示:到这个分组为止的所有分组都已正确收到了。
连续 ARQ 协议采用 Go-back-N(回退N)。
Go-back-N(回退N):表示需要再退回来重传已发送过的 N 个分组。
当通信线路质量不好时,连续 ARQ 协议会带来负面的影响。
5.5TCP 报文段的首部格式
一个 TCP 报文段分为首部和数据两部分,而 TCP 的全部功能都体现在它首部中各字段的作用。
TCP 报文段首部的前 20 个字节是固定的,后面有 4n 字节是根据需要而增加的选项 (n 是整数)。因此 TCP 首部的最小长度是 20 字节。
最大报文段长度 MSS (Maximum Segment Size) 是每个 TCP 报文段中的数据字段的最大长度。与接收窗口值没有关系。
- TCP 报文段长度 = 数据字段长度 + TCP 首部长度
- 数据字段长度 = TCP 报文段长度 – TCP 首部长度
5.6TCP 可靠传输的实现
以字节为单位的滑动窗口:
- TCP 使用流水线传输和滑动窗口协议实现高效、可靠的传输。
- TCP 的滑动窗口是以字节为单位的。
- 发送方 A 和接收方 B 分别维持一个发送窗口和一个接收窗口。
- 发送窗口:在没有收到确认的情况下,发送方可以连续把窗口内的数据全部发送出去。凡是已经发送过的数据,在未收到确认之前都必须暂时保留,以便在超时重传时使用。
- 接收窗口:只允许接收落入窗口内的数据。
5.7TCP 的流量控制
利用滑动窗口实现流量控制:
- 流量控制 (flow control) :让发送方的发送速率不要太快,使接收方来得及接收。
- 利用滑动窗口机制可以很方便地在 TCP 连接上实现对发送方的流量控制。
5.8TCP 的拥塞控制
在某段时间,若对网络中某资源的需求超过了该资源所能提供的可用部分,网络的性能就要明显变坏,整个网络的吞吐量将随输入负荷的增大而下降。这种现象称为拥塞 (congestion)。
最坏结果:系统崩溃。
拥塞控制与流量控制的区别:
- 拥塞控制:防止过多的数据注入到网络中,避免网络中的路由器或链路过载,是一个全局性的过程,涉及到所有的主机、路由器,以及与降低网络传输性能有关的所有因素
- 流量控制:抑制发送端发送数据的速率,以使接收端来得及接收,点对点通信量的控制,是个端到端的问题
TCP 的拥塞控制方法:
- TCP 采用基于滑动窗口的方法进行拥塞控制,属于闭环控制方法。
- TCP 发送方维持一个拥塞窗口 cwnd (Congestion Window)
- 拥塞窗口的大小取决于网络的拥塞程度,并且是动态变化的。
- 发送端利用拥塞窗口根据网络的拥塞情况调整发送的数据量。
- 发送窗口大小不仅取决于接收方窗口,还取决于网络的拥塞状况。
- 真正的发送窗口值=Min (接收方通知的窗口值,拥塞窗口值)
TCP 拥塞控制算法:四种拥塞控制算法( RFC 5681) :
慢开始 (slow-start)
- 目的:探测网络的负载能力或拥塞程度。算法:由小到大逐渐增大注入到网络中的数据字节,即:由小到大逐渐增大拥塞窗口数值。
2 个控制变量:- 拥塞窗口 cwnd
- 慢开始门限 ssthresh,防止拥塞窗口增长过大引起网络拥塞
- 拥塞窗口 cwnd 增大:在每收到一个对新的报文段的确认,就把拥塞窗口增加最多一个发送方的最大报文段 SMSS (Sender Maximum Segment Size) 的数值。 拥塞窗口 cwnd 每次的增加量 = min (N, SMSS) 其中 N 是原先未被确认的、但现在被刚收到的确认报文段所确认的字节数。
- 目的:探测网络的负载能力或拥塞程度。算法:由小到大逐渐增大注入到网络中的数据字节,即:由小到大逐渐增大拥塞窗口数值。
拥塞避免 (congestion avoidance)
- 目的:让拥塞窗口 cwnd 缓慢地增大,避免出现拥塞。
- 拥塞窗口 cwnd 增大:每经过一个往返时间 RTT(不管在此期间收到了多少确认),发送方的拥塞窗口 cwnd = cwnd + 1。
- 具有加法增大 AI (Additive Increase) 特点:使拥塞窗口 cwnd 按线性规律缓慢增长。
- 目的:让拥塞窗口 cwnd 缓慢地增大,避免出现拥塞。
快重传 (fast retransmit)
- 目的:让发送方尽早知道发生了个别报文段的丢失。
发送方只要连续收到三个重复的确认,就立即进行重传(即“快重传”),这样就不会出现超时。
使用快重传可以使整个网络的吞吐量提高约 20%。
快重传算法要求接收方立即发送确认,即使收到了失序的报文段,也要立即发出对已收到的报文段的重复确认。
- 目的:让发送方尽早知道发生了个别报文段的丢失。
快恢复 (fast recovery)
- 当发送端收到连续三个重复的确认时,不执行慢开始算法,而是执行快恢复算法 FR (Fast Recovery) 算法:
慢开始门限 ssthresh = 当前拥塞窗口 cwnd / 2 ;
乘法减小 MD (Multiplicative Decrease) 拥塞窗口。
新拥塞窗口 cwnd = 慢开始门限 ssthresh ;
执行拥塞避免算法,使拥塞窗口缓慢地线性增大(加法增大 AI)。
- 当发送端收到连续三个重复的确认时,不执行慢开始算法,而是执行快恢复算法 FR (Fast Recovery) 算法:
5.9TCP 的运输连接管理
第六章应用层
6.1域名系统 DNS
域名系统 DNS (Domain Name System) :
- 互联网使用的命名系统。
- 用来把人们使用的机器名字(域名)转换为 IP 地址。
- 为互联网的各种网络应用提供了核心服务。
- DNS 是一个联机分布式数据库系统,采用客户服务器方式。
- 域名到 IP 地址的解析是由若干个域名服务器程序共同完成。
- 域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。
完整域名总共不超过 255 个字符
6.2文件传送协议
文件传送协议 FTP (File Transfer Protocol) 是互联网上使用得最广泛的文件传送协议。
- 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。
- 屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。
- 是文件共享协议的一个大类。
TFTP (Trivial File Transfer Protocol) 是一个很小且易于实现的文件传送协议。
- 使用客户服务器方式和使用 UDP 数据报,因此 TFTP 需要有自己的差错改正措施。
- 只支持文件传输,不支持交互。
- 没有庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别。
- 优点:(1)可用于 UDP 环境;(2)代码所占的内存较小。
6.3远程终端协议 TELNET
- 是一个简单的远程终端协议,是互联网的正式标准。
- 允许用户在其所在地通过 TCP 连接注册(即登录)到远地的另一个主机上(使用主机名或 IP 地址)。
- 能将用户的击键传到远地主机,同时也能将远地主机的输出通过 TCP 连接返回到用户屏幕。
- 服务是透明的。
- 又称为终端仿真协议。
6.4万维网 WWW
万维网 WWW (World Wide Web) 并非某种特殊的计算机网络。
- 万维网是一个大规模的、联机式的信息储藏所。
- 万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。
- 这种访问方式称为“链接”。
- 以客户服务器方式工作。客户程序:浏览器。服务器程序:在万维网文档所驻留的主机上运行。这个计算机也称为万维网服务器。
- 客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。
- 在一个客户程序主窗口上显示出的万维网文档称为页面 (page)。
代理服务器 (proxy server) 又称为万维网高速缓存 (Web cache),它代表浏览器发出 HTTP 请求。
- 使用高速缓存可减少访问互联网服务器的时延。
HTTP 的报文结构:
两类报文:
- 请求报文:从客户向服务器的请求。
- 响应报文:从服务器到客户的回答。
- 由于 HTTP 是面向正文的 (text-oriented),因此报文中每一个字段的值都是一些 ASCII 码串,每个字段的长度都是不确定的。
三个组成部分:
- 开始行:用于区分是请求报文还是响应报文。
- 首部行:说明浏览器、服务器或报文主体的一些信息。可以有多行,也可以不使用。
- 实体主体:请求报文中一般不用,响应报文中也可能没有该字段。
6.5电子邮件
电子邮件 (e-mail):指使用电子设备交换的邮件及其方法。
- 优点:使用方便,传递迅速,费用低廉,可以传送多种类型的信息(包括:文字信息,声音和图像等)。
重要标准:
- 简单邮件发送协议:SMTP
- 互联网文本报文格式
- 通用互联网邮件扩充 MIME
- 邮件读取协议:POP3 和 IMAP
6.6动态主机配置协议 DHCP
6.7简单网络管理协议 SNMP
6.8应用进程跨越网络的通信
6.9P2P 应用
第七章网络安全
7.1网络安全问题概述
被动攻击:指攻击者从网络上窃听他人的通信内容。通常把这类攻击称为截获。
- 攻击者只是观察和分析某一个协议数据单元 PDU,以便了解所交换的数据的某种性质,但不干扰信息流。
- 这种被动攻击又称为流量分析 (traffic analysis)。
主动攻击主要有:
- 篡改:故意篡改网络上传送的报文。这种攻击方式有时也称为更改报文流。
- 恶意程序 (rogue program):种类繁多,主要包括:计算机病毒、计算机蠕虫、特洛伊木马、逻辑炸弹、后门入侵、流氓软件等。
- 拒绝服务 DoS (Denial of Service):指攻击者向互联网上的某个服务器不停地发送大量分组,使该服务器无法提供正常服务,甚至完全瘫痪。
7.2两类密码体制
加密密钥与解密密钥都使用相同密钥的密码体制。
数据加密标准 DES:
- DES 属于对称密钥密码体制,是一种分组密码。
- 在加密前,先对整个明文进行分组。每一个组长为 64 位。
- 然后对每一个 64 位 二进制数据进行加密处理,产生一组 64 位密文 数据。
- 最后将各组密文串接起来,即得出整个的密文。
- 使用的密钥为 64 位(实际密钥长度为 56 位,有 8 位用于奇偶校验)。
高级加密标准 AES:
- 2002 年成为美国政府加密标准。现在是 ISO/IEC 18033-3 标准。
- 高级加密标准 AES(Advanced Encryption Standard)是一种分组密码,分组长度为 128 位。
- 有三种加密标准,其密钥分别为 128 位、192 位和 256 位。
- 加密步骤复杂,运算速度比 3DES 快得多,安全性也大大加强。