网络层主要就是转发数据包
路由器——转发数据包。而且不同网段之间只能靠路由器进行转发
选择最佳路径转发数据包
网络层:1.定义了IP协议的逻辑地址,IP地址
- 连接不同的媒介——路由器可以连接不同的设备(摄像头、电视机、投影,只要是网络设备都可以和路由器连接)
- 数据封装时会形成数据包,数据包当中会包含IP地址。IP数据包
标识符:数据进入网络之后,是会被分片的,。数据分片要被打上标识,排序。
Time to live:生命周期 IP数据包的生命周期 每过一个路由器 生命周期会减一 为0时 数据包会被直接丢弃
若time to live是128 则是Windows系统 若是64则是Linux系统
Header checksum:首部校验和,保证数据传输过程没有被损毁或者篡改
Source address:源IP地址
Destination address:目的IP地址
可选项:提供额外的控制信息,可选项字段不是必须的。
时间戳:在数据包中添加一个时间戳,记录数据包发送时间和到达时间。网络故障排查
路由记录:记录数据包在传输过程中经过的路由器和跳数(ttl),网络拓扑分析(数据包是怎么走的)和网络优化(ttl)
Data:数据,数据指的是可以被传输、存储、处理、操作的数字、文本、图像、音频、视频等形式的信息。数据可以被存储在计算机的硬盘、内存、移动存储(U盘、SD卡),也可以通过网络进行传输
抓包:抓网络层的数据包,分析网络层的数据
网络层中的协议端口:
ICMP:网际控制报文协议 ping
-t :在Windows中 加-t 会一直ping
-n:指定发送包的个数
mtu:最大传输单元,用来通知对方,我能够接收数据服务的最大尺寸
mtu默认最大值1500,实际上1200-1300 没有特殊需求一般是不修改的
netsh interface ipv4 show subinterfaces:查看mtu命令
思考:
客户端(自己用)——服务端(让你用)
客户端IP地址:192.168.233.10
服务端IP地址:180.101.150.10
现在发现客户端 ping不通 服务端
解决思路:
- 网络问题。先ping服务器看能不能通。先ping本地IP地址,再ping服务器看能不能通,若能通则网络没有问题
2.程序本身问题:网页,在服务器上会有一个应用,这个应用就是来提供页面服务的程序
程序的状态:程序是否处在运行状态。程序关闭了,当然访问不了。要把程序打开
3.端口问题。端口没有 无法实现通信,端口对应的服务没有起来,或者是程序的端口号被占用了。
4.防火墙问题:是不是防火墙的策略,把数据屏蔽了。或者请求的IP地址(客户端)被防火墙策略隔离了。
无非就是以上四个问题,网络出问题的优先级是最高的,其次是端口号,然后是程序问题,防火墙一般不太可能
ICMP协议:
Type和Code:
| Type | Code | 描述 |
| -------- | -------- | ------------ |
| 0 | 0 | Echo Reply |
| 3 | 0 | 网络不可达 |
| 3 | 1 | 主机不可达 |
| 3 | 2 | 协议不可达 |
| 3 | 3 | 端口不可达 |
| 11 | 0 | 超时 |
| 8 | 0 | Echo Request |
类型(Type):表示 ICMP 报文的类型,比如回显请求、回显应答等。
代码(Code):表示 ICMP 报文类型的子类型,具体的含义取决于 ICMP 报文的类型。
校验和(Checksum):用于检验 ICMP 报文是否损坏。
标识符(Identifier):标识 ICMP 报文的发送者。
序列号(Sequence Number):表示该 ICMP 报文是发送者发送的第几个 ICMP 报文。
ARP:
ARP:网络层协议,用于将ipv4地址转换成数据链路层的mac地址
ARP协议会把IP地址和mac地址做映射,形成ARP关系表
一个地址映射一个mac地址
ARP关系表:交换机中缓存300s
从PC2-PC1:
- PC2-PC1,从一个设备到另一个设备发送数据包,需要知道接收设备的mac地址
- 检查ARP缓存表,表里有,直接走
- 表里没有,设备就会在这个网段中广播一个ARP请求ARP数据包。请求PC1对应的mac地址。
ARP:地址解析协议:IP地址转换成mac地址
同一网段中(网络号相同才是同一网段),不同网段需要路由器
- 发送数据包需要知道对方的mac地址
- 先查看缓存表,表里有,直接走,不会再进行ARP请求了
- 表里没有,发送ARP广播,在这个网段中广播,有则响应(单播),跟我无关,直接丢弃
- 会把收到的对方IP地址和mac地址保存在本机ARP缓存表当中,下次就可以直接请求
- 如果没有响应,直接丢弃
ARP广播中包含的内容:
从PC2-PC1:
发送方PC2的mac地址和PC2的IP地址
目标IP地址
如果没有响应,则直接丢弃
ARP协议只适用于同一网段(网络号相同才叫同一网段)设备之间的地址解析。如果是不用网段则需要路由器进行转发
单播:1对1通信,只能和一个人进行通信
组播:在一定范围之内,面向特定对象的广播
广播:面向所有,但不能和他通信
静态:人工配置,永不消失(除非手动删除)
动态:实时获取,本身不在我的配置中。
静态:写死了,不动了,不变了,默认自带的
动态:实时获取,生命周期,如果没有特殊说明或者配置,过了一定周期,就会消失
命令:(Windows AMD)
arp -a 查看ARP缓存表
arp -d删除缓存表
本文聚焦网络层,介绍了路由器转发数据包、选择最佳路径等功能,阐述了IP数据包的组成,如标识符、生命周期等。还提及抓包分析,介绍了网络层协议端口ICMP和ARP,包括其作用、报文格式等,最后给出客户端ping不通服务端的解决思路。
16万+





