网络层

IP协议

IP地址

分类:

image-20210803121749222

对于主机号来说,任何类型的地址全0和全1的主机号都不可指派,所以当主机位为 \(n\) 时,可表示主机数为 \(2^n-2\)

特殊IP地址

在上面讲到一些IP地址不可被指派,因为它们有特殊作用。

网络号 主机号 源地址使用 目的地址使用 意义
0 0 可以 不可 用于DHCP协议请求分配IP地址
0 host-id 可以 不可 在本网络上的某台主机 host-id
全1 全1 不可 可以 在本网络内进行广播
net-id 全1 不可 可以 对net-id网络内的所有主机进行广播
127 非全0或全1的任何数 可以 可以 本地软件环回测试

在数据报的传输过程中,每经过一个路由器,数据链路层的首部的源地址和目的地址都要变化,而IP地址则始终无变化。源地址和目的地址的变化规则后面会讲。

IP数据报的格式

image-20210803162250113

  • 最低位MF:MF=1表示后面还有分片
  • 中间位DF:DF=0时才允许分片

IPv6

特点:

从IPv4向IPv6过渡

  1. 双协议栈

    即主机(路由器)同时装有v4和v6版本的协议栈,根据到达的地址版本确定使用哪个

    v4/v6路由器在转发时,如果手持v6数据报但要经过一段v4网络,则需要进行数据报的转换,转换会带来首部信息的损失。

  2. 隧道技术

    将v6的数据报封装为v4数据报的数据部分,通过v4网络段后再取出来。

    不会有数据的损失。

IP多播(Multicast)

相比于IP单播和广播,多播是更难实现的一种。

image-20210804161009291

实现多播的方式是将所有需要接受多播的成员划分到一个多播组里面,并用D类地址标识一个多播组。发送给多播组的数据报首部的协议字段为2, 表示IGMP。

多播分为两种:局域网多播和互联网范围的多播。

在局域网上进行硬件多播

以太网多播的硬件地址范围: 01-00-5E-00-00-00 到 01-00-5E-7F-FF-FF

只有23位可以自由分配,相对应的多播IP地址也只有后23位自由使用

网际组管理协议IGMP和多播路由选择协议

IGMP是让连接在本地局域网上的多播路由器知道本局域网上是否有主机(严格说是主机上的进程)参加或退出了某个多播组。

由于源主机只会发送一次数据报,所以局域网的多播路由器必须连通其他多播路由器协同工作。

IGMP使用IP数据报传递报文,因此可以看作属于IP协议的一部分。

IGMP的工作分为两个阶段:

  1. 当某台主机加入新的多播组时,该主机向多播组的多播地址发送一个IGMP报文,声明自己要成为该组的成员。本地的多播路由器收到IGMP报文后,还要利用多播路由选择协议把这种组成员关系转发给互联网上的其他多播路由器
  2. 本地多播路由器周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是组的成员,只要有一台主机响应,多播路由器就认为这个组是活跃的;否则认为所有成员已经离开了多播组,不再将成员关系转发给其他多播路由器

虚拟专用网络VPN和网络地址转换NAT

在全球互联网上被承认的IP地址称为公共地址,公共地址可以直接与互联网通信。由于IP地址的紧缺,并不会为每一台设备分配一个公有IP地址,而是给每一个局域网分配一个公共地址。

拿家庭组网来说,一般只有无线路由器有一个公共路由器,所有连接到路由器的设备分配的都是私有地址,也就是192.168.0开头的地址。私有地址可以在每个局域网内都被重复,所以永远用不完。而连接到路由器的所有设备的通信都由路由器进行转发,所以所有设备在公网下的地址都是同一个IP地址。

专用地址分类:

  1. 10.0.0.0/8地址块
  2. 172.16.0.0/12地址块
  3. 192.168.0.0.0/16地址块

虚拟专用网络:如果属于同一个机构的两个局域网在物理位置上相差很远,则需要通过互联网将两个局域网相连。两个局域网至少有一个路由器具有合法的公有IP地址,在路由器将数据报加密后发送给另一个路由器,这样就在两个局域网之间构建了一个虚拟专用网络。

现实中路由器还可以设置规则,使得一部分IP或域名通过虚拟专用网络,另一部分则直接通过路由器发送到互联网。

网络地址转换NAT(Network Address Translation)

前面提到家庭组网的例子,在每个局域网内的主机发送IP数据报时,其源地址必然还是填写的其私有地址,这个私有地址显然不被互联网所承认,因此需要在路由器转发出去时需要进行一次网络地址转换。

同样,路由器在收到来自互联网的数据报时,还需要将目的地址转换回对应主机的私有地址。

为了能够完成转换,NAT内部需要维护一个地址转换表,地址转换表的字段为IP地址:TCP端口

image-20210804202631559

多协议标记交换MPLS(MultiProtocol Label Switching)

工作原理

给每一个到达的IP数据报打上固定长度的标记,然后对打上标记的IP数据报用硬件进行转发,而不用查询转发表。

所谓的标记,实际是一个MPLS首部。

给IP数据报打标记的过程叫做分类。分类参考了网络层首部的字段,大部分运营商会参考传输层的首部字段,小部分还会参考应用层字段。

一个标记仅仅在两个标记交换路由器LSR之间才有意义,分组每经过一个LSR, LSR要进行转发和更新标记,即将标记对换。

posted @ 2021-08-04 21:20  kaleidopink  阅读(162)  评论(0编辑  收藏  举报