网络相关面试题总结(一)

讲一下为什么要分层?

  1. 各层之间是相互独立的 *** 将大问题分割成小问题,易于实现
  2. 灵活性好 ***   各个层发生变化,只要接口不变,就不会影响其他层
  3. 结构上可分开
  4. 易于实现和维护
  5. 能促进标准化工作 *** 分层后可以进行复用, 用户只关心用到的应用层,其他层就可以复用

讲某一层的功能?/《计算机网络第五版》第1,2,3,4章

(1) 数据链路层 :完成两个相邻结点设备之间的可靠传输,数据链路层有一个MAC地址,也成为物理地址,是48位的,其中的协议包括地址解析协议(ARP)[ IP地址à 物理地址] 和逆地址解析协议(RARP)[ 物理地址à IP地址]

(2) 网络层 : 网络层实现了数据包的选路和转发,选路选择好以后将数据从当前结点转发到选择好的结点[ 传输层: 报文  分组:网络层  数据链路层 : 数据帧]  ,网络层的任务就是选择中间节点,以确定两台主机之间的通信路径    [ TTL:包的生存时间 默认为64 ,表示一个包最多在网络中走64跳]  

icmp 因特网控制报文协议,ping 命令底层的实现就是使用了icmp ,测试两个主机之间连接是否正常

CRC (循环冗余校验)

(3) 传输层 : 为两台主机上的应用程序提供端到端的通信,为进程间通讯 TCP(传输控制协议)/UDP(用户数据包协议)  SCTP( 流控制传输协议)

(4) 应用层 : 使用传输层提供的 http / 用户自定义协议(jsoncpp) / ftp

讲一下TCP和UDP协议?

TCP与UDP区别:

1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接;

2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付;

3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的;UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等);4、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信;

5、TCP首部开销20字节;UDP的首部开销小,只有8个字节;

6、TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道,整体来看UDP开销较小。

什么时候选择TCP/UDP

实时性 : UDP

可靠性 : TCP

简单来说,TCP一般用于文件传输(对数据准确性要求高,速度可以相对慢),发送或接收邮件(POP IMAP SMTP 对数据准确性要求高,非紧急应用),远程登录(TELNET SSH 对数据准确性有一定要求,有连接的概念)等等;UDP一般用于即时通信(QQ聊天 对数据准确性和丢包要求比较低,但速度必须快),

在线视频(RTSP 速度一定要快,保证视频连续,但是偶尔花了一个图像帧,人们还是能接受的),网络语音电话(VoIP 语音数据包一般比较小,需要高速发送,

偶尔断音或串音也没有问题)等等。

TCP还可以用于网络数据库,分布式高精度计算系统的数据传输;

UDP可以用于服务系统内部之间的数据传输,因为数据可能比较多,内部系统局域网内的丢包错包率又很低,即便丢包,顶多是操作无效,这种情况下,UDP经常被使用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值