OSI 参考模型
应用层----对应用程序提供接口
表示层----进行数据格式的转换,以确保一个系统生成的应用层数据能够被另外一个系统的应用层所识别和理解
会话层----在通信双方之间建立、管理和终止会话
传输层----建立、维护和取消一次端到端的数据传输过程。控制传输节奏的快慢,调整数据的排序等等
网络层----定义逻辑地址;实现数据从源到目的地的转发 --Packet(包)
数据链路层----将分组数据封装成帧;在数据链路上实现数据的点到点、或点到多点方式的直接通信;差错检测 --Frame(帧)
物理层----在媒介上传输比特流;提供机械的和电气的规约 --bit(比特位)
TCP/IP参考模型
因为OSI协议栈比较复杂,且TCP和IP两大协议在业界被广泛使用,所以TCP/IP参考模型成为了互联网的主流参考模型。
⭐⭐⭐⭐⭐【重点知识点】:
交换机可以识别mac地址,是二层设备(数据链路层)。交换机主要工作在OSI模型的数据链路层,通过学习和转发MAC地址来实现局域网内部数据包的转发。
路由器可以识别IP地址,是三层设备(网络层)。路由器主要工作在OSI模型的网络层,根据IP地址来进行数据包的转发,实现不同网络之间的通信。
主机上可以运行应用程序,是五层设备(应用层)。主机作为端系统,通过应用层协议与其他主机通信,进行各种网络应用程序的交互。
防火墙通常被认为是一个多层设备,可以同时操作在不同的OSI模型层级上,具体取决于其功能和实现方式。
网络层防火墙(三层): 有些防火墙以路由器为基础,工作在网络层(第三层),通过检查和过滤IP数据包来控制流量。这种防火墙通常被称为“网络层防火墙”或“三层防火墙”。
应用层防火墙(七层): 另一些防火墙则工作在应用层(第七层),能够深入分析应用层协议数据,如HTTP、FTP等,从而实现更复杂的安全策略。这种防火墙通常被称为“应用层防火墙”。
TCP/IP协议
TCP/IP协议栈定义了一系列的标准协议。
⭐⭐⭐⭐⭐【重点知识点】:
应用层协议
应用层是 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(数据)。
传输层
传输层协议接收来自应用层协议的数据,封装上相应的传输层头部,帮助其建立“端到端(Port to Port)的连接。
传输层的PDU被称为Segment(段)。
TCP和UDP
网络层
传输层负责建立主机之间进程与进程之间的连接,而网络层则负责数据从一台主机外一台主机之间的传递。
网络层的PDU被称为Packet(包)。
网络层协议工作过程
数据链路层
数据链路层位于网络层和物理层之间,可以向网络层的IP、IPv6等协议提供服务。数据链路PDU被称为Frame(帧)。
以太网(Ethernet)是最常见的数据链路层协议。
以太网和Mac地址
物理层
数据到达物理层之后,物理层会根据物理介质的不同,将数字信号转换成光信号、电信号或者是电磁波信号。
物理层的PDU被称为比特流(Bitstream)。
常见传输介质
⭐⭐⭐⭐⭐【重点知识点】:
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)。
发送方数据封装
中间网络数据传输
接收方数据解封装
课后习题
几个广播域?
PC1通过ICMP协议PC2时,IP和mac怎么写?
IP始终不变,Mac在广播域内有效。