本文主要是介绍【IP:Internet Protocol,子网(Subnets),IPv6:动机,层次编址:路由聚集(rout aggregation)】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- IP:Internet Protocol
- 互联网的的网络层
- IP分片和重组(Fragmentation & Reassembly)
- IP编址:引论
- 子网(Subnets)
- 特殊IP地址
- IP 编址: CIDR
- 子网掩码(Subnet mask)
- 转发表和转发算法
- 如何获取一个IP地址?
- DHCP: Dynamic Host Configuration Protocol
- DHCP: 不仅仅是IP addresses
- 如何获得一个IP地址
- 层次编址:路由聚集(rout aggregation)
- IP 编址: 如何获得一块地址
- NAT:Network Address Translation(网络地址转换)
- IPv6:动机
- 和IPv4的其它变化
- 从IPv4到IPv6的平移
IP:Internet Protocol
互联网的的网络层
- 路由协议
- IP协议(数据平面的转发功能)
- ICMP协议(信令)
IP分片和重组(Fragmentation & Reassembly)
- 网络链路有MTU(max Transmission Unit 最大传输单元),链路层帧所携带的最大数据长度
- 不同的链路类型
- 不同的MTU
- 大的IP数据报在网络上被分片(“fragmented”)
- 一个数据被分割成若干个小的数据报
- 相同的ID
- 不同的偏移量
- 最后的分片被标记为0
- “重组”只在最终的目标主机进行
- IP头部的信息被用于标识,排序相关分片(分头行动)
- 一个数据被分割成若干个小的数据报
IP编址:引论
- IP 地址: 32位标示,对主机或者路由器的接口编址
- 接口: 主机/路由器和物理链路的连接处
- 路由器通常拥有多个接口 (路由器有两个级及以上的IP地址,否则无法进行网络交换)
- 主机也有可能有多个接口
- IP地址
- 一个IP地址和一个接口相关联
IP都是一跳可达
子网(Subnets)
- IP地址:
- 子网部分(高位bit)
- 主机部分(地位bits)
- 什么是子网?有下面的两个特征
- IP地址的高位部分相同(前缀相同)
- 无需路由器介入(一跳可达)
上图有6个子网
特殊IP地址
- 一些约定:
- 子网部分:全为0—本网络
- 主机部分:全为0—本主机
- 主机部分: 全为1–广播地址,这个网络的所有主机
IP 编址: CIDR
CIDR:Classless InterDomain Routing(无类域间路由)
- 子网部分可以在任意的位置
- 地址格式: a.b.c.d/x, 其中 x 是 地址中子网号的长度
子网掩码(Subnet mask)
转发表和转发算法
- 获取IP数据报的目标地址
- 对于转发表中的每一个表项
如何获取一个IP地址?
- DHCP:Dynamic Host Configuration Protocol从服务器中动态获取一个IP地址(动态主机配置协议)
DHCP: Dynamic Host Configuration Protocol
目标: 允许主机在加入网络的时候,动态地从服务器那里获得IP地址:
- 可以更新对主机在用IP地址的租用期-租期快到了
- 重新启动时,允许重新使用以前用过的IP地址
- 支持移动用户加入到该网络(短期在网)
DHCP: 不仅仅是IP addresses
DHCP返回:
- IP地址
- 第一跳路由器的IP地址(默认网关)
- DNS服务器的域名和IP地址
- 子网掩码(指示地址部分的网络号和主机号)
如何获得一个IP地址
如何获得一个网络的子网部分?
从ISP获得地址块中分配的一小块地址块
层次编址:路由聚集(rout aggregation)
将子网前缀都发给他,然后他做一个聚集,再给下一跳。
最长前缀匹配是最精确的匹配
IP 编址: 如何获得一块地址
一个ISP如何获得一个地址块?
ICANN: Internet Corporation for Assigned
Names and Numbers
- 分配地址
- 管理DNS
- 分配域名,解决冲突
NAT:Network Address Translation(网络地址转换)
出去的时候将源地址换成机构IP地址(外网)
回来的时候将机构IP地址(外网)换成内网地址:这里就会有问题,内网不会允许随便一个外网来访问自己。
- 动机:本地网络只需要一个有效的IP地址:
- 不需要从ISP分配一块地址,可用一个IP地址用于所有的(局域网)设备–省钱
- 可以改变ISP(地址变化)而不需要改变内部的设备地址
- 局域网内部的设备没有明确的地址,对外是不可见的–安全
==实现:==NAT路由器必须:
外网的IP/端口号代替内网的IP/端口号。
- 对NAT是有争议的:
- 路由器只应该对第3层(网络层)做信息处理,而这里对端口号(4层运输层)作了处理,相当于下层改了上层的信息。
- 违反了end-to-end 原则(复杂性放到了网络边缘)
- 地址短缺问题可以被IPv6解决
IPv6:动机
- 初始动机: 32-bit地址空间将会被很快用完
- 另外的动机:
- 头部格式改变帮助加速处理和转发加重了路由器的负担
- TTL-1
- 头部checksum
- 分片
- 头部格式改变帮助加速处理和转发加重了路由器的负担
IPv6 数据报格式:
- 固定的40 字节头部
- 数据报传输过程中,不允许分片
和IPv4的其它变化
- Checksum: 被移除掉,降低在每一段中的处理速度
- Options: 允许,但是在头部之外, 被 “Next Header” 字段标示
- ICMPv6: ICMP的新版本
路由器本身不做分配,通过发送ICMP向源主机发送错误报告
从IPv4到IPv6的平移
不能同时升级
将v4携带v6的分组,通过隧道传,然后将v6取出来,最后慢慢的就变成了v6。
这篇关于【IP:Internet Protocol,子网(Subnets),IPv6:动机,层次编址:路由聚集(rout aggregation)】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!