计算机网络
计算机网络体系结构
计算机网络的组成:
- 按组成成分可分为:硬件、软件、协议。
- 按工作方式可分为:边缘部分、核心部分。
计算机网络的分类:
- 按分布范围可分为:广域网、城域网、局域网、个人区域网。
- 按传输技术可分为:广播式、点对点式。
- 按网络拓扑结构可分为:总线型、环型、星型、树型、网状型。
- 按使用者可分为:公用网、专用网。
- 按传输介质可分为:有线网、无线网。
计算机网络的性能指标:
- 速率(speed):连接到网络上的节点在数字信道上传输数据的速率。
- 带宽(bandwidth):网络中某一点到另一点之间的最大数据传输速率。
- 吞吐量(throughput):在单位时间内通过某个网络的实际数据量。
- 时延(delay):数据从网络的一端传输到另一端所需的时间。分为传输时延、传播时延、处理时延、排队时延。
- 时延带宽积(delay-bandwidth product):链路上的比特数量。发送端发送的第一个比特到达接收端时,发送端已发出的比特数量。
- 往返时间(round-trip time):从发送方发送数据到接收方接收到确认信息所需的时间。
- 信道利用率(utilization):信道有百分之多少时间是被利用的。
交换技术
电路交换:在通信之前,建立一条专用的物理线路,通信结束后,释放这条线路。简单实用但是利用率低。
报文交换:将报文(message)划分为固定长度的数据块,每个数据块携带源和目的地址,通过交换机转发。通信无需建立连接,但是每次经过节点都需要完整存储和转发数据块,转发延迟高易发生错误。
分组交换:和报文交换类似,但是通过将数据块划分为更小的分组(Packet),每个分组携带源和目的地址,通过交换机转发。分组交换是目前互联网的主要交换方式。
TCP/IP 模型
- 应用层:网络应用程序及其应用层协议。应用层的数据单元称为报文(message)。
- 运输层:提供端到端的数据传输。如 TCP、UDP。运输层的分组称为报文段(segment)。
- 网络层:将数据报(datagram)从源主机传输到目的主机。如 IP。
- 链路层:将数据帧(frame)从一个节点传输到相邻节点。
- 物理层:传输比特流。
OSI 参考模型
- 应用层(Application Layer):为应用软件提供服务。如 HTTP、SMTP、FTP、Telnet。
- 表示层(Presentation Layer):数据的表示、安全、压缩。
- 会话层(Session Layer):建立、管理、终止会话。
- 传输层(Transport Layer):提供端到端的可靠报文传输和错误恢复。如 TCP、UDP。
- 网络层(Network Layer):为数据包选择路由。如 IP、IPX、ICMP、IGMP、ARP、RARP、OSPF、BGP。
- 数据链路层(Data Link Layer):传输数据帧。如 SDLC、HDLC、PPP、帧中继、以太网。
- 物理层(Physical Layer):传输比特流。如 EIA-232C、EIA/TIA RS-449 等。
标准化组织与相关标准
主要的网络标准化组织:
- ISO(国际标准化组织):制定了 OSI 参考模型。
- ITU(国际电信联盟):负责电信标准化工作。
- IEEE(电气电子工程师学会):制定了 IEEE 802 系列标准,如以太网、无线网络标准。
- IETF(互联网工程任务组):负责互联网标准的开发和推广,发布 RFC 文档。
- W3C(万维网联盟):制定 Web 标准,如 HTML、CSS、XML 等。
重要网络标准:
- IEEE 802.3:以太网标准。
- IEEE 802.11:无线局域网标准。
- RFC 791:IPv4 协议规范。
- RFC 793:TCP 协议规范。
- RFC 768:UDP 协议规范。
- RFC 2616:HTTP/1.1 协议规范。
物理层
通信基础
- 信源:产生和发送数据的源头。
- 信宿:接收数据的目的地。
- 信道:信号传输的媒介。
- 码元传输速率(波特率):码元的传输速率,单位为波特(Baud)。
- 信息传输速率(比特率):比特的传输速率,单位为比特每秒(bps)。
信道的极限容量
奈奎斯特定理:信道能通过的频率有限,高频分量通过信道会衰减造成码间串扰。理想低通信道的极限容量为 ,其中 为信道的带宽, 为信号的离散级数。
香农定理:在高斯白噪声信道中,信道的极限容量为 ,其中 为信道的带宽, 为信号的平均功率, 为噪声的功率。
编码与调制
数字数据调制为数字信号:
- 不归零编码(NRZ):高电平表示 1,低电平表示 0。
- 归零编码(RZ):高电平为 1,低电平为 0,每个比特的中间跳变到 0 电平,可用于同步时钟,但会影响传输速率。
- 反向不归零编码(NRZI):电平的跳变表示 0,不跳变表示 1。既能传输时钟信号又能保持传输速率。USB 2.0 使用的编码方式。
- 曼彻斯特编码:每个码元的中间都发送跳变,向上跳变表示 1,向下跳变表示 0。
- 差分曼彻斯特编码:每个码元的开始处发送跳变,向上跳变表示 0,向下跳变表示 1。中间的跳变不表示数据。抗干扰能力更强。
数字数据调制为模拟信号:
- 调幅(AM):调制信号的振幅表示数字信号的 0 和 1。
- 调频(FM):调制信号的频率表示数字信号的 0 和 1。
- 调相(PM):调制信号的相位表示数字信号的 0 和 1。
模拟数据调制为模拟信号:
需要较高的频率来保证数据的精度。还可使用频分复用(FDM)和时分复用(TDM)来提高信道的利用率。
传输介质
- 双绞线:最常用的传输介质,分为屏蔽双绞线(STP)和非屏蔽双绞线(UTP)。
- 同轴电缆:因为外导体的屏蔽作用,具有良好的抗干扰特性,可以用于传输较高速率的信号。分为 50Ω(基带数字信号)和 75Ω(宽带信号)。
- 光纤:由光纤芯、包层和包覆层组成。具有高带宽、低衰减、抗干扰、安全等特点。
- 无线传输介质:无线电波、微波、红外线、激光等。
物理层设备
- 中继器(Repeater):整形、放大并转发信号。
- 集线器(Hub):多个端口的中继器,将所有端口的数据转发到其他端口。
信道复用技术
- 频分复用(FDM):将整个带宽分为多个子信道,不同用户占用不同子信道。
- 时分复用(TDM):将时间分为多个时隙,不同用户占用不同时隙。
- 统计时分复用(STDM):根据用户实际需求动态分配时隙,提高信道利用率。
- 波分复用(WDM):在光纤中传输不同波长的光信号,相当于光的频分复用。
- 码分复用(CDM):使用特殊的编码技术,让各用户使用不同的编码,同时占用同样的信道。
宽带接入技术
- ADSL(Asymmetric Digital Subscriber Line):非对称数字用户线,利用现有电话线提供上下行不对称的高速数据传输。
- HFC(Hybrid Fiber Coax):光纤同轴混合网络,由光纤主干和同轴电缆组成。
- FTTx(Fiber To The x):光纤到 x,如 FTTH(光纤到户)、FTTB(光纤到楼)等。
- 无线接入:如 Wi-Fi、4G、5G 等无线接入技术。
数据链路层
数据链路层功能
数据链路层主要负责节点到节点(Node-to-Node)的数据传输,其主要功能包括:
- 封装成帧:将网络层的数据包封装成帧,添加帧头和帧尾。
- 透明传输:确保数据中的任何比特组合都能够正确传输。
- 差错控制:检测并可能纠正传输过程中的差错。
- 流量控制:控制发送方的发送速率,使接收方来得及处理。
封装成帧与透明传输
封装成帧是将网络层的数据包添加帧头和帧尾,构成数据链路层的传输单元——帧。常见帧定界方法:
- 字符计数法:在帧头中标明帧内字符数。
- 字符填充法:使用特殊字符作为帧的开始和结束标记,同时使用转义字符实现透明传输。
- 比特填充法:在比特流中插入额外的位来区分数据和控制信息。
- 违规编码法:使用物理层编码中不会出现的码型作为帧定界符。
透明传输确保数据中任何比特组合都能正确传输,而不被误解为控制信息。
差错控制
差错控制技术包括:
-
检错编码:
- 奇偶校验码:在数据末尾添加一位校验位,使得”1”的个数为奇数(奇校验)或偶数(偶校验)。
- 循环冗余码(CRC):根据数据位计算校验位,能检测出所有突发长度小于或等于校验位长度的错误。
-
纠错编码:
- 海明码:能检测双比特错,纠正单比特错。校验位位置在 2 的整数次幂处。
流量控制
流量控制的主要协议包括:
- 停止-等待协议:发送方发送一帧后必须等待接收方确认,然后才能发送下一帧。
- 滑动窗口协议:允许发送方在收到确认前发送多个帧,提高信道利用率。
- 后退 N 帧(Go-Back-N):接收方丢弃错误帧后的所有帧,发送方重传错误帧及其后续帧。
- 选择重传(Selective Repeat):接收方缓存正确接收的帧,只要求发送方重传错误帧。
介质访问控制
介质访问控制(MAC)解决多个设备共享同一传输介质的问题,主要方法包括:
-
信道划分:
- 频分多路复用(FDM)
- 时分多路复用(TDM)
- 码分多路复用(CDM)
- 波分多路复用(WDM)
-
随机访问:
- ALOHA 协议:设备可以随时发送数据,冲突后随机延迟重发。
- CSMA(载波侦听多路访问):发送前先侦听信道是否忙。
- CSMA/CD(CSMA with Collision Detection):边发送边检测冲突,发现冲突后立即停止。
- CSMA/CA(CSMA with Collision Avoidance):通过预约机制避免冲突。
-
轮询访问:
- 集中式轮询:由控制站轮流邀请每个站点发送。
- 令牌传递:令牌在各站点间按固定次序传递,获得令牌的站点有权发送。
局域网技术
-
以太网(Ethernet):
- 传统以太网:10Mbps,使用 CSMA/CD 算法。
- 快速以太网:100Mbps。
- 千兆以太网:1Gbps。
- 万兆以太网:10Gbps。
- 以太网 MAC 地址:48 位全球唯一地址,前 24 位为厂商代码,后 24 位由厂商分配。
-
无线局域网(WLAN):
- IEEE 802.11 系列标准:802.11a/b/g/n/ac/ax 等。
- 使用 CSMA/CA 机制避免冲突。
- 支持基础结构模式(通过 AP 连接)和自组织模式(设备直接连接)。
网络层
网络层功能
网络层主要负责端到端(End-to-End)的数据传输,其主要功能包括:
- 异构网络互联:连接不同类型的网络。
- 路由与转发:选择数据传输路径,并将数据包从源主机传送到目标主机。
- 拥塞控制:防止网络中的路由器或链路过载。
IP 协议
IP(Internet Protocol)是互联网核心协议,提供无连接、不可靠的数据报服务。
IPv4 地址
IPv4 地址为 32 位,通常表示为四个十进制数,每个数占 8 位,如 192.168.0.1。
IP 地址分类:
- A 类地址:首位为 0,网络号 7 位,主机号 24 位(1.0.0.0 - 126.255.255.255)
- B 类地址:前两位为 10,网络号 14 位,主机号 16 位(128.0.0.0 - 191.255.255.255)
- C 类地址:前三位为 110,网络号 21 位,主机号 8 位(192.0.0.0 - 223.255.255.255)
- D 类地址:前四位为 1110,用于多播(224.0.0.0 - 239.255.255.255)
- E 类地址:前五位为 11110,保留使用(240.0.0.0 - 255.255.255.255)
特殊 IP 地址:
- 网络地址:主机号全为 0,表示网络本身。
- 广播地址:主机号全为 1,表示网络上的所有主机。
- 127.0.0.0/8:环回地址,用于本地回环测试。
子网划分与 CIDR
子网划分:从主机号部分借用若干位作为子网号,将一个网络分成多个子网。
CIDR(Classless Inter-Domain Routing):无类别域间路由,使用”网络前缀/前缀长度”表示,如 192.168.0.0/24。
ARP 协议
ARP(Address Resolution Protocol):解析 IP 地址对应的 MAC 地址。
- 工作过程:主机广播 ARP 请求,包含目标 IP 地址;拥有该 IP 地址的主机回应其 MAC 地址。
- ARP 缓存:主机维护一个 IP 地址到 MAC 地址的映射表,避免频繁 ARP 请求。
ICMP 协议
ICMP(Internet Control Message Protocol):网络控制消息协议,用于传递控制消息。
- 差错报告:目的不可达、参数问题、重定向、超时等。
- 询问报文:回送请求与回答(Ping 命令)、时间戳请求与回答等。
路由选择协议
路由协议负责帮助路由器自动建立并维护路由表。
路由选择算法分类
- 静态路由:由网络管理员手动配置路由表。
- 动态路由:路由器通过路由协议自动更新路由信息。
- 距离向量路由协议:根据跳数选择路径(如 RIP)。
- 链路状态路由协议:考虑链路带宽、延迟等因素(如 OSPF)。
- 路径向量路由协议:结合前两种优点(如 BGP)。
RIP 协议
RIP(Routing Information Protocol):基于距离向量的路由协议。
- 使用跳数作为度量,最大跳数为 15,16 表示不可达。
- 路由器每 30 秒向邻居广播自己的路由表。
- 简单但收敛速度慢,适用于小型网络。
OSPF 协议
OSPF(Open Shortest Path First):基于链路状态的路由协议。
- 使用 Dijkstra 算法计算最短路径。
- 路由器仅在链路状态变化时发送更新。
- 支持区域划分,可用于大型网络。
- 收敛速度快,支持等价多路径。
BGP 协议
BGP(Border Gateway Protocol):自治系统之间的路由协议。
- 路径向量协议,考虑路由策略而非最短路径。
- 通过 TCP 连接交换路由信息,可靠性高。
- 用于 Internet 骨干网路由。
IPv6
IPv6 是下一代 IP 协议,解决 IPv4 地址耗尽问题,并改进了多项功能。
IPv6 地址
IPv6 地址长度为 128 位,通常表示为 8 组 4 位十六进制数,如 2001:0db8:85a3:0000:0000:8a2e:0370:7334。
地址简化规则:
- 省略前导零:2001:db8:85a3:0:0:8a2e:370:7334
- 连续的零块可用”::“替代(一次):2001:db8:85a3::8a2e:370:7334
IPv6 地址类型:
- 单播地址:标识单个接口。
- 多播地址:标识一组接口。
- 任播地址:标识一组接口,但数据包只发送到最近的一个。
IPv6 数据报格式
IPv6 数据报格式简化,固定头部长度为 40 字节,包括:
- 版本(4 位)
- 通信量类(8 位)
- 流标签(20 位)
- 有效载荷长度(16 位)
- 下一个头部(8 位)
- 跳数限制(8 位)
- 源地址(128 位)
- 目的地址(128 位)
IPv4 向 IPv6 过渡技术
- 双栈技术:同时支持 IPv4 和 IPv6。
- 隧道技术:在 IPv4 网络中传输 IPv6 数据包。
- 翻译技术:在 IPv4 和 IPv6 网络之间转换数据包。
网络地址转换
NAT(Network Address Translation)允许私有网络使用私有 IP 地址,通过转换与公网通信。
NAT 原理
- 基本 NAT:只转换 IP 地址。
- 网络地址端口转换(NAPT):同时转换 IP 地址和端口号。
工作过程:
- 内网主机发送数据包到外网。
- NAT 设备记录源 IP 和端口,替换为公网 IP 和新端口。
- 外网主机回应 NAT 的公网 IP 和端口。
- NAT 设备根据记录转发到内网相应主机。
NAT 类型
- 完全锥型 NAT:一旦内部地址映射建立,任何外部主机都可以通过该映射发送数据。
- 地址限制锥型 NAT:只允许内部主机曾经发送过数据的外部 IP 地址通信。
- 端口限制锥型 NAT:只允许内部主机曾经发送过数据的外部 IP 地址和端口通信。
- 对称型 NAT:对每个外部地址和端口的连接使用不同的映射。
多播
多播允许一个源主机向多个目标主机高效发送相同数据。
多播地址
IPv4 多播地址范围为 224.0.0.0 到 239.255.255.255(D 类地址)。 IPv6 多播地址前缀为 FF00::/8。
多播路由选择协议
- IGMP(Internet Group Management Protocol):主机加入或离开多播组的协议。
- PIM(Protocol Independent Multicast):构建多播分发树的协议。
- PIM-DM(密集模式):假设组成员分布广泛,先洪泛后剪枝。
- PIM-SM(稀疏模式):假设组成员分布稀疏,显式加入组播树。
运输层
运输层功能
运输层主要负责进程到进程(Process-to-Process)的数据传输,其主要功能包括:
- 进程间通信:通过端口号标识不同的应用进程。
- 可靠数据传输:保证数据无差错、不丢失、不重复、按序到达。
- 流量控制:避免发送方数据发送过快导致接收方缓冲区溢出。
- 拥塞控制:防止过多数据注入网络导致网络性能下降。
UDP 协议
UDP(User Datagram Protocol)是一种简单、无连接的传输协议。
UDP 数据报格式
UDP 报文段包含 8 字节的首部和数据部分:
- 源端口号(16 位)
- 目的端口号(16 位)
- 长度(16 位):UDP 报文段的总长度(首部+数据)。
- 校验和(16 位):检验 UDP 报文段在传输过程中是否有错误。
UDP 特点
- 无连接:不需要建立连接就可以发送数据。
- 不可靠:不保证数据一定到达,不进行重传。
- 无序:不保证按序到达。
- 无流量控制:不控制发送速率。
- 无拥塞控制:不会根据网络状况调整发送速率。
- 首部开销小:仅 8 字节,比 TCP 的 20 字节小。
TCP 协议
TCP(Transmission Control Protocol)是一种可靠的、面向连接的传输协议。
TCP 报文段格式
TCP 报文段首部长度为 20 字节(不含选项),主要字段包括:
- 源端口号(16 位)
- 目的端口号(16 位)
- 序号(32 位):表示本报文段数据的第一个字节在流中的序号。
- 确认号(32 位):期望收到对方下一个报文段的序号。
- 数据偏移(4 位):表示首部长度,以 4 字节为单位。
- 保留(6 位):保留字段,目前必须置 0。
- 标志位(6 位):URG、ACK、PSH、RST、SYN、FIN。
- 窗口大小(16 位):接收窗口大小,用于流量控制。
- 校验和(16 位):检验 TCP 报文段在传输过程中是否有错误。
- 紧急指针(16 位):当 URG 标志为 1 时有效,指向紧急数据的最后一个字节。
- 选项(可变长度):最大报文段长度、窗口扩大等。
TCP 连接管理
TCP 连接建立(三次握手):
- 客户端发送 SYN=1,seq=x 的报文段。
- 服务器回应 SYN=1,ACK=1,seq=y,ack=x+1 的报文段。
- 客户端发送 ACK=1,seq=x+1,ack=y+1 的报文段。
TCP 连接释放(四次挥手):
- 客户端发送 FIN=1,seq=u 的报文段。
- 服务器回应 ACK=1,ack=u+1 的报文段。
- 服务器发送 FIN=1,ACK=1,seq=v,ack=u+1 的报文段。
- 客户端回应 ACK=1,seq=u+1,ack=v+1 的报文段。
TCP 可靠传输
TCP 使用以下机制保证可靠传输:
- 序号与确认号:标识数据和确认数据。
- 超时重传:发送方在规定时间内未收到确认就重传。
- 校验和:检测数据是否损坏。
- 失序重排:接收方重新排列失序的报文段。
可靠传输原理
停止-等待协议
工作原理:
- 发送方发送一个分组,然后等待确认。
- 收到确认后,发送下一个分组。
- 超时未收到确认,重传上一个分组。
缺点:信道利用率低,尤其在高延迟网络中。
滑动窗口协议
滑动窗口协议允许发送方在等待确认的同时发送多个分组,提高信道利用率。
- 发送窗口:发送方允许发送的数据范围。
- 接收窗口:接收方允许接收的数据范围。
流量控制
TCP 流量控制基于滑动窗口机制,接收方根据自身处理能力调整窗口大小,发送方根据窗口大小控制发送速率。
- 接收方在确认报文中告知可用缓冲区大小(接收窗口)。
- 发送方保证已发送但未确认的数据量不超过接收窗口。
- 零窗口探测:当接收窗口为 0 时,发送方定期发送探测报文。
拥塞控制
TCP 拥塞控制算法包括:
- 慢启动:初始拥塞窗口小,指数增长直到达到阈值。
- 拥塞避免:阈值后线性增长,避免网络拥塞。
- 快速重传:收到 3 个重复确认立即重传,不等待超时。
- 快速恢复:重传后直接进入拥塞避免阶段,不执行慢启动。
TCP 拥塞控制的核心思想是”加性增、乘性减”,即在没有拥塞时窗口大小线性增加,发生拥塞时窗口大小乘性减少。
应用层
域名系统
DNS(Domain Name System)是互联网的分布式数据库,用于将域名转换为 IP 地址。
域名结构
域名结构是分层的,从右到左依次为顶级域、二级域和子域。
- 顶级域:如.com、.org、.net、.edu、.gov、国家顶级域(如.cn、.uk)等。
- 二级域:注册实体的名称,如 google.com 中的 google。
- 子域:组织内部划分,如 mail.google.com 中的 mail。
域名解析过程
- 客户端查询本地域名缓存。
- 如缓存中没有,向本地域名服务器查询。
- 如本地域名服务器无法解析,向根域名服务器查询。
- 根域名服务器返回顶级域名服务器地址。
- 本地域名服务器向顶级域名服务器查询。
- 顶级域名服务器返回权威域名服务器地址。
- 本地域名服务器向权威域名服务器查询。
- 权威域名服务器返回 IP 地址。
- 本地域名服务器将 IP 地址返回给客户端。
DNS 报文格式
DNS 报文分为查询报文和响应报文,结构相同,包括:
- 报文头部:包含标识符、标志位等。
- 问题部分:包含请求的域名和类型。
- 回答部分:包含域名对应的资源记录。
- 权威域名服务器部分:包含权威域名服务器的信息。
- 附加信息部分:包含其他有用信息。
文件传输协议
FTP(File Transfer Protocol)是用于在客户端和服务器之间传输文件的协议。
FTP 协议原理
FTP 使用两个并行的 TCP 连接:
- 控制连接(端口 21):用于传输命令和响应。
- 数据连接(端口 20 或随机):用于传输文件。
FTP 有两种工作模式:
- 主动模式:服务器主动连接客户端数据端口。
- 被动模式:客户端主动连接服务器数据端口。
FTP 命令
常用 FTP 命令包括:
- USER:指定用户名。
- PASS:指定密码。
- CWD:更改工作目录。
- LIST:列出目录内容。
- RETR:下载文件。
- STOR:上传文件。
- QUIT:退出 FTP 会话。
电子邮件
电子邮件系统由用户代理、邮件服务器和邮件协议组成。
电子邮件系统组成
- 用户代理(Mail User Agent, MUA):用户收发邮件的客户端软件。
- 邮件服务器:存储和转发邮件。
- 邮件传输协议:在邮件服务器之间传输邮件(SMTP)。
- 邮件访问协议:用户从服务器获取邮件(POP3、IMAP)。
SMTP 协议
SMTP(Simple Mail Transfer Protocol)是发送邮件的协议。
- 使用 TCP 端口 25。
- 基于文本的命令和响应。
- 只能发送 ASCII 文本,需要对二进制文件进行编码(如 MIME)。
POP3 协议
POP3(Post Office Protocol version 3)是一种简单的邮件获取协议。
- 使用 TCP 端口 110。
- 通常将邮件下载到本地,然后从服务器删除。
- 不支持在多设备间同步邮件状态。
IMAP 协议
IMAP(Internet Message Access Protocol)是一种更高级的邮件获取协议。
- 使用 TCP 端口 143。
- 邮件保存在服务器上,支持多设备访问和同步。
- 支持在服务器上创建、删除和管理文件夹。
- 支持搜索和部分下载邮件。
万维网
万维网(World Wide Web, WWW)是一个基于 HTTP 协议和 HTML 语言的分布式信息系统。
HTTP 协议
HTTP(HyperText Transfer Protocol)是万维网使用的协议。
主要版本:
- HTTP/1.0:每次请求都建立新的 TCP 连接。
- HTTP/1.1:支持持久连接,多个请求使用同一 TCP 连接。
- HTTP/2:支持多路复用,头部压缩等特性。
- HTTP/3:基于 QUIC 协议,进一步提高性能和安全性。
HTTP 方法:
- GET:请求指定资源。
- POST:提交数据处理请求。
- PUT:上传指定资源。
- DELETE:删除指定资源。
- HEAD:获取响应头。
- OPTIONS:获取支持的方法。
HTTP 状态码:
- 1xx:信息响应。
- 2xx:成功响应,如 200 OK。
- 3xx:重定向,如 301 Moved Permanently。
- 4xx:客户端错误,如 404 Not Found。
- 5xx:服务器错误,如 500 Internal Server Error。
HTML 语言
HTML(HyperText Markup Language)是创建网页的标准标记语言。
- 使用标签来描述网页结构和内容。
- 结合 CSS 控制页面样式,JavaScript 添加交互功能。
URL
URL(Uniform Resource Locator)是 Web 资源的地址,格式为:
协议://主机:端口/路径?查询#片段
例如:https://www.example.com:443/path/page.html?id=123#section
动态主机配置协议
DHCP(Dynamic Host Configuration Protocol)用于自动分配 IP 地址和其他网络配置。
DHCP 协议原理
DHCP 客户端获取 IP 地址的过程:
- DHCP 发现(DHCPDISCOVER):客户端广播寻找 DHCP 服务器。
- DHCP 提供(DHCPOFFER):服务器提供 IP 地址和配置。
- DHCP 请求(DHCPREQUEST):客户端请求使用提供的 IP 地址。
- DHCP 确认(DHCPACK):服务器确认分配 IP 地址。
DHCP 报文格式
DHCP 报文主要字段包括:
- 操作码:指定报文类型(请求或应答)。
- 硬件类型:指定网络类型(如以太网)。
- 硬件地址长度:指定 MAC 地址的长度。
- 事务 ID:客户端产生的随机数,用于匹配请求和响应。
- 客户端 IP 地址:客户端当前 IP 地址。
- 分配的 IP 地址:服务器分配给客户端的 IP 地址。
- 服务器 IP 地址:DHCP 服务器的 IP 地址。
- 选项:包含子网掩码、路由器 IP、DNS 服务器 IP 等信息。