0%

计网60分指北

第一章 网络及其模型

缩写与一些细节

以下不包含极其过时且极为冷门的缩写

LAN: Local Area Network,局域网;在小范围内运作的小型高速网络
WAN: Wide Area Network,广域网;在更大的区域上运作的网络
ISP:Internet Service Provider,互联网服务提供商;为用户提供互联网接入服务的机构
OSI:Open System Interconnection,开放系统互联

应用层

FTP:File Transfer Protocol,文件传输协议;用于传输文件的应用层协议(基于TCP;使用两个端口,控制端口21,数据端口20)
TFTP:Trivial File Transfer Protocol,简单文件传输协议;FTP的简化版(基于UDP,使用端口69)
HTTP:Hypertext Transfer Protocol,超文本传输协议;用于传输超文本内容的应用层协议(基于TCP,但协议本身无状态;使用端口80)
DNS:Domain Name System,域名系统;用于进行从域名到IP地址转换的系统与应用层协议(基于UDP,使用端口53)
DHCP:Dynamic Host Configuration Protocol,动态主机配置协议;用于自动配置网络中主机的IP地址的应用层协议(基于UDP)
BOOTP:Bootstrap Protocol,引导协议;DHCP的前身,与其作用基本相同(过时,基于UDP)
NTP:Network Time Protocol,网络时间协议;用于在网络上进行精确的时间同步的应用层协议(基于UDP)
POP3:Post Office Protocol 3,邮局协议第三版;用于提供邮件服务的应用层协议(基于TCP,使用端口110)
SMTP:Simple Mail Transfer Protocol,简单邮件传输协议;也是用于提供邮件服务的应用层协议(基于TCP,使用端口25)
SNMP:Simple Network Management Protocol,简单网络管理协议;用于支持网络管理系统的应用层协议(基于TCP,使用端口161)

会话层

TLS:Transport Layer Security,传输层安全协议;用于提供透明加密通信的会话层协议
RPC:Remote Procedure Call,远程过程调用;在一台计算机的程序上通过网络远程地调用另一台机器上的程序。注意,课件上RPC对应了RFC给出的一个叫Remote Procedure Call protocol的协议,但缩写RPC早就不对应这一特定协议而对应一种概念了,现在这个协议被叫做ONC RPC(Open Network Computing Remote Procedure Call)或者Sun RPC(协议最早源自Sun微系统)而不是RPC

传输层

TCP:Transmission Control Protocol,传输控制协议;用于提供可靠的有连接传输的传输层协议
UDP:User Datagram Protocol,用户数据报协议;用于提供不可靠的无连接传输的传输层协议

网络层

OSPF:Open Shortest Path First,开放最短路径优先协议;一种link-state网络层动态路由协议
ICMP:Internet Control Message Protocol,互联网控制消息协议;用于传递控制消息,检查网络状态的网络层协议
IP:Internet Protocol,互联网协议;网络层通信协议,通过地址支持路由功能
RIP:Routing Information Protocol,路由信息协议;一种distance-vector网络层动态路由协议

数据链路层

ARP:Address Resolution Protocol,地址解析协议;用于从IP地址获得MAC地址的数据链路层协议
RARP:Reverse Address Resolution Protocol,逆向地址解析协议;用于从MAC地址获得IP地址的数据链路层协议。与ARP不同,这一协议不是用于通信的,而是像DHCP一样用于自动配置主机IP地址的(过时)
L2TP:Layer Two Tunneling Protocol,第二层隧道协议;用于建立虚拟专用网的数据链路层协议
PPTP:Point to Point Tunneling Protocol,点对点隧道协议;用途同L2TP

网络模型

OSI模型

分为七层,从上到下依次为:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层

物理层(physical):关于信号在媒介中如何传输,发送单元是位元(bit)

数据链路层(data link):对于物理层媒介访问的封装,发送单元是帧(frame)

网络层(network):提供路由、路径选择、地址配置相关功能,发送单元是包(packet)

传输层(transport):提供数据传输中可靠性、拥塞控制等功能,发送单元是数据段(segment)

会话层(session):提供会话的建立、管理、终止等功能

表示层(presentation):提供对于数据格式的确认、转换与解析

应用层(application):为用户程序提供具体需要的功能

TCP/IP模型

简化为四层:应用(application)层(对应OSI中最高三层),传输(transport)层(TCP、UDP,对应OSI中传输层),互联网(internet)层(IP,对应OSI中网络层),网络访问(network access)层(Internet等,对应OSI中最底两层)

网络拓扑

总线,星,环,双环,树,完全

形状和名字一样,内容简单

网络设备

网卡(NIC):第二层设备,有唯一MAC地址,生成与接收帧

中继器(repeater):第一层设备,重新生成线路上的信号,使其传播到更远的地方

集线器(hub):第一层设备,在所有其他接口上重新生成接收到的信号,相当于把不同接口上的线全部串起来

网桥(bridge):第二层设备,智能地学习不同MAC地址对应的接口,并转发数据帧到相应的接口,可以分割冲突域

交换机(switch):第二层设备,作用同网桥,但是硬件实现转发且支持cutting-through(检查完帧头部就转发),效率更高

路由器(Router):第三层设备,基于网络地址进行路由

主机是特殊的网络设备,工作于所有层次

第二章 物理层

局域网使用的网络介质

UTP:Unshielded Twisted Pair,无屏蔽双绞线,便宜但抗干扰能力弱。UTP分若干类,有一(语音)、二(1MHz,4Mbps)、三(16MHz,10Mbps)、四(20MHz,16Mbps)、五(100/1000Mbps)、超五(1000Mbps)、六(1Gbps)和七类(10Gbps)

STP:Shielded Twisted Pair,屏蔽双绞线,外部有屏蔽层,抗干扰能力强;不过传输距离仍然不长

Coaxial cable,同轴电缆,更贵一些但传输距离长

Fiber optic,光纤,最贵,不受电磁干扰,传输距离长。光纤分单模多模,单模光纤中只传一束光沿着光纤行进,多模光纤中有多束光从不同角度射入,并在光纤中不断反射

无线技术:Lasers(激光),Infrared(红外),Radio(电磁波)

线缆编织类型

Straight Cable,直通线,连工作在不同层的设备

Crossover Cable,交叉线,连工作在同层的设备

Rollover Cable,连Console口

冲突域

Collision,冲突,发生在网络上有两个设备同时发出信号的时候

Collision domain,冲突域,冲突可能发生的一个区域(不要与广播域混淆)

工作在数据链路层及以上的设备可以分割冲突域

数据通信

理论极限

无噪声:$C=W \log_2 L$ bps,$C$为信道带宽,$W$为信道频率,$L$为信道码元数量

有高斯白噪声:$C=W \log_2 (1+\frac{S}{N})$ bps,$S$为信号平均功率,$N$为高斯噪声功率,$\frac{S}{N}$称为信噪比

数字信号的发送

基带传输:直接发送基带数字信号,使用的频率成分较宽,对介质有要求

调幅:将数字信号编码到模拟信号的振幅变化

调频:将数字信号编码到模拟信号的频率变化

调相:将数字信号编码到模拟信号的相位变化

数字数据转换到数字信号

单极性编码:0电平表示0,正电平表示1

不归零电平编码:正电平表示1,负电平表示0

不归零反相编码:电平翻转表示1,不翻转表示0

归零编码:正电平表示1,负电平表示0,比特中位回到零电平

曼彻斯特码:比特开始时电平到对应位置;比特中位从高跳到低表示1,从低跳到高表示0

差分曼彻斯特码:比特开始时跳变表示0,不跳变表示1;比特中位跳变一次

双极性传号交替反转码:0电平表示0,正负电平表示1,正负电平交替使用

多路复用

时分复用:将时间固定分成时间片,分别给不同用户使用

统计时分复用:每段时间中统计正在使用的用户,只为当前正在使用的用户分配时间片

频分复用:不同用户使用不同频率

波分复用:光的频分复用,不同用户使用不同波长

码分复用:设计一组互不干扰的编码,不同用户使用使用其中不同的编码

第三章 数据链路层

介质访问控制

确定性:Token Ring与FDDI,设备交替使用介质

非确定性:Ethernet 802.3,使用CSMA/CD来控制介质访问

802.3

CSMA/CD:Carrier Sense Multiple Access with Collision Detection,载波侦听/碰撞检测。监听信道,等待信道空闲,空闲后开始发送并且保持监听,如果发送过程中发生碰撞,取消信息发送并发送JAM信号,重新等待一段时间再尝试发送

分两个子层MAC(Media Access Control,媒介访问控制,靠近物理层)与LLC(Logical Link Control,逻辑链路控制,靠近网络层)

MAC地址:6字节,前三个字节标识设备生产商,后三个字节标识设备

MAC子层格式:8字节开头序列(提醒设备有帧到达),6字节目标MAC地址,6字节源MAC地址,2字节数据区长度(以byte为单位),数据,4字节CRC校验和。注意目标地址在前,源地址在后

MAC广播:目标地址设为二进制全1

802.11

AP:Access Point,接入点,为外部设备提供网络接入服务的设备
BS:Base Station,基站,无线网络的中心设备
BSS:Base Service Set,基本服务集,包含基站在内的一个无线网络的所有服务设备构成的单位
SSID:Service Set Identifier,服务集标识符,用于标识一个特定的服务集

802.11帧中有四个MAC地址,其中第四个留作自组网络;还有去往AP和来自AP两个标识。当包来自AP时,第一个地址是包的目的地址,第二个地址是AP地址,第三个地址是包的源地址;当包去往AP时,第一个地址是包的源地址,第二个地址是AP地址,第三个地址是包的目的地址

扫描:主动扫描(主机主动发送一个请求,包含其希望连接的网络的SSID,对应网络的节点收到后回复),被动扫描(无线网络的节点不断广播包含网络SSID的信标包,主机收到后再加入网络)

与802.3不同,802.11对于介质的访问使用CSMA/CA:Carrier Sence Multiple Access with Collsion Avoidance,载波侦听/碰撞避免。监听信道,等待信道空闲,空闲后向目标发送RTS(Request To Send)包,周围其他设备监听到RTS包后一段时间不发送信息;目标收到RTS后回复CTS(Clear To Send)包,其他设备监听到CTS包后也一段时间不发送消息;若这一过程中发生任何碰撞,发送取消,使用二进制指数后退算法计算等待时间,等待一段时间后再重试。若这一过程顺利完成,便可开始发送信息,这时理应不会发生碰撞(双方周围设备都暂时不发送消息)

第四章 网络层

IP报文头

总长度:报文头与数据的总长度(以byte为单位)

标识:记录分片报文所属的原始报文,之后依据标识重组同一组的分片报文

片偏移:记录该分片报文的内容在原始报文内容中的位置偏移(以8 bytes为单位)

TTL(Time To Live):标识该报文最多还能被路由器转发几次

协议:标识报文内容对应的协议

首部校验和:对IP报文头的校验和

源地址与目的地址:无需解释

IP地址

地址类别

IPv4地址长为4 bytes,分为五类

A类:第一个byte以0开头,对应子网掩码为255.0.0.0

B类:第一个byte以10开头,对应子网掩码为255.255.0.0

C类:第一个byte以110开头,对应子网掩码为255.255.255.0

D类:第一个byte以1110开头,仅用作多播

E类:第一个byte以11110开头,仅用作研究

每一个网络中,主机号为0的地址被留作网络地址,主机号为二进制全1的地址被留作广播地址,不能分配给主机

此外,有一些地址被保留,用于私有地址分配,分别为10.*.*.*,172.[16~31].*.*,192.168.*.*

可变长度子网掩码

由类别来固定长度的子网掩码并不灵活,很容易造成IP地址浪费。为此,我们使用CIDR与VLSM来更灵活地划分网络

CIDR:Classless Inter-Domain Routing,无类别域间路由,即路由器不跟据IP地址的类别而是根据我们预先设置的子网掩码来确定网络
VLSM:Variable-Length Subnet Mask,可变长度子网掩码,即不使用固定的子网掩码长度,而是根据需要借位,灵活地调整网络的划分粒度

使用VLSM,在通过地址类别确定的子网掩码长度的基础上,可以再从主机号中借若干位作为网络号的一部分。不过按照一般约定,借过来的这几位不能全填0(除非明确说明允许全0子网),也不能全填1,因此借$k$位只能划分出原来$2^k-2$倍的网络

更进一步地,使用VLSM,我们可以先借若干位主机号划出一些网络,对于其中的一些网络再进行二次划分,如此进行,直到满足各种粒度的网络需求。再通过CIDR,我们还可以用自定义的子网掩码把这些划分得细小的网络重新合并在一起,进行大规模的路由。如此,我们可以灵活地设置网络

ARP

向同一个网络中的主机发送IP报文时,我们知道目的IP地址,但并不一定知道目的MAC地址。在这样的情况下,我们是无法生成以太网帧的。此时就需要使用ARP协议从IP地址获取MAC地址

过程:发送方广播ARP Request帧,在其中带上接收方的IP地址;接收方收到ARP Request后,发现其中的IP地址和自己一样,便回复一个ARP Reply,在其中带上自己的MAC地址;发送方收到ARP Reply后,将其中的MAC地址与接收方IP地址关联起来,存储在ARP缓存中,之后发送数据时便可以从缓存中找到MAC地址

变种:代理ARP,查询不在当前网络中的IP地址时由路由器代为回答,此后路由器作为通信代理

动态路由协议

按工作尺度分类:IGP(Interior Gateway Protocol,内部网关协议,用于自治系统内部路由的一类协议)与EGP(Exterior Gateway Protocol,外部网关协议,用于维护自治系统间路由的协议)

按工作原理分类:DVP(Distance Vector Protocol,距离矢量协议,通过邻居之间定期交换从各自出发的路由来让每个设备获知路由信息,如RIP)与LSP(Link State Protocol,链路状态协议,通过启动时各设备之间充分的交流与持续的同步来让所有设备准确获知网络的整个拓扑,以此确定路由方式,如OSPF)

ICMP

ICMP报文封装在IP报文内,其中前四个字节分别为一字节类型,一字节代码,两字节校验和

当IP报文未能成功发送,路由器或主机可以回复ICMP差错报文,不过对于发向多播地址或特殊地址(如127.0.0.1与0.0.0.0)的报文,已经发送过差错报文的数据报文的其他分片和未发送成功的差错报文不会再发送差错报文

第五章 传输层

TCP

格式

源端口,目的端口:无需说明

序号:本报文段发送的第一个字节的编号

确认号:期望对方发送的下一个字节的序号

数据偏移:数据离报文段开头的偏移(以4 bytes为单位,因此TCP报文头的大小要填充到4 bytes的整数倍)

标志位:URG(指示报文段带有紧急消息),ACK(对收到的信息进行确认),PSH(指示将已收到的消息尽快交给应用程序),RST(指示连接出现重大问题,强行关闭),SYN(指示建立连接),FIN(指示关闭连接)

窗口:希望对方设置发送窗口的大小(以byte为单位)

校验和:对整个报文段的校验和

紧急指针:指示紧急数据的大小(以byte为单位)

关于序号和确认号,还有一点需要注意:发送标志位中带SYN或FIN的包时,也视为发送了1 byte,序号和确认号要对应地改变

连接建立

需要三次握手:
C->S SYN
C<-S SYN+ACK
C->S ACK

数据传输

TCP的数据确认采用区间确认,每个ACK包都代表直到其确认号之前的所有数据都已经传输完成

发送时使用滑动窗口,发送方允许发送窗口范围内所有待发送的数据,收到确认后把窗口后移继续发送新数据,不断持续。过程中窗口大小可以被设置了窗口值的数据包改变

连接终止

总共四次握手:
C->S FIN
C<-S ACK
C停止发送信息,S继续发送剩余信息
C<-S FIN+ACK
C->S ACK
C再等待一会,以避免最后的ACK未送达,之后连接终止

UDP

简单,无连接,无可靠性保证

格式:2字节源端口,2字节目标端口,2字节整个报文段长度(以byte为单位),2字节校验和,数据

NAT

将内部地址转换到外部地址,以与外部网络进行通信,可静态可动态

变种:PAT,允许将多个内部地址转换到一个外部地址,但使用不同的端口与外界进行通信

第六章 应用层

实质内容极少,有一些缩写与细节

ASCII,American Standard Code for Information Interchange,美国信息交换标准代码;一套计算机字符编码标准
GIF,Graphic Interchange Format,图像互换格式;一种位图文件格式
JPEG,Joint Photographic Experts Group,联合图像专家小组;由这一专家组开发的一种有损压缩图像格式
URL,Uniform Resource Locator,统一资源定位符;一种统一的标示资源位置的地址形式
HTML,Hypertext Markup Language,超文本标记语言;编写网页使用的一种标记语言
Telnet,一种用于提供虚拟终端的应用层协议(基于TCP,使用端口23)
TLD,Top Level Domain,顶级域名;DNS中位于根域空间的最高级域名

第七章 路由与路由器

主要是实验有关内容,不再重复

关于DVP,有一重要问题counting to infinity,指网络中一个连接断开后,如果剩下的部分中有环路,使用DVP的路由器们会沿着环路不断传递被断开的连接对应的虚假路由,尽管被断开的连接已经无法到达,但虚假路由仍会不断传递直到其中距离为无穷

解决方案:设置距离上限(距离到一定大小直接视为无穷,不可到达)、抑制计时(当一个路由变得不可达,在随后一定时间内忽略其重新变得可达的信息)、路由投毒(当一个路由变得不可达,立刻向相连的设备发送一个投毒路由,指示当前节点这一路由已经不可到达)、分割视野与反向投毒(对于一条路由的下一跳设备,与其交换路由信息时不提供这一条路由的信息/提供这一条路由不可达的信息,防止连接断开后下一跳设备的路由被当前设备的路由污染)

第八章 RIP与OSPF

RIP

RIP没有新内容,不赘述,需要知道其不支持VLSM

OSPF

OSPF的网络是分区域的,其中Area 0是骨干(backbone)区域,其他所有区域都要直接连接到这一区域(或者通过虚拟链路连接)

首先,设备通过OSPF Hello包发现邻居

然后,在非点对点网络中,OSPF会选出DR(Designated Router)与BDR(Backup Designated Router)作为路由维护的主持者。选举首先考虑优先级,优先级最高的当选;若优先级相同,比较Router ID,Router ID最高的当选。Router ID为所有回环接口(或所有物理接口,如果没有回环接口的话)上的IP地址中最高的一个。新设备的加入不会改变已选举的DR与BDR,只会参与之后再发生的选举

随后,设备与邻居设备交换选举结果,所有设备和DR与BDR交换链路信息以建立完全邻接关系

在所有设备取得完整链路信息之后,运行算法确定最适路由

至此,初始化完成,之后只需要在发生链路状态更新的时候同步

第九章 局域网交换与VLAN

STP

为避免循环转发,交换机也需要一个协议来维护交换机路径生成树,这一协议就是STP,Spanning-Tree Protocol

首先STP选举一个root bridge,选举根据Bridge ID进行。Bridge ID共8字节,其最高的2字节为优先级,剩下6字节为交换机的MAC地址,Bridge ID最低者赢得选举

然后,剩下的所有交换机选出一个root port,要求这一接口到root bridge的路径代价最小,该接口用于交换机与root bridge通信

最后,对于交换机分割出的所有网段,各选出一个designated port,同样要求到root bridge的路径代价最小,该接口用于网段与root bridge通信

剩下的所有接口被屏蔽,不收发任何信息

如此,便选出了一个生成树,可以用于进行帧的转发

VLAN

实验内容已经覆盖,不再赘述,需要VLAN的实现为帧过滤或者帧标记

第十章 广域网

数据链路层封装:PPP(Point-to-Point Protocol,点对点协议,用于两点间直接通信的协议)、HDLC、Frame Relay、ISDN、LAPB

PPP

使用LCP(Link Control Protocol)初始化链路并测试连接质量,再用NCP(Network Control Protocol)设定网络层协议,关闭链路时也使用LCP

身份验证:PAP(Password Authentication Protocol,密码认证协议,使用明文在链路上发送用户名与密码进行身份认证)、CHAP(Challenge Handshake Authentication Protocol,质询握手认证协议,将用户名密码与host段生成的随机挑战字符串一起加密后发送进行身份认证)

ISDN

服务分两种:BRI(Basic Rate Interface)、PRI(Primary Rate Interface)

BRI有两个B频道和一个D频道,其中B频道支持64Kbps(用于传输数据),D频道支持16Kbps(用于传输指令),三个频道总计144Kbps

PRI有23或30个B频道和一个D频道

xDSL

DSL:Digital Subscriber Line,数字用户线;在模拟电话线上进行改造使其传递数字信息

ADSL中A为Asymmetric,非对称用户数字线上下行不对等

SONET

SONET:Synchronous Optical Network,同步光纤网;使用同步传输的光纤网络

其中第一级同步传送信号STS-1(Synchronous Transport Signal)的传输速率是51.84Mbps

SDH:Synchronous Digital Hierarchy,同步数字系列;SONET的同义词

SDH的基本速率为155.52 Mbps,称为第一级同步传递模块(Synchronous Transfer Module),即STM-1,相当于SONET中的STS-3

STS-x的传输速率是STS-1的x倍

第十一章 网络安全

加密不考,ACL被实验内容覆盖,不赘述