面试之计算机网络

104 阅读4分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第13天,点击查看活动详情

浏览器

OSI

OSI的中文全称是开发系统互联参考模型OSI/RM(Open Systems Interconnection Reference Model)

只要遵循OSI标准,一个系统就可以和位于世界上任何地方、也遵循同一标准的其他系统进行通信

OSI有七层,从低到高分别是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

OSI参考模型的最大优点:将服务、接口和协议明确分开来。

服务说明某一层提供什么功能,接口说明上一层如何使用下一层的服务,协议涉及如何实现该层的服务

虽然OSI参考模型是计算机网路中的标准和最开始的标准,但是得到广泛应用的不是OSI参考模型而是TCP/IP参考模型

TCP/IP

TCP/IP参考模型有四个功能层:

  1. 网络接口层
  2. 网络层
  3. 传输层
  4. 应用层

TCP/IP模型对应的OSI七层模型的表格如下:

TCP/IP模型OSI七层模型
应用层会话层、表示层、应用层
传输层传输层
网络层网络层
网络接口层物理层、数据链路层

应用层

应用层包含的协议(端口):

HTTP:80/8080/8081 超文本传输协议

SMTP:25 简单消息传输协议,如发送电子邮件服务

DNS:域名系统

FTP:21 文件传输协议,文件的上传下载

Talnet:23 虚拟终端协议/远程登录协议

DHCP:动态主机配置协议

传输层

传输层提供两台主机间的透明传输,通常用于端到端连接流量控制错误恢复。这一层的重要协议是TCPUDP

TCP和UDP的区别

  1. 连接:TCP是一种面向连接的协议,要求在发送方和接收方开始通信之前建立一个良好的连接。UDP 是一种无连接协议

  2. 数据的传输顺序: 由于TCP事先建立了一个良好的连接,接收方以有序的方式接收数据包。而在UDP 中,发送方与接收方之间并没有建立良好的连接,接收方将以无序的方式接收数据包。

  3. 可靠性: 每当通过TCP接收到数据包时,接收方都会向发送方发送一条确认。万一失败,它会请求重新传输。而使用UDP,在这种情况下不会发送确认,它依赖于高层协议来确保可靠性。

  4. 开销: TCP开销比UDP大,这是由于TCP进行的是一个可靠传输,在TCP的头部字段设置了序号、确认序号、检验和等,而UDP的头部只有八个字节。

  5. 广播: TCP只支持单播,当你使用它时,发送方和接收方必须先建立一条连接,在传输结束后又必须终止这条连接。UDP支持单播、多播、广播

  6. 传输方法:TCP中,数据以字节流的形式读取,消息被发送到段边界。而在UDP中,已定义限制的单个UDP数据包被发送,在到达接收方时验证其完整性。

面试简答:请你讲述一下TCP和UDP的区别

TCP和UDP都是传输层的协议,TCP是面向连接(需要进行3次握手)的,而UDP是无连接的;TCP面向字节流的,而UDP是面向用户数据报的;TCP提供可靠的交付,UDP提供的是最大努力交付;TCP数据的传输是有序的,而UDP数据的传输是无序的;TCP只支持单播,而UDP支持单播、多播和广播。

穿插一个TCP与UDP在现实中的应用:

  1. TCP被用于 HTTPS(安全超文本传输协议)、HTTP(超文本传输协议)、SMTP(简单邮件传输协议)、FTP(文件传输协议)等等。
  2. UDP用于视频流、视频电话、IP 语音服务(互联网呼叫)、DNS(域名系统)等。UDP实时性更强

网络层

网络层的主要功能是转发网络数据包,最依赖、最重要的协议是IP(无连接不可靠)

网络接口层

网络接口层的主要功能是进行IP地址和网络接口物理地址的转换

每天努力一点,会有大不同。