网络通信 面试题

《网络通信 面试题 转行为人民服务 供有需要的人学习 》

1、简述一下OSI七层模型(需要背)

  七层OSI模型由下至上分别为,物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。(记忆:物数网传会表示),

  • 物理层:是通信的硬件,物理层进行比特流与电子信号之间的切换,将数字信号转换成0、1的电压高低信号。物理层上的中继器可将电缆中减弱的电信号或者光信号进行还原。
  • 数据链路层:将0、1序列划分成具有意义的数据帧,数据链路层中的网桥能识别数据链路层中的数据帧,并且能将这些数据帧重新生成信号作为一个新的数据帧转发给另一个网段。像常见的交换机每个端口都能提供类似网桥的功能。数据链路层采用MAC地址来识别数据链路中互联不同的计算机结点,MAC地址不一定是唯一,单只要不同属一个数据链路即可。数据链路层最为广泛的应用是以太网,以太网采用终端与交换机直接独占电缆反射进行通信,最高速度可达百G。
  • 网络层:**负责寻址与路由选择(**目标地址是由多个网络通过路由器连接而形成的地址),数据链路层则只负责发送一个分段内的数据,一旦跨越多种数据链路,就需要借助网络层寻址和路由选择功能,因此数据链路层才能基于目标地址将数据发送给接收端。网络层使用IP、ARP协议
  • 传输层:在通信的双方节点进行可靠的传输,传输层的协议主要是TCP、UDP
  • 会话层:两台电脑不同进程之间建立、使用、结束会话连接
  • 表示层:将应用层的固有数据格式转换为网络标准数据格式,将应用处理的信息转换为适合网络传输的格式,或者将传输获得的数据转换为应用能处理的格式
  • 应用层:应用层有HTTP、FTP、SSH、TELNET等协议

2、简述一下TCP/IP 五层模型(有时候也说四层)及及各层协议(字节跳动)

  TCP/IP五层模型分为:五层名字比较难记,和7层模型中有两层是相同的,应用层和传输层。

  1. 应用层:TCP/IP五层模型的应用层集合了OSI参考模型的会话层、表示层、应用层。应用层中有HTTP、FTP、TELNET、SSH、MIME等协议,当然不同的协议主要的应用也不同。HTTP是浏览器和服务器之间通信所用的协议,MIME协议应用在电子邮件上,FTP用于文件传输,TELNET和SSH是远程登录协议。

  2. 传输层:传输层的主要的协议有TCP、UDP
    TCP特点:1、有连接,TCP的连接可分为长连接和短连接,长连接:指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,长连接多用于操作频繁(读写),点对点的通讯,而且连接数不能太多情况。短连接:指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接。 2:可靠,可靠体现在创建连接与断开的时候,三次握手、四次挥手、校验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制。3、TCP不足:存在拆包、粘包问题,至少7次的发包、收包操作导致网络流量的浪费,因此TCP不利于应用在音频数据量既定的场合使用。
    UDP特点:1、无连接,不会关注对端是否真的接收到传输的数据,不会检查是否是否丢包,即使丢包也不负责重发,常用在分组数据较少、广播通信、以及视频通信等实时性要求高的多媒体领域 2:可靠性低于TCP,UDP是基于报文发送的,从UDP的帧结构可以看出,在UDP首部包含了UDP数据报文的长度,对报文既不拆分,也不合并,而是保留这些报文的边界,因此在应用层能很好的将不同的数据报文区分开,从而避免粘包和拆包的问题。但是UDP不提供复杂的控制机制,无法进行流量控制等避免网络拥塞的行为。

  3. 互联网层:相当于网络层,互联网层使用IP、ARP、ICMP协议,IP协议基于IP地址转发分包数据,IP是分组交换的一种协议,但是不具有重发机制,即使分组数据包未达到对端也不会重发。IP数据包如果发送途中无法达到对端目标地址,ICMP就会给发送端发送一个异常通知。ARP可以从分组数据包的IP地址中解析出mac地址。

  4. 网卡层:网卡层相当于七层中的数据链路层,可以看做是网卡的驱动程序。

  5. 硬件层:即物理层,

第一小问、ICMP协议的层次和作用

  由于互联网之间通讯会涉及很多网关和主机,为了能够报告数据错误,所以产生了ICMP协议。也就是说ICMP协议就是为了更高效的转发IP数据报和提高交付成功的机会。ICMP协议是IP层的一个子协议,是为网关和目标主机而提供的一种差错控制机制,使它们在遇到差错时能把错误报告给报文源发方
在这里插入图片描述
  ICMP一般认为是在三层的。主要传递一些差错报文和其他需要注意的信息。

第二小问、ICMP报文的分类?

  ICMP分为两类,一类是ICMP查询报文,另一类是ICMP差错报文。
在这里插入图片描述

第三小问、ICMP的主机不可达报文是在什么情况下发出的?

  三层设备(路由器)给该主机寻路时,没有找到相应路径,向源IP发回ICMP主机不可达

第四小问、什么情况不会导致产生ICMP差错报文?

  • ICMP差错报文。
  • 目的地址是广播地址或者多播地址的IP数据报。
  • 链路层广播的数据报
  • 不是IP分片的第一片
  • 源地址不是单个主机的数据包。

第五小问、ICMP重定向差错报文是怎么来的,在何种场合出现?

在这里插入图片描述

第六小问、重定向报文有什么规则?

  重定向报文只能有路由器生成。重定向报文是为主机而不是为路由器使用的。

第七小问、Ping命令的具体过程是怎么样的?

  假定主机A的IP地址是192.168.1.1,主机B的IP地址是192.168.1.2,都在同一子网内,则当你在主机A上运行“Ping 192.168.1.2”后,都发生了些什么呢?   
  首先,Ping命令会构建一个固定格式的ICMP请求数据包,然后由ICMP协议将这个数据包连同地址“192.168.1.2”一起交给IP层协议(和ICMP一样,实际上是一组后台运行的进程),IP层协议将以地址“192.168.1.2”作为目的地址,本机IP地址作为源地址,加上一些其他的控制信息,构建一个IP数据包,并在一个映射表中查找出IP地址192.168.1.2所对应的物理地址(也叫MAC地址,熟悉网卡配置的朋友不会陌生,这是数据链路层协议构建数据链路层的传输单元——帧所必需的),一并交给数据链路层。后者构建一个数据帧,目的地址是IP层传过来的物理地址,源地址则是本机的物理地址,还要附加上一些控制信息,依据以太网的介质访问规则,将它们传送出去。   
  主机B收到这个数据帧后,先检查它的目的地址,并和本机的物理地址对比,如符合,则接收;否则丢弃。接收后检查该数据帧,将IP数据包从帧中提取出来,交给本机的IP层协议。同样,IP层检查后,将有用的信息提取后交给ICMP协议,后者处理后,马上构建一个ICMP应答包,发送给主机A,其过程和主机A发送ICMP请求包到主机B一模一样。     
  Ping命令执行后显示出被测试系统主机名和相应IP地址、返回给当前主机的ICMP报文顺序号、ttl生存时间和往返时间rtt(单位是毫秒,即千分之一秒)。

3、简要介绍一下IP协议

  IP协议分为IP寻址、路由控制、IP分包与组包三大模块。IP是OSI参考模型中的第三层网络层中应用的重要的协议,网络层要辅助数据链路层去寻址和路由选择,而网络层不同连接到网络的主机的地址信息就是IP。路由控制实现将分组数据发送到最终目标地址,发送过程的采用多路跳来实现,所有的主机都维护一张路由控制表,路由控制表记录了IP数据下一步该发给哪个路由器,当路由器或者主机转发IP数据包时只指定下一个路由器或者主机,转发过程可以将IP数据从一个数据链路段切换到下一个链路段区间。一段数据链路可以实现一定区间内的通信,这一段区间通信相当于一跳。发送端与目标端的MAC地址是在不同的数据链路上,要实现两者的IP数据包传输,就要不断的多路跳切换数据链路端。IP分包与重组时会遇到一个问题,不同数据链路的MTU(最大传输单元)是不同的,在分片中若有一个分片丢失,那么整个IP数据就作废,所以是希望路由器对IP数据包不进行分片操作,因此出现了一种“路径MTU发现”技术,可以知道所有数据链路中最小的MTU,按照不需要分片的最大MTU传输可以提升数据传输的正确率

第一小问、数据链路层MTU的最大值和最小值是多少?

  数据链路层的最小MTU为64字节。对于I EEE802.3,两个站点的最远距离不超过2500m,由4个中继器连接而成,其冲突窗口为51.2us(2倍电缆传播延迟加上4个中继器的双向延迟)。对于l0Mbps的IEEE802.3来说,这个时间等于发送64字节,即512位的时间,64字节就是由此而来的。如果一个站点已经传输了512bit,就认为它已经占用了这个信道。
  数据链路层的最大MTU为1500字节,即数据字段的最大长度

第二小问、如何理解IP的不可靠和无连接?

  不可靠:指的是不能保证数据报能成功地到达目的地。发生错误时候,丢弃该数据包,发送ICMP消息给信源端。可靠性由上层提供。
  无连接:IP不维护关于后续数据报的状态信息。体现在,IP数据可以不按顺序发送和接收。A发送连续的数据报,到达B不一定是连续的来回路由选择可能不一样,路线也不一样,到达先后顺序也不一样。

第三小问、IP报文的格式和各个字段的含义

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值