IP/DHCP/NAT/ICMP

作者: GGBond_8488 | 来源:发表于2020-03-04 19:03 被阅读0次
IP数据报

IP编址

IP分组:源地址(SA)-从哪儿来,目的地址(DA)-到哪儿去

接口(interface): 主机/路由器与物理链路的连接
1.实现网络层功能
2.路由器通常有多个接口
3.主机通常只有一个或两个接口 (e.g.,有线的以太网接口,无线的802.11接口)

IP地址: 32比特(IPv4)编号标识主机、路由器的接口
IP地址与每个接口关联
如何为接口分配IP接口

IP地址:
网络号(NetID) – 高位比特
主机号(HostID) – 低位比特

IP地址
IP子网

IP子网:
IP地址具有相同网络号的设备接口
不跨越路由器(第三及以上层网络设备)可以彼此物理联通的接口


私有网络IP地址

子网划分

IP地址:
网络号(NetID) – 高位比特
子网号(SubID) – 原网络主机号部分比特
主机号(HostID) – 低位比特


image.png
子网掩码

子网掩码确定是否划分了子网,利用多少位划分子网
形如IP地址: 32位, 点分十进制形式
取值:NetID、SubID位全取1,HostID位全取0
A网的默认子网掩码为:255.0.0.0
B网的默认子网掩码为:255.255.0.0
C网的默认子网掩码为:255.255.255.0
借用3比特划分子网的B网的子网掩码为:255.255.224.0

子网地址+子网掩码→准确确定子网大小

将IP分组的目的IP地址与子网掩码按位与运算,提取子网地址

目的IP地址:172.32.1.112,子网掩码:255.255.254.0



子网地址:172.32.0.0(子网掩码:255.255.254.0)
地址范围:172.32.0.0~172.32.1.255
可分配地址范围:172.32.0.1~172.32.1.254
广播地址:172.32.1.255

CIDR

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

  • 消除传统的 A 类、B 类和 C 类地址界限
    NetID+SubID→Network Prefix (Prefix)可以任意长度
  • 融合子网地址与子网掩码,方便子网划分
    无类地址格式:a.b.c.d/x,其中x为前缀长度


  • 提高IPv4 地址空间分配效率
  • 提高路由效率
    将多个子网聚合为一个较大的子网
    构造超网(supernetting)
    路由聚合(route aggregation)

DHCP

一个主机如何获得IP地址?

  • 硬编码
    静态配置


    image.png

默认网关:当前子网内数据报离开该子网时转发的接口(IP),这个接口所在路由器接入该子网的IP就是默认网关

  • 动态主机配置协议-DHCP: Dynamic Host Configuration Protocol
    DHCP(端口号67)在应用层实现
    “即插即用”
    允许地址重用
    支持在用地址续租
    支持移动用户加入网络
    从服务器动态获取:

• IP地址
• 子网掩码
• 默认网关地址
• DNS服务器名称与IP地址



四个255:受限广播地址
yiadrr:与分配给客户端地址为:223.1.2.4
第三次还是广播:可以告诉其他的DHCP服务器,收回他们所预分配的地址

DHCP协议在应用层实现
请求报文封装到UDP数据报中
IP广播
链路层广播(e.g. 以太网广播)

DHCP服务器构造ACK报文包括分配给客户的IP地址、子网掩码、默认网关、DNS服务器地址

NAT(网络地址转换)(工作在网络层涉及到了传输层)

动机:

  • 只需/能从ISP申请一个IP地址( IPv4地址耗尽)
  • 本地网络设备IP地址的变更,无需通告外界网络
  • 变更ISP时,无需修改内部网络设备IP地址
  • 内部网络设备对外界网络不可见,即不可直接寻址(安全)

实现:

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

NAT主要争议:

  • 路由器应该只处理第3层功能
  • 违背端到端通信原则(应用开发者必须考虑到NAT的存在,e.g., P2P应用)
  • 地址短缺问题应该由IPv6来解决

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)互联网网关设备协议 (IGDInternet Gateway Device )自动配置:(自动化解决方案1)
学习到NAT公共IP地址(138.76.29.7)
在NAT转换表中,增删端口映射

解决方案3: 中继(如Skype)
NAT内部的客户与中继服务器建立连接
外部客户也与中继服务器建立连接
中继服务器桥接两个连接的分组

ICMP(互联网控制报文协议)

  • 互联网控制报文协议 ICMP (Internet Control Message Protocol)支持主机或路由器:
    1.差错(或异常)报告
    2.网络探询

  • 两类ICMP 报文:
    差错报告报文(5种)
    1.目的不可达(无法成功交付到目的地,丢弃报文)使用ICMP向源主机报告
    2.源抑制(Source Quench)路由器缓存满后可使用ICMP向源主机报告(可以适用于拥塞控制,但并未使用)
    3.超时/超期(TTL超时)
    4.参数问题
    5.重定向 (Redirect)

  • 网络探询报文(2组)
    1.回声(Echo)请求与应答报文(Reply) Ping工具
    2.时间戳请求与应答报文

几种不发送 ICMP差错报告报文的特殊情况:

1.对ICMP差错报告报文不再发送 ICMP差错报告报文
2.除第1个IP数据报分片外,对所有后续分片均不发送ICMP差错报告报文
3.对所有多播IP数据报均不发送 ICMP差错报告报文
4.对具有特殊地址(如127.0.0.0 或 0.0.0.0)的IP数据报不发送ICMP 差错报告报文

几种 ICMP 报文已不再使用

1.信息请求与应答报文
2.子网掩码请求和应答报文
3.路由器询问和通告报文

IPV6

最初动机:32位IPV4地址分配殆尽
其他动机:改变首部格式

  • 快速处理/转发数据报
  • 支持QoS

IPv6数据报格式:

  • 固定长度的40字节基本首部
  • 不允许分片

校验和(checksum): 彻底移除,以减少每跳处理时间

选项(options): 允许,但是从基本首部移出,定义多个选项首部,通过“下一个首部”字段指示

ICMPv6: 新版ICMP
附加报文类型,e.g. “Packet Too Big”
多播组管理功能

一般形式: 1080:0:FF:0:8:800:200C:417A
压缩形式: FF01:0:0:0:0:0:0:43 压缩→FF01::43
IPv4-嵌入形式: 0:0:0:0:0:FFFF:13.1.68.3或 ::FFFF:13.1.68.3
地址前缀: 2002:43c:476b::/48(注: IPv6不再使用掩码!)
URLs: http://[3FFE::1:800:200C:417A]:8000

单播地址:一对一通信 1<->1
多播地址:一对多通信 1->n
任意播地址:一对一组之一 1->1/n

不可能在某个时刻所有路由器同时被更新为IPv6
 不会有 “标志性的日期”
 IPv4和IPv6路由器共存的网络如何运行?

隧道(tunneling): IPv6数据报作为IPv4数据报的载荷进行封装,穿越IPv4网络



相关文章

  • IP/DHCP/NAT/ICMP

    IP数据报 IP编址 IP分组:源地址(SA)-从哪儿来,目的地址(DA)-到哪儿去 接口(interface):...

  • TCP/IP之IP协议相关技术

    本篇继续介绍IP协议相关的内容,主要介绍IP的辅助技术,包括DNS、ARP、ICMP、ICMPv6、DHCP、NA...

  • centos7设置固定ip

    1、选择NAT模式 2、 3、选VMnet8,取消DHCP,子网地址和子网IP就使用默认的,然后点NAT设置 4、...

  • CentOS搭建NAT和DHCP服务,实现共享上网

    CentOS搭建NAT和DHCP服务,实现共享上网 什么是NAT NAT(Network address tran...

  • 虚拟机拷贝问题记录

    来源:Linux虚拟机在A机的虚拟机中是NAT方式DHCP动态获取IP,设置了静态地址,IP地址不会发生变化,但是...

  • 虚拟机配置静态IP并上网

    1.点击"编辑">"虚拟机网络编辑器",选择VMnet8,并选择NAT模式。 把"使用本地DHCP服务将IP地址分...

  • 获取KVM虚拟机DHCP的ip地址

    获取KVM虚拟机DHCP的ip地址 一 基本思路 KVM虚拟机支持birdge网卡和nat模式网卡。本文只关注na...

  • 目的NAT和NAT server

    NAT可以分为两大类: 基于源IP地址的NAT 基于目的IP地址的NAT 按照功能不同,基于目的IP地址的NAT ...

  • 用 ping 查找 MTU

    MTU = max icmp data + icmp header(8 bytes) + ip header(20...

  • bat设置ip

    静态ip DHCP

网友评论

    本文标题:IP/DHCP/NAT/ICMP

    本文链接:https://www.haomeiwen.com/subject/hmxblhtx.html