国企笔试知识点总结——计算机网络
概述
体系结构
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务,同时要实现本层协议,还需要使用下层所提供的服务。本层的服务用户只能看见服务而无法看见下面的协议。下层的协议对上层的服务用户是透明的。也就是下一层要为上一层提供服务,并为上一层数据进行封装。
需要注意的是,**传输媒体并不是物理层 ,传输媒体在物理层的下面。**由于物理层是体系结构的第一层,因此有时称物理层为0层。在传输媒体中传输的是信号,但传输媒体并不知道所传输的信号代表什么意思。也就是说,传输媒体不知道所传输的信号什么时候是1什么时候是0。但物理层由于规定了电气特性,因此能够识别所传送的比特流。
网络协议
一个网络协议主要3个要素组成:
- 语法:即数据与控制信息的结构或格式。定义了怎样进行通信,解决了通信双方"如何讲"的问题。
- 语义:即需要发出何种信息、完成何种动作以及做出何种应答。定义了通信双方要"讲什么",如规定通信双方要发出什么控制信息、执行的动作、返回的应答。
- 同步(定时):即事件实现顺序的详细说明。定义何时进行通信。
服务与协议
PDU :协议数据单元,对等实体之间传送的数据单位
SDU : 服务数据单元,层与层之间交换的数据的单位
可以是多个SDU合成一个PDU,也可以是一个SDU划分为几个PDU。层与层之间的是垂直结构,对应的是服务。
常见网络命令
netstat:netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知有哪些网络连接正在运作。 使用时如果不带参数,netstat显示活动的TCP连接。
ping:ping命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。
ipconfig:当使用ipconfig时不带任何参数选项,那么它为每个已经配置了的接口显示IP地址、子网掩码和缺省网关值。
nslookup:nslookup命令用于查询DNS的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题。
数据传输方式
数据传输方式(data transmission mode),是数据在信道上传送所采取的方式。
- 若按数据传输的顺序可以分为并行传输和串行传输;
- 若按数据传输的同步方式可分为同步传输和异步传输;
- 若按数据传输的流向和时间关系可以分为单工、半双工和全双工数据传输。
数据链路层
数据链路层协议
Ethernet(以太网协议)、IEEE802.3、PPP和HDLC。PPP是目前使用最广泛的数据链路层协议,不管是低速的拨号猫连接还是高速的光纤链路,都适用PPP协议 。
交换机
二层交换机处于数据链路曾能够使得相同网段的两台主机通信,三层交换机在网络层能使不同网段的两台主机通信(网段根据IP网路号划分)。
二层与三层交换机之间有以下区别:
- 工作层级不同:二层交换机工作在数据链路层,三层交换机工作在网络层,三层交换机不仅实现了数据包的高速转发,还可以根据不同网络状况达到最优网络性能。
- 原理不同:二层交换机的原理是当交换机从某个端口收到一个数据包,它会先读取包中的源MAC地址,再去读取包中的目的MAC地址,并在地址表中查找对应的端口,如表中有和目的MAC地址对应的端口,就把数据包直接复制到这个端口上。三层交换机的原理比较简单,就是一次路由多次交换,通俗来说就是第一次进行源到目的的路由,三层交换机会将此数据转到二层,那么下次无论是目的到源还是源到目的都可以进行快速交换。
- 功能不同:二层交换机基于MAC地址访问,只做数据的转发,并且不能配置IP地址,而三层交换机将二层交换技术和三层转发功能结合在一起,也就是说三层交换机在二层交换机的基础上增加了路由功能,可配置不同VLAN的IP地址,可通过三层路由实现不同VLAN之间通讯。
- 应用不同:二层交换机主要用于网络接入层和汇聚层,而三层交换机主要用于网络核心层,但是也存在少部分三层交换机用于汇聚层的现象,下图是三层交换机的实际应用实例。
- 支持的协议不同:二层交换机支持物理层和数据链路层协议,而三层交换机支持物理层、数据链路层及网络层协议。
二层交换机的基本功能:
- 像集线器一样,交换机提供了大量可供线缆连接的端口,这样可以采用星型拓扑布线。
- 像中继器、集线器和网桥那样,当它转发帧时,交换机会重新产生一个不失真的方形电信号。
- 像网桥那样,交换机在每个端口上都使用相同的转发或过滤逻辑。
- 像网桥那样,交换机将局域网分为多个冲突域,每个冲突域都是有独立的宽带,因此大大提高了局域网的带宽。
- 除了具有网桥、集线器和中继器的功能以外,交换机还提供了更先进的功能,如虚拟局域网(VLAN)和更高的性能。
广播域和冲突域
在二层交换中,当两个或多个主机试图在同一网络链路上以相同的时间间隔进行通信时,可能会发生冲突。当数据帧发生冲突,设备必须重新发送数据。冲突对网络性能有严重的负面影响,因此绝对要避免冲突。
广播是一种信息的传播方式,指网络中的某一设备同时向网络中所有的其他设备发送数据,这个数据所能广播到的范围即为广播域。简单点说,广播域就是指网络中所有能接收到同样广播消息的设备的集合。
使用一个或多个交换机组成的以太网,所有站点都在同一个广播域。随着交换机变多,这个广播域的范围也会变大,于是就会出现难以维护、广播风暴以及安全等问题。例如一个主机想要获取另外一个网段的主机MAC地址,需要发送ARP广播请求获取对方主机的MAC地址。这个广播请求会广播到每一个主机身上,容易导致广播风暴。
冲突域是第一层物理层的概念,用第二层及其以上的设备才可以分离冲突域;
广播域是第二层数据链路层的概念,用第三层及其以上的设备才可以分离广播域。
例如网桥可以划分冲突域,但是不能划分广播域,因为网桥是二层识别,对于高层ip来说是透明的,而路由器可以划分广播域,因为路由器不转发广播ip分组。
路由器的每个接口是一个广播域。交换机的每个接口是一个冲突域,交换机在未配置策略前是所有接口是一个广播域。集线器的所有接口是一个冲突域。
本题中,交换机(默认是二层交换机)属于第二层的设备,所以可以分离冲突域,但不能分离广播域。一台交换机中的每个端口都是一个冲突域,而所有的端口构成一个广播域,有8台设备连接了交换机,则一共有8个冲突域,一个广播域。
HUB,也就是集线器。它的作用可以简单的理解为将一些机器连接起来组成一个局域网。而交换机(又名交换式集线器)作用与集线器大体相同。但是两者在性能上有区别:集线器采用的式共享带宽的工作方式,而交换机是独享带宽。
VLAN
为了克服冲突和广播域问题,在计算机网络系统中引入了VLAN(虚拟局域网)技术。
分隔广播域有两种方法:
- 物理分隔:将网络从物理上划分为若干个小网络
- 逻辑分隔:将网络从逻辑上划分为若干个小的虚拟网络,即VLAN
物理分隔有很多缺点,会使得局域网的设计缺乏灵活性,而VLAN则具有灵活性和可扩展性。VLAN配置是在交换机级通过使用不同的接口完成的,不同的交换机可以有不同或相同的 VLAN 配置,并可以根据网络的需要进行设置。
在同一个 VLAN 内的设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像在同一个网段中一样。因此,与不同交换机相连的主机可以共享同一个广播域。
需要注意的是,二层交换机只能允许主机设备与同一个VLAN的主机通信。要到达另一个网络的主机设备,需要三层交换机或路由器。
局域网
局域网是一个局部范围的计算计组,比如家庭网络就是一个小型的局域网,里面包含电脑、手机和平板等,他们共同连接到你家的路由器上。又比如学校的机房就是一个局域网,里面有几百几千台电脑,当机房无法上外网时,但是电脑之间仍可以通信。理论上,局域网是封闭的,并不可以上外网,可以只有两台电脑,也可以有上万台。
以太网是一种局域网,而局域网却不一定是以太网,只是由于目前大多数的局域网是以太网,所以一般说局域网,大家都默认为以太网。所谓以太网,是一种总线型局域网。局域网的拓扑结构有很多实现方式,有星型、环形、总线型等。但是这些年来的经验看,以太网,也就是总线型的是最成功的,应用最广泛的。
决定局域网特性的主要技术要素有:传输介质、网络拓扑结构和介质访问控制方法,其中**最为重要的是介质访问控制方法(俗称协议)。**常用的介质访问控制方式有时分多路复用(TDM)、带冲突检测的载波监听多路访问介质控制(CSMA/CD)和令牌环(Token Ring)。
区分局域网(LAN)和广域网(WAN)的依据是传输协议,而不是联网范围。
拓朴结构
网络的拓扑结构可反映出网中各实体间的结构关系,是建设计算机网络的第一步,是实现各种网络协议的基础,它对网络的性能,系统的可靠性与通信费用都有重大影响。
总线型
网络上所有的计算机都通过一条电缆相互连接起来。信号反射和终结器:在总线型网络中,信号会沿着网线发送到整个网络。当信号到达线缆的端点时,将产生反射信号,这种发射信号会与后续信号发送冲突,从而使通信中断。为了防止通信中断,必须在线缆的两端安装终结器,以吸收端点信号,防止信号反弹。
星形
每个节点都由一个单独的通信线路连接到中心节点上。中心节点控制全网的通信,任何两台计算机之间的通信都要通过中心节点来转接。因些中心节点是网络的瓶颈,这种拓朴结构又称为集中控制式网络结构,这种拓扑结构是目前使用最普遍的拓扑结构,处于中心的网络设备跨越式集线器(Hub)也可以是交换机。
环形
环型拓扑结构是以一个共享的环型信道连接所有设备,称为令牌环。在环型拓扑中,信号会沿着环型信道按一个方向传播,并通过每台计算机。而且,每台计算机会对信号进行放大后,传给下一台计算机。同时,在网络中有一种特殊的信号称为令牌。令牌按顺时针方向传输。当某台计算机要发送信息时,必须先捕获令牌,再发送信息。发送信息后在释放令牌。环型结构的显著特点是每个节点用户都与两个相邻节点用户相连。
IEEE802.3标准是一种基带总线型的局域网标准;以太网逻辑上采用总线型拓扑结构。
以太网
以太网采用带冲突检测的载波帧听多路访问(CSMA/CD)机制。以太网中节点都可以看到在网络中发送的所有信息,因此,我们说以太网是一种广播网络。
以太网的工作过程如下:
当以太网中的一台主机要传输数据时,它将按如下步骤进行:
- 监听信道上是否有信号在传输。如果有的话,表明信道处于忙状态,就继续监听,直到信道空闲为止。
- 若没有监听到任何信号,就传输数据
- 传输的时候继续监听,如发现冲突则执行退避算法,随机等待一段时间后,重新执行步骤1(当冲突发生时,涉及冲突的计算机会发送会返回到监听信道状态。注意:每台计算机一次只允许发送一个包,一个拥塞序列,以警告所有的节点)
- 若未发现冲突则发送成功,所有计算机在试图再一次发送数据之前,必须在最近一次发送后等待9.6微秒(以10Mbps运行)。
后退N帧(GBN)协议
在后退N帧协议中,当接收方检测到某个帧出错后,则简单地丢弃该帧及其后所有的后续帧,发送方超时后需重传该数据帧及其后续的所有帧。这里应注意,连续ARQ协议中,接收方一般采用累积确认的方式,即接收方对按序到达的最后一个分组发送确认。
本题中收到3的确认帧就表示编号为0、1、2、3的帧已接收,而此时发送方未收到1号帧的确认只能代表确认帧在返回的过程中丢失了,而不代表1号帧未到达接收方。因此需要重传的帧为编号是4、5、6、7的帧。
网络层
网络层协议
网络层协议:ARP(RARP)、IP、ICMP、IGMP等。ARP协议为IP协议提供服务,IP协议为ICMP协议提供服务,ICMP协议为IGMP协议提供服务。
- Ip协议是网络层协议,提供ip路由功能
- ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。
- ARP协议是地址解析协议,用于将ip地址转换为对应的mac地址
- RARP是逆地址解析协议,跟ARP相反,用于将Mac地址转换为ip地址
IP地址划分
可用的主机地址 = 可用网络号 * 每个网络下的可用主机号。A类地址网络号最短,可用地址最多。
A类地址的第一组数字为1~126。注意,数字127保留给内部回送函数,而数字0则表示该地址是本地宿主机,不能传送。0和127确实是属于A类地址, 但实际可用的有效地址范围是:1.0.0.0 ~ 126.255.255.254。 B类地址的第一组数字为128~191。 C类地址的第一组数字为192~223(根据前缀码计算)。
注意,主机号全为0的地址代表着该网段,主机号全为1的地址代表着该网段的广播地址,这两个地址不用,所以计算的时候需要-2。有效的主机IP地址=网络地址+1——广播地址-1。
192.168.0.1/22 其中 /22是代表二进制的子网掩码有多少个1, 子网掩码用来区分ip地址的网络号和主机号,二进制的ip地址与二进制的子网掩码与运算,与子网掩码全为1的这部分得出的是网络号,全为0的部分则是主机号,有10位主机号,那该网段中有2的10次方=1024个地址可用,并且主机号全为0的地址代表着该网段,主机号全为1的地址代表着该网段的广播地址,这两个地址不可以用,所以该网段的可用地址为1024-2 = 1022。
广播地址
网络地址 = IP地址&子网掩码(把主机号变为0,保留网络号)
广播地址 = 网络地址 | (~子网掩码)(广播地址等于网络地址的主机位的二进制为1,用这个方法计算更快)
私有(保留)地址
在现在的网络中,IP地址分为公网IP地址和私有IP地址。公网IP是在Internet使用的IP地址,而私有IP地址则是在局域网中使用的IP地址。私有IP地址是一段保留的IP地址。只使用在局域网中,无法在Internet上使用。
A类私有地址:在A类地址中,10.0.0.0到10.255.255.255是私有地址。
B类私有地址:在B类地址中,172.16.0.0到172.31.255.255是私有地址。
C类私有地址:在C类地址中,192.168.0.0到192.168.255.255是私有地址。
不同局域网下的私有ip地址可能是相同的(什么情况下IP地址会相同?)。
IP地址与域名
IP地址与域名不一定是一一对应的。一个IP可以对应多个域名(虚拟主机),也可以一个域名对应多个IP(DNS方式的负载均衡)。
路由项
- 静态路由是指由用户或网络管理员手工配置的路由信息。当网络的拓扑结构或链路的状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息。
- 直接路由是指路由器各网络接口所直连的网络之间进行通信所使用的路由。直接路由是在配置完路由器网络接口的IP地址后自动生成的,因此,如果没有对这些接口进行特殊的限制,这些接口所直连的网络之间就可以直接通信。
- 缺省路由是一种特殊的路由,可以通过静态路由配置,某些动态路由协议也可以生成缺省路由,如OSPF和IS-IS。在小型互连网中,使用缺省路由可以减轻路由器对路由表的维护工作量,从而降低内存和CPU的使用率。
- 动态路由是指路由器能够自动地建立自己的路由表,并且能够根据实际情况的变化适时地进行调整。
子网划分
子网掩码是什么?有什么作用? - 知乎 (zhihu.com)
子网划分实际是在将原A类,B类,C类网络中的主机号的部分作为子网号,将原来的ABC类网络细化的过程,将原来的一个网络分为多个网络,但是在对外表现上,还是表现为原来的一个网络。
此时,IP地址组成为:网络号+子网号+主机号。在数据进行通信的过程中,首先根据目的IP地址找到目标主机所在的网络(路由器),再根据目的IP地址的子网号找到目标主机所在的子网,最后找到目标主机。
比如,一个B类IP地址为:192.168.0.0。先将该网络划分多个子网,假定子网号占用了8位。由于原B类网络中主机号一共占用了16位,子网络拿走8位之后,一个子网中的主机号所占的位数就变成了8位。假定其中一个子网为192.168.5.0。在数据通信时,目的主机为该子网中的IP地址为192.168.5.8的主机。因此,在数据传输过程中,首先会根据目的IP地址找到该主机所在的网络192.168.0.0(其实是找到该网络上的路由器),再通过IP地址找到目的主机所在的子网192.168.5.0。最后在该子网内找到目的主机。
当数据报到达目的主机所在网络的路由器时,如何将它转发到子网上呢?
为了使目的主机所在网路的路由器能够很方便的找到目的子网,引入“子网掩码”的概念。**子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。子网掩码也是一个32位的整数,它是由一串1和一串0构成,1对应于目的主机所在的网络号和子网号,0对应于目的主机所在的主机号。**对于没有划分子网的网络号,也有子网掩码,此时子网掩码中的1对应于网络号,0对应于主机号。将网络号和子网号统称为网络号后,子网掩码中的1就对应于网络号,0对应于主机号。
将目的主机的IP地址与子网掩码进行按位与操作,结合这个IP地址默认的子网掩码,便可以确定目的主机所在的网络号。
192=128+64,子网掩码为11111111.11111111.11000000.0000000,B类地址默认子网掩码为255.255.0.0,前两位是1,所以借了两个主机位作为子网号。可以划分为4()个子网段,分别为00,01,10,11。130.12.127.231对应01这个子网段,范围为01000000~01111111(64~127),所以C项为正确答案。
划分子网数 = ,其中x表示从主机号中借去当子网号的位数(若全0全1子网地址不分配,则划分子网数为-2)。C类IP地址网络号部分占3字节(24位),主机号部分占1字节(8位)。由题知x = 3,即要从主机号借3位。所以,子网掩码为11111111.11111111.11111111.11100000,十进制表示即为255.255.255.224。
8个子网分别为:
000(255.255.255.0/27)001(255.255.255.32/27)010(255.255.255.64/27)011(255.255.255.96/27)100(255.255.255.128/27)101(255.255.255.160/27)110(255.255.255.192/27)111(255.255.255.224/27)
IP报文头TTL字段
长度8比特, 最大值为255。当IP包进行传送时,先会对该字段赋予某个特定的值,用来控制数据报在网络中存在的时间。目前TTL的值并不代表时间,而是代表经由路由器的个数。数据报每经过一台路由器时,路由器将TTL值减1(只有经过路由器才减1,集线器和交换机不会),一旦TTL=0,系统就丢弃该数据报,并返回错误信息。这样避免了路由出现环路时数据报在路由器之间无休止地循环。
IPV6
IPV6地址有128位二进制数组成。每四个二进制数组成一个十六进制数,有128/4=32个十六进制数每四个十六进制数为一组,中间用冒号隔开。如XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX如果XXXX四位是全零,可以省略写成::形式。
IPV6首部40字节,IPv4头部的长度不是固定的,头部的IHL域指名了该头部有多长。其度量单位是4B,最小值为5,对应报文首部的长度为20字节,最大值为15,对应报文首部的长度为60字节,相应的可选部分的长度最多为40字节。所以ipv4首部是20-60字节,固定部分20字节,可变部分40字节。
虚电路
请问tcp与虚电路是什么关系? - 知乎 (zhihu.com)
在网络层中,当两个计算机进行通信时,对于面向连接的网络服务,应当先建立连接(在分组交换中是建立一条虚电路VC),以保证双方通信所需的一切网络资源。然后双方就沿着已经建立的虚电路发送分组(确定路由) 。这样的分组的首部不需要填写完整的目的主机地址,而只需要填写这条虚电路的编号,这样做可以减少分组的开销 。
报文分组交换细分为数据报分组交换和虚电路分组交换,其中数据报分组是不会建立虚电路的。
虚电路表示这只是一条逻辑上的连接 ,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接 。包括建立连接,传输数据,拆除连接三个阶段。建立连接之后就类似于专线,所以不存在路由选择。
(未完待更)你的点赞、喜欢和收藏是我最大的更新动力,喜欢的话给个一键三连吧!
打个小广告,秋招收货了不少的国企offer,涉及银行,运营商,证券,保险等多个领域,总结了一些经验和笔记,在公众号【夏天学长的校招笔记】中分享给大家,欢迎即将毕业的同学关注哦,超多资料免费分享!
#笔试##国企##24届暑假实习##24届找工作求助阵地##24届实习#