网络层

概述

功能

  • 功能特性

    • 向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务,所传送的分组可能出错,丢失重复,失序或者超时
  • 功能

    • 连接【异构】网络

      • 异构网络的定义

        • 所谓网络的异构性是指数据传输介质、数据编方式【物理层】、链路控制协议以及不同的数据单元格式和转发机制【数据链路层】
    • 拥塞控制

      • 开环控制

        • 事先考虑完全,工作时不考虑当前的网络情况
      • 闭环控制

        • 事先不考虑,工作时监测获取信息,动态优化系统运行

网络层的关键设备:路由器

  • 功能

    • 路由选择
    • 分组转发
  • 【SDN】路由技术

    • 控制层面

      • 集中控制:统一由远程控制器进行路由表的更新维护
    • 转发层面

  • 路由算法

    • 域内路由选择

      • 动态路由

        • 距离向量算法

          • 概述:【所有的相邻结点】相邻结点定期进行路由选择表的交换,并在以下的情况下进行当前路由表项的更改操作:1. 新的路由表项 2.代价【跳数】更小的路由路径
        • 链路状态算法

          • 概述:主动测试所有相邻节点的信息,定期将链路层状态传播给所有其他路由结点【注意是洪泛法】
      • 静态路由

    • 域间路由选择

      • BGP

IPV4

功能-概述:定义数据基本传输单元,指明分组处理方式,错误控制,非可靠投递思路,分组路由选择思想

IPV4分组的格式

  • 首部

    • 版本

    • 首部总长度

    • 总长度

    • 标识

      • 具体来说:片分过程是在源主机或者中间路由器上进行的,由于数据链路层的MTU【就是MAC帧的数据部分小于IP数据报报文长度】,在目的主机上进行重组【不一定是按序到达的】
    • 标志

      • 标志最低位MF【more fragment】=1:表示后面还有分组,中间一位DF[Don’t fragment]:表示不允许分组
    • 片偏移

      • 记录分片后各片的数据部分属于原来的位置
    • 生存时间【TTL】

      • 占八位【255】
    • 协议

      • 用于指出分组携带的数据采用何种协议:即是分组应该交付给那个协议进行处理
    • 首部校验和

      • 拥有校验首部的分组不校验数据部分
    • 源地址字段

      • 标识发送方的IP地址
    • 目的地址字段

      • 接受方的IP地址
    • 可变字段

    • 填充字段

  • 数据报文部分

IP数据报的分片

  • 概述一下:IP数据报的分片是由于相应的一个链路层数据所能承载的最大数据量【MTU】

IPV4地址

  • 组成结构

    • 网络号

      • 环回自检:127.X.X.X
      • 全为零表示相应的本网络
    • 主机号

      • 全为1:表示这是一个广播地址
      • 全为零表示相应的本网络上的主机【DHCP中主机动态获得相应的IP,其IP请求IP数据报封装的即是该0.0.0.0地址】
  • 传统分类IP地址

    • A类

      • A(1~126):其中网络号八位【注意第一位固定为0】
    • B类

      • A(128~191):其中网络号16位【注意第一位第二位为10】
    • C类

      • C(192~223):其中前三位固定固定的110
    • D类

      • D(224~239):其中前4位为1110
    • E类

      • E(240~255):其中前四位为1111
  • IP的作用

    • IP是标志一台主机(或路由器)和一条链路的接口,每个IP地址的网络号必须要与相应的所在网络的网络号相同
  • 子网划分

    • 子网掩码

      • 一串1与跟随的一串0组成,当子网掩码与IP地址逐位相与的时候,就得到了相应的子网的网络地址
      • 路由表项中:除了要有相应的源IP地址,目的IP地址还需要源的,目的的子网掩码,当子网掩码为0.0.0.0表示默认路由选择
    • CIDR【无分类编址】

      • 其中路由选择:采取最长网络前缀的方式进行,这样得到的路由更加具体【CIDR缩小路由表项,所带来的后续后果】
      • 格式:x.x.x.x/x

NAT技术

  • 概念:通过将专用网络地址转换为共用地址,从而对外隐藏内部管理的IP地址,大大节省了IP地址的消耗,降低了网络被攻击的风险

  • 至少需要一个有效的全球IP地址

  • 端口号到底是个什么东西,他具体的物理实体是什么,作用是什么??????

  • 工作层次

    • 普通路由器只工作在网络层:不会涉及到源IP地址与目的IP地址之间的转换关系
    • NAT路由器工作:涉及到源IP地址与目的IP地址之间的转换关系,而且需要查看转换传输层的端口号【工作在网络层以及传输层】
  • NAT技术会把IP数据报中的源IP地址修改后再发送的【详情见:P154】

网络层转发分组的过程

    1. 从收到IP分组首部提取目的IP地址D
    1. 若查找到特定主机路由,按照这条路由的下一跳进行转发,否则【按照前缀长度】,查看下一条路由表项,执行3
    1. 将这一行的IP地址与相应的子网掩码进行按位与运算,若运行结果与本行前缀匹配,查找结束,按照下一跳进行处理(要么交付主机,要么交付路由),否则若转发表还有下一行,对下一行进行检查,重新执行3,否则转到4
    1. 如果有默认路由【0.0.0.0/0】则将分组交付给默认路由,否则报告分组出错

ARP协议

  • 概念:由于IP数据报要在链路上进行传播,也就是说其需要进行MAC帧的封装,也就是说我们需要源MAC,目的MAC,ARP(address resolution protocol)就是完成相应的IP地址到MAC地址的转换操作的

  • 具体执行过程

      1. 主机A向主机B发送IP数据报,现在其ARP高速缓存中有无B的IP地址,如果有根据此可查出相应B的MAC地址写入MAC帧即可,如果没有执行2
      1. 使用目的MAC为FF-FF-FF-FF-FF-FF-FF-FF-FF的帧来封装,并且广播ARP请求分组(使得同一个局域网内的所有主机都收到该ARP请求),主机B收到该ARP请求时,通过单播向A发出ARP响应分组,A收到改分组后,写入ARP缓存中,然后执行1

DHCP协议

  • 常用于给网络动态的分配IP地址
  • 交换过程:详见:P159

ICMP协议

  • 作用:用于让主机或路由器报告差错和异常情况,ICMP报文作为IP数据报的数据部分,一起组成IP数据报发送出去

  • 类型

    • 终点不可达:主机或者路由器无法交付数据报
    • 源点抑制:路由器或主机拥塞儿都是数据报
    • 时间超过:TTL字段为零,注意是丢弃所有已收到的数据报文
    • 参数问题:数据报首部中的字段值不正确,丢弃后
    • 改变路由:存在更好的路由时
  • 类型

    • 回送请求、回答报文
    • 时间戳请求。回答报文
    • 地址掩码请求、回答报文
    • 路由器询问和通告报文
  • 应用

    • PING:工作在应用层,直接使用网络层的ICMP,使用ICMP回送请求、回答报文
    • Tracerout:工作在网络层,使用ICMP的时间超过报文

IPv6

产生原因:从根本上解决IP地址耗尽的问题

主要特点

    1. 更大的地址空间128bit表示
    • 我们采用4位4进制作为一个独立的单元来表示该地址具体来说就是:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx,一共八组
    1. 扩展的地址结构
    1. 灵活的首部格式
    1. 改进的选项
    1. 允许协议继续扩充
    1. 支持即插即用
    1. 支持资源自由分配
    1. 不允许路由分片【仅支持相应的源主机分配】,如果路由过程中IP数据报过大直接丢弃,发送ICMP报文
    1. 首部格式必须要是8B的倍数
  • 10 .增大了安全性 ,身份验证和保密功能是IPv6的关键特征

    1. 支持任播功能

IPv4-IPv6

  • 过渡策略

    • 双协议栈
    • 隧道技术

路由协议

路由协议是自制系统之间的通信规定

分类

  • 域内路由

    • 内部网关协议

      • 路由信息协议【RIP】

        • 路由算法:距离向量
        • 传递协议:UDP[应用层]
        • 路径选择跳数最少
        • 特点:坏消息传播慢
        • 交换结点:本结点相邻的结点
        • 交换内容:本路由器所知道的所有信息,即是自己的路由表
      • 开放最短路径协议【OSPF】

        • 路由算法:链路状态
        • 传递协议:IP
        • 路径选择:代价最低
        • 交换结点:网络中的所有结点【洪泛法】
        • 交换内容:本结点直接相链的所有路由器额链路状态——结果导致每个路由表都了解整个链路的拓扑结构信息
        • 特点:灵活,将网络划分为多个层次,区域
  • 域 间路由

    • 外部网关协议

      • 边界网关协议【BGP】

        • 路由算法:路径向量
        • 传递协议:TCP
        • 较佳的路径【非重复路由】
        • 交换结点:本结点相邻的路由
        • 交换内容:各个自治系统之间的路径,首次是自治系统边界路由器的整个路由表,之后是只传输相应的变化部分

IP组播

产生的条件

  • 由于为了支持上层应用中的多组转发机制:我们需要采用相应有效的组播转发机制【避免单播模拟带来的数据洪流现象】

协议

  • IGMP协议【Internet group manage protcol】

    • 通知本地网络上的路由器关于接受组播愿望
  • 具体内容

    • 目的IP使用D类地址

    • 传播时相应的组播IP地址与组播mac地址之间转换操作

        1. 提取组播IP地址的后23位
        1. 将MAC组播地址与1中的23位后拼接,形成映射得到的组播MAC地址
    • 特点

      • 尽最大努力交付
      • 组播地址只应用于目的地址
      • 组播数据报不产生ICMP报文
      • 并非所有的D类地址都可以作为组播IP
  • 组播路由算法

    • 基于状态链路
    • 基于距离向量
    • PIM[协议无关组播]

移动IP

通信过程

  • 移动结点处于本地网中

      1. 传统的TCP/IP通信方式
  • 移动结点处于外地网中

      1. 向本地网中的代理注册当前位置地址【转交地址】2. 本地代理会建立一条通向转交地址的隧道,本地收到相应的IP分组后,通过隧道进行转交。3,转交处解封装,恢复IP数据报,送到移动结点。4.移动结点通过外网路由器发送IP数据报5.移动结点来到另一个外网时,只需要向本地的代理更新转交地址即可6.移动结点回到本地时,注销转交地址,回到1的方式进行通信

原文地址:http://www.cnblogs.com/xiesunsun/p/16878124.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性