• 计算机网络 —— 网络层


    计算机网络 —— 网络层

    任务:

    1. 通过路由选择算法,为分组通过通信子网选择最适当的路径;
    2. 网络层能够向传输层提供两种类型的接口:数据报和虚电路。

    TCP/IP 体系的网络层提供 数据报 (datagram 或分组)服务。
    IP 协议是一种不可靠、无连接的数据报传送服务协议。

    使用 IP 网的好处是:当 IP 网上的主机进行通信时,就好像在一个单个网络上通信一样,它们看不见互连的各网络的具体异构细节(如具体的编址方案、路由选择协议,等等)。

    一、 IP 地址

    整个的互联网就是一个单一的、抽象的网络。IP地址就是给互联网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的32位(IPv4)的标识符。

    编址方法:

    1. 1981:分类地址
    2. 1991:划分子网
    3. 1993:构成超网(CIDR)
    4. 1996:地址转换(NAT)

    分类地址

    IP地址采用分层结构,由 网络号 (net-id)与 主机号 (host-id)两部分组成。
    网络号在整个互联网范围内唯一,主机号在网络号指定的网络范围内唯一。因此,IP 地址在整个互联网范围内唯一。

    表示方法:点分十进制
    每 8 位用一个十进制数字表示,中间用.分隔。

    A 类地址的网络号占1个字节,可分配7位,网络数 (2^7-2)(0和127)。主机号占3个字节,主机数是 (2^{24}-2)(0和全1)。
    B 类地址的网络号占2个字节,可分配14位,网络数 (2^{14}-1)(128.0.0.0 不指派)。主机号占2个字节,主机数是 (2^{16}-2)(0和全1)。
    C 类地址的网络号占3个字节,可分配21位,网络数 (2^{21}-2)(192.0.0.0 不指派)。主机号占1个字节,主机数是 (2^{8}-2)(0和全1)。

    划分子网

    子网(subnet):将一个大的网络划分成几个较小的网络,而每一个网络都有其自己的子网地址。

    子网IP地址是三层结构,由网络号,子网号,主机号三部分组成。
    子网的概念可以应用于 A 类、B 类或 C 类中任意一类IP地址中。
    分配子网是一个组织和单位内部的事。本单位外的网络看不到该网络的子网组成,因为这个单位对外 仍表现为一个网络
    子网的网络地址为网络号+子网号+全0的主机号。
    划分子网增加了灵活性,但却减少了能够连接在网络上的主机总数。

    子网掩码(subnet mask):判断 IP 地址的子网部分
    子网掩码长度 32 位,与 IP 地址长度相同
    子网掩码左边部分的一连串 1,对应于网络号和子网号
    子网掩码右边部分的一连串 0,对应于主机号

    默认子网掩码:即不划分子网的情况下,默认子网掩码 1 的位置与网络号对应。

    将子网掩码与 IP 地址按位 ,得到子网的网络地址。

    构成超网

    超网(supernet):将一个组织所属的几个网络合并成为一个更大地址范围的逻辑网络。

    CIDR:Classless Inter-Domain Routing 无分类域间路由选择

    • CIDR 消除了传统的 A 类、B 类和 C 类地址的概念,因而可以更加有效地分配 IPv4 的地址空间。
    • CIDR使用各种长度的网络前缀(network-prefix)来代替分类地址中的网络号和子网号。网络前缀相同的连续 IP 地址构成一个 CIDR 地址块。

    IP 地址从三级编址又回到了两级编址,由网络前缀和主机号组成。
    CIDR 使用斜线记法,在 IP 地址后加/和网络前缀位数。
    CIDR 使用 32 位的地址掩码,与子网掩码等价。

    分配到一个 CIDR 地址块的单位仍可以划分子网,IP 地址仍由网络前缀和主机号组成,只是网络前缀略长。

    路由聚合(route aggregation):或构成超网(supernetting),一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个原来传统分类地址的路由。

    这个 ISP 共拥有 64 个C类网络。如果不采用CIDR技术,则在与该 ISP 的路由器交换路由信息的每一个路由器的路由表中,就需要有 64 个项目。但采用地址聚合后,就只需用路由聚合后的一个项目 206.0.64.0/18 就能找到该ISP。

    地址转换

    专用地址:只能用做本地地址而不能用作全球地址。在互联网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发。

    • 10.0.0.0 - 10.255.255.255(10.0.0.0/8,24位块)
    • 172.16.0.0 - 172.31.255.255(172.16.0.0/12,20位块)
    • 192.168.0.0 - 192.168.255.255(192.168.0.0/16,16位块)

    专用网:或本地互联网,采用专用 IP 地址的互连网络。

    虚拟专用网(VPN):Virtual Private Network,利用公用的互联网作为本机构各专用网之间的通信载体的专用网。

    网络地址转换(NAT):Network Address Translation,本地地址与全球 IP 地址之间的转换。

    1. 不使用端口号


      当 NAT 路由器具有 n 个全球 IP 地址时,专用网内最多可以同时有 n 台主机接入到互联网。
      通过 NAT 路由器的通信必须由专用网内的主机发起,即专用网内部的主机不能充当服务器。
    2. 使用端口号
      NAPT:Network Address and Port Translation 网络地址与端口号转换,即使用端口号的 NAT。

    二、 地址解析协议 ARP

    • 在 IP 层抽象的互联网上只能看到 IP 数据报。源地址和目的地址不会发生变化。路由器的 IP 地址并不出现在 IP 数据报的首部中,路由器只根据目的地址的网络号进行路由选择。
    • 在局域网的链路层,只能看见 MAC 帧。IP 数据报被封装在 MAC 帧中。MAC帧在不同网络上传送时,其MAC帧首部中的源地址和目的地址要发生变化。路由器收到 MAC 帧后,在数据链路层,要丢弃原来的 MAC 帧的首部和尾部。在转发时,重新添加上帧的首部和尾部。
    • 尽管互连在一起的网络的硬件地址体系各不相同,但 IP 层抽象的互联网却屏蔽了下层这些很复杂的细节。只要我们在网络层上讨论问题,就能够使用统一的、抽象的IP地址研究主机和主机或路由器之间的通信。

    ARP

    地址解析协议:由 IP 地址获取硬件地址。

    1. 每一个主机都设有 ARP 高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。
    2. 当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。
    3. 如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。
    4. ARP 对缓存中的每一个映射地址都设置生存时间。超过生存时间的项目会被删掉。

    • ARP 是解决 同一个局域网 上的主机或路由器的 IP 地址和硬件地址的映射问题。
    • 如果所要找的主机和源主机不在同一个局域网上,那么就要通过 ARP 找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。
    • 从IP地址到硬件地址的解析是自动进行的,只要主机或路器要和本网络上的另一个已知 IP 地址的主机或路由器进行通信,ARP 协议就会自动地将该 IP 地址解析为链路层所需要的硬件地址。

    使用 IP 地址而不使用硬件地址通信的原因:

    1. 由于全世界存在着各式各样的网络,它们使用不同的硬件地址。要使这些异构网络能够互相通信就必须进行非常复杂的硬件地址转换工作,因此几乎是不可能的事。
    2. 连接到因特网的主机都拥有统一的 IP 地址,它们之间的通信就像连接在同一个网络上那样简单方便,因为调用 ARP 来寻找某个路由器或主机的硬件地址都是由计算机软件自动进行的,对用户来说是看不见这种调用过程的。

    三、 IP 数据报

    1. 版本:4位,IP 协议的版本。
    2. 首部长度:4位,可表示的最大十进制数值是 15,单位是32位字(即4字节)。所以 IP 首部长度最大 60 字节。当 IP 分组的首部长度不是 4 字节的整数倍时,必须利用最后的填充字段加以填充。
    3. 区分服务:8位,一般情况下不使用。
    4. 总长度:16位,首部和数据之和的长度,单位为字节。因此数据报的最大长度为 65535 字节。总长度必须小于等于最大传送单元 MTU。
    5. 标识:16位。IP 软件在存储器中维持一个计数器,每产生一个数据报,计数器就加 1,并将此值赋给标识字段。当数据报分片时,这个标识字段的值就被复制到所有的数据报片的标识字段中。相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。
    6. 标志:3位,目前只有后两位有意义。
      • 最低位记为 MF(More Fragment)。MF=1 表示后面还有分片的数据报。MF=0 表示这已是若干数据报片中的最后一个。
      • 中间位记为 DF(Don't Fragment),不能分片。当 DF=0 时才允许分片。
    7. 片偏移:13位。较长的分组在分片后,某片在原分组中的相对位置。以 8 个字节为偏移单位。
    8. 生存时间:8位,TTL(Time To Live),数据报在网络中的寿命,单位为跳数。路由器转发数据报之前把 TTL 值减 1。若 TTL 值减小到零,就丢弃这个数据报。因此,数据报能在互联网中经过的路由器的最大数值是 255。若把 TTL 的初始值设置为 1,就表示这个数据报只能在本局域网中传送。
    9. 协议:8位,数据报携带的数据是使用何种协议,如 TCP。
    10. 首部检验和:16位,只检验数据报的首部,不包括数据部分。
    11. 源地址:32位。
    12. 目的地址:32位。
    13. 可变部分:选项字段,用来支持排错、测量以及安全等措施,很少被使用。

    四、 转发分组

    转发(forwarding):将分组从一个输入链路接口转移到正确的输出链路端口。

    1. 从数据报的首部提取目的主机的 IP 地址 D,得出目的网络地址为 N。
    2. 若 N 是与此路由器直接相连的某个网络地址,则进行直接交付;否则间接交付,执行 3。
    3. 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行 4。
    4. 若路由表中有到达网络 N 的路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行 5。
    5. 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行 6。
    6. 报告转发分组出错。

    虽然互联网所有的分组转发都是基于目的主机所在的网络,但也可以对特定的目的主机指明一个路由。这种路由叫做 特定主机路由 。便于控制网络和测试网络,同时也可在需要考虑某种安全问题时采用这种特定主机路由。

    路由器还可采用 默认路由(default route) 以减少路由表所占用的空间和搜索路由表所用的时间。
    这种转发方式在一个网络只有很少的对外连接时是很有用的。

    使用子网掩码的分组转发

    1. 从收到的分组的首部提取目的 IP 地址 D。
    2. 先用直接相连的各网络的子网掩码和 D 逐位与。若匹配,则将分组直接交付。否则间接交付,执行 3。
    3. 若路由表中有目的地址为 D 的特定主机路由,则将分组传送给指明的下一跳路由器;否则,执行 4。
    4. 对路由表中的每一行的子网掩码和 D 逐位与,若其结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行 5。
    5. 若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行 6。
    6. 报告转发分组出错

    如得到不止一个匹配结果,选择 最长前缀

    五、 路由器

    路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。

    注:1 2 3分别代表物理层,数据链路层,网络层的处理模块。

    路由器结构可划分为两大部分:路由选择 部分和 分组转发 部分。

    1. 路由选择部分:也叫做控制部分,其核心构件是路由选择处理机。负责构造路由表,并不断地更新和维护。
    2. 分组转发部分:它由三部分组成:交换结构、一组输入端口和一组输出端口。
      • 交换结构:或交换组织,根据转发表对分组进行处理,将某个输入端口进入的分组从一个合适的输出端口转发出去。
      • 输入端口:数据链路层剥去帧首部和尾部后,将分组送到网络层的队列中排队等待处理。这会产生一定的时延。
      • 输出端口:交换结构传送过来的分组先进行缓存。数据链路层处理模块将分组加上链路层的首部和尾部,交给物理层后发送到外部线路。

    分组丢弃:若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。
    路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。

    六、 路由选择协议

    路由选择协议的核心是路由算法,即需要何种算法来获得路由表中的各项目。

    因特网采用 分层次 的路由选择协议。
    整个互联网划分为许多较小的 自治系统 AS (Autonomous System)。AS 是在单一技术管理下的一组路由器,这些路由器使用一种自治系统内部的路由选择协议和共同的度量。一个AS 对其他 AS 表现出的是一个单一的和一致的路由选择策略。

    这样,互联网就把路由选择协议分为两大类:

    • 内部网关协议 IGP(Interior Gateway Protocol):在一个自治系统内部使用的路由选择协议。如 RIP 和 OSPF 协议。
    • 外部网关协议 EGP(External Gateway Protocol):若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。如 BGP-4。
      :这里的网关实际是路由器。

    自治系统之间的路由选择叫做域间路由选择(interdomain routing)
    自治系统内部的路由选择叫做域内路由选择(intradomain routing)

    内部网关协议 RIP

    路由信息协议,Routing Infomation Protocol,分布式 的基于 距离向量 的路由选择协议。最大优点是 简单

    RIP 协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录(跳数)。
    RIP 允许一条路径最多包含 15 个路由器,距离大于 15 时即不可达。只适用于小型互联网。

    路由表的建立

    1. 路由器在刚刚开始工作时,只知道到直接连接的网络的距离(1)。
    2. 以后,每一个路由器只和相邻路由器交换并更新路由信息。
    3. 经过若干次更新后,所有的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址。

    RIP 协议的收敛(convergence)过程较快,即在自治系统中所有的结点都得到正确的路由选择信息的过程。

    RIP 使用运输层的用户数据报 UDP 进行传送。

    特点

    1. 仅和相邻路由器交换信息。
    2. 交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
    3. 按固定的时间间隔交换路由信息,例如,每隔 30 秒。

    工作流程:收到地址为 x 的相邻路由器的一个 RIP 报文:

    1. 先修改此 RIP 报文中的所有项目:把下一跳字段中的地址都改为 x,并把所有的距离字段的值加 1。
    2. 对修改后的 RIP 报文中的每一个项目,重复以下步骤:
      • 若项目中的目的网络不在路由表中,则把该项目加到路由表中。
      • 若下一跳字段给出的路由器地址相同,则把收到的项目替换原路由表中的项目。
      • 若收到项目中的距离小于路由表中的距离,则进行更新,
      • 否则,什么也不做。
    3. 若 3 分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,即将距离置为 16。

    问题:当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。

    内部网关协议 OSPF

    开放最短路径优先,Open Shortest Path First,分布式链路状态 协议。使用迪杰斯特拉(Dijkstra)算法。

    OSPF 不用 UDP 而是直接用 IP 数据报传送。数据报很短,不需要分片,减少路由信息的通信量。

    特点

    • 向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法。
    • 发送的信息就是与本路由器相邻的所有路由器的链路状态。链路状态说明本路由器与哪些路由器相邻,以及该链路的度量(metric)。
    • 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。
    • OSPF 对不同的链路可根据 IP 分组的不同服务类型 TOS 而设置成不同的代价。因此,OSPF 对于不同类型的业务可计算出不同的路由。
    • 如果到同一个目的网络有多条相同代价的路径,那么可以将通信量分配给这几条路径。这叫作多路径间的负载平衡。
    • 所有在 OSPF 路由器之间交换的分组都具有鉴别的功能。
    • 支持可变长度的子网划分和无分类编址 CIDR。
    • 每一个链路状态都带上一个 32 位的序号,序号越大状态就越新。
    • OSPF 还规定每隔一段时间,如 30 分钟,要刷新一次数据库中的链路状态。
    • 由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。因此当互联网规模很大时,OSPF 协议要比距离向量协议 RIP 好得多。
    • OSPF 没有坏消息传播得慢的问题,据统计,其响应网络变化的时间小于 100 ms。

    最终所有的路由器都能建立一个链路状态数据库,即全网的 拓扑结构图

    OSPF 的链路状态数据库能较快地进行更新,使各个路由器能及时更新其路由表。OSPF 的 更新过程收敛快 是其重要优点。

    为了使 OSPF 能够用于规模很大的网络,OSPF 将一个自治系统再划分为若干个更小的范围,叫作 区域
    每一个区域都有一个 32 位的区域标识符(用点分十进制表示)。
    区域也不能太大,在一个区域内的路由器最好不超过 200 个。

    划分区域的好处:将利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,减少了整个网络上的通信量。
    在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑的情况。

    OSPF 使用层次结构的区域划分。在上层的区域叫作主干区域(backbone area)。标识符规定为 0.0.0.0。主干区域的作用是用来连通其他在下层的区域。
    如上图,R3, R4, R7 为区域 边界路由器。R3-R7 为 主干路由器。R6 为 自治系统边界路由器

    外部网关协议 BGP

    边界网关协议,是不同自治系统的路由器之间交换路由信息的协议。

    因特网的规模太大,使得自治系统之间路由选择非常困难。对于自治系统之间的路由选择,要寻找最佳路由是很不现实的。
    因此,边界网关协议 BGP 只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。

    __BGP 发言人(BGP speaker) __:每一个自治系统选择至少一个路由器作为该自治系统的 BGP 发言人,往往是 BGP 边界路由器。
    一个 BGP 发言人与其他自治系统中的 BGP 发言人要交换路由信息,就要先建立 TCP 连接,然后在此连接上交换 BGP 报文以建立 BGP 会话(session),利用 BGP 会话交换路由信息。
    使用 TCP 连接交换路由信息的两个 BGP 发言人,彼此成为对方的邻站(neighbor)或对等站(peer)。

    BGP 所交换的网络可达性的信息就是要到达某个网络所要经过的一系列 AS。
    当 BGP 发言人互相交换了网络可达性的信息后,各 BGP 发言人就根据所采用的策略从收到的路由信息中找出到达各 AS 的较好路由。

    自治系统 AS2 的 BGP 发言人通知主干网的 BGP 发言人:“要到达网络N1,N2,N3和N4可经过AS2。”
    主干网在收到这个通知后,就发出通知:“要到达网络N1,N2,N3和N4可沿路径(AS1,AS2)。”
    同理,主干网还可发出通知:“要到达网络N5,N6和N7,可沿路径(AS1,AS3)。”

    特点

    • BGP 协议交换路由信息的结点数量级是自治系统数的量级,这要比这些自治系统中的网络数少很多。
    • 每一个自治系统中 BGP 发言人的数目是很少的。这样就使得自治系统之间的路由选择不致过分复杂。
    • BGP 支持 CIDR,因此 BGP 的路由表也就应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。
    • 在 BGP 刚刚运行时,BGP 的邻站是交换整个的 BGP 路由表。但以后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销方面都有好处。

    报文

    1. 打开(OPEN)报文,用来与相邻的另一个 BGP 发言人建立关系。
    2. 更新(UPDATE)报文,用来发送某一路由的信息,以及列出要撤消的多条路由。
    3. 保活(KEEPALIVE)报文,用来确认打开报文和周期性地证实邻站关系。
    4. 通知(NOTIFICATION)报文,用来发送检测到的差错。
    5. 在 RFC 2918 中增加了 ROUTE-REFRESH 报文,用来请求对等端重新通告。

    七、 网际控制报文协议 ICMP

    ICMP(Internet Control Message Protocol),网际控制报文协议,IP 层的协议,目的是提高 IP 数据报交付成功的机会。

    ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。
    ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去。
    ICMP 不能纠正差错,它只报告差错。差错处理需要由高层协议去完成。

    报文格式

    报文种类

    1. 差错报告报文

      • 终点不可达
      • 时间超过
      • 参数问题
      • 改变路由(redirect 重定向)
    2. 询问报文

      • 回送请求和回答报文
      • 时间戳请求和回答报文

    应用

    1. PING(Packet InterNet Groper):用来测试两个主机间的连通性。
      使用 ICMP 回送请求和回送回答报文。
      是应用层直接使用网络层 ICMP 的例子,它没有通过传输层的 TCP 或 UDP。
    2. traceroute/tracert:跟踪一个分组从源点到终点的路径。
      使用 ICMP 时间超过差错报告报文和 ICMP 终点不可达差错报告报文。

    八、 网际组管理协议 IGMP

    多播

    IP 多播:在互联网上进行多播。

    互联网范围的多播要靠路由器来实现。
    能够运行多播协议的路由器称为多播路由器(multicast router)。
    多播数据报也是尽最大努力交付,不保证一定能够交付多播组内的所有成员。

    硬件多播

    IGMP

    IGMP(Internet Group Management Protocol),网际组管理协议,是在多播环境下使用的协议。

    • IGMP 用来帮助多播路由器识别加入到一个多播组的成员主机。
    • IGMP 使用 IP 数据报传递报文,是 IP 协议的一个组成部分。

    工作流程
    第一阶段:加入多播组。

    1. 当某个主机加入新的多播组时,该主机应向多播组的多播地址发送 IGMP 报文,声明自己要成为该组的成员。
    2. 本地的多播路由器收到 IGMP 报文后,将组成员关系转发给互联网上的其他多播路由器。

    第二阶段:探询组成员变化情况。

    1. 组成员关系是动态的,因此本地多播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是组的成员。
    2. 只要对某个组有一个主机响应,那么多播路由器就认为这个组是活跃的。
    3. 但一个组在经过几次的探询后仍然没有一个主机响应,则不再将该组的成员关系转发给其他的多播路由器。

    九、 IPv6

    IPv6 仍支持无连接的传送,与 IPv4 的区别如下:

    • 更大的地址空间。IPv6 将地址从 IPv4 的 32 位 增大到了 128 位。
    • 简单高效的 40 字节首部,称为 基本首部(base header)。
    • 流标签与优先级
    • 将不必要的功能取消了,首部的字段数减少到只有 8 个。
    • 取消了首部的检验和字段,加快了路由器处理数据报的速度。
    • 在基本首部的后面允许有零个或多个扩展首部。
    • 所有的扩展首部和数据合起来叫做数据报的有效载荷(payload)或净负荷。

    首部字段

    1. 版本(version):4位。IPv6 该字段是 6。
    2. 通信量类(traffic class):8位。区分不同的 IPv6 数据报的类别或优先级。
    3. 流标号(flow label):20位。流是互联网络上从特定源点到特定终点的一系列数据报, 流所经过的路径上的路由器都保证指明的服务质量。
      所有属于同一个流的数据报都具有同样的流标号。
    4. 有效载荷长度(payload length):16位。除基本首部以外的字节数,其最大值是 64 KB(65536B)。
    5. 下一个首部(next header):8位。它相当于IPv4的协议字段或可选字段。
      • 没有扩展首部时,表示高层协议。
      • 出现扩展首部时,标识后面第一个扩展首部的类型。
    6. 跳数限制(hop limit):8位。用来防止数据报在网络中无限期地存在。
    7. 源地址:128位。
    8. 目的地址:128位。

    扩展首部

    1. 逐跳选项
    2. 路由选择
    3. 分片
    4. 鉴别
    5. 封装安全有效载荷
    6. 目的站选项

    表示方法:冒号十六进制
    每 16 位为一个位段,转换为 4 位的十六进制数,用:隔开,一连串连续的零可以用一对冒号取代。

    IPv4 与 IPv6 的过渡:

    1. 双协议栈
    2. 隧道技术





    参考资料:《计算机网络》 谢希仁 著

  • 相关阅读:
    R语言代写混合时间模型预测对时间序列进行点估计
    python代写安娜卡列妮娜词云图制作
    R语言代写markov switching model马尔可夫转换分析研究水资源
    R语言代写markov switching model马尔可夫转换模型研究商业周期
    Python代写数据可视化-seabornIris鸢尾花数据
    R语言代写聚类算法的应用实例
    用TensorFlow代写实现MNIST
    R语言代写Copula的贝叶斯非参数估计
    r语言代写预测波动率的实现:ARCH模型与HAR-RV模型
    CF932E Team Work 第二类斯特林数
  • 原文地址:https://www.cnblogs.com/JL916/p/12080001.html
Copyright © 2020-2023  润新知