zoukankan      html  css  js  c++  java
  • 计算机网络5_网络层

    1、网络层

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

             发送主机:将数据段封装到数据报(datagram)中

             接收主机:向传输层交付数据段(segment)

             每个主机和路由器都运行网络层协议

             路由器检验所有穿越它的IP数据报的头部域:决策如何处理IP数据报

     

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

             转发(forwarding):将分组从路由器的输入端口转移到合适的输出端口,转发表确定本路由器如何转发。

             路由(routing):确定分组从源到目的经过的路径,路由算法(routing algorithms)。

     

    网络层核心功能——连接建立

             某些网络的重要功能:ATM ,帧中继,X.25

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

                       网络设备(如路由器)参与连接的建立

             网络层连接与传输层连接的对比:

                       网络层连接:两个主机之间(路径上的路由器等网络设备参与其中

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

             网络层服务模型:

                       网络层为发送端(主机)到接收端(主机)的数据报传送通道提供什么样的服务模型?

                       无连接服务:不事先为系列分组的传输确定传输路径;每个分组独立确定传输路径;不同分组可能传输路径不同;数据报网络

                       连接服务:首先为系列分组的传输确定从源到目的经过的路径(建立连接);然后沿该路径(连接)传输系列分组;系列分组传输路径相同(分组顺序得到保障);传输结束后拆除连接;虚电路网络

                       数据报网络和虚电路网络都是分组交换网络

                       类似于传输层的无连接服务(UDP)和面向连接服务(TCP),但是网络层服务:主机到主机服务,网络核心实现。

    ================================================================= 

    2、虚电路网络与数据报网络

             虚电路VC Virtual Circuit:

                      一条从源主机到目的主机,类似于电路的路径(逻辑连接):分组交换;每个分组的传输利用链路的全部带宽;源到目的路径经过的网络层设备共同完成虚电路功能。

                       通信过程:呼叫建立(call setup)——数据传输——拆除呼叫

                       每个分组携带虚电路标识,而不是目的主机地址

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

                       链路、网络设备资源(如带宽、缓存等)可以面向VC进行预分配

                                预分配资源=可预期服务性能

                       VC的具体实现:每条虚电路包括:

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

                                虚电路号(VCID),沿路每段链路一个编号

                                沿路每个网络层设备(如路由器),利用转发表记录经过的每条虚电路

                       沿某条虚电路传输的分组,携带对应虚电路的VCID,而不是目的地址

                       同一条VC,在每段链路上的VCID通常不同   

                                路由器转发分组时依据转发表改写/替换虚电路号,VC路径上每个路由器都需要维护VC连接的状态信息!

                       虚电路信令协议(signaling protocols)

                                用于VC的建立、维护与拆除:路径选择

                                应用于虚电路网络:如ATM、帧中继(frame-relay)网络等

                                目前的Internet不采用

             数据报网络:

                       网络层无连接

                       每个分组携带目的地址

                       路由器根据分组的目的地址转发分组

                                基于路由协议/算法构建转发表;检索转发表;每个分组独立选路。

             数据报转发表:

             Internet(数据报网络):计算机之间的数据交换,弹性服务,没有严格时间要求;链路类型众多,特点性能各异,统一服务困难。简化网络 复杂边缘;智能端系统:可以自适应、性能控制、差错恢复。

             ATM(VC网络):电话网络演化而来,核心业务是实时对话:严格的时间、可靠性需求,需要有保障的服务。“哑”端系统,非智能 电话机 传真机;简化边缘,复杂网络;

    =================================================================                            

    3、IPV4协议

             IP协议-IP数据报

             Internet网络层 是典型的数据报网络:路由和转发的功能

             路由协议:路径选择,RIP  OSPF  BGP

             转发表(路由表)

             IP协议:寻址规约、数据报(分组)格式、分组处理规约

             ICMP协议:差错报告、路由器“信令”

             IP数据报:首部+数据(包含上层的数据分组),首部包括很多域和字段(包含固定部分+可变部分)

             IP分组格式:版本号(占4位);总长度字段占16位:IP分组的总字节数;

                                首部长度:字段占4位,IP分组首部长度;

                                服务类型字段占8位:指示期望获得哪种类型的服务;

                                生存时间TTL:字段占8位,IP分组在网络中可以通过的路由器数,路由器转发一次分组,TTL减1。如果TTL=0,路由器则丢弃该IP分组,同时向IP主机发送报文。

                                协议字段占8位:指示IP分组封装的是哪个协议的数据包。

                                首部校验和字段占16位:实现对IP分组首部的差错检测,计算校验和时,该字段置全0,采用反码算数运算求和,和的反码作为首部校验和字段。

             典型的IP分组首部长度是20个字节。

                                标识ID字段占16位:标识一个IP分组,IP协议利用一个计数器,每产生一个IP分组计数器加1,作为该IP分组的标识。

                                标志位字段占3位:保留+DF(DON’T FRAGMENT)+MF(MORE FRAGMENT)

                                片偏移字段占13位:一个IP分组分片封装原IP分组数据的相对偏移量。

                                片偏移字段以8字节为单位。

             IP分片:       

                       最大传输单元(MTU):IP数据报在网络中传输,需要封装到链路层的数据帧里面。网络链路存在MTU——链路层数据帧可封装数据的上限。不同链路的MTU是不一样的。这就涉及到IP分片和重组

             大IP分组向较小MTU链路转发时,可以被“分片”。(fragmented)路由器只管分不管装。由最终目的主机负责重组。

             1个IP分组分为多片IP分组。IP分片到达目的主机后进行“重组”。

             IP首部的相关字段用于识别分片以及确定分片的相对顺序。目的主机收不齐分片的话,会等待一段时间后,把其它分片都丢弃 。

            

             IP分片过程:

                       假设原IP分组总长度为L,待转发链路的MTU为M

                       若L>M,且DF=0,则可以/需要分片

                       分片时每个分片的标识复制原IP分组的标识

                       通常分片时,除最后一个分片,其他分片均分为MTU允许的最大分片

                       一个最大分片可封装的数据应该是8的倍数,因此,一个最大分片可封装的数据为:总需要分片数。

                       每片的片偏移字段取值为:

                       每片的总长度字段为:

                       每片的MF标志位为:

             IP编址:

                       IP分组:源地址(SA)-从哪儿来;目的地址(DA)-到哪儿去

                       接口(interface):主机/路由器与物理链接的连接:实现网络层功能;路由器通常有多个接口;主机通常只有一个或两个接口(有线的以太网接口和无线的802.11接口)。编址编的是实现网络层功能的接口

                       IP地址:32比特(IPv4) 编号标识主机、路由器的接口。分成4个8比特,每个8比特写成十进制。

                       IP地址与每个接口关联。实际上是指某个接口的IP地址。

                       怎样为接口分配IP地址?

                       IP子网:IP地址分成两个部分,高比特位表示网络号(NetID),低比特位表示(HostID)。具有相同网络号的局域网叫IP子网。

                       IP子网特点:IP地址具有相同网络号的设备接口。不跨越路由器可以彼此物理联通的接口。(第三层及以上层网络设备)

     

             有类IP地址:有类编址

             A类:NetID地址8位,HostID24位

             B类:NetID地址16位,HostID16位

             C类:NetID地址24位,HostID8位

             D类,E类 用来命名和标识互联网中一组主机。

    NetID

    HostID

    作为IP分组源地址

    作为IP分组目的地址

    用途

    全0

    全0

    可以

    不可以

    在本网范围内表示本机;在路由表中用于表示默认路由(相当于表示整个Internet网络)

    全0

    特定值

    不可以

    可以

    表示本网内某个特定主机

    全1

    全1

    不可以

    可以

    本网广播地址(路由器不转发)

    特定值

    全0

    不可以

    不可以

    网络地址,表示一个网络

    特定值

    全1

    不可以

    可以

    直接广播地址,对特定网络上的所有主机进行广播

    123

    非全0或非全1的任何数

    可以

    可以

    用于本地软件环回测试,称为环回地址

     

    私有地址

     

    IP子网划分与子网掩码:

             子网划分:如何将一个IP子网划分成更小的网络。

             IP地址继续划分:网络号(高比特)+子网号(原网络主机号部分比特)+主机号(低位比特)

             如何确定是否划分了子网?利用多少位划分子网?

             那就是子网掩码,形如IP地址:

                       32位,点分十进制形式

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

             子网地址+子网掩码——可以准确确定子网大小

    路由器如何确定应该将IP分组转发到哪个子网?

             子网掩码的应用:将IP分组的目的IP地址与子网掩码按位与运算,提取子网地址。

    =================================================================         

    4、无类域间路由(CIDR: Classless InterDomain Routing)

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

                       NetID+SubID——Network Prefix 可以任意长度

             融合子网地址与子网掩码,方便子网划分

                       无类地址格式:a.b.c.d/x ,其中 x 为前缀长度

             例如:Prefix+HostID

             提高 IPv4 地址空间分配效率

             提高路由效率:将多个子网聚合为一个较大的子网,构造超网,路由转发表     

    ================================================================= 

    5、 DHCP协议

             如何获得IP地址:

                       硬编码:静态配置

                       动态主机配置协议:Dynamic Host Configuration Protocol

                                从服务器动态获取:IP地址,子网掩码,默认网关地址,DNS服务器名称与IP地址

                                “即插即用”

                                允许地址重用

                                支持再用地址续租

                                支持移动用户加入网络

                                DHCP工作过程:主机广播(DHCP discover);DHCP服务器利用(DHCP offer);主机请求IP地址(DHCP request); DHCP服务器分配IP地址(DHCP ack)

    =================================================================

    6、 NAT网络地址转换

             只需/能从ISP申请一个IP地址:IPv4地址耗尽

             本地网络设备IP地址的变更,无需通告外界网络

             变更ISP时,无需修改内部网络设备IP地址

             内部网络设备对外界网络不可见,即不可直接寻址(安全)

     

             替换:利用(NAT IP地址,新端口号)替换每个外出IP数据报的(源IP地址,源端口号)

             记录:将每对(NAT IP地址,新端口号)与(源IP地址,源端口号)的替换信息存储到NAT转换表中

             替换:根据NAT转换表,利用(源IP地址,源端口号)替换每个进入内网IP数据报的(目的IP地址,目的端口号),即(NAT IP地址,新端口号)

            

             16-bit端口号字段:

                       可以同时支持60000多并行连接!

             NAT主要争议:

                       路由器应该只处理第3层功能

                       违背端到端通信原则

                       地址短缺问题应该由IPv6解决

             NAT的穿透问题:

    ================================================================= 

    7、 ICMP协议   互联网控制报文协议

             支持主机或路由器完成差错或异常报告;网络探询;

             两类ICMP报文:

                       差错报告报文(5种)

                                目的不可达,源抑制,超时/超期,参数问题,重定向(Redirect)

                       网络探询报文:

                                回声(Echo)请求与应答报文(Reply)

             ICMP报文封装到IP数据报中传输          

    ================================================================= 

    8、 IPv6简介

             最初动机:32位IPv4地址空间已分配殆尽

             其他动机:改进首部格式

                       快速处理/转发数据报

                       支持QoS

             IPv6数据包格式:

                       固定长度的40字节基本首部40B+有效载荷(扩展首部+数据)64KB

                       基本首部(版本+优先级+流标签+载荷长度+下一个首部+跳步限制+源地址+目的地址)

                       不允许分片

                      

                       优先级:标识数据报的优先级

                       流标签:标识同一“流”中的数据报

                       下一个首部:标识下一个选项首部或上层协议首部(如TCP首部)

             其他改变vs IPv4

                       校验和:彻底移除,以减少每跳处理时间

                       选项:允许,但是从基本首部移出,定义多个选项首部,通过“下一个首部“字段指示

                       ICMPv6:新版ICMP

                                附加报文类型, e.g. “Packet Too Big“

                                多播组管理功能

             IPv6地址表示形式:128bits

                       冒号分割的十六进制,8组16进制数

                       压缩形式:

                       一般形式:

                       IPv4-嵌入形式:

                       地址前缀:

                       URLs:

             IPv6基本地址类型:

                       单播(unicast):一对一通信

                       多播(multicast):一对多通信

                       任意播(anycast):

             IPv4向IPv6过渡

                       不可能咋某个时刻所有路由器同时被更新为IPv6

                       不会有 “标志性的日期“

                       IPv4和IPv6路由器共存的网络如何运行?

                                隧道技术:IPv6数据报作为IPv4数据报的载荷进行封装,穿越IPv4网络。

    ================================================================= 

    9、路由算法

     

    =================================================================         

    10、Internet路由

     

  • 相关阅读:
    Java多线程-新特性-有返回值的线程
    Java多线程-新特性-线程池
    java多线程-慎重使用volatile关键字
    Java多线程-线程的调度(守护线程)
    Java多线程-线程的调度(合并)
    Java多线程-线程的调度(让步)
    Java多线程-线程的调度(优先级)
    Java多线程-线程的调度(休眠)
    Java多线程-线程的交互
    let 命令 与 var的区别
  • 原文地址:https://www.cnblogs.com/grooovvve/p/12251957.html
Copyright © 2011-2022 走看看