计算机网络-网络模型
计算机网络-网络模型
xiaoyan网络分层模型
OSI七层模型
为了实现多种设备在网络中的互操作性,并解决不同设备在网络互联中存在的兼容性问题,国际标准化组织(ISO)制定了开放式系统互联通信参考模型(OSI模型)。该模型共分为七层,从上至下依次为:应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。
每一层在网络通信中承担不同的职能:
- 应用层:为应用程序提供统一的接口,使应用程序能够访问网络服务。
- 表示层:负责数据的格式转换、加密和压缩,以确保数据能够在不同系统之间正确表示和传输。
- 会话层:管理进程间的通信会话,包括会话的建立、维护和终止。
- 传输层:提供端到端的数据传输服务,确保数据的可靠性和完整性。
- 网络层:决定数据在网络中的传输路径,使用路由算法选择最佳路径。
- 数据链路层:对数据帧进行编码、误差校验和MAC寻址,确保数据在物理链路上的可靠传输。
- 物理层:透明地传输比特流,定义物理介质的电气、机械和功能特性。
TCP/IP四层模型
TCP/IP四层模型是目前广泛采用的网络通信模型,可以视为OSI模型的简化版本。它由以下四层构成:应用层、传输层、网络层和网络接口层。
应用层
应用层主要提供两个终端设备上的应用程序之间进行信息交换的服务。它定义了信息交换的格式,并将消息交给下一层传输层进行传输。应用层的数据单位称为报文。
传输层
传输层的主要任务是负责两台终端设备进程之间的通信数据传输服务。应用进程通过该服务传输应用层的报文。传输层创建的两个主要协议是:
- TCP(传输控制协议):提供可靠的、面向连接的数据传输服务。
- UDP(用户数据报协议):提供无连接的、不可靠的数据传输服务。
网络层
网络层负责为分组交换网上的不同主机提供通信服务。由于网络层使用IP协议,因此分组也称为IP数据报。网络层的主要功能包括:
- IP寻址:为每个网络接口分配唯一的IP地址。
- 路由选择:使用路由算法选择最佳路径,将数据报从源主机传输到目的主机。
网络接口层
网络接口层负责将网络层的数据报封装成适合在物理网络上传输的帧,并进行物理地址(MAC地址)的寻址。它包括数据链路层和物理层的所有功能,确保数据在物理链路上的可靠传输。
常见网络协议
应用层
应用层是OSI模型和TCP/IP模型中的最高层,负责为终端用户提供网络服务。应用层协议定义了应用程序之间如何进行通信,包括数据格式、传输方式和错误处理等。以下是一些常见的应用层协议:
- HTTP(Hypertext Transfer Protocol,超文本传输协议):
- 基于协议:TCP
- 端口号:80(默认)安全版本(HTTPS):443
- 用途:HTTP是一种用于传输超文本和多媒体内容的协议,主要用于Web浏览器与Web服务器之间的通信。当我们使用浏览器浏览网页时,网页内容就是通过HTTP协议加载的。
- 特点:无状态协议,使用请求-响应模型。
- SMTP(Simple Mail Transfer Protocol,简单邮件传输协议):
- 基于协议:TCP
- 端口号:25(默认)
- 用途:SMTP用于发送电子邮件。它定义了邮件从发送方到接收方邮件服务器之间的传输过程。
- 特点:只负责发送邮件,不负责接收。
- POP3(邮局协议版本3)/ IMAP(互联网邮件访问协议):
- 基于协议:TCP
- 端口号:POP3110(默认)| IMAP143(默认)
- 用途:POP3和IMAP都是用于接收电子邮件的协议。POP3通常将邮件下载到本地设备,而IMAP允许用户在服务器上管理邮件。
- 特点:POP3适合离线阅读,IMAP适合在线管理。
- FTP(File Transfer Protocol,文件传输协议):
- 基于协议:TCP
- 端口号:21(控制连接)| 数据连接:20(主动模式)
- 用途:FTP用于在计算机之间传输文件。它支持上传和下载文件,并提供用户认证和文件权限管理。
- 特点:使用两个独立的连接,一个用于控制,一个用于数据传输。
- Telnet(远程登录协议):
- 基于协议:TCP
- 端口号:23
- 用途:Telnet用于通过一个终端登录到远程服务器,实现远程管理和控制。
- 特点:明文传输,安全性较低。
- SSH(Secure Shell Protocol,安全外壳协议):
- 基于协议:TCP
- 端口号:22
- 用途:SSH通过加密和认证机制实现安全的远程访问和文件传输。它替代了Telnet,提供了更高的安全性。
- 特点:加密传输,支持多种认证方式。
- RTP(Real-time Transport Protocol,实时传输协议):
- 基于协议:通常基于UDP,但也支持TCP
- 用途:RTP提供了端到端的实时传输数据的功能,常用于音视频流媒体传输。
- 特点:低延迟,适用于实时通信。
- DNS(Domain Name System,域名系统):
- 基于协议:UDP
- 端口号:53(默认)
- 用途:DNS用于解决域名和IP地址之间的映射问题,将人类可读的域名转换为机器可读的IP地址。
- 特点:分布式数据库系统,支持递归查询和迭代查询。
传输层
传输层是OSI模型和TCP/IP模型中的第四层,负责为应用层提供端到端的数据传输服务。传输层的主要任务是确保数据在源主机和目的主机之间的可靠传输。以下是传输层中两个最常见的协议:
- TCP(Transmission Control Protocol,传输控制协议):
- 特点:TCP提供面向连接的、可靠的数据传输服务。它通过三次握手建立连接,确保数据包按顺序到达,并在必要时重传丢失的数据包。
- 应用场景:适用于需要高可靠性和顺序性的应用,如Web浏览(HTTP)、文件传输(FTP)、电子邮件(SMTP)等。
- UDP(User Datagram Protocol,用户数据报协议):
- 特点:UDP提供无连接的、尽最大努力的数据传输服务。它不保证数据包的顺序和可靠性,也不进行流量控制和拥塞控制。
- 应用场景:适用于实时性要求高、对数据可靠性要求相对较低的应用,如音视频流媒体(RTP)、在线游戏、DNS查询等。
网络层
网络层是OSI模型和TCP/IP模型中的第三层,负责为数据包在网络中的传输提供路由和寻址服务。网络层的主要任务是确保数据包能够从源主机传输到目的主机,即使它们位于不同的网络中。以下是网络层中一些常见的协议:
- IP(Internet Protocol,网际协议):
- 作用:IP是TCP/IP协议族中最重要的协议之一,属于网络层的协议。它定义了数据包的格式、对数据包进行路由和寻址,以便它们可以跨越网络传播到达正确的目的地。
- 特点:IP协议是无连接的,不保证数据包的可靠传输,只负责尽力而为地传输。
- 版本:
- IPv4:使用32位地址,地址空间有限。
- IPv6:使用128位地址,解决了IPv4地址耗尽的问题。
- ARP(Address Resolution Protocol,地址解析协议):
- 作用:ARP解决的是网络层地址到链路层地址之间的转换问题。因为一个IP数据包在物理传输上总需要知道下一跳(物理上的下一个目的地)在哪,但是IP属于逻辑地址,MAC才是真正的物理地址,ARP解决了从IP地址转换到MAC地址的一些问题。
- 工作原理:当主机需要发送数据包到同一网络中的另一台主机时,它会使用ARP请求广播,询问目标IP地址对应的MAC地址。目标主机收到请求后,会发送ARP响应,包含自己的MAC地址。
- ICMP(Internet Control Message Protocol,互联网控制报文协议):
- 作用:ICMP是一种用于传输网络状态和错误信息的协议,常用于诊断网络和故障排查。
- 常见用途:
- Ping:用于测试网络连通性。
- Traceroute:用于跟踪数据包从源主机到目的主机所经过的路径。
- NAT(Network Address Translation,网络地址转换协议):
- 作用:NAT用于在私有网络和公共网络之间转换IP地址。它允许内部网络中的多个设备共享一个公共IP地址访问互联网。
- 类型:
- 静态NAT:一对一的地址转换。
- 动态NAT:多对多的地址转换。
- PAT(Port Address Translation,端口地址转换):多对一的地址转换,通过端口号区分不同的内部设备。
- OSPF(Open Shortest Path First,开放式最短路径优先):
- 作用:OSPF是一种内部网关协议(IGP),用于在自治系统(AS)内部动态计算路由表。它使用链路状态算法,能够快速适应网络拓扑的变化。
- 特点:支持大规模网络,收敛速度快,支持多路径负载均衡。
- RIP(Routing Information Protocol,路由信息协议):
- 作用:RIP是一种距离向量路由协议,用于在小型网络中动态计算路由表。它通过定期广播路由信息来更新路由表。
- 特点:简单易用,但收敛速度慢,适用于小型网络。
- BGP(Border Gateway Protocol,边界网关协议):
- 作用:BGP是一种外部网关协议(EGP),用于在不同的自治系统之间交换路由信息。它负责互联网中不同网络之间的路由选择。
- 特点:支持大规模网络,能够处理复杂的网络拓扑和策略路由。