网络基础3——包含网络部分全部概念(一定要掌握,面试考点)

一、网络层:地址管理与路由选择
1.地址管理:整个网络是由无数的局域网组成的。
(1)网段划分
在这里插入图片描述
【笔试】给一个ip地址判断是哪类ip地址?
A类:0.0.0.0~127.255.255.255
B类:128.0.0.0~191.255.255.255
C类:192.0.0.0~223.255.255.255
D类:224.0.0.0~239.255.255.255
因为这种划分方式比较粗糙,所以又引入了新的方案——CIDP方案,在这个方案中引入了一个字段叫子网掩码。
子网掩码:uint32_t
功能:通过ip地址计算网络号(使用子网掩码和ip地址相与得到的就是网络号);计算子网中主机数量(子网掩码为0的部分就是主机号的个数)。
【笔试】
在这里插入图片描述
【笔试】
在这里插入图片描述
将这个网络分成四个子网,并且均分主机,问:每个子网的其实地址、结束地址、网络号、掩码?
这些子网是,每个子网都有64个主机号,但是并不是每个主机号都能分配主机,因为在整个主机号中,有两个特殊主机号:
主机号全为0——网络号,表示这个子网;
主机号全为1——udp广播地址。
2.死亡与公网址
组件私网(局域网)是不能随意使用网络号的,因为一旦随意使用,有可能造成分配的ip地址与公网地址发生冲突。
RFC1918规定能够组建私网的网络只有以下这几个:
在这里插入图片描述
3.ip协议:协议版本、头部长度、70s字段、数据报长度、标识符、标志位、片偏移、生存周期、协议校验和、源ip、目的IP、数据选项。
【面试】当我们在不同的协议下发送1M数据时的不同处理方法
在这里插入图片描述
tcp在传输层会自己分段,所以tcp走到网络层肯定是不存在网络分片的操作的;但是udp在发送1M大小的数据时,在传输层(最大只允许传输64k)会报错,所以我们在应用层就要对他进行分包。还有一种情况若udp发送63k数据,在应用层和传输层都可以通过,但是在网络层最大传输单元是1500个字节,63k就大了,所以对于63k进行数据分片,63k经过传输层后前面多了udp头部,网络层将以(1500个字节-ip头长度)=1480进行截断,第一片最大长度是1472(减去了udp长度)。
二、链路层
负责相邻设备之间的数据帧传输。
1.arp协议:介于网络层与数据层之间的协议。
功能:获取相邻设备的mac地址。
2.arp网络攻击(局域网):欺骗数据
因为每次发送数据都获取mac地址,效率太低,因此,当获取到相邻设备的mac地址后会在计算中做一个缓存,但是这个缓存的时间并不会太长。因为arp协议通过ip地址获取mac地址,但是现在的ip地址大多都是dhcp自动分配的,如果断网重新发送连接后,可能IP地址就不同了,原来的ip地址被其他人使用,造成mac匹配错误。
【面试】3.MTU:最大输出单元
MTU=IP+udp/tcp+data
假如MTU=1500.使用udp传输协议,数据最大长度是?1500-20-8=1472.
MTU对udp的影响:
因为udp不会在传输层分包,因此有可能在网络层进行数据分片,但如果分片后,在进行传输的时候,又任意一个数据分片出错,将会导致整个udp数据报丢失(udp不会重传)。因此,一般情况下,我们在使用udp传输数据时,会将udp的数据报在应用层分为大小不超过最大传输大小。
MTU对tcp的影响:
tcp在传输层建立连接时就会与对方协商,协商最大数据段大小(MSS=MTU-IP-TCP),取双方协商中最小的一个进行传输层的数据分段。意味着tcp发送的数据在网络层不会出现数据分片的。
四、其他重要协议及技术
1.DNS:域名解析系统
在这里插入图片描述
【面试】浏览器中键入url,按下回车后都发生了哪些事情?
(1)域名解析——获取到ip地址
在这里插入图片描述
(2)组织http请求(说说http协议格式)
http协议格式分为两部分,一个是请求(request),在请求里面又分为首行、头部、空行、正文;其中首行由(请求方法+url+协议版本)组成,头部是键值对,空行是\r\n,正文又分为GET(没有正文)、POST两种(有正文)。另外一个是回复(response),同样在它里面也有首行、头部、空行、正文,其中它的首行是(协议版本+状态码+状态码描述)组成。
(3)http在传输层使用tcp(tcp协议及其特性)
tcp协议通过三次握手四次挥手对数据进行管理,并且通过确认应答机制保证了确定对方收到了数据、超时重传机制是在对方没有接收到数据的处理方法、序列号保证了数据有序传输。因此它的特性就是:有连接、可靠传输、面向字节流。
(4)网络层ip(ip协议、地址管理路由器选择)
ip协议的格式有:格式版本、头部长度、70s字段、数据报长度、标识符、标志位、片偏移、生存周期、协议检验和、源ip、目的ip、选项数据。
此外,地址管理通过ip=网络号+主机号进行IP、地址的管理,这样避免发生相邻两个网络的IP、地址相同的冲突。
(5)链路层(以太头格式、arp协议、mtu)
对于链路层,首先是arp协议,它是介于网络层书数据链路之间的协议,获取相邻设备的mac地址。MTU是最大传输单元,它对于tcp和udp这两个不同的协议造成的影响也是不同的。其中,MTU对udp的影响:
因为udp不会在传输层分包,因此有可能在网络层进行数据分片,但如果分片后,在进行传输的时候,又任意一个数据分片出错,将会导致整个udp数据报丢失(udp不会重传)。因此,一般情况下,我们在使用udp传输数据时,会将udp的数据报在应用层分为大小不超过最大传输大小。
MTU对tcp的影响:
tcp在传输层建立连接时就会与对方协商,协商最大数据段大小(MSS=MTU-IP-TCP),取双方协商中最小的一个进行传输层的数据分段。意味着tcp发送的数据在网络层不会出现数据分片的。
2.ICM协议:探测网络层的协议
(1)功能:探测网络层是否联通
(2)使用icmp协议探测网络的命令ping
【面试】ssh使用22号端口,ftp使用21号端口,那么ping使用多少端口?
答:首先我们知道端口是在传输层的;而ping使用的是icmp协议实现,icmp是网络层协议,所以不涉及端口。
3.NAT:负责网络层的地址替换
【面试】代理服务器与NAT区别:
NAT是网络的服务,进行网络层的地址替换,一般部署在网络的出口位置(路由器);
代理是应用的程序,运行在服务器上,代理服务器可以部署在任何位置。

猜你喜欢

转载自blog.csdn.net/ZhuiZhuDream5/article/details/88371367
今日推荐