计算机网络(第七版)知识点

一、网络基础与设备

1. 主机与地址

  • 主机(Host) :每个主机都有唯一的 IP地址(Internet Protocol Address,互联网协议地址)MAC地址(Media Access Control Address,介质访问控制地址)
  • IP地址(IPv4与IPv6)
    • IPv4:32位,通常以点分十进制表示(如192.168.1.1),分为网络部分和主机部分。
    • IPv6:128位,使用冒号分隔的十六进制表示(如2001:0db8:85a3:0000:0000:8a2e:0370:7334),解决IPv4地址耗尽问题。
  • MAC地址:48位,通常以十六进制表示,用于链路层设备的唯一标识。

2. 网络设备

  • 集线器(Hub):最初用于连接多个主机,通过广播方式传输数据,缺乏智能转发能力和帧缓存。
  • 交换机(Switch) :通过 交换表(Switch Table) 存储 MAC地址 与对应接口的映射,实现数据的定向转发。采用 自学习机制(Self-learning Mechanism),能够缓存帧并向指定端口转发,提高网络效率。
  • 路由器(Router) :在不同网络之间转发数据包,根据 路由表(Routing Table) 选择最佳路径。包含输入端口、交换结构和输出端口,处理数据包的解封装与重新封装。

3.数据在网络中的传输过程

(1) 同子网内的通信

  • ARP表查询:主机A希望向主机B发送数据,首先检查主机A的ARP表,查看是否存在主机B的IP地址对应的MAC地址。

    • ARP表存在映射:直接使用该MAC地址封装数据帧,通过交换机发送。

    • ARP表无映射:主机A广播ARP请求,请求主机B的MAC地址。

  • ARP请求广播:交换机收到ARP请求后,若其MAC地址表中无主机B的MAC地址,会将ARP请求广播到所有端口。

  • ARP响应:主机B收到ARP请求后,向主机A发送ARP响应,包含自己的MAC地址。

  • 更新ARP表和MAC地址表:主机A和交换机分别更新各自的ARP表和MAC地址表。

  • 数据传输:主机A使用主机B的MAC地址封装数据帧,通过交换机发送到主机B。

(2) 不同子网间的通信

  • 默认网关查询:主机A发现目标IP地址不在同一子网,通过ARP获取默认网关(路由器端口)的MAC地址。

  • 数据传输到路由器:主机A将数据帧发送到默认网关的MAC地址,交换机根据MAC地址表将数据转发到路由器。

  • 路由表查询:路由器检查路由表,确定数据包的下一跳。

    • 路由表存在路径:路由器将数据包从相应端口转发。

    • 路由表无路径:路由器返回"路由不可达"信息。

  • 跨子网传输:数据包经过多个路由器转发,最终到达目标子网的路由器。

  • 目标子网内传输:目标子网的路由器将数据包发送到目标主机所在的交换机,交换机根据MAC地址表或ARP表将数据转发到目标主机。


二、网络分层模型与协议

1. TCP/IP五层模型

  • 应用层(Application Layer) :负责网络应用和数据处理,如 HTTP(HyperText Transfer Protocol,超文本传输协议)DNS(Domain Name System,域名系统)
  • 传输层(Transport Layer) :提供端到端的通信服务,主要协议有 TCP(Transmission Control Protocol,传输控制协议)UDP(User Datagram Protocol,用户数据报协议)
  • 网络层(Network Layer) :负责数据包的路由与转发,主要协议有 IPv4IPv6
  • 链路层(Link Layer) :处理物理网络上的数据传输,涉及 MAC地址ARP(Address Resolution Protocol,地址解析协议)
  • 物理层(Physical Layer) :负责比特流的实际传输,通过 网线(Ethernet Cable)光纤(Fiber Optic Cable) 等物理介质进行信号传输。

2. 数据封装与解封装

(1) Sender(发送端)的封装过程

  • Application Layer(应用层)

    • 数据从应用程序生成,封装为 Message(消息)
  • Transport Layer(传输层)

    • Message(消息) 封装为 Segment(段),添加传输层头部(如TCP/UDP头部),包含端口号等信息。
  • Network Layer(网络层)

    • Segment(段) 封装为 Datagram(数据报),添加网络层头部(如IP头部),包含源IP地址和目标IP地址。
  • Link Layer(链路层)

    • Datagram(数据报) 封装为 Frame(帧),添加链路层头部(如以太网头部),包含源MAC地址和目标MAC地址。
  • Physical Layer(物理层)

    • Frame(帧) 转换为 Bitstream(比特流),通过物理介质(如网线、光纤)传输。

(2) Switch(交换机)的处理过程

  • Physical Layer(物理层)

    • 接收 Bitstream(比特流) ,将其转换为 Frame(帧)
  • Link Layer(链路层)

    • Frame(帧) 中提取目标 MAC Address(MAC地址) ,查询 Switch Table(交换表),决定从哪个端口转发。
  • Physical Layer(物理层)

    • Frame(帧) 重新封装为 Bitstream(比特流) ,通过物理介质发送到 Router(路由器)

(3) Router(路由器)的处理过程

  • Physical Layer(物理层)

    • 接收 Bitstream(比特流) ,将其转换为 Frame(帧)
  • Link Layer(链路层)

    • 解封装 Frame(帧) ,提取 Datagram(数据报)
  • Network Layer(网络层)

    • Datagram(数据报) 中提取目标 IP Address(IP地址) ,查询 Router Table(路由表),决定从哪个端口转发。
  • Link Layer(链路层)

    • Datagram(数据报) 重新封装为 Frame(帧),添加新的链路层头部(如新的MAC地址)。
  • Physical Layer(物理层)

    • Frame(帧) 转换为 Bitstream(比特流) ,通过物理介质发送到下一个 Router(路由器)Switch(交换机)

(4) Receiver(目标端)的解封装过程

  • Physical Layer(物理层)

    • 接收 Bitstream(比特流) ,将其转换为 Frame(帧)
  • Link Layer(链路层)

    • 解封装 Frame(帧) ,提取 Datagram(数据报)
  • Network Layer(网络层)

    • 解封装 Datagram(数据报) ,提取 Segment(段)
  • Transport Layer(传输层)

    • 解封装 Segment(段) ,提取 Message(消息)
  • Application Layer(应用层)

    • Message(消息) 传递给目标应用程序。

1. 以太网交换与ARP

  • 以太网交换(Ethernet Switching)
    • 集线器(Hub):广播数据,存在广播风暴和冲突问题。
    • 交换机(Switch) :使用 交换表(Switch Table) 根据 MAC地址 定向转发数据(通过ARP表),提升网络效率。
  • 地址解析协议(ARP)
    • IP地址 转换为 MAC地址
    • ARP表(ARP Table) :存储 IP地址MAC地址 的映射关系。
    • ARP请求(ARP Request) :广播请求目标 MAC地址
    • ARP应答(ARP Reply) :目标主机响应并提供 MAC地址 ,交换机更新 交换表

2. 错误检测与纠正

  • 错误检测码(Error Detection Code,EDC)
    • 奇偶校验(Parity Check):包括奇校验和偶校验,通过增加一位校验位使1的个数符合要求。
    • 校验和(Checksum):对数据进行求和,检测传输错误。
    • 循环冗余校验(CRC,Cyclic Redundancy Check):利用多项式除法生成校验码,检测复杂错误。需要发送方与接收方互相约定一个数G,先获取这个数G的位数,然后这个位数减去一个位数就是CRC的位数r,所以G的位数是r+1,最后需要保证的点是数据D乘2的r次方再加上r位的CRC(这里加法不进位,所以就是异或操作)得到的结果除G得能够被整除,就说明这个frame没有损坏。

3. 媒体访问控制协议

  • 多路访问协议(Media Access Protocol)
    • 分信道多路复用(Channel Partitioning)
      • 时分多路复用(TDMA,Time Division Multiple Access):将时间划分为时隙,分配给不同设备。
      • 频分多路复用(FDMA,Frequency Division Multiple Access):将频谱划分为不同频段。
      • 码分多路复用(CDMA,Code Division Multiple Access):通过不同码序列区分信号。
    • 随机接入协议(Random Access Protocols)
      • ALOHA
        • 纯ALOHA(Pure ALOHA):设备随机发送数据,冲突率高。
        • 时隙ALOHA(Slotted ALOHA):时间划分为时隙,减少冲突概率。
      • 载波监听多路访问(CSMA,Carrier Sense Multiple Access)
        • CSMA/CD(CSMA with Collision Detection,带冲突检测的CSMA):检测到冲突后立即停止发送并重试。
    • 轮流协议(Taking Turns Protocols)
      • 轮询协议(Polling Protocol):主节点轮询各个从节点,控制发送权限。
      • 令牌传递协议(Token Passing Protocol):持有令牌的节点可发送数据,发送后将令牌传给下一个节点。

4. 最大传输单元(MTU)

  • MTU(Maximum Transmission Unit,最大传输单元) :链路层能传输的最大帧大小,超出需进行 分片(Fragmentation)
  • 分片(Fragmentation)
    • 标识(Identification):唯一标识同一原始数据报的所有分片。
    • 标志(Flags)
      • 第一个标志位:保留,通常为0。
      • 第二个标志位:不分片(DF,Don't Fragment),1表示不允许分片。
      • 第三个标志位:更多分片(MF,More Fragments),1表示后续还有分片。
    • 片偏移(Fragment Offset):指示当前分片在原始数据报中的位置,以8字节为单位。

四、网络层(Network Layer)

1. IP协议

IPv4数据报格式

  • 版本(Version):IPv4为4。
  • 首部长度(IHL,Internet Header Length):通常为20字节。
  • 服务类型(TOS,Type of Service):指示服务质量需求。
  • 总长度(Total Length):整个数据报的长度。
  • 标识(Identification)、标志(Flags)、片偏移(Fragment Offset):用于数据报分片与重组。
  • 生存时间(TTL,Time To Live) :每经过一个路由器减1,减至0时丢弃并发送 ICMP超时消息(ICMP Time Exceeded Message)
  • 协议(Protocol):指示上层协议,如TCP或UDP。
  • 头部校验和(Header Checksum):校验头部数据。
  • 源IP地址和目标IP地址

IPv6数据报格式

  • 版本(Version):IPv6为6。
  • 流标签(Flow Label):标识数据流的优先级。
  • 负载长度(Payload Length):数据部分的长度。
  • 下一个头部(Next Header):指示传输层协议。
  • 跳数限制(Hop Limit):类似TTL,每经过一个路由器减1。
  • 源地址和目标地址:128位。
  • 特点
    • 无校验和。
    • 不支持分片,取消了选项字段。
    • 需通过 隧道(Tunnel) 技术与 IPv4 互通。

2. 路由与转发

  • 转发(Forwarding) :由 路由器(Router) 根据 路由表(Routing Table) 将数据从一个接口转发到另一个接口。
  • 路由(Routing) :由 控制面板(Control Plane) 通过 路由算法(Routing Algorithm) 决定数据报路径并构建路由表。

3. 路由算法与协议

  • 路由算法
    • 链路状态算法(Link State Algorithm)
      • 例如 Dijkstra算法
      • 每个路由器通过 链路状态通告(LSA) 向整个网络广播自己的链路状态信息(如连接的邻居和链路成本)。每个路由器收集所有LSA,构建全局网络拓扑图(链路状态数据库)。每台路由器各自使用 最短路径算法(如Dijkstra算法)计算到其他网络的最短路径。当某个router的链路状态发生变化的时候,该router立即广播LSA。
    • 距离矢量算法(Distance Vector Algorithm)
      • 每个路由器维护 距离矢量表(Distance Vector Table),记录到其他网络的距离和下一跳路由器。
      • 定期向邻居路由器发送信息,更新路由表。
      • 毒性逆转(Poison Reverse) :解决计数到无限(Counting to Infinity) 问题(但不能根除),通过将路由信息设为无穷大来隔离错误路由。
  • 路由协议
    • 内部网关协议(Interior Gateway Protocol,IGP)
      • RIP(Routing Information Protocol,路由信息协议):基于距离矢量算法,每30秒向邻居路由器广播传递advertisement(这个advertisement中包含了这个router到其他subnet的hops信息,就是每一行列举了一个subnet以及这个router到这个subnet需要经历的hops,每个通告最多包含25个subnet的信息,通告报文是通过UDP协议来传送),每台router都会根据自己的routing table和收到的advertisement来重新构建自己的路由表
      • OSPF(Open Shortest Path First,开放最短路径优先):基于链路状态算法,构建全局拓扑图并计算最短路径。
    • 外部网关协议(Exterior Gateway Protocol,EGP)
      • BGP(Border Gateway Protocol,边界网关协议) :用于 自治系统(Autonomous System,AS) 之间的路由,边界路由器(Border Router) :通过eBGP从外部AS学习路由信息。通过iBGP将路由信息传播给AS内部的其他路由器。内部路由器(Internal Router):通过iBGP从边界路由器接收外部路由信息。根据路由策略和路径属性选择最佳路径。

4. 地址解析与转换

  • 地址解析协议(ARP) :将 IP地址 转换为 MAC地址
  • 网络地址转换(NAT,Network Address Translation)
    • 将私有 IP地址(LAN Side Address,局域网侧地址) 转换为公有 IP地址(WAN Side Address,广域网侧地址) ,解决 IPv4地址短缺 问题。
    • NAT转换表(NAT Translation Table):记录私有IP地址与端口到公有IP地址与端口的映射。
    • NAT Traversal :外部请求访问内部网络的解决方案:
      • 转发外部请求到特定的内部私有IP地址。
      • 使用 UPnP(Universal Plug and Play,通用即插即用) 自动配置端口映射规则。

5. ICMP协议

  • ICMP(Internet Control Message Protocol,互联网控制消息协议)
    • 网络不可达消息:通知发送方目标网络或主机不可达。
    • TTL超时消息:数据包超过TTL限制时发送超时通知。
    • 常用工具
      • Ping:发送ICMP请求测试连通性。
      • Traceroute:利用ICMP逐跳显示路由路径。

五、传输层(Transport Layer)

1. TCP与UDP

  • TCP(Transmission Control Protocol,传输控制协议)
    • 面向连接(Connection-oriented):需要建立连接后传输数据。
    • 可靠传输 :通过 确认应答(ACK,Acknowledgement)重传机制 保证数据可靠到达。
    • 流量控制(Flow Control) :使用 窗口机制(Window Mechanism) 控制发送速率,防止接收端缓存溢出。
    • 拥塞控制(Congestion Control) :通过 慢启动(Slow Start)拥塞避免(Congestion Avoidance) 等算法动态调整发送速率。
    • 三次握手(Three-way Handshake):建立连接的过程。
    • 四次挥手(Four-way Handshake):断开连接的过程。
  • UDP(User Datagram Protocol,用户数据报协议)
    • 无连接(Connectionless):无需建立连接,直接发送数据。
    • 不保证可靠性:不保证数据包的顺序和完整性,适用于实时应用。

2. 可靠数据传输协议

可靠数据传输协议(Reliable Data Transfer, RDT)下的停止等待协议(Stop-and-Wait)是RDT的一种简单实现,以下是rdt1.0到rdt3.0的进化

版本 解决的问题 新增机制 特点
rdt1.0 理想信道,无错误检测和重传机制。
rdt2.0 比特错误 校验和、ACK、NAK 检测比特错误,支持重传。
rdt2.1 ACK/NAK错误 序列号 解决ACK/NAK错误问题。
rdt2.2 简化协议 去掉NAK,仅使用ACK 简化设计,隐式表示是否需要重传。
rdt3.0 丢包 超时重传 解决丢包问题,实现真正的可靠传输。

rdt3.0

  • 发送方
    1. 发送数据包并启动定时器。
    2. 接收到 ACK(Acknowledgement,确认应答) 后,停止定时器并发送下一个数据包。
    3. 如果定时器超时,重传数据包。
  • 接收方
    1. 接收数据包并检查序列号。
    2. 如果数据包正确且序列号匹配,发送ACK。
    3. 如果数据包重复,丢弃并重新发送上一个ACK。
  • 协议对比
    • 停止等待协议(Stop-and-Wait Protocol):每个分组到达后才发送ACK,效率较低。
    • 流水线协议(Pipeline Protocol) :分组到达即发送ACK,允许多个分组在传输中,提高效率。
      • GBN(Go-Back-N):如果到达的分组不是期待的顺序的分组,也还是会发送ACK,但是是前一个分组的ACK,如果到达的分组是期待的分组的ACK,则发这个分组的ACK,代表之前的分组都到达了。
      • SR(Selective Repeat) :如果到达的分组不是期待的顺序的分组,也会发这个分组的ACK(并缓存它),GBN 中的丢失分组的重传靠前一个分组的ACK,SR中丢失分组的重传靠该分组的定时器超时。

GBN和SR的对比

特性 Go-Back-N (GBN) Selective Repeat (SR)
窗口大小 发送窗口大小为 NN。 发送窗口和接收窗口大小均为 NN。
乱序数据包处理 接收方丢弃乱序数据包。 接收方缓存乱序数据包。
重传机制 超时后重传所有未确认的数据包。 超时后只重传丢失的数据包。
ACK机制 累积ACK,发送最近按序接收的数据包的ACK。 单独ACK,为每个接收的数据包发送ACK。
实现复杂度 简单。 复杂,需要为每个数据包维护定时器和缓存。
带宽利用率 较低,因为可能重传大量数据包。 较高,因为只重传丢失的数据包。
适用场景 适合错误率较低的网络环境。 适合错误率较高的网络环境。

3. TCP连接管理

唯一确定TCP连接 :通过 套接字(Socket,四元组:源IP地址、目标IP地址、源端口、目标端口) 唯一标识一个TCP连接。

三次握手(Three-way Handshake)

  1. SYN:客户端发送带有随机序列号的SYN标志位报文段。
  2. SYN-ACK:服务器响应,带有自己的序列号和确认号。
  3. ACK:客户端发送确认报文,连接建立。

四次挥手(Four-way Handshake)

  1. 客户端发送带FIN标志位的报文段,表示关闭连接。
  2. 服务器确认并发送ACK。
  3. 服务器发送带FIN标志位的报文段。之后服务器端就先关闭了连接。
  4. 客户端确认并关闭连接。

4. TCP流量控制与拥塞控制

  • 流量控制(Flow Control)
    • 接收窗口(Receive Window):接收方通知发送方可接收的字节数,防止发送过快导致接收端缓存溢出。
    • 接收方: rcvbuffer>=lastbytercvd(进入缓存)-lastbyteread(出缓存)
    • 发送方:rcvwindow>=lastbytesent(进入缓存)-lastbyteacked(出缓存)
  • 拥塞控制(Congestion Control)
    • 拥塞窗口(Congestion Window,CongWin):控制发送速率。
    • 慢启动(Slow Start) :CongWin初始为1个最大报文段(MSS),这个阶段每经历一次RTT, 每收到一个ACK,**CongWin大小就乘2,**呈指数增长。
    • 拥塞避免(Congestion Avoidance) :CongWin超过阈值(Threshold)后,线性增长(**每经历一次RTT,**CongWin+1MSS)。
    • 快速重传(Fast Retransmit) :收到连续三个重复ACK时,立即重传丢失的报文段,并调整CongWin。Threhold设置为当前Congwin的二分之一,Congwin设置为Threhold+3,进入CA阶段。
    • 超时重传(Timeout Retransmission):定时器超时时,CongWin重置为1MSS,重新进入慢启动阶段。

5. 超时间隔(Timeout Interval)

  • 计算公式
    • EstimatedRTT = (1 - α) × EstimatedRTT + α × SampleRTT,α = 0.125(1/8)。
    • DevRTT = (1 - β) × DevRTT + β × |SampleRTT - EstimatedRTT|,β = 0.25(1/4)。
    • Timeout Interval = EstimatedRTT + 4 × DevRTT。

六、应用层(Application Layer)

1. 应用层架构

  • 客户端-服务器模型(Client-Server Model)
    • 服务器(Server):在特定端口上监听,等待客户端请求。
    • 客户端(Client):发送请求并接收服务器响应。
  • 对等网络模型(Peer-to-Peer Model)
    • 每个节点既能作为客户端,也能作为服务器,节点之间可以直接通信,无需中央服务器。

2. HTTP协议

HTTP(HyperText Transfer Protocol,超文本传输协议)

  • 请求与响应:客户端发送HTTP请求,服务器返回响应。
  • 连接管理
    • 非持续连接(Non-Persistent Connection)
      • 串行非持续连接(Serial Non-Persistent Connection):一次只建立一个TCP连接,传输完后关闭,每个请求需要一个RTT。
      • 并行非持续连接(Parallel Non-Persistent Connection):允许多个并行连接,提高传输效率。
    • 持续连接(Persistent Connection)
      • 一个TCP连接可传输多个HTTP请求,减少连接建立次数。
      • 管道化(Pipelining):允许多个请求在一个连接中并行发送,提高效率。

Web缓存(Web Cache / Proxy Server)

  • 代理服务器(Proxy Server):缓存最近请求的对象,减少重复访问,提高响应速度。

3. 域名系统(DNS)

  • DNS(Domain Name System,域名系统)
    • 功能:将域名转换为对应的IP地址。
    • 传输层协议:UDP
    • 服务器类型
      • 根DNS服务器(Root DNS Server):顶层,负责全局域名解析。
      • 顶级域DNS服务器(Top-Level Domain DNS Server):负责特定顶级域,如 .com。
      • 权威DNS服务器(Authoritative DNS Server):负责具体域名的解析。
      • 本地DNS服务器(Local DNS Server):由ISP或企业维护,负责递归或迭代查询。
    • 查询类型
      • 递归查询(Recursive Query)
        • 由本地DNS服务器完成所有查询工作,客户端等待最终结果。
        • 特点:对客户端更高效,但本地DNS服务器负担较重。
        • 适用场景:客户端通常使用递归查询。
      • 迭代查询(Iterative Query)
        • 本地DNS服务器提供查询线索,客户端逐步查询。
        • 特点:本地DNS服务器负担较轻,但客户端效率较低。
        • 适用场景:DNS服务器之间通常使用迭代查询。

七、网络性能与延迟

1. 网络延迟

  • 节点处理时延(Node Processing Delay):路由器处理数据包所需时间。
  • 排队时延(Queuing Delay):数据包在队列中等待传输的时间。
  • 传输时延(Transmission Delay):数据包通过链路传输所需时间,计算公式:L(数据包大小)/ 带宽。
  • 传播时延(Propagation Delay):信号在链路上传播所需时间,计算公式:链路长度 / 信号传播速度。
  • 总节点时延(Total Node Delay):上述四种时延之和。

2. 吞吐量与带宽

  • 带宽(Bandwidth,带宽):链路的传输能力,物理属性,通常以比特每秒(bps)表示。
  • 吞吐量(Throughput,吞吐量):实际传输的数据量,受带宽、延迟和网络状况影响,计算公式:成功传输的数据量 / 传输时间。
  • 区别:带宽是理论上的传输能力,而吞吐量是实际的传输速度。

3. RTT(Round-Trip Time,往返时间)

  • 定义:从发送一个数据包到接收到其确认所需的时间。
  • 影响因素:网络延迟、路由器处理时延、传输时延等。

4. 连接建立与HTTP传输

  • 串行非持续连接(Serial Non-Persistent Connection)
    • 每次建立一个TCP连接,传输完后关闭。
    • 总RTT数目:资源数 × 2 × RTT。
  • 并行非持续连接(Parallel Non-Persistent Connection)
    • 允许多个并行TCP连接,同时传输多个对象。
    • 总RTT数目:约为资源数 / 并行连接数 × RTT。
  • 持续连接(Persistent Connection)
    • 一个TCP连接传输多个请求,减少连接建立次数。
    • 无管道化(Non-Pipelining):每个请求依次发送,总RTT数目:1 + 资源数 × RTT。
    • 管道化(Pipelining):多个请求在一个RTT内并行发送,总RTT数目:2 × RTT。

八、网络核心技术

1. 交换方式

  • 电路交换(Circuit Switching)
    • 在通信前建立固定的信道,连接期间独占带宽。
    • 适用于电话网络,建立连接后传输稳定,但资源利用率较低。
  • 分组交换(Packet Switching)
    • 链路带宽共享,数据被分为分组(Packet),按需在交换机中转发。
    • 适用于互联网,灵活高效,但可能存在延迟和拥塞问题。

2. 路由器内部结构

  • 输入端口(Input Ports)
    1. 接收来自物理层的比特流。
    2. 根据链路层协议解封装为 数据报(Datagram)
    3. 根据数据报中的 IP地址 查找合适的输出端口,并缓存数据报。
  • 交换结构(Switching Fabric)
    • 基于内存(Via Memory):数据通过总线传输到内存,再从内存传输到输出端口,效率较低。
    • 基于总线(Via Bus):直接通过总线在输入和输出端口之间传输,受限于总线带宽。
    • 交叉开关(Crossbar):支持并发转发多个数据报,克服总线带宽限制。
  • 输出端口(Output Ports)
    1. 缓存来自交换结构的数据报。
    2. 根据链路层协议封装为 帧(Frame)
    3. 转换为比特流通过物理层传输。
  • 速度匹配问题
    • 输入端口与输出端口速度不匹配可能导致缓存溢出和数据丢失。

九、网络服务模型与连接类型

1. 网络层服务模型

  • 尽力而为(Best Effort)
    • 不保证带宽、顺序、不丢包、不延迟。
    • 无拥塞反馈机制。
  • 恒定比特率(CBR,Constant Bit Rate)
    • 保证恒定的带宽、无丢包、无乱序、无延迟。
    • 不存在拥塞问题。

2. 连接类型

  • 网络层连接:在两个主机之间建立连接。
  • 传输层连接:在两个进程(Processes)之间建立连接。

十、其他重要概念

1. DHCP协议

  • DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)
    • 功能:动态分配IP地址,支持固定分配和临时分配。
    • 工作流程
      1. Discover :主机发送 DHCP Discover 报文,源IP地址为0.0.0.0,目标地址为广播地址255.255.255.255,包含事务ID。
      2. Offer :DHCP服务器回复 DHCP Offer 报文,推荐IP地址及租用时间。
      3. Request :主机发送 DHCP Request 报文,确认选择的IP地址。
      4. ACK :服务器发送 DHCP ACK 报文,确认IP地址分配。
    • 传输层协议 :使用 UDP(User Datagram Protocol,用户数据报协议)

2. 网络适配器

  • 网络适配器(Network Adapter / NIC,Network Interface Card,网络接口卡)
    • 实现链路层功能,将数据报封装为帧进行传输。
    • 每个适配器有唯一的 MAC地址(48位)。
    • 一个设备拥有多个网络适配器时,拥有多个 MAC地址

3. 网络地址与子网划分

  • IP地址划分
    • 类间地址(Classful Addressing)
      • A类:网络部分8位,主机部分24位。
      • B类:网络部分16位,主机部分16位。
      • C类:网络部分24位,主机部分8位。
    • CIDR(Classless Inter-Domain Routing,无类域间路由)
      • 允许任意位数的网络前缀,通过斜杠表示(如192.168.1.0/24)。
    • 子网掩码(Subnet Mask)
      • 用1表示网络位,0表示主机位。
      • 通过与运算获取子网号。
      • 子网号(Subnet Number):将IP地址与子网掩码进行与运算得到。
相关推荐
黑客老李1 小时前
BaseCTF scxml 详解
开发语言·网络·数据库·python·sql·安全
碎碎思1 小时前
使用 IP 核和开源库减少 FPGA 设计周期
网络·网络协议·tcp/ip·fpga开发
Hacker_LaoYi2 小时前
[CTF/网络安全] 攻防世界 view_source 解题详析
网络·安全·web安全
mgwzz3 小时前
nfs开机自动挂载
linux·服务器·网络
域智盾-运营小韩5 小时前
怎么管理电脑usb接口,分享四种USB端口管理方法
服务器·网络·负载均衡
犹若故人归5 小时前
计算机网络、嵌入式等常见问题简答
java·网络·嵌入式硬件·计算机网络·intellij-idea
LLLuckyGirl~5 小时前
计算机网络之---信号与编码
网络·计算机网络
jiecy5 小时前
OSPF浅析
网络
web135956097056 小时前
桌面运维岗面试三十问
运维·网络
黑客-秋凌7 小时前
计算机网络:网络层
arm开发·计算机网络