计算机网络基础

我才不会告诉你这是我为了应付考试而摘抄课本上的内容呢

一、单词拼写
WAN = Wide Area Network 广域网
Man = Metropolitan Area Network 城域网
Lan = Local Area Network 局域网
Pan = Personal Area Network 个人区域网
ADSL = Asymmetric Digital Subscriber Line 非对称数字用户线
CRC = Cyclic Redundancy Check 循环冗余检测
PPP = Point-to-Point Protocol 点对点协议
CSMA/CD = Carrier Sense Multiple Access with Collision Detection 载波监听多点接入/碰撞检测
ARP = Address Resolution Protocol 地址解析协议
ICMP = Internet Control Message Protocol 网际控制报文协议
IGMP = Internet Group Management Protocol 网际组管理协议
TTL = Time To Live 生存时间
RIP = Routing Information Protocol 路由信息协议
OCPF = Open Shortest Path First 开放最短路径优先
IGMP = Internet Group Management Protocol 网际组管理协议
NAT = Network Address Translation 网络地址转换
UDP = User Datagram Protocol 用户数据报协议
TCP = Transmission Control Protocol 传输控制协议
DNS = Domain Name System 域名系统
FTP = File Transfer Protocol 文件传送协议
WWW = World Wide Web 万维网
URL = Uniform Resource Locator 统一资源定位符
HTTP = HyperText Transfer Protocol 超文本传输协议
HTML = HyperText Markup Language 超文本标记语言
SMTP = Simple Mail Transfer Protocol 因特网文本报文格式
Mime = Multipurpose Internet Mail Extensions 通用因特网邮件扩充

二、知识要点
第一章 总述
1.1 电路交换:通话的全部时间内,通话的两个用户始终占用端到端的通信资源。一般用于电话线路,面向连接。
1.2 分组交换:是报文交换的一部分,使用存储转发技术,发送到整个数据块称为报文。如果报文较长,会将报文分为几个小的等长的数据段。然后在每个数据段前加上必要的控制信息形成首部,构成分组。分组成为“包”,首部成为“包头”,面向无连接。
1.3 电路交换,报文交换,分组交换的区别:P16。
1.4 网络性能指标:P17

1
2
3
4
5
6
7
8
9
1、速率
单位为 b/s 比特每秒 比特为一个二进制数字,有时候也写成bps(bit per second)或者bit/s。所以一般100M以太网为100Mb/s的以太网,所以为1*10^6b/s。所以在实际计算速率的时候还需要除以8
2、带宽
一般用来表示信号具有的频带宽度,但是在计算机中为从某一点到另一点所能通过的“最高数据率”。前者为频域称谓,后者为时域称谓。
3、吞吐量
吞吐量受网络的带宽或网络的额定速率的限制。一般100Mb/s的以太网,典型的吞吐量只有70Mb/s。
4、时延
1)发送时延,主机或路由器发送数据帧所需要的时间。 发送时延 = 数据帧长度(b)/发送速率(b/s);
2)传播时延,电磁波在信道传播一定距离需要花费的时间。 信道长度(m)/电磁波在信道上的传播速率(m/s);

1.5

1
2
3
OSI协议:(从上往下)应用层,表示层,会话层,运输层,网路层,数据链路层,物理层
TCP/IP: 应用层,运输层,网络层,网络接口层。
五层协议:(一般学习计算机网络原理的时候用到,综合OSI和TCP/IP的优点) 应用层,传输层,网络层,数据链路层,物理层。

第二章 物理层
2.1 物理层主要特性:机械特性,电气特性,功能特性,过程特性。
2.2 一条通信电路包含了一条发送信道和一条接受信道 P40

1
2
3
1)单向通信,单工通信:无限广播,有线广播,电视广播。
2)双向交换通信,半双工通信:单位时间只能一方发送,一方接受。
3)双向同时通信,全双工通信:双向同时接受和发送数据。

2.3 基本的带通调制方法:P41

1
2
3
4
1)调幅 AM
2)调频 FM
3)调相 PM
此处应有图片

2.4 引导传输媒体

1
2
1、双绞线,同轴电缆,光缆。常用网线接口RJ45,接口类型没找到位置。
2、光缆传播原理:光的全反射。

2.5 信道复用技术 P50

1
2
3
4
5
6
7
8
9
1)频分复用
FDM (Frequency Division Multiplexing)。所有用户在同样的时间占用不同的带宽资源。
2)时分复用
TDM (Time Division Multiplexing)。所有用户在不同的时间占用相同的带宽资源。
3)波分复用
WDM (Wavelength Division Multiplexing)。一根光纤传输多个很接近的光载波信号。
4)码分复用
CDM (Code Division Multiplexing)。同样的时间使用经过特殊挑选的不同码型,各用户使用经过特殊挑选的不同码型,因此个用户之间不会造成干扰。
计算方法,原理待定:

2.6 ADSL特点:

1
用数字技术对现有的模拟电话用户线进行改造。可以利用电话网中的用户线,不需要重新布线。如果使用电话网,则需要使用电话分离器,有3个RJ-11插口,用来将电话线和网络通讯的线分离。

第三章 数据链路层
3.1 三个基本问题

1
2
3
4
5
6
7
8
1)封装成帧:在一段数据的前后分别添加了首部与尾部。作用是进行帧定界。同时每一种链路层协议规定了所能传送帧的数据部分长度上线——最大传送单元MTU。
2)透明传输:防止因为数据中出现帧定界从而导致错误,所以在前面加个**转移字符“ESC”**。
3)差错检测:传输错误的比特占所传输比特总数的比率成为:误码率(五马路233333)。例,当误码率为10^(-10)时候则表示每10^(-10)出现一个比特的错误。
检错方法:循环冗余检测CRC(Cyclic Redundancy Check)。P70;
产生冗余码的方法:双方商定除数P(n+1位),现在数据后面补n个0产生被除数,然后,用除数去除被除数,生成余数,最后将余数即**帧检验序列FCS(Frame Check Sequence)**,补到数据后面。
这样进行CRC即用有冗余码的数据去除P,余数一定为0。那么没有丢失。
缺点:可能出现传输差错,即传输的是1-2-3,接受到得是 1-3 或 1-2-2-3。
解决方法:在通信良好的有线传输线路, 修改差错通过上层(例如TCP完成);在通讯不良的无线线路,修改差错通过数据链路层协议使用确认重传机制。P72

3.2 PPP协议

1
2
3
4
5
特点:1、简单 2、封装成帧 3、透明性 4、多种网络层协议 5、多种类型链路 6、差错检测 7、检测连接状态 8、最大传送单元 9、网络层地址协商 10、数据压缩协商
格式如下图
1)各字段的意义:首部F(7E)表示定界符,A(FF),C(03)没有实际意义。协议为0x0021为IP数据报,0xC021为LCP的数据,0x8021表示这是网络层的控制数据。尾部第一个FCS为帧检验序列。7E为定界符,若两个定界符中间为空,则舍弃。
2)字节填充:将小于0x20的字符前面加入0x7D,然后增加一个将字符的编码加以改变。
3)零比特填充:为了实现透明传输,在发送端,每5个连续的1之后增加一个0。接受端正好相反。

3.3 CSMA/CD协议

1
2
3
4
5
6
7
8
要点:1、多点接入 2、载波监听 3、碰撞检测
因为电磁波有传播速率,1KM电缆传播时延为5μs,最差情况,两倍的总线端到端的传播时延(2T)
该协议只能进行半双工通信,不能进行全双工通信。
常见设备的分类:
链路层:集线器,网桥
物理层:中继器,中继器
网络层:路由器

3.4 网桥与透明网桥

1
2
3
4
5
6
7
8
9
10
网桥:网桥通过转发表来转发帧。
好处:
1、过滤通信量,增大吞吐量。
2、扩大屋里范围
3、提高可靠性
4、互联不同物理层、不同MAC子层和不同速率
透明网桥:只要将网桥接入局域网,不用人工配制转发表网桥就能工作。拥有自学习算法
自学习算法:若从某个站A发出的帧,从接口x进入了某网桥,那么从这个接口出发沿反方向一定可把一个帧传送到A。所以网桥只要每收到一个帧,就记下起**源地址**和**进入网桥的接口**。
例子:P97,如何解决从A->B。疑问:但B从来没有收到的A的消息同时B也没有发出过。
相关内容可以看P111 3-32

第四章 网络层
4.1 虚电路服务的3点 P114,表4-1(没看过,不太懂,先留着)
4.2 A类1.0.0.0~126.0.0.0

1
2
B类128.0.0.0~191.255.255.255
C类192.0.0.0~223.255.255.255

4.3 IP地址与MAC地址的区别

1
2
3
物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址。
消息在传输的过程中,传输过程如下图:
则在此过程中IP的源地址与目的地址固定不变,数据在R1,R1中的时候,源地址为发送机子的MAC地址,目的地址为下一个接受到该消息的MAC地址。

4.4 ARP协议

1
2
从网络层使用的IP地址解析出数据链路层使用的硬件地址(MAC地址)。
每一个主机都有一个ARP高速缓存,用来动态记录IP地址与MAC地址之间的关系。通过广播的方式获取对应的IP地址对应的MAC地址,并将自己的IP与MAC地址传输出去。

4.5 IP数据包头(考试考到可能性不大,不过入职面试时候需要)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
1)版本,占4位,IP版本。IPv4则为4,IPv6则为6。
2)首部长度。永远在4字节的整数倍的时候开始,一般为20字节。4位。
3)区分服务,一般不使用,经常性使用在区分服务(8.4.4节);
4)总长度,首部和数据之和的长长度,单位为字节。总长度为16位,最大长度为65535字节。
5)标识,16位,IP软件在存储器中维持一个计数器,每产生一个数据包,计数器就加一。相同标识字段的值使分片后的各数据报片最后能正确重新组装为原来的数据报。
6)标志,占3位,现在只有2位有意义。最低位MF(More Fragment)为1则说明后面还有分片,否则说明是最后一个分片。中间一位DF(Don't Fragment),不能分片,即只有DF=0时候才能分片。
7)片偏移,13位,较长组分片后,某片在缘分组中的相对位置。值为起始字节的位置除以8。
8)生存时间TTL,8位。每经过一个路由器,TTL减一。
9)协议,8位,携带的是哪种协议,表格如下,一般用来判断是什么协议,ICMP,IGMP,IP,TCP,UDP......
10)首部检验和,16位,只检验数据报的首部,但不包括数据部分。不采用CRC校验码。
采用的方法是:发送端检验和置0,然后通过反码运算求和16位,然后放到检验位中。
接收端反码算数运算求和取反码后得到结果为0,则保留,否则丢弃。
11)源地址,32位。
12)目的地址,占32位。

4.6 子网划分

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

4.7 子网掩码

1
2
3
4
5
6
7
只要通过子网掩码与收到的数据报的目的IP地址逐位相**“与(AND)”**
A类地址的默认子网掩码是255.0.0.0
B类地址的默认子网掩码是255.255.0.0
C类地址的默认子网掩码是255.255.255.0
相同的IP地址和不同的子网掩码可以得出相同的网络地址,P138 4-2 4-3
//疑问:网络地址,IP地址的区别
分组时转发:P139

4.8 CIDR

1
2
3
4
IP地址 ::={<网路前缀>,<主机号>}
斜线记法(CIDR记法)在IP后加上/,写上网络前缀所占的位数。
好处:将网络前缀缩短,其地址块包含的地址数就越多。
可见 P142表4-7

4.9 ICMP

1
2
3
4
作用:为了更有效的转发IP数据报和提高交付成功的机会。
主要分2种:**ICMP差错报告报文**和**ICMP询问报文**。
主要组合在IP数据报的数据字段。具体可见下图:
主要应用地点:PING和TRACERT

4.10 路由协议

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
RIP协议:分布式的基于距离向量的路由选择协议
特点:
1)仅和**相邻**的路由器交换信息
2)路由器交换的信息是**当前版本路由器所知道的全部信息,即自己的路由表**
3)**按固定的时间间隔**交换路由信息
RIP算法:
1)对于地址为X的相邻路由器发来的RIP报文,把吓一跳地址都改为X,并把所有的“距离”的值都加一。每个项目包含:到目的网络N,距离是d,下一跳路由器是X
2)若原来的路由表没有则添加,
否则比较,
若吓一跳路由地址是X,则把收到的项目替换路由表中的项目
否则(即这个项目是:到目的网络N,但吓一跳路由器不是X)
若收到的项目中的距离d小于路由表中的距离,则进行更新,
否则什么都不做
3)若3分钟还没有收到相邻路由器的更新路由表,则把此项林路由器记为不可到达的路由器,即把距离设为16
4)返回
RIP协议使用运输层的用户数据报UDP进行传送,UDP端口为520

4.11 OSPF

1
2
3
4
5
OSPF 开放最短路径优先,主要的特征是:使用分布式的链路状态协议。
要点(和RIP不一样的3各要点):
1)向本自治系统中**所有路由器**发送信息。
2)发送的信息就是与本路由器**相邻的所有路由器的了链路状态**
3)只有当链路状态**发生变化**,路由器才向所有路由器用洪泛法发送此信息。

4.12 路由器

1
2
3
路由器的基本结构如下图:
左侧1 2 3 分别为物理层,数据链路层,网络层
路由器的基本配置,详见实验课。

4.13 多播

1
2
3
4
5
6
概念:有许多的应用需要由一个原点发送到许多个终点,即一对多通信。例如,实时信息的交付。
相对于单播,多播的服务器只需要发送一次,在路由器(需支持多播协议)转发的时候进行复制。
多播IP地址是:224.0.1.0~238.255.255.255
多播地址对你硬件多播,需要2个协议:IGMP协议和多播路由选择协议
前者用来知道多播组的成员信息,后者用来以最小代价传送给所有组成员。
P.S.隧道技术,把数据封装成一个,到达另一个端点时候解封。

4.14 VPN 与 NAT

1
2
3
VPN与NAT和上一节的隧道有异曲同工之处,
都是通过数据加密,然后在端点进行解密,从来进行虚拟专用网。
NAT工作方式如下图:

第五章 运输层
5.1 两个主要的协议UDP,TCP

1
2
UDP传输数据之前不需要建立连接。TCP则提供面向连接的服务。
应用层对应的协议与运输层协议之间的关系表,如下图:

5.2 常见端口号

1
2
3
4
5
6
7
8
9
10
FTP 21
TELNET 23
SMTP 25
DNS 53
TFTP 69
HTTP 80
SNMP 161
SNMP(TRAP)162
P.S.系统端口号为0~1023,登记端口号为1024~49151,客户端使用的端口号49152~65535。

5.3 UDP:

1
2
3
4
5
6
1)无连接
2)尽最大努力交付
3)面向报文
4)没有拥塞控制
5)支持一对一,一对多,多对一,多对多的交互通信
6)首部开销小

5.4 TCP:

1
2
3
4
5
6
1)面向连接的运输层协议
2)每一条TCP连接只能有2个端点
3)提供可靠交付
4)提供双工通信
5)面向字节流
TCP面向流概念如下图:

5.5 TCP报文首部格式(考试应该不考)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1)源端口和目的端口,各占2字节(共32位)
2)序号,报文序号段,32位。本报文段所发送的数据的第一个字节的序号。
3)确认号,4字节(32位),**期望收到对方下一个报文段的第一个数据字节的序号**。若确认号为N,则表明序号N-1为止的所有数据都已正确收到。
4)数据偏移,占4位,TCP报文段的数据起始处距离TCP报文段的起始处有多远。作用是指出TCP报文段的首部长度。
5)保留,6位,目前为0,今后使用
6)URG,紧急,为1,有紧急数据,不按照原来的排队顺序进行传送,应尽快传送
7)ACK,确认,为1,号字段有效,否则为无效
8)PSH,推送,发送方TCP把PSH置1,新建一个报文段发送出去。接受方收到,就尽快交付接受的应用程序。一般少用
9)RST,复位,为1,表明出现严重差错,释放连接,重新连接。
10)SYN,同步,SYN=1,ACK=0表明是一个连接请求报文,若同意连接,则在响应的报文段中使SYN=1,ACK=1.
11)FIN,终止,为1,释放链接。
12)窗口,2字节(16位),窗口大小,在下一节有具体解释。
13)检验和,2字节检验和字段检验的范围包括首部和数据这两部分。
14)紧急指针,当URG为1的时候有用,指出紧急数据的末尾在报文段中的位置。
15)选项,长度可变,最长40字节。没有使用时,TCP首部为20字节。

5.6 TCP的可靠传输原理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
TCP连接有2个端点,称为**“套接字(socket)”**或**插口**。
socket = (IP地址:端口号),例如:192.3.4.6:80。
TCP连接 ::= {socket1,socket2} = {(IP1:port),(IP2:port2)}
可靠传输原理:
1)停止等待协议
接收方收到消息,发送确认消息返回给发送方,发送方在收到确认消息再发送下一个。若超时,则进行重传。
要点:
1、发送方发送完分组后需要保留发送分组的副本。
2、分组和确认分组都必须进行编号,草能明确是哪一个发送出去的分组,从而确定哪个分组还没收到确认。
3、超时重传时间应当比**数据在分组传输的平均往返时间更长一点**。
缺点:因为一个发送完再发送下一个,效率太低。
2)连续ARQ协议
位于发送窗口内的N各分组都可以连续发送出去,而不需要等待对方确认,而当发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置。
可靠传输实现:
1)以字节为单位的滑动窗口
2)超时重传时间的选择
3)选择确定SACK
实现方法根据上课表演。

5.7 TCP流量控制

1
2
3
4
5
6
7
8
流量控制,通过接收方返回rwnd来设置窗口大小。从而控制流量。
拥塞控制,放置过多的数据注入到网络中,这样可以使网络中的路由器和链路不至过载。
方法:
1)慢开始
2)拥塞避免
3)快重传
4)快恢复
彼此之间的区别,查看P233 5-39。

5.8 用三次握手建立TCP连接

1
见下图:(seq为初始序号,ack是确认号)

第六章 应用层
DNS,FTP,TELNET,WWW,HTTP,HTML,URL,SMTP,DHCP(动态主机配置)
HTTP报文:请求报文,响应报文,基本结构如下,长度因为各个字段的长度都是不确定而不确定。
1)请求报文:第一行:方法请求资源URL,HTTP版本。有时候使用相对URL,是因为第二行后主机域名。

1
2
3
第二行:User-Agent:(浏览器版本),Connection:close(发送完请求的文档后就可释放连接)
Accept-Language:cn(用户优先希望得到中文版本的文档)
Cookie:(网站的识别码)请求报文的最后还有一个空行。

2)响应报文:

1
2
3
4
5
6
7
8
第一行:状态航,HTTP版本,状态码,解释状态码的简单短语
set-cookie,在浏览器本地设置cookie
状态码:
1xx表示通知纤细的,如请求收到了或正在进行处理
2xx表示成功,如接受或知道了。
3xx表示重定向,如要完成请求还必须采取进一步行动。
4xx表示客户的差错,如请求中又错误的语法或不能完成
5xx表示服务器的差错,如服务器失效无法完成请求。

第十章
ipv6有128位IP