计算机网络学习笔记(四)- 网络层(中)

CIDR与路由聚合

无类域间路由(CIDR: Classless InterDomain Routing)

  1. 消除传统的 A 类、B 类和 C 类地址界限
    • NetID+SubID→Network Prefix (Prefix)可以任意长度
  2. 融合子网地址与子网掩码,方便子网划分
    • 无类地址格式:a.b.c.d/x,其中x为前缀长度
  3. 特点
    • 提高IPv4 地址空间分配效率
    • 提高路由效率:将多个子网聚合为一个较大的子网,构造超网(supernetting)
    如下图所示:虽然IP地址200.23.18.023将会匹配到两个子网,但根据最长前缀匹配原则,依然会选择下面的子网,由此可知,当出现网络黑洞,如同上面的子网一样,某一个地址不属于该子网,解决办法时在该IP地址对应的子网上加上这条IP地址,根据最长前缀匹配原则,数据报不会发送错误

DCHP协议

主机如何获取IP地址

  1. 硬编码:静态获取
  2. 动态主机配置协议-DHCP: Dynamic Host Configuration Protocol
    • 从服务器动态获取:
     IP地址
     子网掩码
     默认网关地址
     DNS服务器名称与IP地址
    • “即插即用”
    • 允许地址重用
    • 支持在用地址续租
    • 支持移动用户加入网络
    • DHCP协议在应用层实现
    • DHCP服务器内建于路由器中

DCHP工作过程

  • 主机广播 “DHCP discover”(发现报文)
  • DHCP服务器利用 “DHCP offer” (提供报文) 进行响应
  • 主机请求IP地址: “DHCP request” (请求报文)
  • DHCP服务器分配IP地址: “DHCP ack” (确认报文)
    如下图所示,主机刚入网即进行第一次广播,本机IP地址全0,根据特殊IP地址分配,全0IP地址在本网内代表本机,目的地址全1,全1对应在本网内进行广播,告知全网DHCP服务器为本机分配IP地址,yladdr作为分配IP地址位,可以看出在第二次握手,服务器返回报文的yladdr即为主机的IP地址,第三次握手原因一个是向服务器报告确定使用这个IP地址,但仍然是用的广播方式,这样是告诉本网内其余DHCP服务器,主机已经有了IP地址,不需要在分配了,第四次握手作为服务器给主机的应答信号,确定IP地址可以使用

网络地址转换(NAT)

使用NAT动机

  1. IPv4地址耗尽
  2. 本地网络设备IP地址的变更,无需通告外界网络
  3. 变更ISP时,无需修改内部网络设备IP地址
  4. 内部网络设备对外界网络不可见,即不可直接寻址(安全)

NAT实现

  1. 替换:利用(NAT IP地址,新端口号)替换每个外出IP数据报的(源IP地址,源端口号)
  2. 记录:将每对(NAT IP地址, 新端口号) 与(源IP地址, 源端口号)的替换信息存储到NAT转换表中
  3. 替换:根据NAT转换表,利用(源IP地址, 源端口号)替换每个进入内网IP数据报的(目的IP地址,目的端口号),即(NAT IP地址, 新端口号)

NAT内网穿透

问题:客户期望连接内网地址为10.0.0.1的服务器,客户不能直接利用地址10.0.0.1直接访问服务器,对外唯一可见的地址是NAT地址: 138.76.29.7
解决方案:

  1. 静态配置NAT,将特定端口的连接请求转发给服务器,e.g.,(138.76.29.7, 2500) 总是转发给(10.0.0.1, 25000)
  2. 利用UPnP (Universal Plug and Play) 互联网网关设备协议 (IGD-Internet Gateway Device ) 自动配置,学习到NAT公共IP地址 (138.76.29.7),在NAT转换表中,增删端口映射(与第一种方法殊途同归)
  3. 中继(如Skype):NAT内部的客户与中继服务器建立连接,外部客户也与中继服务器建立连接,中继服务器桥接两个连接的分组

ICMP协议

ICMP报文分类

  1. 差错报告报文(5种)
    • 目的不可达
    • 源抑制(Source Quench)
    • 超时/超期
    • 参数问题
    • 重定向 (Redirect)
  2. 网络探询报文(2组)
    • 回声(Echo)请求与应答报文(Reply)
    • 时间戳请求与应答报文

ICMP报文例外情况

  1. 几种不发送 ICMP差错报告报文的特殊情况:
    • 对ICMP差错报告报文不再发送 ICMP差错报告报文
    • 除第1个IP数据报分片外,对所有后续分片均不发送ICMP差错报告报文
    • 对所有多播IP数据报均不发送 ICMP差错报告报文
  2. 几种 ICMP 报文已不再使用
    • 信息请求与应答报文
    • 子网掩码请求和应答报文
    • 路由器询问和通告报文

ICMP报文格式

IPV6协议

IPV6动机

  1. 32位IPv4地址空间已分配殆尽
  2. 其他动机
    • 改进首部格式
    • 快速处理/转发数据报
    • 支持QoS

IPV6数据报格式

  1. 固定长度的40字节基本首部
  2. 不允许分片
  1. 对比IPV4改变
    • 优先级(priority): 标识数据报的优先级
    • 流标签(flow Label): 标识同一“流”中的数据报
    • 下一个首部(next header): 标识下一个选项首部或上层协议首部(如TCP首部)
    • 校验和(checksum): 彻底移除,以减少每跳处理时间
    • 选项(options): 允许,但是从基本首部移出,定义多个选项首部,通过“下一个首部”字段指示
    • ICMPv6: 新版ICMP,附加报文类型,多播组管理功能

IPV6地址表示形式

  1. 一般形式: 1080:0:FF:0:8:800:200C:417A
  2. 压缩形式: FF01:0:0:0:0:0:0:43
    压缩→ FF01::43
  3. IPv4-嵌入形式: 0:0:0:0:0:FFFF:13.1.68.3
    或 ::FFFF:13.1.68.3
  4. 地址前缀: 2002:43c:476b::/48 (: IPv6不再使用掩码!)
  5. URLs: http://[3FFE::1:800:200C:417A]:8000
发布了14 篇原创文章 · 获赞 0 · 访问量 305

猜你喜欢

转载自blog.csdn.net/wanglizhi3733/article/details/105319241
今日推荐