zoukankan      html  css  js  c++  java
  • 计网第四章网络层

     4.1网络层服务(not end-end)

    从发送主机向接收主机传送数据段(segment):

    发送主机->将数据段封装到数据报

    接收主机->向传输层交付数据段

    每个主机和路由器都要运行网络层协议,其中,路由器检验穿越它的IP数据报的头部域,决策如何处理数据报。

    网络层的核心功能-转发与路由

    转发:将分组从路由器的输入端口转移到合适的输出端口。

    每个路由器维护一个转发表(事先建立),转发表确定如何在路由器中转发分组

    路由:确定分组从源到目的的路径。由 路由算法(协议)确定通过网络的端到端路径

    网络层的核心功能-连接建立

    是某些网络的重要功能(如ATM)

    数据分组传输之前两端主机需要首先建立虚拟连接

    网络层连接:两个主机之间(网络设备参与)(not end-end)

    传输层连接:两个应用进程之间(对网络设备透明)(end-end)

    网络层服务模型(service model):

    不同的网络提供的服务模型不同

    无连接服务:

    不事先为系列分组的传输确定传输路径

    每个分组独立确定传输路径

    不同分组可能传输路径不同

    例子:

    数据报网络(类似传输层的无连接服务UDP)

    连接服务:

    首先确定从源到目的的路径

    沿该路径传输系列分组

    系列分组传输路径相同,顺序得到保障

    传输结束后拆除连接

    例子:

    虚电路网络(类似传输层的面向连接服务TCP)

    4.2:虚电路网络与数据报网络

    网络层服务与传输层服务的本质区别:

    网络层提供主机到主机的服务,是网络核心的实现;传输层实现端到端的服务

    虚电路(Virtual Circuits):一条从源主机到目的主机,类似于电路的路径(逻辑连接)

    采用分组交换,每个分组的传输利用链路的全部带宽(与电路交换的最大差异)

    源到目的路径经过的网络层设备共同完成虚电路功能

    虚电路的通信过程:

    呼叫建立(call setup)->数据传输->拆除呼叫

    数据传输:每个分组携带虚电路标识(VCID),在相应的虚电路上进行传输,而不是目的主机地址

    虚电路经过的每个网络设备,都需要维护每条经过它的虚电路连接状态

    链路、网络设备资源(如带宽、缓存等)可以对VC进行预分配:预分配资源==可预期服务性能

    虚电路的具体实现:

    虚电路的组成:

    1.从源主机到目的主机的一条路径

    2.虚电路号(VCID),在虚电路上的每段链路具有自己的编号(同一条VC,在每段链路上的VCID通常不同)

    3.虚电路上的每个网络层设备(如路由器),利用转发表记录经过该设备的每条虚电路(依据转发表改写/替换虚电路号)

    虚电路信令协议:用于VC的建立、维护与拆除

    建立:路径选择(需要路由)

    应用于虚电路网络,目前的Internet不采用

    数据报网络:

    网络层无连接,每个分组携带目的地址

    路由器根据分组的目的地址转发分组,基于路由协议/算法构建转发表,通过检索转发表转发分组

    每个分组独立选取路径(数据报路径可能不同),因此可能乱序到达目的主机

    数据报转发表:

    最长前缀匹配优先原则:优先选择与分组目的地址匹配前缀最长的入口

    数据报网络 or VC网络:

    4.3:IPv4协议

    Internet网络层:

    IP数据报(分组)的格式:

    首部长度以4字节为单位(换算成10进制后)

    服务类型:(区分服务1998)指示期望获得哪种类型的服务,只有在网络提供区分服务时使用,一般情况下不使用,因此通常IP分组的第二字节的值为00H

    总长度字段:IP分组的总字节数(首部+数据)

    生存时间:IP分组在网络中可以通过的路由器数。路由器转发一次分组,TTL-1,当TTL=0时,路由器丢弃该IP分组

    协议:指示IP分组封装的是哪个协议的数据包,实现IP协议的复用/分解

    首部校验和:实现对IP分组首部的差错检测,由于TTL每次转发都会减1,因此每次转发后,校验和都要重新进行计算,即逐跳计算、逐跳校验

    填充:长度可变,范围在0-3B之间,目的是补充整个首部,符合32位对齐。即保证首部长度是4字节的倍数

    IP分片

    最大传输单元(MTU):链路层数据帧可封装数据的上限(byte)。不同链路的MTU不同

    当大的IP分组向较小的MTU链路转发时,可以被"分片"(fragmented)。是否可以分片取决于某些标志位。大的IP分组不允许分片时,路由器会把它扔掉,并向源主机发送一个ICMP报文

    分片时,路由器把1个IP分组被分为多片IP分组,IP分片到达目的主机后进行“重组”(目的主机负责),其中,IP首部的相关字段(总长度,标识,标志位,片偏移)用于标识分片以及确定分片的相对顺序。

    如果分片们到达目的主机时丢失了一部分,目的主机会先等待一段时间,如果还没收到,目的主机会把它们全丢了。

    标识(ID):标识一个IP分组。由IP协议、计数器、源IP地址、目的IP地址共同产生

    标志位:(3位)

    MF=1,说明是分片出来的分组,并且是 非最后一片

    MF=0的具体含义由片偏移确定:

    若一个IP分组没有经过分片,则其片偏移量为0

    若MF=0且片偏移量不等于0,则说明是最后一片

    片偏移量:一个IP分组分片封装原IP分组数据的相对偏移量。片偏移字段以8字节为单位(???)。因此,一个最大分片可封装的数据应该是8的倍数。

    IP分片过程:

    IP编址:

    IP分组:

    源地址(SA)、目的地址(DA)

    接口(interface):主机/路由器与物理链路的链接,实现网络层的功能

    路由器通常有多个接口,主机只有1个或2个接口

    IPv4:用32位比特编号标识主机、路由器的接口

    二进制->点分十进制:

    IP地址与每个接口关联

    IP地址:

    同一个区域网络中,接口IP的网络号相同->构成IP子网(不跨越路由器,可以彼此物理联通的接口)

    有类IP地址

    D类只能作为IP分组中的目的地址(多播地址)

    E类作为研究使用

    特殊的IP地址(不能分配给接口):(注:同样适用于后面的拥有子网掩码的HostID)

    NetID为127(A类网络)

    私有IP地址(在公共互联网上无效):

    IP子网划分与子网掩码

    划分:

    子网掩码:

    形如IP地址,32位->点分十进制形式

    取值:netID、SubID位全取1;HostID位全取0

    子网地址+子网掩码->确定子网大小

    子网掩码的应用:

    补充知识:

     

    4.4CIDR与路由聚合

    CIDR与路由聚合:

    无类域间路由(CIDR):

    1.消除传统的A类、B类和C类地址界限

    NetID+SubID->Network Prefix(前缀,可以任意长度)

    2.融合子网地址和子网掩码,方便子网划分

    无类地址格式:a.b.c.d/x    (x为十进制数,是前缀的长度)

    CIDR与有类地址的映射关系:

    上图中是C类地址,C类地址有24位网络号,而CIDR表示下,前缀只有23位,故在这种表示方式下,前缀不变,剩下最后一位比特,因此其表示包含着两个C类网络,分别是200.23.16.0和200.23.17.0

    CIDR能更加方便地描述子网:

    CIDR的优点:

    1.能提高IPv4的地址空间分配效率

    2.能提高路由效率,利于路由聚合,如:

    将多个子网聚合成一个较大的子网;构造超网(更大的子网)

    解决路由黑洞问题(最长前缀匹配优先):

                                              I

                                             V

    4.5DHCP协议:

    如何获得IP地址?

    1.硬编码:静态配置

    2.动态主机配置协议DHCP(在应用层实现):

    即选择 自动获得IP地址和自动获得DNS服务器地址

    可以从服务器动态获取(租):

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

    特点:“即插即用”、允许地址重用,支持在用地址续租、支持移动用户加入网络

    动态主机配置协议:

    ACK报文中包含分配给用户的IP地址、子网掩码、默认网关、DNS服务器地址

    4.6 网络地址转换NAT

    NAT的实现:

    例子:

    NAT的穿透问题:

    客户期望在公网连接内网的服务器

    解决方案1:

    静态配置NAT,将特定端口的连接请求转发给服务器

    解决方案2:

    利用UPnP自动配置:

    解决方案3:

    中继(如Skype)

     4.7 互联网控制报文协议 ICMP

    功能:

    1.支持主机或者路由器进行差错报告

    2.网络探寻

    两类ICMP报文:

    1.差错报告报文

    (1)目的不可达

    (2)源抑制

    (3)超时/超期报文(ttl超时)

    (4)参数问题

    (5)重定向

    2.网络探询报文

    (1)回声请求与应答报文

    (2)时间戳请求与应答报文

    ICMP报文的格式:

    ICMP差错报告报文的数据封装:

    ICMP的应用举例:Traceroute

    4.8 IPv6简介:

    IPv6的数据报:

    特点:

    1.固定长度的40字节基本首部

    2.不允许分配(若分片,源主机分,目的主机组装)

    格式:(路由器通常不需要处理选项首部)

    IPv4 vsIPv6:

    IPv6的地址表示形式:(冒号分割,16进制,16个比特一组,一共8组)

    IPv6基本地址类型:

    1.单播地址

    一对一通信

    2.多播地址

    一对多通信(只能出现在目的地址中)

    3.任意播地址

    一对一组之一(最近一个)通信

    IPv4向IPv6过渡:

              ->   

    路由聚合的条件:

    1.子网的IP地址连续或相对连续

    2.子网的接口相同,如

    此时,R2到局域网可以实现聚合

  • 相关阅读:
    排序算法
    【转】《分享一下我研究SQLSERVER以来收集的笔记》未整理
    D3.js学习记录
    D3.js学习记录【转】【新】
    JAVA FILE or I/O学习
    JAVA GUI学习
    android一键锁屏
    源文件如何转换到可执行文件
    手动搭建maven项目
    ThinkingInJava----第11章 持有对象
  • 原文地址:https://www.cnblogs.com/cellphone7/p/9765439.html
Copyright © 2011-2022 走看看