网络技术基础(2)——网络参考模型

简介: 【2月更文挑战第6天】网络基础笔记

OSI 参考模型

应用层----对应用程序提供接口
表示层----进行数据格式的转换,以确保一个系统生成的应用层数据能够被另外一个系统的应用层所识别和理解
会话层----在通信双方之间建立、管理和终止会话
传输层----建立、维护和取消一次端到端的数据传输过程。控制传输节奏的快慢,调整数据的排序等等
网络层----定义逻辑地址;实现数据从源到目的地的转发 --Packet(包)
数据链路层----将分组数据封装成帧;在数据链路上实现数据的点到点、或点到多点方式的直接通信;差错检测 --Frame(帧)
物理层----在媒介上传输比特流;提供机械的和电气的规约 --bit(比特位)

image.png

TCP/IP参考模型

因为OSI协议栈比较复杂,且TCP和IP两大协议在业界被广泛使用,所以TCP/IP参考模型成为了互联网的主流参考模型。

image.png

⭐⭐⭐⭐⭐【重点知识点】:

交换机可以识别mac地址,是二层设备(数据链路层)。交换机主要工作在OSI模型的数据链路层,通过学习和转发MAC地址来实现局域网内部数据包的转发。

路由器可以识别IP地址,是三层设备(网络层)。路由器主要工作在OSI模型的网络层,根据IP地址来进行数据包的转发,实现不同网络之间的通信。

主机上可以运行应用程序,是五层设备(应用层)。主机作为端系统,通过应用层协议与其他主机通信,进行各种网络应用程序的交互。

防火墙通常被认为是一个多层设备,可以同时操作在不同的OSI模型层级上,具体取决于其功能和实现方式。

  • 网络层防火墙(三层): 有些防火墙以路由器为基础,工作在网络层(第三层),通过检查和过滤IP数据包来控制流量。这种防火墙通常被称为“网络层防火墙”或“三层防火墙”。

  • 应用层防火墙(七层): 另一些防火墙则工作在应用层(第七层),能够深入分析应用层协议数据,如HTTP、FTP等,从而实现更复杂的安全策略。这种防火墙通常被称为“应用层防火墙”。

TCP/IP协议

TCP/IP协议栈定义了一系列的标准协议。

image.png

⭐⭐⭐⭐⭐【重点知识点】:

应用层协议

应用层是 OSI 参考模型的最高层,它定义了用户和应用程序之间的接口。在应用层,通信的两个实体使用应用层协议来交换数据。以下是常见的一些应用层协议和它们的作用:

  • HTTP:超文本传输协议,用于在Web浏览器和Web服务器之间传输HTML、CSS、JavaScript等Web页面和文件。

  • FTP:文件传输协议,用于在客户端和服务器之间传输文件。支持上传、下载和目录操作等功能。

  • SMTP:简单邮件传输协议,用于在电子邮件客户端和邮件服务器之间传输邮件。

  • DNS:域名系统,用于将域名转换为IP地址。当您输入一个网址时,Web浏览器会使用DNS协议查找该网址对应的IP地址。

  • SNMP:简单网络管理协议,用于网络设备的监控和管理。SNMP可以查询设备的状态信息,如CPU使用率、内存使用情况等。

  • SSH:安全外壳协议,用于在网络中提供加密的终端连接。SSH可用于安全登录服务器或执行远程命令。

  • Telnet:远程终端协议,用于在网络上远程登录到服务器或网络设备进行管理和命令行操作。

  • DHCP:动态主机配置协议,是一种应用层协议,主要用于在局域网中自动分配 IP 地址和其他网络配置信息给客户端设备。

  • TFTP:是一个简单的文件传输协议,属于应用层协议。与 FTP 不同,TFTP 是一种基于UDP的轻量级文件传输协议,通常用于在局域网内传输小文件,如配置文件、固件等。

传输层协议

  • TCP:提供可靠的、面向连接的数据传输服务,确保数据按顺序到达,并能够进行重传和流量控制。

  • UDP:提供无连接的数据传输服务,不保证数据的可靠性和顺序性,适用于实时性要求高、对数据传输延迟要求较低的应用场景。

网络层协议

  • IP: IP 协议是互联网上最为重要的协议之一,负责将数据分组(称为 IP 数据报)从源主机发送到目标主机。它提供了一种统一的、无连接的数据传输服务,同时还负责进行寻址和路由选择。

  • ICMP: ICMP 主要用于在 IP 网络中进行错误报告、诊断和管理。它可以发送各种类型的控制消息,如错误报告、网络可达性检测等,以便对网络进行监测和故障诊断。

  • IGMP: IGMP 是在 IP 网络中用于组播(Multicast)的协议。它允许主机加入或离开一个多播组,并通知网络中的路由器有关组播组的信息,以便实现组播数据的传输。

数据链路层协议

PPOE:是一种在以太网上运行的点对点协议。它将 PPP 协议封装在以太网帧中,用于在 ISP 和用户之间建立点对点连接,通常用于拨号上网、宽带接入等场景。

PPPoE 协议主要分为两个部分:PPP 部分和以太网部分。PPP 部分负责在连接的两端进行身份验证、链路控制、数据压缩等操作,而以太网部分则负责在物理层传输 PPP 数据包。

  • Ethernet:以太网是一种常见的局域网技术,它定义了数据帧的格式、访问控制规则等,用于在局域网中进行数据传输。

  • PPP:PPP 协议通常用于在两个节点之间建立点对点连接,它定义了在点对点连接上进行数据帧封装、链路控制等功能。

常见协议标准化组织

互联网工程任务组(IETF): IETF 是一个开放的国际社区,负责制定互联网相关的技术标准和协议,如 TCP/IP 协议族、HTTP 协议等。

电气和电子工程师协会(IEEE): IEEE 是一个专业技术组织,致力于推动电气和电子工程领域的发展,其中包括制定网络通信领域的标准,如以太网标准等。

国际标准化组织(ISO): ISO 是一个全球性的标准化组织,致力于制定各种领域的国际标准,包括信息技术、通信、制造业等。

应用层

  • 应用层为应用软件提供接口,使应用程序能够使用网络服务。应用层协议会指定使用相应的传输层协议,以及传输层所使用的端口等。

  • 应用层的PDU被称为Data(数据)

image.png

传输层

  • 传输层协议接收来自应用层协议的数据,封装上相应的传输层头部,帮助其建立“端到端(Port to Port)的连接。

  • 传输层的PDU被称为Segment(段)

image.png

TCP和UDP

image.png

网络层

  • 传输层负责建立主机之间进程与进程之间的连接,而网络层则负责数据从一台主机外一台主机之间的传递。

  • 网络层的PDU被称为Packet(包)。

image.png

网络层协议工作过程

image.png

数据链路层

  • 数据链路层位于网络层和物理层之间,可以向网络层的IP、IPv6等协议提供服务。数据链路PDU被称为Frame(帧)。

  • 以太网(Ethernet)是最常见的数据链路层协议

image.png

以太网和Mac地址

image.png

物理层

  • 数据到达物理层之后,物理层会根据物理介质的不同,将数字信号转换成光信号、电信号或者是电磁波信号。

  • 物理层的PDU被称为比特流(Bitstream)

image.png

常见传输介质

image.png

⭐⭐⭐⭐⭐【重点知识点】:

PDU:是 Protocol Data Unit 的缩写,即协议数据单元。在计算机网络中,PDU 是指在不同层次的 OSI 参考模型或 TCP/IP 模型中,用于在各层之间传递数据和控制信息的数据单位。

在 OSI 参考模型中,每个层次都有其特定的 PDU,如:

  • 物理层(Layer 1): 物理层的 PDU 是比特(Bit)。

  • 数据链路层(Layer 2): 数据链路层的 PDU 是帧(Frame)。

  • 网络层(Layer 3): 网络层的 PDU 是数据包(Packet)或分组(Datagram)。

  • 传输层(Layer 4): 传输层的 PDU 是报文段(Segment)或用户数据报(UDP Datagram)。

  • 会话层、表示层和应用层(Layer 5-7): 这些层次的 PDU 分别是会话数据、表示数据和应用数据。

在 TCP/IP 模型中,PDU 更常用于描述在 TCP/IP 协议栈中各层之间传递的数据单元,如:

  • 数据链路层: PDU 是(Frame)。

  • 网络层: PDU 是数据包(Packet)或 IP 数据报(IP Datagram)。

  • 传输层: PDU 是报文段(Segment)或用户数据报(UDP Datagram)。

发送方数据封装

image.png

中间网络数据传输

image.png

接收方数据解封装

image.png

课后习题

image.png

几个广播域?

image.png

PC1通过ICMP协议PC2时,IP和mac怎么写?

IP始终不变,Mac在广播域内有效。

image.png

相关文章
|
8月前
|
网络协议 算法 Java
基于Reactor模型的高性能网络库之Tcpserver组件-上层调度器
TcpServer 是一个用于管理 TCP 连接的类,包含成员变量如事件循环(EventLoop)、连接池(ConnectionMap)和回调函数等。其主要功能包括监听新连接、设置线程池、启动服务器及处理连接事件。通过 Acceptor 接收新连接,并使用轮询算法将连接分配给子事件循环(subloop)进行读写操作。调用链从 start() 开始,经由线程池启动和 Acceptor 监听,最终由 TcpConnection 管理具体连接的事件处理。
281 2
|
8月前
基于Reactor模型的高性能网络库之Tcpconnection组件
TcpConnection 由 subLoop 管理 connfd,负责处理具体连接。它封装了连接套接字,通过 Channel 监听可读、可写、关闭、错误等
229 1
|
8月前
|
JSON 监控 网络协议
干货分享“对接的 API 总是不稳定,网络分层模型” 看电商 API 故障的本质
本文从 OSI 七层网络模型出发,深入剖析电商 API 不稳定的根本原因,涵盖物理层到应用层的典型故障与解决方案,结合阿里、京东等大厂架构,详解如何构建高稳定性的电商 API 通信体系。
|
5月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
6月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
426 2
|
6月前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
160 8
|
8月前
基于Reactor模型的高性能网络库之Poller(EpollPoller)组件
封装底层 I/O 多路复用机制(如 epoll)的抽象类 Poller,提供统一接口支持多种实现。Poller 是一个抽象基类,定义了 Channel 管理、事件收集等核心功能,并与 EventLoop 绑定。其子类 EPollPoller 实现了基于 epoll 的具体操作,包括事件等待、Channel 更新和删除等。通过工厂方法可创建默认的 Poller 实例,实现多态调用。
400 60
|
8月前
|
安全 调度
基于Reactor模型的高性能网络库之核心调度器:EventLoop组件
它负责:监听事件(如 I/O 可读写、定时器)、分发事件、执行回调、管理事件源 Channel 等。
419 57
|
8月前
基于Reactor模型的高性能网络库之时间篇
是一个用于表示时间戳(精确到微秒)**的简单封装类
272 57
|
7月前
|
算法 安全 网络安全
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
296 0

热门文章

最新文章