编程必备基础 - 面试笔试考点总结 - 计算机网络 (2)网络层

说明:本笔记出自慕课网 @咚咚呛老师 的课程《编程必会基础 计算机网络+操作系统+计算机组成原理》,有兴趣的小伙伴可以移步学习,在此我只是进行了部分笔记的整理,知识也没有很深入,也希望与大家交流。如果想要深度学习计算机网络,推荐书籍:《计算机网络》。接下来会陆续更新。。。


上一节 计算机网络(1)概述:https://blog.csdn.net/Sabrina_cc/article/details/106171134 

目录

一、概述

二、IP协议详解

1. 虚拟连接网络

2. IP协议

3. IP协议转发流程

三、ARP协议与RARP协议

1. ARP协议

2. RARP协议

3. 通信过程

四、IP地址的子网划分

1. 分类的IP地址

2. 划分子网

3. 子网掩码

4. 无分类编址CIDR

五、网络地址转化NAT技术

六、ICMP协议详解

1. 概述

2. 应用

七、网络层路由

1. 自治系统AS

2. 距离矢量(DV)算法

3. 内部网关协议--RIP协议

4. 链路状态(LS)协议 

 5. 内部网关协议 - OSPF协议

6. 外部网关路由协议BGP协议

面试题


一、概述

网络层进行数据路由(决定数据在网络的路径)

数据链路层无法解决跨节点传输,因此要交给网络层

二、IP协议详解

1. 虚拟连接网络

实际的计算机网络是错综复杂的
物理设备通过使用IP协议,屏蔽了物理网络之间的差异
当网络中的主机使用IP协议连接时,则无需关注网络细节,只关注端到端的连接
 
 
IP协议使得复杂的实际网络变为一个虚拟互连的网络
IP协议使得网络层可以屏蔽底层细节而专注网络层的数据转发
IP协议 解决了在虚拟网络中数据报传输路径的问题

2. IP协议

MAC地址是唯一的,在数据链路层使用,并且是固定不变的

IP地址是可变的(受网络环境的影响)

IP地址长度为32位,常分为4个8位 (大约有42亿个)

IP地址常使用 点分十进制 来表示(0~255.0~255.0~255.0~255)
 
物理层传输的是0,1比特流; 而数据链路层传输的是数据帧
 
版本 :占4位,指的是IP协议的版本,通信双方的版本必须一致,当前主流版本是4,即IPv4,也有IPv6
首部位长度 :占4位,最大数值为15,表示的是IP首部长度,单位是“32位字”(4个字节),也即是IP首部最大长度为60字节
总长度 :占16位,最大数值为65535,表示的是IP数据报总长度(IP首部+IP数据)
TTL :占8位,表明IP数据报文 在网络中的寿命,每经过一个设备,TTL减1,当TTL=0时,网络设备必须丢弃该报文
协议 :占8位,表明IP数据所携 带的具体数据是什么协议的 (如:TCP、UDP等)
首部校验和 :占16位,校验IP首部是否有出错

3. IP协议转发流程

逐跳 (hop-by-hop)

(1)路由表

计算机或者路由器都拥有路由表
 
(2)IP协议转发流程
 
总结:查询路由表逐跳进行。 数据帧 每一跳的MAC地址都在变化 ;  IP数据报 每一跳的IP地址始终不变

三、ARP协议与RARP协议

数据帧转发的四个步骤:

如果不知道目的的IP地址,就需要广播看回应。

1. ARP协议

ARP(Address Resolution Protocol)地址解析协议

把网络层32位的IP地址转化为数据链路层48位的MAC地址

ARP缓存表

ARP缓存表缓存有IP地址和MAC地址的映射关系

ARP缓存表是ARP协议和RARP协议运行的关键;
ARP缓存表中的记录并不是永久有效的,有一定的期限

2. RARP协议

RARP(Reverse Address Resolution Protocol)逆地址解析协议

3. 通信过程

(R)ARP协议是TCP/IP协议栈里面基础的协议
ARP和RARP的操作对程序员是透明的 ;理解(R)ARP协议有助于理解网络分层的细节

四、IP地址的子网划分

IP地址长度为32位,常分成4个8位; IP地址常使用点分十进制来表示(0~255.0~255.0~255.0~255)

然而规划和分配IP地址非常麻烦

1. 分类的IP地址

(1)IP地址划分

(2)特殊的主机号

主机号全0表示当前网络段,不可分配为特定主机   1.0.0.0
主机号为全1表示广播地址,向当前网络段所有主机发消息   1.255.255.255

(3)特殊的网络号

A类地址 网络段全0(00000000) 表示特殊网络
A类地址 网络段后7位全1(01111111:127) 表示回环地址
B类地址 网络段(10000000.00000000:128.0) 是不可使用的
C类地址 网络段(192.0.0) 是不可使用的
    127.0.0.1,通常被称为本地回环地址(Loopback Address),不属于任何 一个有类别地址类。它代表设备的本地虚拟接口,所以默认被看作是永远不会宕掉的接口。在Windows操作系统中也有相似的定义,所以通常在 安装网卡前就可以ping通这个本地回环地址。一般都会用来检查本地网络协议、基本数据接口等是否正常的。

2. 划分子网

3. 子网掩码

为了快速判断网络号提出:子网掩码

子网掩码和IP地址一样,都是32位 ;子网掩码由连续的1和连续的0组成
某一个子网的子网掩码具备网络号位数个连续的1
 

4. 无分类编址CIDR

CIDR中没有A、B、C类网络号、和子网划分的概念

CIDR将 网络前缀 相同的IP地址称为一个 “CIDR地址块”
斜线记法    193.10.10.129/25
优点:比原来子网划分更加灵活

五、网络地址转化NAT技术

由于 IPv4最多只有40+亿个IP地址 以及 早期IP地址的不合理规划导致IP号浪费
内网多个设备使用同一个外网IP请求外网的服务,外部怎么知道具体是哪个设备在请求的?NAT
 
网络地址转换NAT(Network Address Translation) 技术用于多个主机通过一个公有IP访问互联网的私有网络中

技术思路:把内网的地址以及端口号转换为新的地址与端口号来对外通讯,并且在接收到相关数据之后再把外网地址与端口号映射成为内网的地址以及端口号,这个过程就是地址转换

NAT技术用于多个主机通过一个公有IP访问互联网的私有网络中 ;NAT减缓了IP地址的消耗,但是增加了网络通信的复杂度

六、ICMP协议详解

1. 概述

网际控制报文协议(Internet Control Message Protocol)
ICMP协议可以报告错误信息或者异常情况
协议 :占8位,表明IP数据所携带的具体数据是什么协议的 (如:TCP、UDP等)

分为: 差错报告报文、询问报文

2. 应用

(1)ping应用

使用ICMP的询问报文,判断网络是否通畅以及网络质量

Ping回环地址127.0.0.1

(2)Traceroute应用

Traceroute可以探测IP数据报在网络中走过的路径

利用TTL和ICMP终点不可达差错报文

TTL :占8位,表明IP数据报文 在网络中的寿命,每经过一个 设备,TTL减1,当TTL=0时, 网络设备必须丢弃该报文
 

七、网络层路由

网络拓扑结构---> 图
每一顶点表示一个网络、路由器或计算机 ;每一条边表示一条网络路径
路由算法实际上是图论的算法;

1. 自治系统AS

一个自治系统(Autonomous System) 是处于一个管理机构 下的网络设备群 ;
AS内部网络自行管理,AS对外提供一个或者多个出(入)
 
自治系统内部路由的协议称为:内部网关协议(RIP、OSPF)
自治系统外部路由的协议称为:外部网关协议(BGP)

2. 距离矢量(DV)算法

 
每一个节点使用两个向量 𝐷 𝑖 S 𝑖
𝐷 𝑖 描述的是当前节点到别的节点的 距离
S 𝑖 描述的是当前节点到别的节点的 下一节点
每一个节点与相邻的节点交换向量 𝐷 𝑖 S 𝑖 的信息 ;每一个节点根据交换的信息更新自己的节点信息

算法思想:每个节点根据交换的信息更新自己的节点信息(与其他节点的距离)

3. 内部网关协议--RIP协议

RIP(Routing Information Protocol)协议是使用DV算法的一种路由协议
RIP协议把网络的跳数(hop)作为DV算法的距离
RIP协议 每隔30s 交换一次路由信息
RIP协议认为 跳数>15 的路由则为不可达路由

优点:实现简单,开销很小

缺点:限制了网络的规模;故障信息传递慢;更新收敛时间过长

4. 链路状态(LS)协议 

LSRIP
向所有的路由器发送消息
只和相邻路由器交换信息
消息描述该路由器与相邻路由器的 链路状态
包括:距离、时延、带宽

交换的信息只是跳数

只有链路状态发生变化时,才发送更新信息
每隔30s交换一次信息

 5. 内部网关协议 - OSPF协议

OSPF(Open Shortest Path First:开放最短路径优先) ;OSPF协议的核心是 Dijkstra算法,它 是链路状态协议的一种实现
(1)向所有的路由器发送消息  -->   获得网络中的所有信息;“网络的完整拓扑” 也称为“链路状态数据库”; “链路状态数据库”是全网一致的
(2)消息描述该路由器与相邻路由器的 链路状态 -->  OSPF协议更加客观、更加先进
(3)只有链路状态发生变化时,才发送更新信息 -- >  减少了数据的交换,更快收敛

OSPF 有五种消息类型:

(1)问候消息(Hello)用于维护两个路由器的可达性
(2)链路状态数据库描述信息    交换数据库信息
(3)链路状态请求信息    请求数据
(4)链路状态更新信息    频繁
(5)链路状态确认信息    对更新的确认

协议过程

6. 外部网关路由协议BGP协议

 
BGP(Border Gateway Protocol: 边际网关协议) 是运行在AS(自治系统)之间的一种协议
原因: 互联网的规模很大 ;AS内部使用不同的路由协议;AS之间需要考虑除网络特性以外的一些因素(政治、安全…)
 
BGP协议能够找到一条到达目的比较好的路由
 
BGP发言人:BGP并不关心内部网络拓扑 ;AS之间通过BGP发言人交流信息 ;BGP Speaker可以人为配置策略

面试题

1.什么是IP地址,IP地址有什么特征?IP地址和MAC地址有什么区别和联系?IP地址是唯一标记互联网中计算机的标识,IP地址共占用4个字节,使用点分十进制表示。IP地址和MAC地址都是一种标识,IP地址标记网络中的计算机,MAC地址标记网络硬件设备。
2.IP报文由IP头部和IP数据两个部分组成,IP头部一般占用多少个字节?.IP头部一般占用20个字节。
3.IP头部的TTL数据有什么作用?TTL占用一个字节,TTL表示IP数据包在网络中的寿命,当TTL为0时,网络设备将丢弃这个报文。
4.网络层是怎么界定区分一个IP报文的?.IP协议头部有个字段为报文总长度,占用16个比特位,网络层根据这个字段划分报文。
5.路由表是网络层重要的数据结构,路由表有什么作用?路由表存储着目的地址和下一跳地址的映射关系,路由表是网络层可以正常工作的重要数据结构。
6.ARP协议有什么作用?如何清理本机的ARP缓存?ARP协议全称是地址解析协议,即ARP(Address Resolution Protocol)。ARP协议可以将IP地址翻译成物理地址。在Windows系统下使用arp-d命令就可以清楚arp缓存。
7.ARP协议的设计有一定的缺陷,请通过搜索引擎自行搜索了解利用ARP漏洞攻击的方法。
8.IP地址一共4Bytes,32bits,理论上可以表示多少不IP?理论上可以表示2的32次方个IP。
9.为了科学的使用IP地址,早期的科学家把IP地址划分为A、B、C三类IP地址,这些IP地址有什么特点?IP地址可以分为网络号和主机号两个部分,A类地址网络号为8位,主机号为24位;B类地址网络号为16位,主机号为16位;C类地址网络号为24位,主机为8位。
10.A类地址理论上可以有多少个子网,每个子网理论上有多少个主机号?A类地址网络号为8位,其首位为0,故理论上可以表示2的7次方个网络,主机号为24位,每个子网可以有2的24次方个主机。
11.请列举特殊的网络号和特殊的主机号。主机号全0、主机号全1的IP地址为特殊的主机号,不可分配。
12.如何计算一个IP的网络号是什么?使用子网掩码和IP地址进行按位与运算就可得到IP地址对应的网络号。
134.一个网络的掩码是255.255.255.248,请问这个网络可以连接多少台主机?这个网络的主机号只有3位,最多可以表示8个主机,减去全0、全1两个特殊主机号,一共可以连接6台主机。

14.网络地址转换技术(NAT)解决了什么问题?NAT技术解决网络IP地址不够用的问题
15.NAT技术的实现原理。NAT技术在网络设备中通过维护一个映射表,通过映射表可以将外部地址转换为内部地址。
16.ICMP报文和IP报文一样,也是由头部和数据两个部分组成,请简述ICMP报文的头部字段。.ICMP报文的头部字段由三个部分组成,分别是8位类型、8位代码和16位校验和。
17.ICMP报文和IP报文由什么关系?ICMP报文是怎么样传输的。ICMP协议和IP协议虽然同为网络层协议,但是ICMP是不能单独传输的,ICMP报文需要传输时作为IP报文的数据进行传输。
18.网络层路由可以抽象成一个图算法问题,按照网络的大小可以分为内部网关协议和外部网关协议,请列举与网络路由相关的算法。距离矢量算法、Dijkstra(迪杰斯特拉)算法。
19.RIP协议有什么优点和缺点?RIP协议具备着实现简单、开销小等优点,但是RIP协议本身的缺陷限制了网络的规模,并且在RIP协议中坏消息传的慢,更新收敛时间长,这也使得RIP议整体性能较差
20. 请简述OSPF协议的过程,OSPF协议中起到重要的算法是什么算法?Dijkstra(迪杰斯特拉)算法。
21.OSPF协议有什么优点和缺点?OSPF协议解决了RIP协议的问题,对整个网络有一定的“全局观”,但是OSPF协议本身较为复杂,实现开销较大。
22. 网络层有了RIP协议和OSPF协议,为什么还需要BGP协议?BGP协议解决了什么问题?BGP协议全称为边际网关协议,BGP协议是因为计算机网络中人为因素的复杂性而提出的。在实际网络环境中,数据的传输还受到安全等方面的影响。

 




 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白Rachel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值