diff --git "a/20250317\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234.md" "b/20250317\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234.md" new file mode 100644 index 0000000000000000000000000000000000000000..727fe0de6ccf0246f835b9519e5ac6f515d8a59d --- /dev/null +++ "b/20250317\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234.md" @@ -0,0 +1,194 @@ +# 什么是计算机网络 +- 计算机网络是指通过通信线路将多个独立的计算机系统连接在一起,以实现数据通信、资源共享和协同工作的系统。计算机网络的主要目的是在地理上分散的计算机之间提供高效的通信手段,以便用户能够共享硬件、软件和数据资源。 + +# 计算机网络的分类 +## 按地理范围分类: + +- 局域网 (LAN):覆盖范围较小,通常在一个房间、一栋建筑或一个校园内。 +- 城域网 (MAN):覆盖范围较大,通常在一个城市内。 +- 广域网 (WAN):覆盖范围最广,可以跨越城市、国家甚至全球。 + +## 按拓扑结构分类 + +### 1. 星型拓扑(Star Topology) +- 结构 ++ 所有节点都直接连接到中心节点(如集线器、交换机或路由器)。 ++ 每个节点通过独立的链路与中心节点通信。 +- 特点 ++ 优点: ++ 1.易于安装和维护。 ++ 2.单个节点的故障不会影响整个网络。 ++ 3.易于添加或移除节点。 ++ 缺点: ++ 1.对中心节点的依赖性高,中心节点故障会导致整个网络瘫痪。 ++ 2.成本较高,因为每个节点都需要单独的链路连接到中心节点。 +- 应用 ++ 局域网(LAN)中常用,如家庭网络和小型办公室网络。 ++ 无线局域网(WLAN)也常采用星型拓扑。 +### 2. 总线型拓扑(Bus Topology) +- 结构 ++ 所有节点都连接到一条公共的通信线路(总线)。 ++ 数据在总线上传输,所有节点都能接收到数据,但只有目标节点会处理数据。 +- 特点 ++ 优点: ++ 1.成本低,因为只需要一条共享的通信线路。 ++ 2.易于扩展,只需添加更多的节点到总线上。 +- 缺点: ++ 1.单个故障点(总线故障)会导致整个网络瘫痪。 ++ 2.难以管理和排除故障,因为所有节点共享同一条总线。 ++ 3.带宽有限,因为所有节点共享同一带宽。 +- 应用 ++ 传统以太网(10BASE2和10BASE5)使用总线型拓扑。 ++ 在某些嵌入式系统和工业控制系统中仍有应用。 +### 3. 环型拓扑(Ring Topology) +- 结构 ++ 节点连接成一个环,数据沿着环单向或双向传输。 ++ 每个节点都与相邻的两个节点相连。 +- 特点 ++ 优点: ++ 1.传输延迟固定,因为数据沿着环单向传输。 ++ 2.易于实现令牌传递协议(如Token Ring),可以有效避免冲突。 +- 缺点: ++ 1.单个节点或链路故障会影响整个网络的通信。 ++ 2.扩展性差,添加或移除节点需要中断网络。 ++ 3.故障排除困难,因为数据路径是固定的。 +- 应用 ++ 早期的局域网(如IBM的Token Ring)使用环型拓扑。 ++ 在某些光纤分布式数据接口(FDDI)网络中有应用。 +### 4. 网状拓扑(Mesh Topology) +- 结构 ++ 每个节点都与其他节点直接相连,提供冗余路径。 ++ 可以分为全网状(Full Mesh)和部分网状(Partial Mesh)。 +- 特点 ++ 优点: ++ 1.高可靠性,因为有多个冗余路径。 ++ 2.故障容忍度高,单个节点或链路故障不会导致整个网络瘫痪。 ++ 3.带宽高,因为每个节点都有独立的链路。 +- 缺点: ++ 1.成本高,因为需要大量的链路和接口。 ++ 2.复杂的管理和配置,因为有多个路径需要管理。 ++ 3.扩展性差,因为每个新节点都需要与所有其他节点建立连接。 +- 应用 ++ 广域网(WAN)中常用,如互联网骨干网。 ++ 在关键任务系统中,如军事通信和金融交易系统中有应用。 +### 5. 树型拓扑(Tree Topology) +- 结构 ++ 节点排列成树状结构,有一个根节点和多个子节点。 ++ 类似于总线型拓扑,但有分支。 +- 特点 ++ 优点: ++ 1.结构清晰,易于理解和实现。 ++ 2.易于扩展,只需添加更多的分支。 +- 缺点: ++ 1.对根节点的依赖性高,根节点故障会影响整个网络。 ++ 2.故障排除困难,因为数据路径是分层的。 +- 应用 ++ 在分层网络中常用,如企业网络和校园网络。 ++ 在某些有线电视和广播网络中也有应用。 +# OSI七层模型 +OSI(Open Systems Interconnection)七层模型是由国际标准化组织(ISO)制定的一个概念模型,用于描述和标准化计算机网络通信的各个层次。OSI模型将网络通信过程分为七个不同的层次,每个层次负责特定的功能。 +## 1. 物理层(Physical Layer) +- 功能:负责在物理介质上传输比特流(0和1),包括电压、信号、线缆类型、连接器等。 +- 设备:集线器、中继器、网卡、调制解调器等。 +- 协议:Ethernet、RS-232、DSL等。 +## 2. 数据链路层(Data Link Layer) +- 功能:负责在直接相连的节点之间传输数据,提供可靠的数据传输,包括错误检测和纠正。 +- 子层: +1. 介质访问控制(MAC):控制对共享介质的访问。 +2. 逻辑链路控制(LLC):提供流量控制和错误检测。 +- 设备:交换机、网桥、网络接口卡(NIC)等。 +- 协议:Ethernet、PPP、ATM等。 +## 3. 网络层(Network Layer) +- 功能:负责在不同的网络之间传输数据,提供逻辑地址(如IP地址)和路由选择。 +- 设备:路由器、三层交换机等。 +- 协议:IP(Internet Protocol)、ICMP、IGMP等。 +## 4. 传输层(Transport Layer) +- 功能:负责端到端的数据传输,提供可靠或不可靠的数据传输服务,包括错误检测和纠正、流量控制和分段。 +- 协议: +1. TCP(Transmission Control Protocol):提供可靠的、面向连接的数据传输。 +2. UDP(User Datagram Protocol):提供不可靠的、无连接的数据传输。 +- 设备:网关、四层交换机等。 +## 5. 会话层(Session Layer) +- 功能:负责建立、管理和终止应用程序之间的会话连接,提供会话控制和同步功能。 +- 协议:NetBIOS、Sockets、RPC等。 +## 6. 表示层(Presentation Layer) +- 功能:负责数据格式的转换、加密/解密和压缩/解压缩,确保数据在发送方和接收方之间的一致性。 +- 协议:ASCII、MPEG、JPEG、SSL/TLS等。 +## 7. 应用层(Application Layer) +- 功能:提供网络服务和用户应用程序之间的接口,支持用户应用程序访问网络资源。 +- 协议:HTTP、FTP、SMTP、DNS、DHCP等。 +# TCP/IP +- TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网协议)是一组用于实现网络通信的协议族,是互联网的核心协议。它不仅定义了如何在网络上传输数据,还提供了数据包的路由选择、错误检测和纠正等功能。 +## TCP/IP四层模型 +### 1. 应用层(Application Layer) +- 功能:提供网络服务和用户应用程序之间的接口,支持用户应用程序访问网络资源。 +- 协议: +1. HTTP(HyperText Transfer Protocol):用于网页浏览。 +2. FTP(File Transfer Protocol):用于文件传输。 +3. SMTP(Simple Mail Transfer Protocol):用于电子邮件传输。 +4. DNS(Domain Name System):用于域名解析。 +5. DHCP(Dynamic Host Configuration Protocol):用于动态分配IP地址。 +6. SSH(Secure Shell):用于安全的远程登录。 +7. Telnet:用于远程登录(不加密)。 + +对应OSI层:应用层、表示层、会话层。 +### 2. 传输层(Transport Layer) +- 功能:负责端到端的数据传输,提供可靠或不可靠的数据传输服务,包括错误检测和纠正、流量控制和分段。 +- 协议: +1. TCP(Transmission Control Protocol): +- 提供可靠的、面向连接的数据传输。 +- 保证数据包的顺序和完整性。 +- 通过三次握手建立连接,通过四次挥手断开连接。 +2. UDP(User Datagram Protocol): +- 提供不可靠的、无连接的数据传输。 +- 适用于对实时性要求高但可以容忍一定数据丢失的应用,如视频流、语音通话等。 + +对应OSI层:传输层。 +### 3. 网络层(Internet Layer) +- 功能:负责在不同的网络之间传输数据,提供逻辑地址(如IP地址)和路由选择。 +- 协议: +1. IP(Internet Protocol): +- 提供无连接的数据报传输。 +- 负责数据包的路由选择和转发。 +2. IPv4和IPv6是两种主要的IP版本。 +- ICMP(Internet Control Message Protocol): +- 用于网络诊断和错误报告。 +- 常用的工具如ping和traceroute使用ICMP。 +3. IGMP(Internet Group Management Protocol): +- 用于管理IP组播组成员。 + +对应OSI层:网络层。 +### 4. 链路层(Link Layer) +- 功能:负责在直接相连的节点之间传输数据,提供可靠的数据传输,包括错误检测和纠正。 +- 协议: +1. Ethernet:用于局域网通信。 +2. PPP(Point-to-Point Protocol):用于点对点连接。 +3. ARP(Address Resolution Protocol): +- 用于将IP地址转换为物理地址(如MAC地址)。 +4. RARP(Reverse Address Resolution Protocol): +- 用于将物理地址转换为IP地址。 + +对应OSI层:数据链路层、物理层。 + +## TCP/IP的工作原理 +1. 数据封装 +- 应用层数据通过各层协议进行封装,每一层都添加自己的头部信息。 +- 数据从应用层向下传递,经过传输层、网络层、链路层,最终在物理层以比特流的形式传输。 +2. 三次握手(Three-way Handshake) +- TCP连接建立的过程: +- 1. 客户端发送SYN包给服务器,请求建立连接。 +- 2. 服务器收到SYN包后,发送SYN-ACK包给客户端,确认请求。 +- 3. 客户端收到SYN-ACK包后,发送ACK包给服务器,完成连接建立。 +3. 数据传输 +- 数据通过TCP或UDP协议进行传输。 +- TCP保证数据的可靠性和顺序,而UDP则提供更快的传输速度,但不保证可靠性。 +4. 四次挥手(Four-way Handshake) +- TCP连接断开过程: +- 1. 客户端发送FIN包给服务器,请求断开连接。 +- 2. 服务器收到FIN包后,发送ACK包给客户端,确认请求。 +- 3. 服务器发送FIN包给客户端,确认断开连接。 +- 4. 客户端收到FIN包后,发送ACK包给服务器,完成连接断开。 +## TCP/IP的应用 +- 互联网通信:TCP/IP是互联网的核心协议,支持网页浏览、电子邮件、文件传输等应用。 +- 局域网通信:在局域网内部,TCP/IP也广泛应用于资源共享和通信。 +- 物联网(IoT):TCP/IP协议被用于连接和管理各种智能设备。 \ No newline at end of file