• 计算机网络---网络层


    目录

    网络层

    数据交换方式

    电路交换

    报文交换

    分组交换

     数据报方式和虚电路方式

    网络协议IP

    IP地址的表示

    IP地址分类

    特殊的IP地址

    子网掩码 

     无分类编址CIDR(构造超网)

    IP数据报的格式

    ARP协议

             DHCP协议

    ICMP协议

    网络地址转化-NAT

    IPV6

     IPV6数据报格式

    IPV6地址表现形式

    IPV6多播

    IPV6和IPV4的转化

    网络层

     主要任务是将分组从源端传递到目的端,为不同主机提供通信服务

    传输单位:数据报

    数据报是一个完整的数据,分组是将数据报分割后的数据

    功能一:路由选择与分组转发;通过路由选择算法,选择合适的传输路径

    功能二:异构网络互联;处在不同网络的主机,可以通过路由器实现通信

    功能三:拥塞控制;整个链路负载过大,网络处于拥塞状态,就会丢弃分组

    数据交换方式

    通过路由器,可以将大量主机互联

    电路交换

    常见例子就是电话网络

    A和B两个人打电话,直接通过网线建立连接

    特点:独占资源(A B两个人打电话不会有第三个人参与)

    优点:通信时延少(数据直达);有序传输;没有冲突;实时性强(随时通信)

    缺点:建立连接的时间长;线路独占,使用效率低;灵活性差;无差错控制

    报文交换

    报文:应用层发送的数据

    在链路中间通过交换设备进行数据转发

    优点:无需建立连接;交换设备转发数据,动态分配电路;线路可靠性,利用率高;多目标服务

    缺点:交换设备存储数据,有时间损耗;报文大小不定,要求链路有较大空间

    分组交换

    在报文转发的基础上,可以将大的数据段切割成小的数据

    优点:无需建立连接;交换设备转发数据,动态分配电路;线路可靠性,利用率高;多目标服务

    缺点:要浪费空间,用于记录分组顺序,来实现顺序传输

     数据报方式和虚电路方式

    数据报方式为网络层提供无连接服务

    不事先为分组的传输确定路径,每个分组独立的决定传输路径

    虚电路方式为网络层提供连接服务

    事先为分组的传输确定路径,每个分组传输路径相同

    虚电路:一条源主机到目的主机的路径(逻辑电路),路径上所有结点都要维持这条虚电路的建立;都维持一张虚电路表,每一项记录了一个打开的虚电路信息

     使用数据报服务,网络层实现不可靠传输,交由传输层进行差错控制,实现可靠传输

    网络协议IP

    IP协议是TCP/IP协议之一,也是重要的互联网标准之一

    从一般概念来说,将网络互联起来就需要一些中间设备

    1、物理层使用的中间设备称为转发器

    2、数据链路层使用的设备称为网桥或者桥接器

    3、网络层使用的中间设备称为路由器

    4、网络层以上使用的中间设备称为网关

    IP地址的表示

    整个互联网是一个网络,IP地址就是给互联网的每一个主机(或者路由器)的每一个接口分配一个唯一的标识符

    IP地址分类

    IP地址由两个固定长度的字段组成,第一个字段是网络号,标识主机(或路由器)连接的网络

    一个网络号在整个互联网范围内必须是唯一的;第二个字段是主机号,标识该主机(或路由器),一个主机号在它面前的网络号里必须是唯一的

    所以:一个IP地址在整个互联网内是唯一的

    同一个局域网的所有主机,网络号是相同的,主机号是不同的

    IP地址被分为5类,最常用的是A B C三类

     为了方便我们读取,使用点分十进制的方法表示一个IP地址,每一个字节转化为10进制,使用.分隔

    特殊的IP地址

    1、A类地址的网络号为8位,但是第一位被默认0,只有7位可用

    但是规定:1、IP地址网络号的全0表示“this”,意思是本网络;2、网络号为01111111(127),称为回环地址,是一个虚拟的网络地址;

    所谓的回环地址,通俗的讲,就是我们在主机上发送给127开头的IP地址的数据包会被发送的主机自己接收,根本传不出去;也就是直接被本机的IP层获取,不会经过分用

    127.0.0.1当然也是个回环地址。只不过127.0.0.1经常被默认配置为本机IP地址

    2、A类地址的主机号占3个字节,但规定:

    1、全0的主机号字段表示该IP是本主机所连接到的单个网络地址(例如:一个主机的IP地址为5.6.7.8,则该主机所在网络地址就是5.0.0.0)

    2、主机号全1表示该网络的所有主机;称为广播地址,给同一个链路中相互连接的所有主机发送数据

    子网掩码 

    分类IP地址的缺点

    1、使用分类的IP地址,A类一个网络号下,主机号有2^24-2个,B类一个网络号下,主机号有2^16-2个……,然而,一个企业,可能申请到了一个B类网络,但是这个企业也没有6万多台设备,这就造成了地址的浪费

    2、两级IP地址不够灵活:申请IP地址要申请

    基于分类IP地址的缺点,有了子网划分

     子网号的划分,是由企业决定的;这个三级IP地址在外看来和二级IP地址一致

    子网掩码

    现在路由器R1可以接受目的地址是145.13.*.*的数据,数据报145.13.3.10已经到了路由器,要怎么到子网145.13.3.0呢?

    因为子网划分是企业内部的事情,划分方式多种多样,一个IP数据报的首部是无法包含子网信息的,那么我们如何得到子网地址呢?

    这就需要到了子网掩码

    子网掩码:IP地址的网络号和子网号全为1,主机号全为0

    相关例题

     无分类编址CIDR(构造超网)

    消除了传统的A B C类和划分子网的概念

     CIDR记法:IP地址后加入'/',然后写网络前缀的位数

    例如:128.14.32.0/20:表示网络前缀是20位,那么主机号占12位

    对应的子网掩码(也称为地址掩码):网络前缀全为1,主机号全为0

    构成超网

    将多个子网聚合成一个较大的子网,称为构成超网

    方法:将网络前缀缩短

     可以减少路由器中路由器转发表的空间和路由查找时的次数

     最长前缀匹配:使用CIDR时,查找路由表可能得到多个匹配结果,选择网络前缀最长的路由,因为前缀越长,地址号越少,路由越具体

    IP数据报的格式

     一个IP数据报由首部和数据两部分构成;首部前一部分是20字节的固定长度;后一部分是可选字段

    • 版本:占4个比特位;指IP协议的版本,对于IPV4就是4;现在广泛使用的是IPv4,也就是四个字节表示IP地址,,
    • 首部长度:占4个比特位;基本单位是4字节,也就是如果首部长度是0101(5),表示当前首部长度是5*4=20字节;当首部长度不是4字节的整数倍时,使用填充字段进行填充
    • 区分服务:占8个比特位;3位优先权字段(已弃用),4位TOS字段和1位保留字段(置0)4位TOS字段分别表示:最小延时,最大吞吐量,最高可靠性,最小成本,这四者选其一,就是路由选择传输路径的标准(类似于高德地图的最短时间,最短步行,最少花费)
    • 总长度:占16个比特位;指首部和数据的长度,单位是字节;也就是最大为65535字节=64k

    当数据过大,就要将数据分片,下列三个数据实现了分包、组包

    • 标识:占16位;IP内部维持一个计数器,产生一个数据报就加一,值赋给标识字段;
    • 标志:占3位;目前只有前2位有意义; 标志字段的最低位记作MF,MF=1表示后面还有分片的数据报;MF=0表示后面没有有分片的数据报;标志字段的中间位记作DF,DF=0允许分片
    • 片偏移:占13位;指出较长的分组在分片之后,某片在原分组的相对位置;以8个字节为偏移单位

    •  生存空间TTL:占8位;表明数据在网络中的寿命,由发送端设置这个字段,目的是防止无法到达的数据报无限期的在网络中传输;可以设置为64,每一次经过转发,TTL就减一,如果TTL=0,那么这个数据就会被路由器丢弃
    • 协议:占8位,协议字段指出数据报携带的数据是何种协议,也就是传输层使用的协议,以便目的端口的IP层知道将数据交给哪一个协议处理

    •  首部校验和:占16位;用于校验数据是否正确:但是只检验数据报的首部,不检验数据部分

    ARP协议

    网络层封装数据,加入IP数据报,数据链路层负责让数据封装为帧,帧头和帧尾存入硬件地址

    ARP协议:根据网络层获取的IP地址,解析出在数据链路层使用的硬件地址

    每一个主机都设有ARP高速缓存,里面有本局域网上的每个主机和路由器的IP地址到硬件地址的映射表

    DHCP协议

    动态主机配置协议DHCP,使用客户/服务器方式,客户端和服务端通过广播方式进行交互,基于UDP

    动态分配IP地址:主机只要进入了DHCP服务器的范围,DHCP服务器就会给主机分配IP地址

    ICMP协议

    ICMP协议支持主机或者路由器,在传输出现问题的时候,返回差错报文

    网络地址转化-NAT

    公共IP地址是在互联网上注册的,我们在访问网络的时候,就需要公有IP地址,否则我们是无法访问互联网的

    公共IP地址也是唯一的,在世界上都不会有重复

    对于IPV4而言,之前我们认为32字节,也就是4,294,967,296,可以标识世界上的任意一个主机,然而,随着互联网的发展,手机,电脑,平板等都需要IP地址,如果这些设备都有一个唯一的IP,那显然是不现实的

    所以,就出现了私有IP

    IPV4地址中预留出了3个IP地址段,作为私有IP地址;供家庭,学校,企业等内部使用

    私有IP地址不会在互联网上公开注册,所以我们是无法通过私有IP地址访问网络的

     但是,如果我们确实有私有IP地址,想要访问网络,就需要将私有IP地址转化为公共IP地址,这就是NAT技术

    网络地址转换NAT(network address translation):在专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器称为NAT路由器,它至少有一个有效的全球IP地址

    使用了私有IP,我们就可以使用私有IP标识大部分的主机,通过NAT技术,NAT路由器将私有IP替换为NAT路由器所持有的公有IP地址,借助这个公有IP地址,私有IP也可以访问网络

    •  公共IP(外网IP)是在互联网注册的,是唯一的,只有外网IP才可以访问网络;私有IP不在互联网注册,通过NAT路由器转化为外网IP才可以访问网络,在一个局域网内是唯一的,在不同的局域网内可重复
    • 公共IP由互联网服务提供商分配;私有IP由我们的路由器分配
    • 公共IP付费;私有IP免费
    • 公共IP是不安全的,因为是在网路上被外部使用;私有IP是安全的

    IPV6

    IPv4的IP地址数显然跟不上互联网的发展了,就有了IPV6的出现

    IPV6所做的改进:

    1. IPv6使用16字节,也即是比IPV4多了12个字节的位数,就是扩大了2^96倍
    2. IPv6的空间更大,地址层次划分的可能性越大
    3. IPV4和IPV6并不兼容,IPV6的首部格式和IPV4不同
    4. IPV6的首部长度是固定的,其选项放在了有效载荷中,IPV6允许数据包含选项的控制信息,选项可变;IPV4的选项固定,放在首部的可变部分
    5. IPV6允许协议继续扩充;IPV4是不变的
    6. IPV6不需要DHCP(即插即用,自动配置)
    7. IPV6首部是8字节对齐,IPV4首部是4字节对齐
    8. IPV6彻底移除了校验和移除
    9. IPV6只可以在主机处分片,IPV4只可以在路由器和主机处分片:当IPV6数据报在链路上传输时,如果过大就只能丢弃
    10. IPV6支持资源的预分配,支持实时影像等要求,保证一定的带宽和时延的应用

     IPV6数据报格式

    1. 版本:占4位;说明协议的版本
    2. 通信量类(优先级):占8位;区分数据报的类别和优先级
    3. 流标签:占20位;IPV6提出了流的概念,所谓"流"指互联网络上从特定源点到特定终点的一系列数据报,而在这个“流”所经过的路径上的路由器都保证指明的服务质量;所有属于一个流的数据报都具有相同的流标签,类似于IPV4的标识
    4. 有效载荷长度:占16位;指明IPV6数据报除了基本首部外的所有字节数
    5. 下一个首部:标识下一个扩展首部或者上层的协议首部
    • 当没有下一个扩展首部时,这个字段的值说明传输层使用的协议(TCP=6、UDP=17)
    • 有下一个扩展首部时,这个字段指向下一个扩展首部

        6.跳数限制:占8位;等同于IPV4的TTL,限制数据报在网络的传输次数

    IPV6地址表现形式

    一般形式 冒号十六进制记法:将两个字节的值使用16进制表示,中间用冒号分隔

    压缩形式:对0的压缩,也就是可以将0001写作1;

    或者将连续的0使用::表示(零压缩);FF05:0:0:0:0:0:0:B3,写作FF05::B3

    零压缩表示法在一个地址只可以出现一次

    IPV6多播

    单播:一对一的传输,可以作为发送地址和接收地址

    多播(组播):发送数据报到一个网络内的所有主机,作为目的IP

    任播:任播的终端是一批主机,但是一般传输给最近的主机,作为目的IP

     多播就只发送一份,通过路由器实现复制;而单播在发送时就发送60份

    IPV6和IPV4的转化

    双栈协议

    一台设备上同时启动IPV4协议栈和IPV6协议栈

    路由器:LAN端和WAN端是IPV4,IPV6,路由器会实现转化

    主机:同时用于IPV4,IPV6地址,具备同时处理这两个协议的功能

    隧道技术

    使用隧道协议传输的数据可以是不同协议的数据,隧道协议会将其重新封装然后通过隧道发送(IPV4数据报会封装IPV6的首部)

  • 相关阅读:
    Valine表白动态心跳源码
    【AIGC】大语言模型
    HDC 2022 开发者主题演讲与技术分论坛干货分享(附课件)
    网络安全(黑客)自学
    四维图新用户大会|CEO程鹏:极致性价比时代,我们能为汽车智能化提供什么?
    【完整解析】2024电工杯数学建模A题论文与代码
    聊聊基于Alink库的主成分分析(PCA)
    Redis-带你深入学习数据类型list
    Webview+Viewpager左右滑动冲突
    C现代方法(第3、4章)笔记
  • 原文地址:https://blog.csdn.net/m0_58342797/article/details/126122090