OSI模型
一.OSI七层模型
OSI(Open System Interconnect)七层模型是一种将计算机网络通信协议划分为七个不同层次的标准化框架。每一层都负责不同的功能,从物理连接到应用程序的处理。这种模型有助于不同的系统之间进行通信时,更好地理解和管理网络通信的过程。
7.应用层——提供可视化界面,提供人机交互,网络服务
6.表示层——区分你所发的数据(图片),对数据进行格式化,加密,解密
5.会话层—— 建立,维护,管理连接(进程)
4.传输层——区分上层应用(通过不同应用对应不同的端口号来区分),建立端到端连接。
3.网络层——ip寻址和路由选择
2.数据链路层——mac寻址
1.物理层——比特流的传输(高低电平)
二.OSI为什么要分成/优点
1.促进标准化
2.各层结构相互独立,将网路操作低复杂化
3.灵活性,某层的变化不会影响到其他层
4.各层之间相互连接,实现上下层通信
5.易于维护和实现
三.缺点
1.各层之间的某些功能重复,冗余感。
2.各层之间的功能分配不均。
3.功能和服务定义复杂,不好实现
这就是为什么会有TCP4层或5层模型的说法,因为OSI在实际应用中不便于实现。
TCP/IP模型
一.TCP/IP
下面是OSI七层对应TCP/IP模型的,以及在TCP/IP模型中对数据的封装过程
我喜欢TCP/IP的五层模型
5.应用层——提供可视化界面,提供人机交互,网络服务。区分你所发的数据(图片),对数据进行格式化,加密,解密。 建立,维护,管理连接(进程)
4.传输层——区分上层应用(通过不同应用对应不同的端口号来区分),建立端到端连接。
3.网络层——ip寻址和路由选择
2.数据链路层——mac寻址
1.物理层——比特流的传输(高低电平)
功能进行了一些整合,并且有了相对应的协议。
二.应用层协议和对应的端口号(常见的)
(1)HTTP(HyperText Transfer Protocol/超文本传输协议):用于在客户端和服务器之间传输超文本数据,通常用于 Web 浏览器和 Web 服务器之间的通信。(TCP 80端口)
(2)HTTPS(HyperText Transfer Protocol Secure/超文本传输安全协议):是 HTTP 的安全版本,通过 SSL/TLS 加密传输数据,保证通信过程中的安全性。(TCP 443端口)
(3)FTP(File Transfer Protocol/文本传输协议):用于在客户端和服务器之间传输文件,支持上传和下载文件的功能。(TCP 20传输端/21控制端)
(4)TFTP(Trivial File Transfer Protocol/简单文件传输协议):在计算机网络中传输文件。它设计上相对简单,通常用于在不需要复杂控制的情况下进行文件传输(UDP 69端口)
(5)SMTP(Simple Mail Transfer Protocol/简单邮件传输协议):用于在邮件服务器之间传输电子邮件,负责发送邮件。(TCP 25端口)
(6)POP3(Post Office Protocol version 3/邮局协议版本3):用于从邮件服务器上下载邮件到本地计算机,负责接收邮件。(TCP 110端口)
(7)IMAP(Internet Message Access Protocol/互联网消息访问协议):也是用于接收邮件的协议,与 POP3 类似,但提供了更丰富的功能,如在服务器上管理邮件等。(TCP 143端口)
(8)Telnet:用于远程登录和执行命令,类似于 SSH,但不提供加密功能,通信数据不安全。(TCP 23 端口)
(9)SSH(Secure Shell/安全外壳协议):用于远程登录和执行命令,提供了加密的网络连接,保证了通信的安全性。(TCP 22端口)
(10)RDP(远程桌面协议):是一种由微软开发的协议,用于通过网络远程访问Windows桌面和应用程序。
(11)SNMP(Simple Network Management Protocol/简单网络管理协议):用于网络设备之间的管理和监控,可以实现对网络设备的远程配置和监控。(UDP161主要通信,包括请求和响应/UDP162为网络设备向管理系统发送重要事件通知提供通道,比如故障)
(12)DNS:用于将域名解析为对应的 IP 地址,从而实现域名和 IP 地址之间的映射。( udp/TCP 53)(域名解析协议)企业里 114.114.114.114(电信) 8.8.8.8(谷歌)
注:将域名转换为ip地址
域名给人看
IP给机器识别
eg:www.baidu.com 对应的 ip
(13)DHCP(Dynamic Host Configuration Protocol/动态地址分配协议):用于自动分配IP地址和其他网络配置参数给网络中的设备( 67(UDP)用于DHCP服务器接收客户端请求/ 68(UDP)用于DHCP客户端接收服务器的响应。)
三.传输层协议
(1)TCP(Transmission Control Protocol/传输控制协议):提供可靠的、面向连接的数据传输服务,确保数据的可靠性、顺序性和完整性。TCP适用于对数据传输质量要求较高的场景,如文件传输、网页浏览等。
(2)UDP(User Datagram Protocol/用户数据报协议):提供无连接的数据传输服务,不保证数据的可靠性,也不保证数据的顺序性和完整性。UDP适用于实时性要求较高、对数据传输质量要求不那么严格的场景,如音视频传输、在线游戏等。
四.网络层协议
(1)IP(Internet Protocol/互联网协议):用于在网络中定位和传输数据包。它负责将数据从源地址传送到目标地址。
(2)IPv6(Internet Protocol version 6):互联网协议的第六版,旨在替代IPv4,提供更大的地址空间和改进的路由效率。它使用128位地址,能够支持更多的设备和用户。
(3)ICMP(Internet Control Message Protocol/互联网控制消息协议):用于网络设备之间发送控制消息的协议,主要用于错误报告和诊断。
(4)ARP(Address Resolution Protocol/地址解析协议):将网络层地址(如IPv4地址)转换为数据链路层地址(如MAC地址)的协议。它允许设备在局域网内找到其他设备的物理地址,从而能够进行数据包的发送和接收。
(5)RARP(Reverse Address Resolution Protocol/反向地址解析协议):是一种用于将数据链路层地址(如MAC地址)转换为网络层地址(如IPv4地址)的协议。它的主要用途是在设备启动时,特别是那些没有本地存储的设备(如网络终端或无盘工作站),以获取其IP地址。
五.数据链路层协议
TYPE字段:
0x0800 IP
0x0806 ARP
0x08DD IPV6
以太网(Ethernet)最广泛使用的数据链路层协议,支持局域网中的设备连接,特性:基于CSMA/CD(载波监听多路访问/碰撞检测)机制,使用MAC地址进行设备识别。
注意:Ethernet II和IEEE 802.3是两种不同的以太网协议,主要区别在于帧结构和处理方式:
(1)帧格式
Ethernet II:帧头包括目的MAC地址、源MAC地址和类型字段(用于指示上层协议,如IP)。
IEEE 802.3:帧头也包括目的和源MAC地址,但使用长度字段来指示数据字段的长度,而不是类型。
(2)协议支持
Ethernet II:广泛用于IP协议及其他网络层协议,主要在现代网络中使用。
IEEE 802.3:最初是为了标准化以太网的物理层和数据链路层,后续也支持了以太网的各种扩展。
(3)兼容性
Ethernet II可以被视为较新的标准,广泛兼容现代网络,而IEEE 802.3是早期的标准,后续演变为多个版本,适应不同的应用。
这两者的共同点是都用于局域网传输,但在具体实现上有所不同
六.物理层
传媒介质
双绞线:如以太网(CAT5、CAT6),用于局域网传输。
同轴电缆:用于有线电视和某些网络。
光纤:用于高速数据传输,具有较低的信号衰减。
无线传输:通过电磁波(如Wi-Fi、蓝牙)实现无线通信。
数据传输速率
物理层定义了设备之间的传输速率,如10 Mbps、100 Mbps、1 Gbps等
等等