当前位置 : 主页 > 编程语言 > 其它开发 >

OSI模型之网络层

来源:互联网 收集:自由互联 发布时间:2022-05-30
一、简介 网络层是OSI参考模型中的第三层,同时也是TCP/IP模型的第二层。它介于传输层和数据链路层之间,主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服
一、简介

网络层是OSI参考模型中的第三层,同时也是TCP/IP模型的第二层。它介于传输层和数据链路层之间,主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报。
协议结构图如下所示:

二、功能
  1. 路由选择与分组转发(最佳路径)
    路由算法:静态路由算法(非自适应路由算法)、动态路由算法(自适应路由算法)
    动态路由算法:全局性(OSPF)、分散性(RIP)
    分层次的路由选择协议:内部网关协议IGP、外部网关协议EGP

  2. 异构网络互联

  3. 拥塞控制

  • 注意:若所有节点都来不及接收分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞。
    解决方法:开环控制(静)、闭环控制(动)
三、IP协议

IP 协议是基于 IP 地址将数据包发送给目的主机,能够让互联网上任何两台主机进行通信。

  1. IP地址的组成
    IP地址由网络号(网段地址)和主机号(主机地址)两部分组成。

  2. IP地址的分类
    IP 地址分为四类,分别是 A类、 B类、 C类、 D类(还有一个保留的E类)。

  3. IP数据报格式

  • 版本: 4 位版本号(version):指定 IP 协议的版本,对于 IPv4 来说,就是 4

  • 首部长度: 4 位头部长度(header length):IP 头部的长度,单位是 4 比特,最小为 5(因为固定部分为 20 字节,所以最小就是 5),也就是说首部长度是 4×5=20 到 4×15=60 之间

  • 区分服务: 8 位服务类型(Type Of Service):3 位优先权字段(已经弃用),4 位 TOS 字段,和 1 位保留字段(必须置为 0)。4 位TOS 分别表示:最小延时、 最大吞吐量、 最高可靠性、最小成本。 这四者相互冲突,只能选择一个。对于ssh/telnet 这样的应用程序,最小延时比较重要;对于 ftp 这样的程序,最大吞吐量比较重要。

  • 总长度: 16 位总长度(total length):整个ip数据报的总长度为2^16-1=65535字节。不过由于链路层的MTU限制,超过1480字节后就会被分片(以太网帧MTU为1500字节,除去20 字节的IP报头)。

  • 标识: 16 位标识(id):唯一的标识主机发送的报文。如果 IP 报文在数据链路层被分片了,那么每一个片里面的这个id 都是相同的。

  • 标志:** 3 位标志字段:第一位保留。第二位置为 1 表示禁止分片,这时候如果报文长度超过 MTU,IP 模块就会丢弃报文。第三位表示“更多分片”,如果分片了的话,最后一个分片置为 1,其他是 0。类似于一个结束标记。

  • 片偏移: 13 位分片偏移(framegament offset):是分片相对于原始 IP 报文开始处的偏移。其实就是在表示当前分片在原报文中处在哪个位置,实际偏移的字节数是这个值 * 8 得到的。因此,除了最后一个报文之外,其他报文的长度必须是 8 的整数倍(否则报文就不连续了)。

  • 生存时间(TTL): 8 位生存时间(Time To Live, TTL):数据报到达目的地的最大报文跳数,一般是 64。每次经过一个路由,TTL就减1,一直减到 0 还没到达,那么就丢弃了。这个字段主要是用来防止出现路由循环

  • 协议: 8 位协议:表示上层协议的类型

  • 首部校验和: 16 位头部校验和:使用 CRC 进行校验,来鉴别头部是否损坏。也就是二进制的和!

  • 源地址和目的地址: 32 位源地址和 32 位目标地址: 表示发送端和接收端

  • 可选字段和填充: 用来支持排错、测量以及安全等措施

  1. IP数据报分片
    以太网帧中的数据长度规定最小 46 字节,最大 1500 字节,ARP 数据包的长度不够 46 字节,要在后面补填充位;最大值 1500 称为以太网的最大传输单元(MTU),不同的网络类型有不同的 MTU。

    如果一个数据包从以太网路由到拨号链路上,数据包长度大于拨号链路的 MTU 了,则需要对数据包进行分片(fragmentation);不同的数据链路层标准的 MTU 是不同的。

  2. NAT(网络地址转换)
    NAT不仅能解决IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
    宽带分享: 这是 NAT 主机的最大功能。
    安全防护: NAT 之内的 PC 联机到 Internet 上面时,他所显示的 IP 是 NAT 主机的公共 IP,所以 Client 端的 PC 当然就具有一定程度的安全,外界在进行 portscan(端口扫描) 的时候,就侦测不到源Client 端的 PC 。

  3. CIDR 与 VLSM
    解决 IP 地址浪费问题,除了使用子网掩码,还使用了 CIDR 和 VLSM 技术。
    CIDR: 是主机号向网络号借位,目的是把几个网络汇总成一个大的网络,增加子网主机数量。
    VLSM: 是网络号向主机号借位,目的是把一个标准的网络划分成几个子网,减少子网主机数量。

  4. 路由选择协议(RIP/OSPF/BGP)
    路由选择协议主要用于路由器之间实现路由表收敛的协议,当路由表稳定时,使用其对数据包进行转发。
    RIP: 距离矢量路由协议,跳数(最大跳数为15跳,16跳不可达)
    OSPF: 开放式最短路径优先,比RIP协议智能。
    BGP: 边界网关协议

  5. ARP(地址解析协议)
    ARP协议主要完成主机或路由器IP地址到MAC地址的映射(解决下一跳走哪的问题)

  • ARP协议的作用是什么: 二层寻址

  • ARP协议作用范围是什么: 同一个广播域

  • 查看指令

    arp -a
    
    
  • ARP应用

  • ARP协议4种典型情况

    • 主机A发送给本网络上的主机B:用ARP找到主机B的硬件地址;
    • 主机A发送另一网络上的主机B:用ARP找到本网络上一个路由器(网关)的硬件地址;
    • 路由器发送给本网络的主机A:用ARP找到主机A的硬件地址;
    • 路由器发给另一网络的主机B:用ARP找到本网络上的一个路由器的硬件地址。
  1. RARP
    反向地址转换协议,网络层协议,RARP与ARP工作方式相反。 RARP使只知道自己硬件地址的主机能够知道其IP地址。RARP发出要反向解释的物理地址并希望返回其IP地址,应答包括能够提供所需信息的RARP服务器发出的IP地址。

  2. 网际控制报文协议ICMP

  • ICMP报文

  • ICMP的应用

    • PING:测试两个主机之间的连通性,使用了ICMP会送请求和回答报文。
    • Traceroute:跟踪一个分组从原点到终点的路径,使用了ICMP时间超时差错报告报文
  1. 网际组管理协议IGMP
    IGMP协议是配置在路由器接口上的。用来周期性扫描本网段还有哪些计算机在绑定多播数据包,如果一个也没有的话,向上游路由器请求多播数据包就拒绝。一份也别过来了。

  2. IP组播地址
    组播路由选择协议常使用的三种算法:
    基于链路状态的路由选择
    基于距离-向量的路由选择
    协议无关的组播(稀疏/秘籍)

  3. ping
    ping工具就是通过 ICMP 消息测试网络层连通性的。源主机发出 Echo request 消息,目的主机回应 Echo reply 消息,则两台主机间的网络层通信正常。也可以通过 ping命令来判断目标主机是否启用。

参考文献

OSI体系结构——网络层详解:https://blog.csdn.net/zhang175gl/article/details/105264596
OSI参考模型之网络层:https://blog.csdn.net/qq_46093534/article/details/116762359
IP地址基础知识:https://jinyi.blog.csdn.net/article/details/114484150
IP协议基本知识:https://www.jianshu.com/p/6135aa848e3d
IP 数据报格式及分片:https://ld246.com/article/1572322244697

如本博客的内容侵犯了你的权益,请与以下地址联系,本人获知后,马上删除。同时本人深表歉意,并致以崇高的谢意! computer_wx@foxmail.com
上一篇:Linux常用笔记
下一篇:没有了
网友评论