计算机网络-第四章之网络层
发布日期:2021-09-12 09:58:02 浏览次数:46 分类:技术文章

本文共 2644 字,大约阅读时间需要 8 分钟。

文章目录

网络层

每种协议都有自己的数据包格式?

一、网络层提供的服务

网络层负责在不同网络之间尽力转发数据包,基于数据包的IP地址转发。

不负责丢失重传,也不负责顺序。
在这里插入图片描述

1、数据包在互联网中的传送

路由器是三层设备

在这里插入图片描述

2、注意

网关就是你局域网的第一个地址一般,这样发送数据的时候,就知道去找哪个出口去转发数据出去了。

在这里插入图片描述

虽然上面的广域网到广域网(两个路由器之间)可以通,局域网到局域网也可以通,但是10.0.0.2到12.0.0.3不通,这是因为到了11.0.0.1之后,不知道怎么走,因为它两边是10.x.x.x和11.x.x.x,它不知道12.x.x.x怎么走,所以要自己指定或者添加路由表,这样下一个路由器就能找到12.0.0.3怎么走了。

二、网络设备和OSI参考模型关系

计算机通信的过程 本网段通信和跨网段通信

1、发送端

  • 应用程序准备要传输的文件
  • 传输层:将文件分段并编号
  • 网络层:添加目标IP地址和源IP地址
  • 数据链路层: 使用自己的子网掩码判断自己在哪个网段,然后再使用自己的子网掩码判断目标地址在哪个网段。如果是在同一个网段,直接使用arp协议广播解析目标IP地址的MAC地址。如果不是一个网段, 那么就使用arp协议广播网关的MAC地址。

在这里插入图片描述

IP地址决定起点和终点,物理地址决定下一跳给谁。
集线器只负责传递比特流,不做任何判断。

在这里插入图片描述

在上面的图片中从路由器到路由器因为是使用的PPP协议,属于点到点传输,所以物理地址是FF,固定,因为写什么都一样。
交换机能看懂数据链路层的地址,进行转发,所以交换机是两层设备,交换机看不懂IP,路由器可以看懂,同理路由器是三层设备。换句话说,对于路由器来说看到的就是数据包的流动,对于交换机来说,看到的就是数据帧的流动,对于集线器来说,就是bit流的流动。

三、网络层协议

四个:ARP、IP、ICMP、IGMP

图片下面的为图片上面的提供服务。
在这里插入图片描述

1、ARP(负责把ip地址转成物理地址)

ARP功能:

使用自己的子网掩码判断自己在哪个网段,然后再使用自己的子网掩码判断目标地址在哪个网段。如果是在同一个网段,直接使用arp协议广播解析目标IP地址的MAC地址。如果不是一个网段, 那么就使用arp协议广播网关的MAC地址。

网络中的计算机怎么知道其他计算机的MAC地址的,这就需要有一个协议解析对方的MAC地址,一次解析之后,就会缓存MAC地址,一段时间不用可能就删掉,这就是网络层的arp协议,arp解析得到物理地址是数据通信之前的工作,所以arp协议为IP协议提供服务。

ARP欺骗

就是当询问MAC地址的时候,其他的主机(不是目标机器)发送自己的MAC地址给询问机器,这样的话,每次发消息都会发送到这个主机,而不是目标主机。

arp绑定ip和MAC命令:

arp -s ip地址 mac地址
查看缓存:
arp -a
清除缓存:
点击本地连接 修复就能清除掉

2、IP协议(所有让路由器学习到路由表的协议统称为IP协议)

负责把数据包从一个网段转发到另外一个网段

数据包选择路径的协议都属于IP协议,后面讲的动态路由协议KIP、ospf都属于IP协议。

静态路由和动态路由

在转发的时候是怎么知道怎么走的呢,根据什么选择路径的呢?

  • 通过路由表,路由表怎么有的呢,一种是通过管理员告诉, 这叫静态路由,还有一种是路由器通过某种协议相互学到到各个网段怎么走,比如RIP等,这叫动态路由。

静态路由适合小的网络,不能够自动调整路由。

RIP协议

周期性广播路由表给其他路由器,选择最佳路由的标准是跳数少,30秒更新一次。

最大跳数15跳,超过15跳就认定为不可到达,不适合网络规模大的公司企业等。

OSPF

选择最佳路径的依据是带宽,而不是过了几个路由。

网络畅通的条件

数据包有去有回,这就要求计算机要配网关,路由器要知道下一跳给谁了(不管去还是回来)。

3、ICMP(网际控制报文协议)

测试网络是否畅通、网络是否有故障。

ping命令底层就是ICMP协议
在这里插入图片描述

使用ICMP协议的命令

ping命令:

  • time可以查看延时 TTL 生命周期,初始有初始值,每经过一个路由器就减去1,减到0的时候数据就丢失,用于防止数据在网上循环。
  • TTL初始值可以用于判断对方是什么系统。因为Linux初始64,Windows初始128,Unix初始255。
  • -i 表示设置初始的TTL,写1如果不够 那么第一个路由器会传回来数据说明TTL不够,同理…,可以通过不断的增加TTL来判断经过了哪几个路由器。换句话说就是通过更改数据包TTL时间,就能够跟踪数据包途径的路由器。
  • -t表示一直ping下去

QQ能上网,网页打不开,可能是DNS解析不正确,可以多配几个DNS解析服务器。

pathping命令:

  • 跟踪数据包路径,计算丢包情况。

(windows上)tracert命令:

  • 跟踪路径 不计算丢包情况
  • Unix上是traceroute命令,比如traceroute www.baidu.com。

4、IGMP(Internet组播管理协议)

点到点

广播:比如机房前面的电脑放东西,下面的电脑都能看到,数据发一份,所有计算机全接收。
组播=多播 (可以跨多个网段)

IGMP配置在路由器接口上,路由器周期性扫描本网段中哪些计算机绑定了多播地址。

四、IP数据包结构

在这里插入图片描述

在这里插入图片描述

1行32位 4个字节,所以前面5有行是固定的。

  • 版本:用来表示TCP/IP是哪个版本的,如v4、v6。
  • 首部长度:首部一共多大。
  • 区分服务:控制数据包先发还是后发。
  • 标识:标识相同的最后到了之后重组。
  • 标志:用来标记收到的数据包是一个分片还是一个完整的数据包。
  • 片偏移:
  • 生存时间TTL:每过一个路由器就会减去1
  • 协议:标志IP数据包里面的数据部分是什么数据,是UDP还是TCP、OSPF…,指明了数据交给谁处理。ICMP协议号1;ICMP:2;UDP:17;IPv6:41;OSPF:89。TCP:6
  • 首部检验和用于检验数据是否正确。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在前面讲的数据链路层最大是1500字节,IP数据包最大为2^16-1=65535字节,所以发现了IP数据包反倒比帧大,这样的话就要分片传送。

在这里插入图片描述
从上图可以看出数据包最大为1500字节,包含20字节头部,所以数据部分最大为1480字节,所以如果不分片,数据包数据最大不超过1480字节。

数据包分片

分片加IP、MAC地址,到了目的地之后,重组。

转载地址:https://blog.csdn.net/weixin_38367817/article/details/104206436 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:计算机网络-第五章之传输层
下一篇:计算机网络-第三章之数据链路层

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月07日 04时02分28秒