一,网络模型和通信协议
网络模型概述
网络模型是为了标准化和简化网络通信的设计框架。最常见的两个网络模型是 OSI 模型 和 TCP/IP 模型。这两个模型通过分层的结构来定义网络通信的各个步骤和任务,每一层负责不同的功能。
1. OSI 模型(Open Systems Interconnection Model)
OSI 模型有 7 层,每一层各自处理不同的网络任务:
- 物理层(Physical Layer):负责硬件传输(如电缆、信号等)。
- 数据链路层(Data Link Layer):负责数据帧的传输和链路管理。
- 网络层(Network Layer):负责路径选择和路由(如 IP)。
- 传输层(Transport Layer):负责数据的可靠传输(如 TCP、UDP)。
- 会话层(Session Layer):负责建立、管理和终止会话。
- 表示层(Presentation Layer):负责数据格式转换、加密、压缩等。
- 应用层(Application Layer):负责应用程序接口的交互(如 HTTP、FTP)。
2. TCP/IP 模型
TCP/IP 模型通常被认为是 OSI 模型的简化版,分为 4 层:
- 网络接口层(Link Layer):负责物理连接与数据帧传输(类似 OSI 的物理层和数据链路层)。
- 互联网层(Internet Layer):负责路径选择与路由(类似 OSI 的网络层,使用 IP 协议)。
- 传输层(Transport Layer):提供端到端的数据传输服务(如 TCP、UDP)。
- 应用层(Application Layer):处理高层协议,直接为应用程序提供服务(如 HTTP、SMTP)。
通信协议概述
通信协议是定义在网络中不同设备或系统之间如何交换数据的规则和约定。每一层的协议都负责特定的通信任务。
1. 物理层协议
- 负责数据的物理传输,如以太网 (Ethernet)。
- 定义硬件特性,如电压、电流、传输速度。
2. 数据链路层协议
- 负责数据帧的传输和物理地址(MAC)的使用。
- 常见协议有 PPP、以太网(Ethernet)、帧中继(Frame Relay)。
3. 网络层协议
- 负责路由和逻辑地址(IP 地址)的分配。
- 常见协议有 IP、ICMP、ARP。
4. 传输层协议
- 负责数据传输的可靠性与流量控制。
- TCP(传输控制协议):面向连接(会建立上次握手和四次挥手),保证可靠传输。
- UDP(用户数据报协议):无连接,速度更快但不保证可靠性。
5. 应用层协议
- 直接为用户提供服务的高层协议。
- 常见协议有 HTTP(网页浏览)、FTP(文件传输)、SMTP(邮件传输)、DNS(域名解析)。
关系
网络模型提供框架,通信协议实现具体功能,二者共同构成了网络通信的基础。
层次对应关系:每一层的网络模型都可以使用不同的通信协议来实现具体的功能。例如:
- 在 OSI 模型的传输层,可以使用 TCP 或 UDP 协议来传输数据。
- 在 OSI 模型的网络层,可以使用 IP 协议进行路由选择。
独立性和交互性:各层独立工作,但相互依赖。每层通过标准化接口与上下层进行交互,并使用相关层的协议来完成任务。例如,传输层(TCP)依赖网络层(IP)来完成数据的传输。
协议封装与解封装:每一层在传输数据时,会封装上一层的数据,并添加相应的协议头部。在接收端,每层将解封装并处理对应的协议信息。例如:
- 应用层数据通过传输层的 TCP 协议进行封装,然后传输层通过 IP 进行传输。
二,osi七层模型
概述
OSI(Open Systems Interconnection)七层模型是国际标准化组织(ISO)提出的网络通信参考模型,旨在规范计算机网络中的通信过程。它将网络通信划分为七个不同的层,每一层都有特定的功能,并与其他层独立工作。通过这一模型,不同厂商、不同类型的设备都可以遵循统一的标准进行通信。
各层作用
物理层(Physical Layer)
- 概述:负责实际的物理连接,定义电气、光学信号的标准。
- 作用:提供硬件传输手段,如电缆、信号、电压等,确保比特流在物理介质上传输。
- 原理:将数据转换为电流、光信号或无线电波等物理信号,在不同设备之间进行传输。
- 单位:比特(Bits)
- 说明:物理层以比特为单位,将数据传输为电信号、光信号或无线电波。
数据链路层(Data Link Layer)
- 概述:负责点对点的连接,管理设备之间的数据帧传输,确保物理传输中的数据完整性。
- 作用:提供链路的建立、维护与释放,并进行错误检测与校正。
- 原理:通过 MAC(介质访问控制)地址识别设备,划分数据帧并控制访问介质的方式,避免冲突。
- 单位:帧(Frame)
- 说明:数据链路层将比特封装成帧进行传输,确保数据在同一网络中的节点间正确传输。
网络层(Network Layer)
- 概述:负责跨网络的通信,决定数据包的路径选择(路由)。
- 作用:为数据在不同网络间的传输提供路径规划和寻址机制。
- 原理:使用 IP 地址来识别源与目标设备,通过路由器在不同网络之间传输数据包,并选择最佳路径。
- 单位:包(Packet)
- 说明:网络层将数据封装成包,负责路由选择和跨网络传输。
传输层(Transport Layer)
- 概述:确保端到端的可靠数据传输和控制传输速率。
- 作用:为不同主机之间的进程提供数据传输服务,确保数据的完整性和正确顺序。
- 原理:使用协议如 TCP(可靠,面向连接)和 UDP(不可靠,面向无连接)进行传输,管理数据分段、传输和重组。
- 单位:【报文】段(Segment,针对 TCP)或数据报(Datagram,针对 UDP)
- 说明:传输层负责将数据切分为段或数据报,并确保可靠或不可靠的数据传输。(有ip+端口构成,ip找到电脑,端口找到服务)
会话层(Session Layer)
- 概述:负责建立、管理和终止不同设备之间的会话。
- 作用:管理应用程序之间的对话,并提供同步机制,确保数据流的有序性。
- 原理:会话层控制会话的开始、维持和关闭,允许双向通信和控制数据的同步传输。
- 单位:数据(Data)
- 说明:会话层直接管理应用层数据的会话,协调数据交换。
表示层(Presentation Layer)
- 概述:负责数据格式的转换和编码/解码。
- 作用:提供数据表示的标准化,使应用层收到的不同格式的数据能够相互理解。
- 原理:执行数据压缩、加密、解密等操作,确保传输的数据能够被正确识别和解释。
- 单位:数据(Data)
- 说明:表示层对数据进行格式转换、加密、解密,确保各应用程序可以理解数据。
应用层(Application Layer)
- 概述:直接为用户提供各种网络应用服务,如文件传输、电子邮件、网页浏览等。
- 作用:提供应用程序接口,用户通过应用层访问网络服务。
- 原理:使用如 HTTP、FTP、SMTP 等协议,将数据与用户界面直接交互,并传递给下一层进行通信。
- 单位:数据(Data)
- 说明:应用层直接为用户提供网络服务,处理用户数据的生成与传输。
通信子网:下四层:物理,数据链路,网络,传输(有时候认为是通信与资源的桥梁,不过大多数教程都认为是通信子网,如果有人单独拿出这一层,也没错)
资源子网:上三层:会话,表示,应用
原理
OSI 模型的原理在于分层通信和协议封装与解封装。每一层都通过标准化协议完成自身任务,并与上下层通过接口交互。在通信过程中,数据会从高层(应用层)开始逐层向下传递,直到物理层传输出去。接收端再从物理层开始逐层解封装,最终将数据交给应用层。
数据传输的封装和解封装过程
-
发送端:
- 应用层生成数据并传递给表示层。
- 表示层将数据进行格式转换、加密等操作,传递给会话层。
- 各层依次处理,数据经过每一层时,会被该层协议封装,添加该层的协议头信息(如 TCP、IP 头部)。
- 到达物理层时,数据以电信号形式通过介质传输到接收端。
-
接收端:
- 物理层接收数据,将电信号转换为比特流传递给数据链路层。
- 每一层依次解封装,移除该层的协议头,并传递给上一层。
- 最终,应用层接收到完整的原始数据并交给用户使用。
三,tcp/ip四层模式
概述
TCP/IP 模型(Transmission Control Protocol/Internet Protocol)是互联网中广泛使用的网络通信模型。它是一个简化的网络通信框架,将 OSI 模型的七层结构简化为四层,用于定义网络中的数据交换过程和标准。TCP/IP 模型是为了解决网络互联问题,尤其在异构网络环境中实现数据的传输。
各层作用
网络接口层(Network Interface Layer)
- 概述:对应 OSI 模型的物理层和数据链路层,负责在物理网络上发送和接收数据。
- 作用:处理底层的网络硬件,负责设备间的数据帧传输,包括介质访问控制(MAC)和物理信号传输。
- 协议:以太网、Wi-Fi 等链路层协议。
- 单位:帧(Frame)
- 说明:在网络接口层,数据被封装成帧,准备在物理网络上进行传输。
互联网层(网络层/网际层)(Internet Layer)
- 概述:对应 OSI 模型的网络层,负责在不同网络之间路由数据包。
- 作用:确保数据能够在多个网络中传输,并通过 IP 地址对设备进行标识。
- 协议:IP(Internet Protocol)、ICMP(Internet Control Message Protocol)、ARP(Address Resolution Protocol)。
- 单位:包(Packet)
- 说明:互联网层将数据封装成包(或称数据包),用于跨越不同的网络进行路由和传输。
传输层(Transport Layer)
- 概述:对应 OSI 模型的传输层,负责提供可靠的端到端数据传输。
- 作用:控制数据的分段、传输和接收,并管理传输的可靠性、流量控制和错误检测。
- 协议:TCP(传输控制协议)、UDP(用户数据报协议)。
- 单位:段(Segment,TCP) 或 数据报(Datagram,UDP)
- 说明:传输层将数据分割成段(如果是 TCP 协议)或数据报(如果是 UDP 协议),并进行可靠性控制(TCP)或快速传输(UDP)。
应用层(Application Layer)
- 概述:对应 OSI 模型的会话层、表示层和应用层,直接为用户和应用程序提供服务。
- 作用:为各种网络应用提供接口,并通过协议如 HTTP、FTP、SMTP 实现不同的功能。
- 协议:HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)等。
- 单位:报文(Message)
- 说明:应用层处理应用程序之间的数据传递,通常以报文的形式表示。这是应用程序发送和接收的完整数据。
原理
TCP/IP 模型的原理基于分层通信,每层都有其特定的功能,互相独立工作。数据从应用层向下传递,逐层封装,最终通过物理介质传输到目标设备。在接收端,数据从底层向上逐层解封装,最终到达应用层处理。
数据传输过程:
- 发送端:应用层生成数据并传递给传输层,传输层将数据分段并传递给互联网层,互联网层负责路由选择并传递给网络接口层,最后由网络接口层通过物理媒介发送。
- 接收端:接收端从网络接口层接收数据,逐层解封装,最终将数据交给应用层处理。
三次握手
三次握手(Three-Way Handshake)是 TCP 连接建立的过程,用于确保客户端和服务器双方都准备好进行数据传输,并且双方能正确识别彼此的能力。其过程如下:
- 第一次握手(客户端 -> 服务器):客户端发送一个带有 SYN 标志的数据包,表示希望建立连接,并告诉服务器客户端的初始序列号(Sequence Number)。
- 第二次握手(服务器 -> 客户端):服务器收到 SYN 请求后,发送一个带有 SYN 和 ACK 标志的数据包,表示同意建立连接,并向客户端确认其初始序列号,同时告诉客户端服务器的初始序列号。
- 第三次握手(客户端 -> 服务器):客户端收到服务器的确认后,发送一个带有 ACK 标志的数据包,确认服务器的序列号,至此,三次握手完成,连接建立。
四次挥手
四次挥手(Four-Way Handshake)是 TCP 连接关闭的过程,用于确保双方都能正常关闭连接,释放资源。其过程如下:
- 第一次挥手(客户端 -> 服务器):客户端发送一个带有 FIN 标志的数据包,表示客户端的数据发送完毕,希望关闭连接。
- 第二次挥手(服务器 -> 客户端):服务器收到 FIN 后,返回一个带有 ACK 标志的数据包,表示已收到客户端的关闭请求,但服务器仍可能有数据要发送。
- 第三次挥手(服务器 -> 客户端):服务器发送完所有数据后,发送一个带有 FIN 标志的数据包,表示服务器也要关闭连接。
- 第四次挥手(客户端 -> 服务器):客户端收到服务器的 FIN 后,返回一个带有 ACK 标志的数据包,确认关闭请求。至此,连接完全关闭。
四,网络设备与作用
网络设备
1. 交换机(Switch)
- 作用:交换机工作在数据链路层(第 2 层)或网络层(第 3 层),用于将多个设备连接到同一个局域网(LAN)中。它根据 MAC 地址或 IP 地址将数据帧转发给目标设备,提升网络的效率和安全性。
- 应用场景:在办公室、学校等内部局域网中连接电脑、服务器和打印机等设备。
2. 路由器(Router)
- 作用:路由器工作在网络层(第 3 层),负责在不同网络之间传输数据。路由器通过 IP 地址选择最佳路径,将数据包从源网络转发到目标网络。
- 应用场景:用于连接不同网络(如家庭网络和互联网),实现网络互联。
3. 集线器(Hub)
- 作用:集线器是早期的网络设备,工作在物理层(第 1 层),用于将多个设备连接在一起。它会将接收到的信号广播给所有端口,而不做任何选择或过滤,可能导致网络拥堵。
- 应用场景:集线器现已逐渐被交换机替代,较少使用。
4. 网桥(Bridge)
- 作用:网桥工作在数据链路层(第 2 层),用于将两个局域网(LAN)连接起来,并根据 MAC 地址来分段流量。它能够减少网络冲突域,提升效率。
- 应用场景:用于扩展或分隔局域网的规模。
5. 网关(Gateway)
- 作用:网关工作在应用层或更高层,它充当不同网络协议之间的翻译器。它能够将不同的协议或网络结构互相转换,确保不同网络能正常通信。
- 应用场景:用于连接企业内部网络和互联网,或不同协议的网络。
6. 防火墙(Firewall)
- 作用:防火墙工作在网络层或传输层,用于监控和过滤进出网络的流量,提供网络安全保护。它根据预设的安全规则,阻止未经授权的访问或潜在的攻击。
- 应用场景:用于保护公司、组织或家庭网络免受外部攻击和入侵。
网络连接介质
双绞线
双绞线(Twisted Pair Cable)是一种由两根铜线互相缠绕组成的网络传输介质,用于减少电磁干扰和信号衰减。它是局域网中最常用的物理介质,常见的种类有:
- 屏蔽双绞线(STP):有额外的金属屏蔽层,用于增强抗干扰能力。
- 非屏蔽双绞线(UTP):没有额外的屏蔽层,成本较低,应用广泛。
双绞线标准:
- T568A 标准:
- 绿色白 -> 绿色 -> 橙色白 -> 蓝色 -> 蓝色白 -> 橙色 -> 棕色白 -> 棕色
- T568B 标准(更常用):
- 橙色白 -> 橙色 -> 绿色白 -> 蓝色 -> 蓝色白 -> 绿色 -> 棕色白 -> 棕色
网络设备连接
- 直通线(两端标准一样):用于不同类型设备之间的连接,广泛应用于局域网中。
- 交叉线(两端标准不一样):用于相同类型设备之间的直接连接,通常在小型网络或特定场景中使用。
光纤
光纤电缆(Fiber Optic Cable)是一种通过光信号传输数据的网络连接介质,抗干扰能力强,传输速率高,距离远。光纤电缆由玻璃或塑料制成,能够通过光脉冲进行数据传输。
五,ip地址
ip和mac地址概述
IP 地址(Internet Protocol Address)是一个用于在计算机网络中标识设备的唯一地址。它允许设备之间进行通信,分为两个主要版本:
- IPv4:使用 32 位地址,格式为四个十进制数(0-255)以点分隔,例如:
192.168.1.1
。 - IPv6:使用 128 位地址,格式为八组十六进制数以冒号分隔,例如:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
。
MAC 地址(Media Access Control Address)是网络接口卡(NIC)在局域网中唯一的物理地址。它是一个 48 位的十六进制数,通常以六组两位数表示,例如:00:1A:2B:3C:4D:5E
。在网卡出厂的时候就烧录好了,全球唯一。
ip地址组成
IPv4 地址由 32 位组成,通常表示为四个十进制数(0-255),每个十进制数之间用点(.)分隔。
ip=网络号+主机号
网络部分(网络号)
定义:网络部分用于标识特定的网络。它决定了设备所在的网络,并使得同一网络中的设备可以相互通信。
功能:
- 确定数据包的目的地网络。
- 路由器通过网络部分将数据包转发到正确的网络。
示例:在 IP 地址
192.168.1.10
中,假设子网掩码为255.255.255.0
(/24:子网掩码的表示方式),则网络部分为192.168.1.0
。这表示该 IP 地址所属的网络是192.168.1.0
网络。主机部分(主机号)
定义:主机部分用于标识网络中具体的设备(主机)。它允许同一网络中的多台设备通过唯一的 IP 地址进行区分。
功能:
- 唯一标识网络中的设备。
- 确保数据包能够准确发送到目标设备。
示例:继续以 IP 地址
192.168.1.10
为例,假设子网掩码为255.255.255.0
,则主机部分为10
。这表示在192.168.1.0
网络中的具体设备是192.168.1.10
。
子网掩码
子网掩码(Subnet Mask)用于区分 IP 地址的网络部分和主机部分。它也是一个 32 位的地址,通常表示为四个十进制数,例如:255.255.255.0
。
子网掩码的每一位对应着ip地址的每一位,子网掩码为1表示对应位属于网络位,为0表示对应位为主机位。
功能
网络地址计算
网络地址是通过将 IP 地址与子网掩码进行位与运算得出的。这个过程确保能够识别网络中设备的共同网络部分。
计算步骤
获取 IP 地址和子网掩码:
- IP 地址:例如,
192.168.1.10
- 子网掩码:例如,
255.255.255.0
转换为二进制:
- IP 地址:
192.168.1.10
→11000000.10101000.00000001.00001010
- 子网掩码:
255.255.255.0
→11111111.11111111.11111111.00000000
进行位与运算:
- 对应位进行与运算,只有在两个对应位均为 1 时结果才为 1,否则为 0。
11000000.10101000.00000001.00001010 (IP 地址) 11111111.11111111.11111111.00000000 (子网掩码) --------------------------------------- 11000000.10101000.00000001.00000000 (网络地址)
结果:
- 网络地址为
192.168.1.0
主机地址计算
主机地址是通过从 IP 地址中减去网络地址部分得到的,用于唯一标识同一网络中的具体设备。
计算步骤
获取 IP 地址和网络地址:
- IP 地址:
192.168.1.10
- 网络地址:
192.168.1.0
进行计算:
- 可以简单地用 IP 地址减去网络地址,或通过将 IP 地址与子网掩码进行位异或(XOR)运算【相同为0不同为1】。
IP 地址: 192.168.1.10 → 11000000.10101000.00000001.00001010 网络地址: 192.168.1.0 → 11000000.10101000.00000001.00000000 ----------------------------------------------- 主机地址: 00000000.00000000.00000000.00001010
结果:
- 主机地址为
10
ip地址分类
A 类地址
- 范围:
1.0.0.0
到126.255.255.255
- 默认子网掩码:
255.0.0.0
- 特点:适用于大型网络,网络部分占用 8 位。
B 类地址
- 范围:
128.0.0.0
到191.255.255.255
- 默认子网掩码:
255.255.0.0
- 特点:适用于中型网络,网络部分占用 16 位。
C 类地址
- 范围:
192.0.0.0
到223.255.255.255
- 默认子网掩码:
255.255.255.0
- 特点:适用于小型网络,网络部分占用 24 位。
D 类地址
- 范围:
224.0.0.0
到239.255.255.255
- 用途:用于多播(Multicast)通信。
E 类地址
- 范围:
240.0.0.0
到255.255.255.255
- 用途:保留用于实验和研究,未被广泛使用。
- 私有地址
地址类别 私有地址范围 子网掩码 特点 使用场景 Class A 10.0.0.0
到10.255.255.255
255.0.0.0
或/8
不可路由;通过 NAT 共享公共地址 公司网络: 10.x.x.x
Class B 172.16.0.0
到172.31.255.255
255.240.0.0
或/12
提高内部安全性 公司网络: 172.16.x.x
到172.31.x.x
Class C 192.168.0.0
到192.168.255.255
255.255.255.0
或/24
内部网络使用,无法直接路由 家庭网络:
192.168.x.x
小型局域网:
192.168.1.0/24
或192.168.0.0/24
环回地址 127.0.0.0
到127.255.255.255
255.0.0.0
或/8
不可路由,用于本地主机自我测试 本地测试和开发:
127.0.0.1
特殊地址 0.0.0.0 N/A 表示无特定地址或默认路由 网络设备配置中的默认路由 - 私有地址:分别列出了 Class A、Class B 和 Class C 的私有 IP 地址范围及其对应的子网掩码、特点和使用场景。
- 环回地址:列出了环回地址的范围、子网掩码、特点和使用场景,强调了其用于本地主机的自我测试功能。
子网划分概述
子网划分是将一个大型网络分割成多个较小的子网,以提高网络的管理效率、安全性和性能。每个子网可以有自己的网络地址和子网掩码,从而在同一物理网络中隔离流量。
- 主机部分全 0:表示网络地址,不能分配给主机,标识特定网络。
- 主机部分全 1:表示广播地址,不能分配给主机,允许向同一网络中的所有主机发送消息。
子网划分的好处
- 更好的网络管理:通过划分子网,可以减少广播流量,改善网络性能。
- 安全性:通过隔离不同部门或功能的设备,可以提高网络安全性。
- 有效利用 IP 地址:可以根据实际需要划分子网,充分利用 IP 地址资源。