嵌入式-计算机网络(二)
更多专栏:
超万人学习和复习的面经专栏:(适用于小白学习和大佬复习):https://www.nowcoder.com/creation/manager/columnDetail/mGYoDz
超万人使用的校招汇总专栏:(助力你更快,更方便投递)https://www.nowcoder.com/creation/manager/columnDetail/0ybKdp
目录:
1.OSI的七层模型
1.OSI的七层模型
2.网络分析工具都有什么?
3.什么是分组交换?优缺点?
4.什么是TCP/IP?
5.说说TCP三次握手和四次挥手过程。
6.为什么需要三次握手?而不是二次握手?为什么需要四次挥手?
内容:
1.OSI的七层模型
OSI 七层模型:
层级 |
名称(中文) |
主要功能 |
7 |
应用层 |
提供网络服务(如 HTTP、FTP、SMTP) |
6 |
表示层 |
数据格式转换、加密/解密、压缩/解压缩 |
5 |
会话层 |
建立、管理和终止会话(如 RPC) |
4 |
传输层 |
端到端通信,提供可靠或不可靠的数据传输(如 TCP/UDP) |
3 |
网络层 |
负责 IP 地址寻址和路由选择(如 IP、ICMP) |
2 |
数据链路层 |
组帧、错误检测、MAC 地址控制(如 以太网、PPP) |
1 |
物理层 |
比特流传输(如 光纤、网线、无线信号) |
1.物理层
- 负责比特流的物理传输(0 和 1),定义传输介质(如双绞线、光纤、无线电波)。
- 确保原始的数据可在各种物理媒体上传输
2.数据链路层
- 负责数据的帧传输,提供错误检测与纠正,处理 MAC 地址。
- 这一层中将bit流封装成frame帧
- 典型协议:以太网、PPP、MAC 地址(物理地址)。
3.网络层
- 负责IP 地址寻址和路径选择(路由),保证数据包正确到达目的地。
- 典型协议:IP(IPv4、IPv6)、ICMP、ARP、RIP、OSPF。
- 网络层还可以实现拥塞控制、网际互连等功能。
- 数据的单位称为数据包(packet)。
4.传输层
- 每一个应用程序都会在网卡注册一个端口号,该层就是端口与端口的通信。提供数据流控制、错误校验、重传机制等。
- 主要协议: TCP(可靠传输,面向连接,三次握手)UDP(无连接传输,实时性强但不可靠)
- 数据的单位称为数据段。
5.会话层
- 管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。
- 确保数据在正确的顺序传输。
- 典型协议:RPC(远程过程调用)、SQL 会话管理。
6.表示层
- 负责数据格式转换(如文本、图片、音视频格式)、加密/解密、压缩/解压缩。
- 典型协议:SSL/TLS(用于加密),JPEG、MPEG、GIF(数据格式转换)。
7.应用层
- 这一层为操作系统或网络应用程序提供访问网络服务的接口。如网页浏览、电子邮件、文件传输等。
- 典型协议: HTTP/HTTPS(网页访问)FTP(文件传输)SMTP/POP3/IMAP(电子邮件)DNS(域名解析)
OSI 和TCP/IP 模型对比
OSI 七层 |
TCP/IP 四层 |
典型协议 |
应用层、表示层、会话层 |
应用层 |
HTTP、FTP、DNS、SMTP |
传输层 |
传输层 |
TCP、UDP |
网络层 |
网络层 |
IP、ICMP、ARP |
数据链路层、物理层 |
网络接口层 |
以太网、Wi-Fi、PPP |
2.网络分析工具都有什么?
Ping
- 它是一个实用程序,可以帮助人们检查特定的IP地址是否可访问。Ping通过向指定地址发送数据包并等待回复来工作。它还可以测量往返时间并报告错误。
- Ping还用于检查本地网络上的计算机是否处于活动状态。
Traceroute
- Traceroute:用于跟踪数据包从源主机到目标主机经过的路径。
- 它通过发送一系列的数据包,每个包在路由器上记录其经过的地址,以示路径和延迟。
nslookup
- nslookup 命令可用于许多操作系统,使用它来执行 DNS 查询并接收域名或 IP 地址,或任何其他特定的 DNS 记录。
- nslookup命令可以在两种模式下允许交互式和非交互式。当需要返回单一查询的结果,可以使用非交互式模式。
WireShark
- WireShark是非常流行的网络封包分析工具,可以捕获、查看和分析网络中的数据包。常用于开发测试过程中各种问题定位。
- 它可以帮助排查网络故障、分析网络流量以及调试网络协议。
3.什么是分组交换?优缺点?
分组交换
分组交换是一种数据通信技术,它将数据拆分成小的数据包(分组),并通过网络中的不同路径传输,最终在目的地重新组装成完整的信息。
分组交换的工作原理
- 发送端将数据分割成多个小的数据包(Packet)。
- 每个数据包包含目的地址、源地址、序号等信息。
- 利用存储转发技术依次把各数据包发送到接收端。
- 接收端根据数据包的序号重新组合完整的数据。
优点
- 高效利用网络资源:适用于突发性数据传输,如网页浏览、视频流等。
- 传输质量高:分组交换机具有差错控制、流量控制等功能,可实现逐段链路的差错控制(差错校验和重发)
- 抗故障能力强:数据包可以选择不同路径传输,即使某条路径故障,仍可绕道传输,提高网络稳定性。
- 可实现分组多路通信:由于每个分组都含有控制信息,所以,分组型终端尽管和分组交换机只有一条用户线相连,但可以同时和多个用户终端进行通信。
- 支持多用户通信(多路复用):多个用户可以共享同一网络链路,避免资源浪费。
- 适用于大规模互联网通信:分组交换技术是TCP/IP 网络(如互联网)的基础,支持全球范围的数据通信。
缺点
- 时延波动较大(延迟不稳定):由于数据包采用动态路由,可能走不同路径,造成不同数据包的到达时间不同(时延抖动),不适用于对时延敏感的应用(如传统电话通信)。
- 数据可能丢失或乱序:由于不同路径的网络拥塞程度不同,某些数据包可能丢失或乱序到达,需要额外的重传和排序机制(如 TCP 协议)。
- 传输效率低:由于传输分组时需要交换机
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
本人双飞本,校招上岸广和通。此专栏覆盖嵌入式常见面试题,有C/C++相关的知识,数据结构和算法也有嵌入式相关的知识,如操作系统、网络协议、硬件知识。本人也是校招过来的,大家底子甚至项目,可能都不错,但是在面试准备中常见八股可能准备不全。此专栏很适合新手学习基础也适合大佬备战复习,比较全面。最终希望各位友友们早日拿到心仪offer。也希望大家点点赞,收藏,送送小花。这是对我的肯定和鼓励。 持续更新