IP网络基础知识笔记

一、IP地址与子网

  1. IP地址结构:IP = 网络号 + 主机号
  2. 子网的作用:通过构建子网提高数据传输效率
  3. 路由原理:数据包转发时,先查找网络号,再确定主机号
  4. DHCP技术:路由器自动分配IP地址
  5. 出入口路由器:配置公网IP,实现内外网的连接

1. IP地址分类与子网划分

  1. ABCDE类地址:传统IP地址分类
  2. 子网掩码与CIDR
    1. 子网掩码(mask)通常以0结尾,其余为1,与IP地址按位与操作确定网络号
    2. 通过设置1的个数,灵活调整网络号数量,提高IP利用率
  3. 子网地址范围:每个子网最多可容纳的主机数
    1. 0为全网络号,FF为广播地址,因此地址范围需减去2
  4. 网络号计算:IP地址按位与子网掩码得到网络号

2. IP地址资源与分配

  1. IP地址资源有限,运营商会抢占资源用于子网构建
  2. 私有IP地址:可多份复用,不能在公网出现,易重复
  3. 公网IP地址:全球唯一,仅一份
NAT与路由
  1. NAT(网络地址转换)
    1. 路由器将内网IP替换为WAN口公网IP,实现内外网通信
    2. 运营商可控制报文是否转发到公网
  2. 路由表
    1. 记录路由条目,采用如BGP等交换算法
    2. 路由器既属于上一级网络(自有IP),又连接下一级网络(WAN口IP)

3. 网络通信流程

  1. 地区范围常用公网IP,小范围用内网IP
  2. 出入口路由器:连接公网与内网
  3. 路由查找过程
    1. 到达路由器后,数据包与每个子网掩码按位与,匹配网络地址,按路由表选择下一跳,直至到达目标地址
  4. 公网与内网路由表算法复杂度不同

二、数据链路层与分片机制

  1. 数据链路层:接收上层报文,最大传输单元(MTU)为1500字节
  2. 分片机制
    1. 超过MTU需在网络层分片和组装
    2. 任何一个分片丢失,整个报文丢失
    3. 过多分片会增加丢包概率,应尽量减少

1. 分片与组装细节

  1. 分片控制:传输层最多传输1460字节(MSS,最大段尺寸),IP报头20字节,TCP报头20字节
  2. 滑动窗口分段:避免超出1460字节
  3. 分片标识
    1. 不同报文有不同标识
    2. 相同报文分片标识相同
  4. 组装流程
    1. 判断是否分片
      1. “更多分片”位为1,表示有分片
      2. “更多分片”位为0但片偏移不为0,也为分片
      3. 否则为未分片
    2. 分片收集
      1. 相同标识分片聚合
      2. 缺片情况:首片丢失(无偏移为0),中间丢失(片偏移不连续),末片丢失(无更多分片为0)
    3. 分片组装完成

三、网络层与通信流程

  1. 网络转发本质:子网间转发
  2. 数据发送:局域网到局域网传输
  3. 各层职责
    1. 应用层:报文交互
    2. 传输层:传输可靠性
    3. 网络层:长距离传输与路径选择
    4. 数据链路层:局域网/子网通信

四、以太网与局域网通信

  1. 以太网:最广泛的局域网技术
  2. 帧格式
    1. 封装:固定长度协议
    2. 分用(帧类型)
      1. 0800(IP)
      2. 0806(ARP)
      3. 0835 (RARP)
  3. 数据包分片:路由器也可能分片
  4. MSS协商:TCP建立连接时协商MSS(最小值为准,TCP首部40字节变长选项kind=2)
  5. 局域网特性
    1. 局域网是碰撞域,同一时刻只能发送一个数据帧
    2. 以太网实现资源互斥,数据帧越少越好
    3. 数据帧长度有限制,MTU范围46~1500字节

1. ARP协议与MAC地址

  1. ARP协议:将IP地址转换为对应的MAC地址(地址解析协议),协议类型0806,固定报头28字节
  2. ARP工作流程
    1. 广播目标主机IP地址
    2. 目标主机应答,返回MAC地址
  3. ARP缓存:主机会缓存IP与MAC映射关系,缓存有限时长
  4. 路由表配置:仅配置IP,通过ARP获取MAC
  5. IP地址长久不变,MAC地址可能变化

2. NAT与端口映射

  1. NAT过程:不仅替换源IP,还可能替换端口号
  2. NAT表:维护公网IP与内网IP的转换关系
  3. 端口映射
    1. 私有IP+端口 = 内网唯一进程
    2. WAN IP+端口 = 全网唯一

五、代理与网络穿透

  1. 正向代理:缓冲、监控
  2. 反向代理:缓解服务器压力,负载均衡
  3. 动静态资源分离CDN(云服务)图床
  4. 内网穿透:如frp软件(frpc、frps实现),P2P打洞,基于内网穿透的直播模式

1. 交换机与数据链路层

  1. 交换机:减少报文冲突概率,划分碰撞域,工作在数据链路层

六、面试常见问题

请详细描述从浏览器发起HTTP请求,到得到网页的整个过程。

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐