网络层

计算机网络笔记,视频地址:https://www.bilibili.com/video/av9876107

1. 网络层提供的服务

在网络结构中,底层的结构都为上一层提供服务

网络层只负责在不同网络之间传输数据包(基于数据的IP地址),不负责丢包重传以及包的顺序

emmmmm…没有感情的甩包机器

在这里插入图片描述

由图可以看出,在互联网中既有局域网又有广域网,既有光纤又有铜线,还有无限传输,在数据链路层中使用的到协议也是各不相同的,有PPP协议,也有CSMA/CD,为了实现各部分的通信,这里使用了路由器,可以在传输中统一协议。

2. 计算机的通信过程

在上一章已经有看过集线器、交换机和路由器,为了巩固一下,还是把链接拖过来

参考博客https://blog.csdn.net/GoGleTech/article/details/80519510

在这里插入图片描述

由上图可以看出

发送端所做的工作有:

  • 应用层准备需要传输的文件
  • 传输层将文件分段,并编号
  • 网络层对不同段的数据加上目标和源IP地址(网络地址)变为数据包
  • 数据链路层在数据包上增加目标和源的MAC地址(物理地址)形成数据帧
    • 首先需要根据自己的子网掩码判断自己以及目标地址所在网段
    • 如目标和源在同一个网段,ARP协议广播解析目标IP地址的MAC地址(IP地址决定数据的起点和终点,MAC地址决定了数据下一跳的位置)
    • 如不在一个网段,需要送到路由器(通过网关地址,网关地址就是路由器地址)

接受端所做的工作有:

  • 路由器确认IP网关是否相同,相同则传入

  • 数据链路层找到对应MAC地址的主机

3. 网络层协议

在这里插入图片描述

3.1 ARP协议(Address Resolution Protocol,地址解析协议)

将IP地址通过广播目标地址IP得到MAC地址,广播只能在一个网段中广播

在cmd中可以通过arp -a查看本网段的所有MAC地址

​ 通过arp -d清除arp中的缓存

​ 通过arp -s静态绑定IP和对应MAC地址

因此如果在一个局域网中,可以通过MAC地址欺骗来截取其他主机之间通信数据

这里老师说了几个流氓软件--------网络执法官:干扰本网段中其他主机之间的通信

​ ---------p2p终结者:控制本网段中其他主机的上网流量(欺骗自己是网关)

解决ARP欺骗的方法:

  • 静态绑定静态绑定IP和对应MAC地址,不经过ARP广播
  • 防火墙设置

3.2 ICMP协议(Internet Control Message Protocal,网际控制报文协议)

ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告

ICMP是IP层的协议

3.2.1 ping命令

PING(Packet Internet Grope,因特网包探索器),是用于测试网络连接量的程序。

ping指的是端对端连通,常作为可用性检测,ping发送一个ICMP回声请求消息给目的地

ping /?可以查看ping的相关命令
在这里插入图片描述

在这里插入图片描述

其中TTL表示数据包的生存时间,在网上发数据的时候,经过一个路由器ttl就减一,防止数据包循环

Linux系统,TTL默认值是64

Windows系统,TTL默认值是128

Unix系统,TTL默认值是255

3.2.2 pathping

pathping可以跟踪数据包路径,计算丢包情况

在这里插入图片描述
在这里插入图片描述

3.2.3 tracert

tracert可以在路由器上跟踪数据包路径
在这里插入图片描述

3.3 IGMP协议(Internet Group Management Protocol, 因特网组管理协议)

IGMP协议是扫描本网段中不同计算机绑定的多播IP地址

  • 单播通信:点对点通信,具有针对性

  • 广播通信:目标MAC地址FF,目标IP地址255.255,全网段通信,但是不能跨网段

  • 组播/多播通信:通过多播IP地址实现,相当于分组频道,可以跨网段

    接收端绑定多播IP地址就可以接受多播的信息,如果是跨网段,只有一份多播信息在广域网上传输,这也避免了带宽的浪费,只要局域网中有一台主机绑定了多播IP地址,多播数据就会传输到该网段,如果没有主机绑定,则多播数据不会传送到该网段

    多播没有进度条,和直播类似,目标主机受到的数据与源主机时间上保持一致

    多播不建立会话

4. IP数据包结构

IP数据包由首部和数据两部分组成

首部的前20字节是固定长度,是所有IP数据必须具有的,后面接一些可选字段,长度不固定,在IPv6中没有了可变部分

在这里插入图片描述

  • 版本:表示TCP/IP协议的版本号 ipv4 ipv6

  • 首部长度:首部的总长度,固定部分+可变部分,一般只有固定的20个字节,很少有数据包有可变部分

  • 区分服务:不同数据流的优先级不同,在发送数据时要加区分服务的标记,同时路由器也要能够识别标记,QoSQ_oS

  • 总长度:数据包的总长度,最大可以是2161=655352^{16}-1=65535字节,网络层数据包传到数据链路层如果过大需要分片,最大的传输长度是1500字节

    泪滴攻击:向目标主机发送损坏的IP包,例如重叠的包或过大的包,以浪费计算机资源

  • 标识:在产生数据包时会产生标识,每个数据包的标识不同,对于同一个数据包分片后得到的不同数据包,其标识相同

  • 标志:用于区分数据包是分片数据包还是完整数据包,标识占3bit,前两位有意义,最低位MF,MF=1表示后面还有分片数据包,MF=0表示是最后一个分片,标识中间为是DF,DF=0时才允许分片

  • 片偏移:字节/8得到偏移量,用于确定分片顺序

    在这里插入图片描述

  • 生存时间:TTL,经过一个路由器ttl就减1

  • 协议:数据部分的协议,ICMP 协议号1、IGMP 协议号2、TCP 协议号6、UDP 协议号17、IPv6 协议号41、OSPF 协议号89

  • 首部检验和:16位,只检验数据报的首部,不检验数据部分

    在这里插入图片描述

5. 网络故障排错

5.1 抓包工具排除网络故障

抓包工具-------wireshark

其他课程-------谢希仁

抓包可以抓广播包和多播包

5.2 网络畅通的条件

  • 沿途路由器知道来回路径,数据包有去有回

5.3 静态路由和动态路由

  • 静态路由

    一个路由一个路由的设置目标IP和下一跳IP地址,来回都要设置,配置路由表

    适用于小规模网络,不能自动调整路由

  • 动态路由

    RIP协议:周期性广播路由表,30秒更新路由信息,最大跳数15跳,过的路由器次数越少越优,自动选择最优路径
    OSPF协议:选择路径的标准是带宽,哪个带宽开销少就选哪个路径

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章