一.OSI七层模型
1.OSI(Open Systems Interconnection)七层模型是由国际标准化组织(ISO)提出的一种网络通信协议的参考模型,用于标准化网络通信的过程。
OSI模型将网络通信分为七个层次,每个层次负责不同的通信功能。
2.以下是OSI七层模型的简单介绍:
物理层(Physical Layer) - 最底层,负责原始比特流的传输,定义了电缆、连接器和信号的物理特性。
数据链路层(Data Link Layer) - 负责在相邻节点之间可靠地传输数据,通过帧来封装数据,并处理错误检测和流量控制。
网络层(Network Layer) - 负责数据包的路由和转发,确保数据能够在网络中的设备之间传输。
传输层(Transport Layer) - 提供端到端的通信服务,确保数据可靠、顺序地传输,并处理流量控制和拥塞控制。
会话层(Session Layer) - 负责建立、管理和终止会话,即通信连接。
表示层(Presentation Layer) - 负责数据的表示、安全和压缩,确保一个系统应用层发送的数据能够被另一个系统的应用层理解。
应用层(Application Layer) - 最高层,直接为用户提供服务,如电子邮件、文件传输、Web浏览等。
3.OSI模型是一个理论上的框架,它帮助我们理解和设计网络通信协议。
在实际应用中,TCP/IP模型更为流行,它将网络通信分为四个层次:链路层、网络层、传输层和应用层。
二.TCP/IP模型
TCP/IP模型将网络通信分为四个层次,每个层次负责不同的通信功能。以下是TCP/IP模型的网络分层介绍:
1. **链路层(Link Layer)** - 对应于OSI模型的物理层和数据链路层。链路层负责在直接相连的网络节点之间传输数据,包括物理介质的管理和数据帧的封装。
2. **网络层(Internet Layer)** - 对应于OSI模型的网络层。网络层负责数据包的路由和转发,确保数据能够在网络中的设备之间传输。IP协议是网络层最核心的协议。
3. **传输层(Transport Layer)** - 对应于OSI模型的传输层。传输层提供端到端的通信服务,确保数据可靠、顺序地传输,并处理流量控制和拥塞控制。TCP和UDP是传输层最常见的协议。
4. **应用层(Application Layer)** - 对应于OSI模型的应用层、表示层和会话层。应用层直接为用户提供服务,如电子邮件、文件传输、Web浏览等。HTTP、FTP、SMTP等协议都属于应用层。
TCP/IP模型比OSI模型更为简洁,它更贴近实际的网络通信过程,因此在实际应用中更为流行。TCP/IP模型的设计目标是实现不同网络之间的互联,因此它强调了网络层的路由和转发功能,以及传输层的端到端通信服务。
三.链路层协议
也称为数据链路层协议,是OSI模型的第二层协议,它们负责在直接相连的网络节点之间传输数据。以下是一些常见的链路层协议:
1. **以太网(Ethernet)** - 最常见的局域网(LAN)技术,用于在网络设备之间传输数据。以太网协议包括多种标准,如IEEE 802.3。
2. **Wi-Fi(无线 fidelity)** - 一种无线局域网技术,允许电子设备连接到无线网络。Wi-Fi协议包括IEEE 802.11a、802.11b、802.11g和802.11n等。
3. **PPP(点对点协议)** - 用于在点对点连接上传输多协议数据包的协议,常用于拨号网络连接。
4. **MAC(媒体访问控制)** - 负责控制网络设备如何访问传输媒体,并使用MAC地址来唯一标识网络中的设备。
5. **L2TP(第二层隧道协议)** - 一种用于在IP网络上创建虚拟专用网络(VPN)的隧道协议。
6. **VLAN(虚拟局域网)** - 一种将网络分割成多个逻辑分段的技术,以提高网络的安全性和性能。
7. **PPPoE(PPP over Ethernet)** - 一种将PPP会话封装在以太网帧中的协议,常用于宽带接入。
8. **LLC(逻辑链路控制)** - 提供数据链路层服务的一部分,用于IEEE 802 LAN协议族中。
9. **HDLC(高级数据链路控制)** - 一种用于同步数据传输的比特导向协议,常用于广域网(WAN)连接。
10. **帧中继(Frame Relay)** - 一种用于在本地和广域网络中传输数据的协议,常用于企业网络和广域网连接。
11. **STP(生成树协议)** - 用于防止网络中出现环路的协议,确保网络的稳定性和可靠性。
12. **MSTP(多生成树协议)** - STP的扩展,允许多个生成树同时存在,以提高网络的效率和性能。
四.网络层协议
是OSI模型的第三层协议,它们负责数据包的路由和转发,确保数据能够在网络中的设备之间传输。以下是一些常见的网络层协议:
1. **IP(Internet Protocol)** - 最基础的网络层协议,用于在网络中的设备之间传输数据包。IP协议有两个版本:IPv4和IPv6。
2. **ICMP(Internet Control Message Protocol)** - 用于发送错误消息和操作信息的数据包协议,如ping和traceroute命令所使用的协议。
3. **IGMP(Internet Group Management Protocol)** - 用于管理IPv4网络中的多播组成员资格的协议。
4. **ARP(Address Resolution Protocol)** - 用于将网络层地址(如IPv4地址)解析为数据链路层地址(如MAC地址)的协议。
///
5. **RARP(Reverse Address Resolution Protocol)** - 用于通过物理地址获取IP地址的协议,现在已经很少使用。
6. **OSPF(Open Shortest Path First)** - 一种内部网关协议(IGP),用于在单个自治系统内进行路由选择。
7. **BGP(Border Gateway Protocol)** - 一种路径向量协议,用于不同自治系统之间的路由选择。
8. **RIP(Routing Information Protocol)** - 一种距离向量路由协议,用于在网关和主机之间交换路由选择信息。
9. **EIGRP(Enhanced Interior Gateway Routing Protocol)** - 一种由Cisco开发的IGP,用于在单个自治系统内进行路由选择。
10. **IS-IS(Intermediate System to Intermediate System)** - 一种链路状态路由协议,用于在单个自治系统内进行路由选择。
11. **LDP(Label Distribution Protocol)** - 用于MPLS(Multiprotocol Label Switching)网络中分发标签的协议。
12. **RSVP(Resource Reservation Protocol)** - 用于在网络中为数据流预留资源的协议。
13. **PIM(Protocol Independent Multicast)** - 一种用于多播路由的协议。
五.传输层协议
是OSI模型的第四层协议,它们负责在网络中的端点之间提供可靠的数据传输服务。以下是一些常见的传输层协议:
1. **TCP(Transmission Control Protocol)** - 一种面向连接的、可靠的、基于字节流的传输层协议。TCP提供了可靠的数据传输、流量控制、拥塞控制和错误检测等功能。
2. **UDP(User Datagram Protocol)** - 一种无连接的、不可靠的传输层协议。UDP提供了简单的、无序的数据报传输服务,适用于那些不需要可靠传输或可以容忍数据丢失的应用程序。
///
3. **SCTP(Stream Control Transmission Protocol)** - 一种面向消息的、可靠的传输层协议,设计用于支持信号传输和多媒体通信。SCTP提供了多流和多回家功能,可以更好地处理网络中的故障。
4. **DCCP(Datagram Congestion Control Protocol)** - 一种无连接的、面向消息的传输层协议,它提供了拥塞控制但不像TCP那样提供可靠性。DCCP适用于那些需要拥塞控制但不需要可靠传输的应用程序。
5. **RLP(Reliable Data Protocol)** - 一种可靠的数据传输协议,用于在不可靠的网络环境中提供可靠的数据传输服务。
6. **SPX(Sequenced Packet Exchange)** - 一种由Novell开发的传输层协议,用于NetWare网络中的数据传输。
7. **IL(Internetwork Layer)** - 在某些网络模型中,传输层也被称为互联网层,它提供了网络层和传输层之间的接口。
四.常见网络应用层协议
1. HTTP (Hypertext Transfer Protocol)** - 用于Web浏览器和服务器之间传输超文本文档的协议,是互联网上最常用的协议之一。
2. HTTPS (HTTP Secure)** - HTTP协议的安全版本,通过SSL/TLS加密来保护数据传输,是处理敏感信息(如在线交易)时的标准协议。
3. FTP (File Transfer Protocol)** - 用于在网络上的计算机之间传输文件的协议,虽然不如以前流行,但仍然广泛用于文件传输。
4. SFTP (SSH File Transfer Protocol)** - 通过SSH加密的FTP协议,提供安全的文件传输。
5. DNS (Domain Name System)** - 用于将域名解析为IP地址的协议,是互联网上最重要的服务之一。
6. DHCP (Dynamic Host Configuration Protocol)** - 用于自动分配IP地址的协议,简化了网络设备的配置。
7. SSH (Secure Shell)** - 提供安全的远程登录和命令行界面访问的协议,广泛用于系统管理。
8. NTP (Network Time Protocol)** - 用于同步网络中计算机时间的协议。
9. Telnet -用于远程登录和命令行界面访问的协议,但传输的数据不加密,因此安全性较低。
10. MQTT (Message Queuing Telemetry Transport)** - 用于物联网(IoT)中的轻量级消息传输协议。
11. CoAP (Constrained Application Protocol)** - 用于物联网(IoT)中的轻量级通信协议。
12. XMPP (Extensible Messaging and Presence Protocol)** - 用于即时消息和在线状态管理的协议。
13. AMQP (Advanced Message Queuing Protocol)-用于消息中间件中的消息传输协议。
14. WebSocket** - 用于在Web浏览器和服务器之间进行全双工通信的协议,支持实时通信。
15. VPN (Virtual Private Network)** - 用于创建加密的网络隧道的协议,如IPsec、L2TP、PPTP等,提供安全的远程访问。
16. SNMP (Simple Network Management Protocol)** - 用于网络管理和监控的协议。
17. LDAP (Lightweight Directory Access Protocol)** - 用于访问目录服务中的信息的协议,常用于用户身份验证和目录服务。
18. RDP (Remote Desktop Protocol)** - 用于远程桌面连接的协议,允许用户远程控制其他计算机。
19. OAuth** - 用于授权第三方应用程序访问用户数据的协议,广泛用于社交媒体和云服务。
20. OpenID Connect** - 用于身份验证的协议,基于OAuth 2.0,简化了用户登录过程。
21. RTSP (Real Time Streaming Protocol)** - 用于流媒体播放控制的协议。
22. SIP (Session Initiation Protocol)** - 用于控制多媒体通信会话的协议,如语音和视频通话。
23. SIPS (SIP over TLS)** - 通过TLS加密的SIP协议,提供安全的通信会话控制。
24. H.323** - 用于视频会议和VoIP通信的协议。
25. SMTP (Simple Mail Transfer Protocol)** - 用于发送电子邮件的协议,是电子邮件传输的基础。
26. POP3 (Post Office Protocol 3)** - 用于接收电子邮件的协议,允许用户下载邮件到本地计算机。
27.IMAP (Internet Message Access Protocol)** - 用于接收电子邮件的协议,允许用户在服务器上管理邮件,而不必将邮件下载到本地计算机。