协议分层
可以看到 物理层, 链路层,网络层是所有网络设备共有的, 而传输层, 会话层, 表示层, 应用层 是存在于主机上的
各设备实现的协议层次
IP地址的表示
为什么会出现ip地址?是为了在一个联网的环境下 标定一个识别,当你断开网络并且与外界没相连的时候可使用ipconfig
命令查看,你会发现没有ip地址
Ipv4
长度为32 位,常见使用点分四组表示法, 例如: 192.168.0.17
每一块都是8位
Ipv6
长度为128位, 为Ipv4 的4倍,用8个块来表示,每个块由4个16进制的数组成,例如 : 5f6c:85ac:624a:af3c:4b5c:7aac:93df:82ac
分类寻址
分为5类,开始时一个IP 由 网络号和主机号组成。如下图:
由这两张图可以看到A 类主机号范围广,网络号范围窄,而C类相反
子网寻址
随着计算机联网数量越来越多,为接入Internet 的新网段分配一个网络号变得更加棘手,所以就出现了子网寻址。就是网络号后面再分子网络号,子网络号后边再分配主机号,假如分配后为主机号有8位,那么最多可以分配到254台主机,第一台和最后一台有特殊用处
子网掩码
就是比如我知道了我的IP 地址和所属的子网。 通过IP地址和子网掩码的运算就可以得知所属子网的范围。
子网掩码可以由主机或路由器分配,可以是静态的(路由器分配),也可以是动态(DHCP动态主机配置协议)的。掩码由主机或路由器使用,用来确定一个IP地址(网络号+子网号)部分的结束和主机号的开始。
子网掩码可以用前缀长度来表示 ,例如: /24
表示子网掩码: 255.255.255.0
,即是说24个1
可变长度子网掩码(VLSM)
同个子网范围内子网掩码不同,那么分配下去的主机数量。
广播地址
每一个Ipv4子网中,有一个特殊地址作为子网广播地址。广播地址的形成:子网掩码取反与任意子网中IP 地址或运算就是子网广播地址。广播地址通常和其他协议一起使用,例如UDP/IP ,或ICMP ,因为它们不涉及像TCP/IP那样的双方会话。
255.255.255.255
作为本地网络广播 ,它不会被路由器转发。ipv6没有任何广播地址,ipv6只有组播地址
Ipv6地址和接口标识符
IPv6使用特殊前缀表示一个地址范围。有关范围的例子:
节点本地(仅用于本地同一台计算机)
链路本地(同一网络链路或IPv6前缀中的节点)
全球性(Internet 范围内)
IPv4/IPv6 地址转换
组播地址
组播服务模型:
ASM(任意源组播) : 任何发送方可以发送给任何组。
SSM (源特定组播) :在每组只使用一个发送方,在这种情况下,当一台主机加入一个组后,它会被指定一个信道地址,其中包括一个组地址和源地址。
IPv4组播地址
范围:224.0.0.0 ~ 239.255.255.255
224.0.0.0 ~ 224.0.0.255 : 本地网络控制,不转发
-
224.0.1.0~224.0.1.255 :互联网络控制,正常转发
基于单播前缀的组播寻址(UBM): 根据分配的单播进行分配组播地址
IPv6组播地址
前缀:ff00::/8 被预留给组播
IPv6本地链路地址
IPv6本地链路地址,类似于IPv4中APIPA(Automatic Private IP Addressing,自动专用IP寻址)所定义的地址169.254.0.0/16。首先说明一下IPv4中APIPA(AutomaticPrivate IP Addressing,自动专用IP寻址)地址会在什么样的情况下产生和使用。比如:在企业网络中配置了DHCP服务器,为企业网络中的客户机提供IP地址分配,如果某天DHCP服务器故障,无法为企业网络中的客户机提供IP地址分配,此时客户主机会产生一个APIPA地址。该地址在一个子网内范围内可以保证主机之间的通信,但是APIPA地址是不可以完成路由通信。而IPv6本地链路地址的作用在于发现邻居节点和在无状态自动配置中链路本地上节点之间的通信。并且只能在连接到同一本地链路的节点之间通讯,不能跨路由器进行通讯和路由转发,具体如何理解IPv6的本地链路地址,首先要理解IPv6所定义的链路、站点、与全局的意义。如图12.26所示:IPv6的链路相当于企业网络中连接在一个二层交换机的主机链路,更明确的一种说法是链路处于同一个广播域,如果从IPv4的角度来理解可以理解成IPv6的链路就是在同一子网内的主机。所以IPv6的本地链路地址,只能在IPv6的本地链路中使用,如链路A与链路B中的IPv6主机使用本地链路地址在各自的链路上通信,但是不可以使用本地链路地址完成链路A与链路B之间的通信,这与IPv4中的APIPA(Automatic Private IP Addressing,自动专用IP寻址地址)类似。
本地链路地址的格式如下 :(可以看到固定的前缀为FE80::/10)
注: 发现邻居节点:类似于CISCO的CDP。无状态自动配置:指不能通过DHCP获取地址,也没有手工的配置IPv6地址。简单点说就是通过MAC地址形成IPv6本地链路地址,作用是为了同个链路之间的通信
Ipv6本地站点地址
IPv6本地站点地址,只能在IPv6所定义的一个站点内使用,站点的概念如图12.26 IPv6的链路、站点、全局所示,链路A与链路B都处于同一个站点内,IPv6本地站点地址类似于IPv4环境RFC1918所定义的“私有IP地址”,如10.0.0.0/8.,172.16.0.0/16-172.31.255.255/16和192.168.0.0/16。所以IPv6本地站点地址是不能应用到了internet上,而只能使用在企业内部网络。既然此类IPv6的本地站点地址只能用在企业内部网络,难道是为了做NAT,代理企业内部上网?但是我们知道IPv6完全有足够的IP地址空间为每一个用户去分配一个用于internet的地址,并且IPv6环境中的NAT技术是用来解决IPv4与IPv6过渡兼容的问题,而不是代理私有专用网络IP访问Internet。那IPv6本地站点地址的作用是什么呢?如下所示的一些基本作用描述。
用于企业内部打印机、共享文件等常见服务
为企业内部服务器,客户机分配IP地址,限制访问internet。
为企业内部交换机、网关、无线接入点分配IP地址
用于远程管理企业内部服务器、路由器等相关网络设备
-
没有获取全球可聚合单播地址的组织机构,可使用IPv6的本地站点地址进行网络建设
本地站点地址格式如下:(固定前缀为 FEC0::/10)
注意:IPv6的本地链路地址与本地站点地址的重大区别:本地链路地址只能在同一个二层链路中完成通信,不可被路由。而本地站点地址是可能路由的。本地站点地址是在不同的链路之间的通信
IPv6全球单播地址
IPv6全球单播地址指用于internet上的地址,类似于IPv4的“公有”IP地址,如202.202.1.1/30。而IPv6全球单播地址是IPv6寻址结构当中最重要的部分,该寻址结构使用了严格的路由前缀聚合,目的在于限制全球internet的路由表的规模。
全球单播地址格式如下 :(由下面的解释知道,固定前缀为2)
对于IPv6全球单播地址的配置,也有一定的规定和要求,其子网前缀必须为2000::/3,指的是在IPv6的前3bit,必须为二进制的001。而二进制换化为十六进制,需要4bit的二进制数,所以IPv6全球单播地址的从左到右的第一字段的变化范围为“0010”到“0011”,换化为十六进制变化范围就为2到3。那么如下图12.30所示,表示IPv6全球单播地址的范围。