计算机网络
整理By Wolger “做好知识产权保护,有问题别来找我”
此篇内容为速成资料,其中的语言或许不严谨,请不要在意
使用教材为计算机网络(第8版)谢希仁 编著
计算机网络期末冲刺-4小时突击计算机网络_中国大学MOOC考研_中国大学MOOC (icourse163.org)
以下内容大部分参考了以上视频,如果有时间一定要看!标有❗为重点,❗❗越多越重要!
常见题型
一、CRC校验码❗❗❗
可能是最详细的CRC码(循环冗余检验码)解法 - konley - 博客园 (cnblogs.com)
解题方法
题目一般会给一个原始报文如M=11001010101,以及一个生成多项式 P(x)=x^4 + x^3 + x + 1,要你求CRC校验码
-
根据生成多项式得到除数P
P ( x ) = x 4 + x 3 + x + 1 = > P = 11011 P(x)=x^4 + x^3 + x + 1=>P=11011 P(x)=x4+x3+x+1=>P=11011 -
根据生成多项式最高阶n在原始报文后补上n位0
P(X)最高阶是4,所以补4个0,得到M=110010101010000
-
让补0后的报文和除数P做异或运算,得到余数R
-
异或运算真值表如下(简单来说,就是不一样的是1,一样的是0)
A B P 0 0 0 0 1 1 1 0 1 1 1 0 -
具体操作如下:
-
-
让得到的余数替换之前补的0,得到最终答案
余数R=0011,所以最终CRC检验码=110010101010011
-
你也可以验证一下,用得到的CRC去和除数再做异或运算,最后余数肯定全是0
例题
答案
- R=011,CRC=11001001011
- R=11010,CRC=1110001111010
二、子网划分❗❗❗
(21条消息) 【网络工程】A、B、C、D、E类IP地址划分依据和特殊的IP地址_a类ip地址_秋刀鱼_天官的博客-CSDN博客
网络知识一箩筐:IP地址划分的那些知识点 - 知乎 (zhihu.com)
知识点介绍
-
IP地址划分:
-
特殊IP地址:
-
源地址:0.0.0.0
-
回环地址:127.0.0.1
-
网络地址:主机地址全为0
-
直接广播地址:主机地址全为1,例如120.255.255.255
-
受限广播地址:255.255.255.255,即全为1
-
组播地址:224.0.0.1特指所有主机,224.0.0.2特指所有路由器(下面几个不用看)
-
DHCP故障地址:169.154.x.x
-
私有地址:10.x.x.x、172.16.x.x~172.31.x.x、192.168.x.x
-
-
子网划分:
由于实际中分配一个B类网络地址太多,C类又太少,这样对IP地址空间的利用率会偏低,所以提出了子网划分
子网划分就是将原来的两级IP地址进一步划分为三级IP地址如图:
向主机位借1位可以划分成2个子网,借2位划分成4个子网,借3位划分成8个子网
子网就可以理解为,把一个大的网络从内部分成几个小的子网。比如说:某个高校被分配了一个大的网段,学校可以采用三级IP地址划分方式分给对应的学院使用。对于互联网来说,学校的网络地址依旧是那个网络地址,只有高校知道自己内部还进行了子网划分。
但是有个问题,互联网中的网络设备向学校内的主机发送数据时,在IP数据包到达学校网络时,路由器是如何机智的识别到这个数据应该发送给哪个子网呢?子网掩码在这里就发挥了很大的作用。
-
子网掩码:
网络号和子网号都为1,主机号全0,下面是没进行子网划分的网络号
-
A类地址的子网掩码为:255.0.0.0
-
B类地址的子网掩码为:255.255.0.0
-
C类地址的子网掩码为:255.255.255.0
如果要判断两个IP地址是否在同一个网段,就让IP地址和子网掩码做相与运算,若结果相同则说明在同一网段
211.95.164.78 11010011 01011111 10100100 01001110 255.255.254.0 11111111 11111111 111111110 00000000 与的结果是: 11010011 01011111 10100100 00000000 211.95.165.24 11010011 01011111 10100101 00011000 255.255.254.0 11111111 11111111 111111110 00000000 与的结果是: 11010011 01011111 10100100 00000000
-
-
CIDR
CIDR记法(斜线记法)表示IP地址:{<网络前缀><主机地址/主机号>}/网络前缀占位数
-
哈夫曼编码:
永不重复,每一个编码都是唯一的。画出0,1的二叉树,只取最后的叶节点的路径作为编码,可以保证永不重复
解题方法
网络地址: 网络号 + 子网号 + 主机号(全为0)
广播地址:网络号 + 子网号 + 主机号(全为1)
子网掩码:网络号(全为1) + 子网号(全为1) + 主机号(全为0)
IP地址总数:根据主机号的位数进行确定
可分配IP地址数:IP地址总数-2(去除主机号全为0的网络地址和主机号全为1的广播地址)
只可意会不可言传,看起来很复杂其实很好求
题目一般会给你一个网络号如200.1.1.0,要你划分出4个子网,每个子网还有主机数的要求,让你求IP地址范围、子网网络地址、广播地址、子网掩码。主机数分别为A=71,B=34,C=21,D=14。
-
先看要划分出多少个子网,决定分配多少位子网号
题为4个子网,所以按理说从主机号中分出2位作为子网号就能满足,4<=2^2
-
看这是几类网络地址(如果题目已经告诉你网络号有多少位就别管几类网络地址),写出有几位网络号和主机号
200.1.1.0为C类网络地址,所以200.1.1为网络号共24位,主机号为8位
-
拿主机号位数减去要分配的子网号位数,看剩下的位数能分配多少个主机,决定使用定长还是变长子网划分
主机号一共8位,现拿出2位作为子网号,剩下6位,每个子网最多分配2^6=64个主机,由于题中A=71>64,显然不能用定长
-
使用变长子网划分
A=71,2^6<71<2^7,至少要给A分配7位主机号,才能满足,所以只剩下第1位子网号可分配,我们给他设为0,即子网号为0 B=34,至少需要6位主机号,可分配的子网号有2位,我们设为10,即子网号为10 C=21,至少需要5位主机号,可分配的子网号有3位,我们设为110,即子网号为110 D=14,与上同,3位为子网号,设为111,即子网号为111 子网号的分配有多种方式,但要注意的是分配的子网号前缀不能一样,比如10,和101,他们前缀10相同,计算机无法识别出这两个
第一个,A要71个,至少给他128个,所以分配7位主机号,那我剩下只有1位作为子网号吧,要么0,要么1,我喜欢用0
B想要34个,那你应该给他64个,也就是至少6位,那子网号只剩下2位分配,因为前缀不能相同,所以不能0开头(如果0开头取01,那计算机分辨不出来,这涉及到哈夫曼编码,前缀不能重复很重要),所以只能1开头,那可以是10,也可以是11,我用10
C想要21个,那你应该给他32个,也就是至少5位,那子网剩下3位,不能0开头,不能10开头,你就只能110或者111,我用110
-
根据划分的子网号得出各个答案
标签 划分的子网号 子网掩码
(网络号和子网号都为1)子网网络地址
(主机号全为0)广播地址
(主机号全为1)可分配地址范围 A 200.1.1.0XXX XXXX 255.255.255.128 200.1.1.0 200.1.1.127 200.1.1.1~
200.1.1.126B 200.1.1.10XX XXXX 255.255.255.192 200.1.1.128 200.1.1.191 200.1.1.129~
200.1.1.190C 200.1.1.110X XXXX 255.255.255.224 200.1.1.192 200.1.1.223 200.1.1.193~
200.1.1.222D 200.1.1.111X XXXX 255.255.255.224 200.1.1.224 200.1.1.255 200.1.1.225~
200.1.1.254
例题
一定要看,上面只介绍了基本的题型,虽然其他变种题方法类似,但也要知道该怎么写
(21条消息) 子网划分实例_子网划分例题_安联球场饮水机管理员的博客-CSDN博客
(21条消息) 子网划分、构造超网 典型题_子网划分题目__坐看云起时_的博客-CSDN博客
三、IP数据报分片❗❗❗
知识点介绍
- IP数据报:只要知道IP数据报是由首部和数据部分组成就行,首部一般是20字节
- MTU:是最大传输单元,一般是1500,他是包含首部和数据部分的,首部20,那每次最大传的数据就是1480
- MF:More Fragment 意思是后面还有分片,1为有,0为没有,所以只有最后一片是0
- DF:Dont Fragment 意思是不能再分了,1为不能分了,0为还能分,一般都能分所以全是0
- 片偏移:就是分片在原来报文的相对位置,以8字节为单元(所以最后写的时候要拿位置数除8)
解题方法
(21条消息) 计算机网络 网络层 IP 数据报的格式以及分片_ip数据报分片_富士康质检员张全蛋的博客-CSDN博客
题目一般会告诉你,原始报文总长度3820,以及首部20,然后告诉你每次分片不超过1420字节,或者跟你说MTU,让你求片偏移
-
先拿原数据部分除每次传的最大的数据部分,到要分几片
原始数据部分=总长度-首部20=3820-20=3800 每次最大传的数据部分=1420-20=1400 要分几片3800/1400=2...1000,有余数就+1,所以要分3片,每片数据部分长度为1400,1400,1000
很重要的一点,如果你每次分片的数据部分不是8的倍数!你要把他变成8的倍数!
例如,如果MTU=800,那么每次传的最大的数据部分理论是780,但是780他不是8的倍数,所以780/8=97...4,然后拿97*8=776
-
写点过程
片偏移的值就是每次数据位置开始部分/8,如第一片开始位置是0,所以片偏移0/8,第二片偏移1400/8,第三片2800/8
-
列个表写答案了,其中标识可以不用
例题
考试出的题大概率比这简单
答案
四、TCP滑动窗口❗
我的理解即充分利用时间,简称时间管理大师,在别人等待的时候,疯狂发送,当然发送的同时也要确定准确性(可靠传输),当然也不能太疯狂(流量控制)
知识点介绍
-
常见的流量控制策略(让发送的速率不要太快)
-
停等协议(泰慢了,每次都要别人接受了再发)
-
滑动窗口协议(在发的时候利用间隔,我继续发)
-
-
RTT(往返时延):RTT=2*Tp+Tb,Tb是传播时延,因为一来一回所以*2,Tb是确认的时间一般会忽略。
-
信道利用率:
假设在一个发送周期为1s,但实际传输数据的时间只用了0.5s,那么效率就是50%。
设整个发送周期为T。发送总的数据量为L。传输速率为P。
信道利用率 = L / P T 信道利用率=\frac{L/P}{T} 信道利用率=TL/P
解题方法
【计算机网络】题目讲解 滑动窗口协议 流量控制策略 最大发送窗口大小 基础课_哔哩哔哩_bilibili
题目一般会告诉你带宽,时延,传播一帧的时间,同时说使用滑动窗口协议,让你去算一次能连续传几帧,以及该用几位序号表示这些帧
有两种思路(看题目给的条件)
①从时间角度来说,先算每一帧要多长时间,然后算在整个往返时间内他能发几帧
-
首先算传一帧所用的时间(如果题目没给你),由题得一帧大小是1KB,带宽是1.6Mbps
t 1 = 1 ∗ 1 0 3 ∗ 8 b 1.6 ∗ 1 0 6 b p s = 5 ∗ 1 0 − 3 s = 5 m s t1=\frac{1*10^3*8b}{1.6*10^6bps}=5*10^{-3}s=5ms t1=1.6∗106bps1∗103∗8b=5∗10−3s=5ms -
然后算往返时延,这里直接给你RTT=45ms,如果没有请按上面公式
-
拿往返时延除以每次的时间,因为时间管理大师就是在别人往返等待的时候开始卷的。当然还得+1,因为在发第一次的那个5ms的时候同样在处理。
可连续发的帧 = 45 m s 5 m s + 1 = 10 帧 可连续发的帧=\frac{45ms}{5ms}+1=10帧 可连续发的帧=5ms45ms+1=10帧 -
如果问你要用几位序号能表示这几帧,其实就是问2的几次方能表示10种可能,如下4个序号即可
2 3 = 8 < 10 < 2 4 = 16 2^3=8<10<2^4=16 23=8<10<24=16
②从空间(数据大小)的角度,算他在整个往返时间内能传多少数据量(时延带宽积),然后拿总数据量除一帧数据量
-
这边直接给你一个传播时延22.5ms(没给请用题目的条件算),然后*2得到RTT=45ms=0.045s
-
计算时延带宽积,也就是在这段时间内最多能有多少数据量(带宽和上面一样)
时延带宽积 = 时延 ∗ 带宽时延带宽积 = 时延 ∗ 带宽 时延带宽积=时延*带宽时延带宽积=时延*带宽 时延带宽积=时延∗带宽时延带宽积=时延∗带宽时延带宽积 = 0.045 s ∗ 1.6 ∗ 1 0 6 b p s = 72000 b 时延带宽积=0.045s*1.6*10^6bps=72000b 时延带宽积=0.045s∗1.6∗106bps=72000b
-
用时延带宽积除一帧的数据量,当然也得+1
帧数 = 72000 b 1 ∗ 1 0 3 ∗ 8 b + 1 = 10 帧 帧数=\frac{72000b}{1*10^3*8b}+1=10帧 帧数=1∗103∗8b72000b+1=10帧
例题
这里的题型很多,不单单上面的题,很多小题也会有。
我觉得这玩意应该不会考计算题,但是他的概念真要理解起来太麻烦了,所以我认为他应该只会出选择题甚至不考。
答案
计算机网络 408 考研【2019年 题35】滑动窗口协议发送窗口和接收窗口的尺寸(字幕版)_哔哩哔哩_bilibili
计算机网络 滑动窗口信道利用率例题_哔哩哔哩_bilibili
五、拥塞控制❗❗
知识点介绍
- **cwnd:**拥塞窗口,等同于发送的报文数
- **ssthresh:**门限值,是cwnd/2得到的,每次达到最顶峰(超时)或者快速重传,门限值都会更新
- **慢开始:**慢开始从1开始指数增长,直到达到门限值
- **快速重传:**如果发送方收到一连串ACK确认报文,那就执行快速重传,直接调整门限值cwnd/2并该处开始执行拥塞避免
解题方法
一般题目会给你一张图,或者给你一个表格,让你先画出图,然后让你说出各个阶段是啥,门限值是多少之类的
表格看着数据多,其实就是两个数据RTT和cwnd分别对应X轴和Y轴,让你画你就画出来就行,没让你画就想象下
-
我的建议,直接背图就好了,基本思路都是一样的,书上的图很完美直接看书P243(这图和上面表格没关系)
-
所以我们来分析下这张图
- 首先是RTT[0-4]是慢开始阶段,cwnd从0开始指数增长
- 增长到门限值(第一个门限值是题目定好的,这图里是16),执行拥塞避免算法RTT[4-12]
- 执行到一定阶段超时了,一般题都会给你的,你不用知道为什么到这会超时
- 然后门限值改变为cwnd/2=24/2=12,同时重新从1开始慢开始启动
- 聪明的你应该可以想到等他到了12他又会执行拥塞避免算法
- 执行拥塞避免算法的时候,突然发送方收到了3个ACK确认报文,立即执行快速重传算法
- 也就是改变门限值为cwnd/2=16/2=8,然后直接从门限值处开始执行拥塞避免
-
当你知道这个过程后,这种看图说话的题基本就完事了,当然如果题目问你什么时候发送某个如70报文段,其实就是问你什么时候cwnd累加到了70,具体见下题。
例题
很经典的题目来源于书上P256 5-29(书真是个好东西)
答案
计算机网络第五章-TCP拥塞控制方法(拥塞控制经典例题解析) - 知乎 (zhihu.com)
六、TCP的三次握手和四次挥手❗❗
知识点介绍
- **是啥意思:**这是TCP连接建立的过程,三次挥手是连接建立,四次挥手是连接释放
- **为啥要四次挥手:**四次挥手是保证B传给A的数据被A接收完毕后,B才可以关闭,前两次挥手A关闭了发送端但是保留了接收端
解题方法
题目可能会让你画出三次握手和四次挥手机制的图,两边的状态不用画(会考)
第一次握手A发送给B
A发送了SYN=1表示建立请求的标识,这是A的第x条消息seq=x
第二次握手B发送给A
B收到消息发送了一个确认标识ACK=1,ack=x+1
B同意建立连接于是也发了个SYN=1,这是B的第seq=y条消息
第三次握手A发送给B
A表示我也收到你的信息了,ACK=1,ack=y+1,这是A的seq=x+1条信息
第一次挥手A发送给B 发送FIN关闭标识,以及seq=u
第二次挥手B发送给A 发送确认ACK,ack=u+1,seq=v
第三次挥手B发送给A 发送FIN关闭标识,由于可能中间发了点消息,所以重新计数seq=w
第四次挥手B发送给A 发送确认ACK,ack=w+1,seq=u+1
七、路由表更新❗❗❗
题型1:根据路由图画路由表
题型2:根据相邻路由表2更新路由表1(一般考这个)
题型3:根据路由表画路由图
解题方法
更新路由表时:更新表的距离全+1,与原表比,没有就填,更新就改,太长就换
相同的【下一跳】,【距离】不同,需更新
不同【下一跳】,选【距离】更短的替换
不同【下一跳】,【距离】相同,不变
【目的网络】不存在的,直接添加
例题
直接看例题更好理解
(21条消息) 路由表的更新算法(解题思路)路由表更新༺鸣翊༻的博客-CSDN博客
(21条消息) 计算机路由表更新算法画图_四川兔兔的博客-CSDN博客
计算机网络大题+答案–更新路由表 (xiaohongshu.com)
(21条消息) 【计算机网络】距离向量算法例题解析(求更新后的路由表)_更新路由表的例题及答案_她的坏机器人的博客-CSDN博客
八、码分多址通信❗❗
解题方法
题目会给你多个站的码片序列编码,以及一个收到的码片序列,问是哪个站发的数据,发了什么数据
- 将收到的和站的码片做正交运算(就两两相乘,然后加起来),然后除以码片数
- 看最后的数是多少,1就是发了1,-1就是发了0,0就是没发
例题
答案
九、地址聚合、构造超网❗❗❗
解题方法
换成二进制,找相同,完事了
例题
答案
十、路由表下一跳❗
解题方法
把给的地址和子网掩码做相与运算,相同就是那个的下一跳(原理在上文第二部分子网划分中的子网掩码部分)
例题
答案
十一、网桥转发表❗❗
解题方法
一个一个看,操作有写入、转发、丢弃,如果表中原来没有就写入,如果有就其他操作
例题
这里2代表是写入,1是转发,3是丢弃
基础知识点
二进制和十进制转换❗❗❗
重点知识点
第一章 概述
计算机网络概述
定义、组成和功能
- 定义:利用通信线路和交换设备将地理位置分散的、具有独立功能的多台计算机连接起来,按照某种协议迂行数据通信、实现资源共享的信息系统。(太长了,别看)
- 组成❗❗:由核心部分(通信线路和交换设备)和边缘部分(独立的主机)
- 功能❗❗:数据通信、资源共享(软件、硬件、数据)**
计算机网络的分类
- 电路交换❗:很自私,先建立连接独占一条线,点对点,单向通信
- 报文交换❗:一个整个数据传输时,实现不用建立连接,一边传一边选择路线,属于存储转发方式(就是会有缓存)
- 分组交换❗❗:把一整个数据分成一个个片段,每个片段可以自己选择路线,属于存储转发方式
发展历史
ARPNET阿帕网—>三级网—>多层次ISP
- ARPNET:美国军方用的逐步演化成 internet(小写是互联网,区域的不是全球的),再发展成Internet(大写,全球因特网)
- **三级网:**主干—地区—区域(校园、企业)
- **ISP:**给你提供网络的服务商(中国移动、电信之类的)
计算机网络分层体系结构
分层模型❗❗❗
OSI各层的作用❗
概念知识点
- **实体:**就是每一层
- **协议:**同一层沟通要遵守的东西(语法、语义、同步)
- 服务:越上面的层是大哥,下面的层是小弟,小弟要给大哥提供服务
- **SAP:**抽象的逻辑概念,大哥怎么和小弟要服务,打个电话
性能指标❗❗
-
速率(传输数据的速率,单位bit/s、bps)
-
带宽(网络理论上能的最大速率,单位bps)
-
吞吐量(网络实际能接收的最大速率,和带宽不一样,单位bps)
-
时延(发送时延,传播时延,单位s)
-
时延带宽积(这段时间内网络最多能传多少数据量,单位b)
-
往返时间
-
利用率(发送数据的时间除以总时间)
设整个发送周期为T。发送总的数据量为L。传输速率为P。
信道利用率 = L / P T 信道利用率=\frac{L/P}{T} 信道利用率=TL/P
第二章 物理层
物理层概述和通信基础
基本概述
- **物理层功能:**传输数据比特率01010,确定与传输媒体接口相关的特性
- 物理层的特性❗(泄气工程):
- **机械特性:**定义接口形状,引线数目之类的实体特性
- **电气特性:**规定电压,传输速率之类的
- **功能特性:**指明某个电压代表的含义
- **规程特性:**定义物理线路上的规程和时序
通信过程❗❗
从你的主机(信源)传出010101,传的肯定不是字符串,而是编码后的数字信号(因为要在物理层面传输),一直传到调制解调器,如果你要传的距离比较远(从局域网到广域网),那调制解调器会把你的数字信号变成模拟信号,接收也是同样的,具体看图:
概念名词
-
码元❗❗❗
某个固定时长的信号波形叫做码元,简单来说就是一个波形是一个码元(不用记,图里红色标的就是一个个码元)
2进制码元,就是2种不同波形,用1bit就可以表示(0,1)
4进制码元,就是4种不同的波形,用2bit就可以表示(00,01,10,11)
问你16个码元得多少个比特表示,直接甩他一手公式
l o g 2 V = l o g 2 16 = 4 log_{2}V=log_{2}16=4 log2V=log216=4
**码元传输速率(波特率):**每秒能传几个码元,单位是波特Baud(注意和Byte不一样,Byte是比特)如果1秒内传8个二进制码元就是8Baud/s=8bit/s=1Byte/s,我强烈建议不要用缩写因为你们绝对会搞混的
例题:
八进制数字信号=8进制码元=3bit 因为传输速率是1600码元=1600*3=4800bit 二进制数字信号=2进制码元=1bit 所以2进制码元传输速率=4800bit/1bit=4800
-
**消息:**传的语音、文字、图像等具象的
-
**数据:**运算消息的实体0101010
-
**信号:**电压表现,频率的表现
-
**信道:**传输消息的媒介
通信方式❗❗
- **单工通信:**只能从一个方向传给别人,广播(只有广播员传给别人)
- **半双工通信:**可以两个方向,但同一时间只能一个方向(对讲机,你说完我才能说)
- **全双工通信:**两个方向,并且可以同时发(打电话,叽叽喳喳的)
基带信号
基带信号就是来自信源的信号,经过调制解调器可以变成两种信号
-
编码(基带调制):
发送的距离不是很远就用基带调制,变成数字信号
常见的编码方式❗:
- **归零编码:**看前半段,高就是1,低就是0,后半段都会归零
- **非归零编码:**看整段,高的就是1,低的就是0
- **曼切斯特编码:**看中间,肯定会跳,看题目怎么定义1,0,是从高到低是1还是从低到高是1
- **差分曼切斯特编码:**看起始位置,起始位置和前面不一样就是0,一样就是1
-
带通调制❗:
发送的距离有点远就用带通调制,变成模拟信号
常用的带通调制方式:
- 调幅(AM)
- 调频(FM)
- 调相(PM)
- 正交振幅调制(QAM)
极限传输速率❗❗❗
-
奈氏准则(理想低通条件下)
C是极限传输速率单位b/s,W是信道宽度单位HZ,V是有多少种码元
C = 2 W l o g 2 V C=2Wlog_{2}V C=2Wlog2V -
香农定理(带宽受限有噪声情况下)
C是极限传输速率单位b/s,W是信道宽度单位HZ
信噪比 = 10 l o g 10 ( S N ) 信噪比=10log_{10}(\frac{S}{N}) 信噪比=10log10(NS)C = W l o g 2 ( 1 + S N ) C=Wlog_2{(1+\frac{S}{N})} C=Wlog2(1+NS)
例题
信道复用技术❗
本章讲的为静态划分信道,我称为省吃俭用法,一个馒头分成两半吃
-
频分多路复用 FDM
-
时分多路复用 TDM
-
波分多路复用 WDM
-
码分多路复用 CDM
原理可以不懂,题目详情见上文【常见题型第八节】
传输介质和物理层设备
传输介质
-
导引型
抗干扰能力和带宽:光纤>同轴电缆>双绞线
-
双绞线(应用于电话,分无屏蔽和有屏蔽的,有屏蔽的稳)
10BASE-T:10Mb/s双绞线,最长100米
100BASE-T:100Mb/s双绞线,最长100米
-
同轴电缆(应用于有线电视)
-
光纤(应用于IP电视、因特网,分单模和多模)
-
-
非导引型
- 无线电波(向所有方向传播,穿透能力强)
- 微波(固定方向)
- 地面微波接力通信
- 卫星通信
- 红外线、激光(固定方向)
物理层设备❗❗
都具有放大和再生的功能,不能隔离广播域和
- 中继器(一段进、一段出)
- 集线器(多端进、多端出)
在这简要提下各个层的设备
物理层设备:中继器、集线器
链路层设备:网桥、交换机
网络层设备:路由器
宽带接入方法
- ADSL非对称数字用户线(双绞线)
- HFC光纤同轴混合网(光纤+同轴电缆)
- 光纤到…FFTX(光纤)
例题
第三章 数据链路层
链路层概念和协议
链路层功能❗❗❗
-
封装成帧
在一段数据数据前后添加首部尾部,构成一个帧(帧是链路层所传递的数据单元)
在首部和尾部有很多信息,用于帧定界,一般用八位二进制数作为帧定界符,SOH、EOT
-
透明传输
不管数据是什么,都应当能在链路上传输,这叫透明传输
如果数据中出现了和某个控制信息相同的数据,那就要执行字节(字符)填充,即填充一个转义字节,告诉接收方那个不是真的控制信息
-
差错检测
由于噪声(别管噪声是啥,我也不知道)的原因,会引起位错(比特位错了)和帧错(整个帧丢失、重复或失序)
使用CRC循环冗余检测完成差错检测,具体见【常见题型第一节】
链路层信道类型
-
一对一:点对点信道(主机和ISP)
-
一对多:广播信道(局域网)
链路层协议
-
PPP协议(在点对点的信道中使用)
该协议实现透明传输的方法:
- 字节填充法(应用在异步传输中,面向字符,上文提到了)
- 零比特填充法❗(应用在同步传输中,面向比特,简单说就是在5个连续1后面加个0)
-
CSMA/CD载波监听多点接入/碰撞检测协议❗❗(在广播信道中使用,我称之为卑微协议)
首先介绍下介质访问控制,也就是信道控制
随机接入通过争用带宽获取信道资源,所以CSMA/CD最大的用处就是争用带宽控制信道的
CS载波监听:在每次发数据之前以及发的时候都要检测下其他人是否在发送(好可怜,只能在别人不发的时候抢着发),说明是半 双工通信,同时只能一个人发
MA多点接入:许多计算机以多点接入在一根主线,说明是总线型
**CD碰撞检测:**在已经发送出去的时候也要监听,边发送边监听,如果别人发了,那就立刻停止发送(真卑微,时刻要看别人眼色, 别人一动自己就要停下)
重要的网络和设备
重要网络
-
局域网(由每个区域多台主机构成,使用广播信道)❗❗
**特点:**范围小、速率快、可靠信高、具有广播功能
在局域网中,我们对于数据链路层会继续划分成两个逻辑子层
- LLC逻辑链路控制子层(识别网络层协议,服务网络层)
- MAC介质访问控制子层(帧封装和卸装,帧寻址和识别,帧接收和发送,链路管理,帧差错控制,大部分事情他都干,劳动力层)
-
以太网、高速以太网(有印象就行)
-
以太网使用CSMA/CD技术进行争用带宽
-
高速以太网是速率>100Mb/s的以太网
100BASE-T以太网,使用双绞线传输100Mb/s的星型拓扑以太网,使用IEEE802.3u的CSMA/CD协议
吉比特以太网,使用光纤或双绞线传输1G/s信号,使用IEEE802.3z的CSMA/CD协议
10吉比特以太网,使用光纤传输10Gb/s,为全双工通信,不使用CSMA/CD协议
-
-
虚拟局域网
使用交换机进行逻辑划分,并不是真实的
有关MAC的知识
计算机是如何连接局域网或以太网的?计算机是通过适配器(网卡、网络接口卡)连接局域网的
MAC地址❗❗:
MAC地址是48位二进制地址构成的,一般用6个十六进制表示
前3个十六进制表示厂家,后3个十六进制由厂家自定义,如02-60-8c-e4-b1-21
MAC帧❗:
- 单播帧:表示只发送给一个主机的帧,目的地址为那个主机的MAC地址
- 广播帧:发送给局域网内所有的主机,目的地址为全F:FF-FF-FF-FF-FF-FF
- 多播帧:只发送给局域网中某几个主机,目的地址为组的地址(不常用)
MAC层数据的封装:
只要记住目的地址和源地址占6位字节就可以了,其他不用记大概率不会考
链路层设备
-
网桥
-
透明网桥❗❗
透明网桥通过自学习来确定转发表,详情见【常见题型第十一节】
-
源路由网桥
事先知道一个较好的路由转发,直接赋予
-
-
交换机
-
直通式交换机
收到查到目的地址(6B)就直接转发(内容看都不看),延迟小,可靠低,无法支持不同速率端口交换
-
存储转发式交换机
将帧放入高速缓存,并检查错误,正确则转发,错误就丢弃,延迟大,可靠性高,支持不同速率的端口交换
交换机的应用:
构建虚拟局域网,在原有的局域网内,进行逻辑划分,原本1,2,3,4,5,6是局域网,现在交换机大人发话了,说1,2,3再整个局域网,4,5,6也整个局域网,这都是逻辑划分,并不是现实把线给拔了。
-
冲突域和广播域❗
-
冲突域,同一时间只能有一台设备发送信息的范围,局域网就是冲突域
-
广播域,一个主机发出广播信号,所有能接到这个信号的设备的范围
例题:
第四章 网络层
网络层概述
网络层功能和任务❗
网络层为上层大哥提供无连接的,尽最大努力交付的数据报服务
主要任务:就是把分组(IP数据报,这是网络层的数据单元)通过路由选择转发从源主机到目的主机。
同时由于网络层路由器的存在使得互联网能由多种异构网络互连组成
如何转发❗❗
通过路由器中的路由表进行选择,如果收到目的网络和路由表中的目的网络匹配,那就执行下一跳
IP数据报❗❗❗
由首部和数据部分构成,首部一般是20B,包含多个内容具体如下
- **首部长度:**最小为5,单位为4B,所以首部最小是5*4=20B
- **总长度:**首部+数据部分,单位就是1B
- **TTL生存时间:**经过一个路由器就-1,变成0就丢弃了,避免太多过期数据存在网络
- **首部检验和:**只检验首部
- **源IP地址和目的IP地址:**都是32位
- **标识:**同一数据报的分片使用同一标识
- 标志:
- MF:是否还有分片,1是有,0是没有,一般只有最后一片是0
- DF:禁止分片,1是禁止,0是不禁止,一般都是0
- **片偏移:**在数据报中的相对位置,单位为8B
IP数据报的分片❗❗❗
详情见上文【常见题型第三节】
关于IP地址
IP地址基础知识
-
IP地址分类❗❗❗
最大可用网络数:
A类中,127.X.X.X作为回环地址,且网络号不能全为0,所以-2
B、C类中,网络号网络号不能全为0,所以-1
-
私有地址
不能在网络中转发,只能在内网中,每个内网都可以有这些地址
如何访问私有地址?需要一个安装了NAT的路由器,实现内外网沟通,NAT会构建一个转换表(了解就行)
-
特殊IP地址❗❗❗
子网划分❗❗❗
详情见【常见题型第二节】
概念:原本IP地址是由网络号和主机号构成的,现在把主机号中的某几位作为子网号
子网掩码:
将网络号和子网号全设为1即为子网掩码
网络地址:
将子网掩码和IP地址相与就得到了网络地址
当然我一般喜欢这么做,保留子网号以及之前的网络号,将主机号全设0
例题:
C;4、2;255.255.0.0;C;C
CIDR无分类编址❗❗
将原本的网络号和子网号,叫做网络前缀,写法即在IP后面加个/网络前缀的位数
**CIDR地址块:**CID把网络前缀都相同的且连续的IP地址叫做CIDR地址块
CIDR目的:是节约资源,将多个子网组合构建超网,通过路由聚合实现
**路由聚合:**详情见【常见题型第九节】,简而言之就是换成二进制,找相同的位数
网络层协议
重要协议
-
ICMP❗❗
主要功能就是发送差错报文以及询问报文
发送差错报文的内容和原因(都是接收方发给发送方的):
- **终点不可达:**无法交付
- **源点抑制:**拥塞导致数据丢失
- **时间超过:**收到TTL=0的数据报
- **参数问题:**首部字段有问题
- **改变路由(重定向):**想更改路由了
发送ICMP询问报文
- **回送请求和回答报文:**主机向某主机发送询问请求,收到此报文的主机给源主机发送回答报文,例如Ping,用于测试两个主机的联通性
- **时间戳请求和回答报文:**请求当前时间
-
ARP、RARP❗❗
完成IP地址到MAC地址的映射,解决下一跳走哪的问题
-
IGMP网际组管理协议(不常用)
路由协议❗❗
- RIP距离向量算法(内部的,只考虑路径长度)
- OSPF最短路径优先算法(内部的,考虑了影响因素)
- BGP(外部的路由选择协议)
第五章 传输层
概述
传输层功能❗❗:
- 提供进程和进程之间的通信,靠套接字Socket=(主机IP地址,端口号)找到进程
- 对收到的报文进行差错检测(报文是传输层的数据单元)
- 传输层的两种协议(TCP大哥很靠谱)
- TCP面向连接的传输控制协议:每次传数据都要确定连接。可靠、面向连接、时延大、适用大文件。
- UDP无连接的数据报协议:传数据不需要连接。不可靠、无连接、时延小、适用小文件。
TCP协议
特点❗:
- 面向连接的
- 只能是点对点的
- 提供可靠有序,不丢不重的服务
- 提供全双工通信,能同时发送接收数据
- **发送缓存(发送窗口):**存准备发的数据,已发送但未收到确认的数据
- **接收缓存(接收窗口):**存到达了但未被应用程序读取的数据,不按序到底的数据
首部信息:
**源端口、目的端口:**每个都是16位
序号❗:表示本报文段第一个字节的序号
确认号❗❗:期待对方下一个报文段的序号,若确认号是N,说明N-1都被正确接收
**首部长度(数据偏移):**TCP报文起始到TCP数据起始的长度,其实就是首部长度,单位4B,最小是5,也就是说首部长度是20B
保留:只要知道SYN和FIN,SYN是建立连接的标识,FIN是释放连接的标识
TCP的三次握手:❗❗
详情见上文【常见题型第六节】
TCP的四次握手:❗❗
详情见上文【常见题型第六节】
**TCP实现可靠传输的手段❗:校验、序号、确认、重传(**接收方校验看序号,未确认就让发送方重传)
TCP流量控制❗❗:
让发送方发慢点,接收方接不过来了,使用改变滑动窗口的大小实现。
如果发太快了,接收方会根据自己的能力(缓存大小),携带一个窗口字段,让发送方的发送窗口变小。发送窗口具体大小是取Min(接收窗口rwnd,拥塞窗口cwnd)
拥塞窗口是发送方自己根据网络情况算出来的,所以发送方心眼很多,他不一定听接收方的。
TCP拥塞控制❗❗:
拥塞控制是交警,一条马路上车太多,堵车了,拥塞控制就要禁止更多的车进入
即对资源需求大于可用资源时,拥塞控制会防止过多的数据进入网络(全局性)
四种方法:慢开始、拥塞避免、快重传、快恢复
详情见【常见题型第五章】
UDP协议❗
记住UDP报文首部是8字节,而且他是无连接的,不可靠,记住这个就完事了
第六章 应用层
概述
应用即对应用程序提供服务。
**功能:**文件传输、访问、管理;电子邮件;虚拟终端;远程连接等
网络应用模型❗
C/S:最常见的用户/服务器模式,大部分应用都是这个模型
P2P:类似迅雷下载,每个主机都可以是服务器
DNS域名解析❗❗
-
域名分为:
根域名、顶级域名、二级域名、三级域名、四级域名
例如www.baidu.com
com是顶级域名,其他的还有edu、gov、cn等等,baidu是二级域名,www是三级域名
-
不同域名对应不同的服务器:
根域名—根域名服务器,顶级域名—顶级域名服务器,其他域名—权限域名服务器,本地主机—本地域名服务器
-
DNS的过程