计算机网络面试题(更新中...)
1.域名访问流程有哪些?
(1)整体流程
- 浏览器向DNS服务器请求解析www.baidu.com,得到解析的IP地址
- 浏览器与服务器建立TCP连接(默认Port=80)
- 浏览器发出HTTP请求,请求百度首页
- 服务器通过HTTP请求把首页文件发送给浏览器
- TCP连接释放
- 浏览器解析首页文件,展示给用户
(2)具体过程
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。- 2.1 域名(DNS)解析
域名解析作用:域名解析目的是从URL网址得到IP地址。
查找过程如下:
- OS先检查自己本地的hosts文件是否与URL网址有映射关系,如果有,直接调用映射出IP地址
- hosts中如果没有这个域名映射,查找本地DNS解析缓存,是否存在该网址映射关系,如果有得到IP地址,否则执行下一步
- 寻找TCP/IP参数中设置的首选DNS服务器(本地DNS服务器)中是否存在该域名,如果存在返回IP,否则下一步
- 如果本地DNS服务器和缓存解析都失败,则根据本地DNS服务器的设置(是否转发)进行查询。
- 未设置转发:本地DNS服务器把请求发送给13台根域名服务器,由根域名服务器进行层级解析。例如:先返回.com服务器IP1地址给本地DNS,本地DNS根据IP1联系.com域名服务器解析,如此一级级找下去,直到找到www.baidu.com
- 设置转发:此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环
- 找到后会把该域名解析保存到本地缓存中,以备下次使用
- 2.2 TCP建立连接
- IP+端口号
- 2.3 发送HTTP请求
HTTP请求信息由3部分组成:
- 请求方法URL协议/版本
- 请求头
- 请求正文
- 2.4 服务器把文件发送给浏览器
服务器在本地查找到html文件后传到浏览器
- 2.5 浏览器解析文件
2.IP网址分类,子网掩码和默认网关
(1)IP地址分类:分为A、B、C、D、E 5类,常用的是B和C类
- A类网址:网络位7位+主机位24位。IP地址范围:1.0.0.0~126.255.255.255。7位网络位是1字节,表示0-127。其中127网络位表示本地测试地址,不用于通信127.0.0.0--127.255.255.255
- B类网址:网络位14位,主机位16位,IP地址范围:128.0.0--191.255.255.255。
- C类网址:网络位21位,主机位8位,IP地址范围:192.0.0.0--223.255.255.255。
- D类网址:224.0.0--239.255.255.255
- E类网址:240.0.0--255.255.255.255
分析为如何划分的IP地址:
A类网址:0开头,余下7位网络位和24位主机位,因此范围是1.0.0.0-127.0.0.0。28-1=127,127地址段用于测试,因此最后IP地址范围是:1.0.0.0~126.255.255.255。主机号24可表示1600多万个主机,意味着每个网络号下都可以有这么多主机号。
B类网址:1 0开头,余下14为网络位和16位主机位,因此范围是1 0 0 0,0 0 0 0 = 27=128,因此开头位128,IP地址范围:128.0.0--191.255.255.255。网络号有16382个,每个网络号下的主机号16位可表示6万多个主机。
C类网址:1 0 0 开头,余下21位网络位和8位主机位,因此开头是1 1 0 0, 0 0 0 0 = 192,因此第一个字节为192,IP地址范围:192.0.0.0--223.255.255.255。网络号有209万多个,每个网络可容纳254个主机。
D类网址:1 1 1 0开头,余下28位网络位,因此开头是1 1 1 0, 0 0 0 0 = 27+26+25=224,因此第一个字节为224,IP地址范围:224.0.0--239.255.255.255。用于多点广播。
E类网址:1 1 1 1 0开头,余下27位网络位,开头1 1 1 1, 0 0 0 0 = 240,因此第一个字节位240,IP地址范围:240.0.0--255.255.255.255。保留使用
(2)子网掩码:用来确定主机号、网络号
- 子网掩码作用就是把某个IP地址划分为网络地址和主机地址两个部分,必须与IP地址一起出现。左边是网络位(用1表示),右边是主机位(用0表示)。
例如IP地址为“192.168.1.1”和子网掩码为“255.255.255.0”,表示前24位是网络位,最后8位是主机位。因此,只有通过子网掩码才能知道一台主机所在子网与其他子网关系。
- 常用的两种子网掩码是“255.255.0.0”和“255.255.255.0”,分别对应B类和C类网址。B类网络中,主机号范围是2552-2,这是因为主机号不能全为0或1。C类网络中,可提供256个主机地址,除去2个全为0或1的,余下254个。
- 因此,子网掩码大小需要根据主机个数设定,一般设置为上面两种,例如:254台以内设置对应C类网络的子网掩码
(3)默认网关:网关用来实现不同网络之间的通信
- 在没有路由情况下,两个网络之间是不能通过TCP/IP通信的,此时数据包的发送就需要通过网关转送了。网关需要IP地址,用来转发数据。
- 默认网关意思就是:如果主机找不到可用的网关,就把数据包发送给指定的网关,由这个网关处理数据包。
3.交换机、路由器、网关、网桥、集线器(HUB)
(1)集线器:
- 集线器的作用就是对信号进行再生放大,从而扩大了网络的传输距离,因此工作在物理层
- 使用集线器的网络叫“共享式”网络,一台主机发送的消息,所有主机都可收到,如果不是自己所要的消息会丢弃掉
(2)交换机:
- 交换机有很多端口,每个端口可连接一台计算机,转发数据帧(以太网帧)根据MAC地址和端口号识别
- 工作在数据链路层
(3)路由器:可以跨越不同的物理网络类型
路由器主要功能是:路由和转送。工作在OSI第三层:网络层
- 路由:决定数据包从源端到目的端所经过的路径
- 转送:将路由器输入端的数据(IP数据报)移送到适当的路由器输出端
路由在转发过程中需要用到ARP协议和RARP协议:这是因为,从IP地址到MAC地址转换过程中就用到了。IP数据报底层是以太网帧,因此需要解析解析
(4)网关:用来连接两个网络的设备(网络层)
- 网关又称为:网间连接器。其功能与路由器十分相似,都起了连接不同网络的作用。
- 举例:A网络和B网络通信,由于A和B不在同一个网络内,因此不能直接通信,需要借助中间“代理”网关/路由器来转发数据包才能到达对应的网段中
(4)网桥:工作在数据链路层。硬件网络协议翻译器,例如一个win,一个macos,两个通信需要翻译为对方能懂的语言。
4.ARP地址解析协议和RARP地址解析协议
(1)ARP地址解析协议
- 作用:根据IP地址解析出MAC地址
- 工作原理(步骤)
- 每个主机都在自己的ARP缓冲区中建立一个ARP列表,表示IP和MAC地址之间的映射关系。主机A向主机B发送数据时,先检查自己的ARP列表,如果没有有主机B的IP地址对应的MAC地址,则下一步
- 主机A在本机缓存中没有找到主机B的MAC地址,会根据主机B的IP地址询问MAC地址。携带着自己的IP地址和MAC地址将ARP请求广播到网络上,其他主机收到该请求检查是否匹配,如果不匹配则求其ARP请求。
- 主机B确定ARP请求的IP地址与自己IP地址匹配后,则把主机A的IP地址和MAC地址添加到自己的ARP缓存中
- 主机B把包含其MAC地址的ARP回复消息直接发送回主机A
- 主机A收到主机B的IP地址和MAC地址后,添加到A的ARP缓存中。此时可通信了
(2)RARP协议
- 作用:将某个主机的物理地址转换为IP地址。
- 工作原理:
- 主机发送一个本地的RARP广播,在此广播包中,包含自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址。
- 本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址。
- 如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用。
- 如果不存在,RARP服务器对此不做任何的响应。
- 源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应信息,表示初始化失败。
5. OSI七层网络模型
6.TCP和UDP
(1)TCP详解
(2)TCP和UDP对比
- TCP 提供面向连接的、可靠的数据流传输,而 UDP 提供的是非面向连接的、不可靠的数据流传输
- TCP传输慢,效率低,UDP传输快,效率高
- TCP点对点,UDP可一对多
- TCP头部占20字节,UDP头部占8字节
(3)两者的应用场景
- TCP:HTTP,HTTPS,FTP文件传输,POP,SMTP等邮件传输协议
- UDP:QQ语音,QQ视频,DNS协议等
