华为OD技术面真题 - 计算机网络 - 1

文章目录

计算机网络体系

计算机网络体系结构标准主要分为三种:

  • OSI体系结构:概念清楚,理论也比较完整,但是它既复杂又不实用。整体分为七层
  • TCP/IP体系结构: TCP/IP是一个四层体系结构。
  • 五层体系结构:为了方便学习,折中OSI体系结构和TCP/IP体系结构,综合二者的优点,这样既简洁,又能将概念讲清楚。

OSI是一个理论上的网络通信模型,而TCP/IP则是实际运行的网络协议。五层结构就是为了介绍网络原理而折中的网络通信模型

OSI七层模型各层的功能:

  • 物理层:网络通信的最底层,主要关注物理媒介和传输数据的硬件特性。数据传输的物理介质,如电缆、光纤、无线电波等。- 主要任务包括数据的编码、传输速率、电压水平等。
  • 数据链路层:负责将原始比特流组织成数据帧,并在物理介质上进行可靠的传输。负责物理地址(MAC地址)的识别和帧的错误检测与校正。常见数据链路层协议包括以太网(Ethernet)和Wi-F。
  • 网络层:路由数据包,决定数据包的最佳路径从源到目的地。这一层比较典型协议为IP协议,,负责地址分配和数据包转发。
  • 运输层:提供端到端的数据传输服务,确保数据的可靠性和完整性。常见传输协议有TCP(传输控制层协议)和UDP(用户数据报协议)。
  • 会话层:会话层负责建立、管理和终止会话(会话是指两个设备之间的通信会话。它还可以处理会话中的同步和恢复问题。
  • 表示层:关注数据的格式化和编解码,以确保不同系统间的数据交换。- 它可以处理数据的加密、压缩和数据格式转换。
  • 应用层:为最终用户提供应用程序和网络服务。包括诸如Web浏览器、电子邮件客户端、文件传输协议(FTP)等应用。与用户界面和应用程序通信的所有应用层协议都属于此层。

TCP/IP四层模型各层介绍

  • 网络接口层:这一层将OSI七层模型的数据链路层和物理层合并在一起,负责管理物理硬件和数据链路协议,以便将数据从一个设备传输到下一个。关注物理媒介和传输数据的硬件特性和数据链路相关协议。
  • 网络层: 与OSI模型的网络层相对应,负责路由数据包,确保它们能够从源主机传输到目的主机。
  • 传输层:它负责端到端的数据传输,确保数据的可靠性和完整性。- 在TCP/IP模型中,最著名的协议是TCP和UDP。TCP提供可靠的、面向连接的通信,而UDP提供不可靠但更快速的通信。
  • 应用层:应用层与OSI模型的应用层、会话层、表示层相对应,它包括了应用程序和用户接口。

五层体系结构,结合上面两种结构来理解即可。

计算机网络为什么要分层

分层的好处有以下几点:

  • 降低复杂度:分层的思想本质,把一个难问题,拆成多个"只关心自己"的小问题。每一层只做一件事。
  • 各层之间相互独立:各层之间相互独立,各层之间不需要关心其他层是如何实现的,只需要知道自己如何调用下层提供好的功能就可以了(可以简单理解为接口调用)这个和我们对开发时系统进行分层是一个道理。
  • 提高了整体灵活性:每一层都可以使用最适合的技术来实现,你只需要保证你提供的功能以及暴露的接口的规则没有改变就行了。

应用进程的数据在各层之间传递过程

发送方逐层将数据进行封装,接收端逐层解封装,以下以五层模型发送端视角介绍:

  1. 应用层:
    • 输入:应用进程产生的数据,例如HTTP请求报文。
    • 处理:按照应用层协议进行封装:
    • 输出:应用层数据单元。
  2. 传输层:
    • 输入:应用层数据单元。
    • 处理:加上传输层首部(TCP/UDP).添加的关键内容:源端口、目的端口、序号、校验和。
    • 输出:报文段。
  3. 网络层:
    • 输入:传输层片段。
    • 处理:加上IP首部。添加关键内容:源IP、目的IP。
    • 输出:IP数据报。
  4. 数据链路层:
    • 输入: IP数据报
    • 处理:加上帧头和帧尾。添加关键信息:源MAC、目的MAC、帧校验。
    • 输出:帧。
  5. 物理层:
    • 输入:帧(比特流形式)
    • 处理:编码成电信号或者光信号。
    • 输出:比特流(0/1)形式。

接收方处理顺序和发送端顺序完全相反。

端口、IP地址和MAC地址分别的作用

MAC地址:

  • 解决的问题:在同一条链路上,数据帧该交给哪一个网卡?
  • 特点:
    • 是物理地址
    • 属于数据链路层
    • 理论上全球唯一由厂商控制(但有些厂商的网卡可以自定义修改)。
      IP地址:
  • 解决的问题:网络上这么多主机,数据应该发送至哪台主机?
  • 特点:
    • 属于网络层。
    • 是逻辑地址。
    • 会随网络发生变化,例如电脑切换wifi,ip地址就会发送改变。
      端口号:
  • 解决的问题:一台主机上有多个应用,数据该交给哪一个应用程序处理?
  • 特点
    • 属于传输层。
    • 只在主机内部有意义。

说说不同层经典网络协议

应用层:

  • HTTP/HTTPS:
    • 作用:万维网数据传输
    • 对应端口:80/443
    • 特点:
      • 无状态
      • 基于请求响应交互模式
  • FTP:
    • 作用:文件传输。
    • 端口:21控制 + 20数据
    • 特点:控制 / 数据分离
  • DNS:
    • 作用:域名转换为IP地址。
    • 对应端口:53
  • SSH:
    • 作用:远程登录
    • 端口:22

传输层:

  • TCP:
    • 特点:
      • 面向连接
      • 可靠传输
      • 提供流量控制、拥塞控制
  • UDP:
    • 特点:
      • 无连接
      • 不可靠
      • 开销小

网络层:

  • IP(IPV4和IPV6)
    • 作用:逻辑寻址、分组转发
  • ICMP:
    • 作用:差错报告、网络诊断。常见ping命令和traceroute就是基于ICMP协议实现。
  • ARP协议:
    • 作用:将IP转换为MAC地址。
    • 严格来说ARP属于网络层和数据链路层跨层协议。

数据链路层:

  • Ethernet(以太网)
    • 作用:局域网通信
  • VLAN:
    • 作用:逻辑划分广播域

物理层更多的是一些传输比特规范,而不是具体协议。

相关推荐
一条泥憨鱼15 小时前
【从0开始学习计算机网络】| ARP 协议:地址解析,ARP 欺骗,链路层寻址
网络·后端·学习·计算机网络
为思念酝酿的痛2 天前
数据链路层--帧传输与链路控制
网络·网络协议·计算机网络·数据链路层
程序员z72 天前
【从0开始学计算机网络】| HTTP 协议的进化史
网络协议·计算机网络·http
为思念酝酿的痛2 天前
NAT技术--网络地址转换原理
网络·计算机网络·智能路由器
沫璃染墨4 天前
从零入门计算机网络系列(一):计算机网络初识——从网络发展史到TCP/IP协议》
linux·网络·网络协议·tcp/ip·计算机网络
洋不写bug6 天前
初识网络通信,网络发展背景,TCP/IP五层模型简介
计算机网络·网络编程·协议·ip·端口号·tcp/ip模型·网络发展背景
流浪0017 天前
计算机网络篇3:端口号与 socket:数据到达主机后,如何找到目标进程?
计算机网络·udp·tcp·端口·网络字节序
欣欣之王来了7 天前
5G网络基础:5G的核心特性,eMBB、uRLLC、mMTC的应用场景
网络·学习·计算机网络·安全·教程
道尔柯南7 天前
从 0 到 1 理解计算机网络:从网络基础到 Socket 编程
网络·计算机网络
无限码力9 天前
华为OD面试手撕真题 【合并相邻且相等的元素】多语言题解
华为od·面试·华为od面试真题·华为od面试手撕真题·华为od面试算法真题