网络层:
选择最佳路径并转发数据包
路由器:转发数据包,而且不同网段之间只能靠路由器转发。
网络层:1.定义了ip协议的逻辑地址,ip地址
2.连接不同的媒介。
路由器可以连接不同的设备,摄像头,电视机,投影,只要是网络设备都可以用路由 器连接
3.数据封装时会形成一个数据包,数据包中包含ip地址
抓包以及如何看懂数据
viersion 4也就是版本4,指的就是ipv4
首部长度:表示ip数据包的包头长度(不包含数据)。4bit首部长度最短就是20字节。是可变的,若加了选项字段,长度会发生该改变,其变化必须是4的倍数。也就是一个固定长度。
优先级以及服务类型:一般用于不需要高宽带,低延迟的一些场景。
标识符:数据进入网络后,是会被分片的。数据的分片要被打上标识并排序。
flags:标识字段,用于校验当前数据分片之后,在这一系列分片中,最后一片是否已发出。
time to live:生命周期,指的是ip数据包的生命周期
生命周期每过一个路由器就会减1,直到0丢弃。
如果数字是128左右就是windows系统
64左右就是1Linux系统
header checksum:首部校验和,保证数据在传输过程中没有被篡改或者损毁
source address:源ip地址
destination address:目标ip地址
可选项:提供额外的控制和信息,可选项字段不是必须的。
会加时间戳,在数据包中添加一个时间戳,记实录数据包的发送和到达时间。用于网络故障排查。
也会加路由记录,记录数据包在传输过程中的路由器和ttl,也用于网络拓扑分析(数据包是怎么走的)和ttl
Data数据:数据指的是可以被传输,存储,处理,操作的数字,文本,图像,音频,视频等形式的信息。
数据可以被存储在计算机的硬盘,内存,移动存盘,也可以通过网络进行传输
ICPMP协议:网际控制报文协议
Ping
加-t在windows中会一直ping
加-n在windows中发送包的个数
Mtu:最大传输单元,用来通知对方我1能接受服务数据的最大尺寸
Mtu默认最大值是1500,实际是1200-1300.没有特殊需求1一般不修改
网页打不开,如何定位问题:
- 测试网络,ping本地ip地址,ping服务器能不能ping通
- 程序本身:网页在服务器上会有一个应用,来提供页面服务的程序。
程序的状态:程序是否处在运行状态。程序关闭了就访问不了
- 端口:端口没有,无法实现通信,端口对印的服务没有起来,或者端口被占用
- 防火墙:是不是防火墙策略,把数据屏蔽了或者请求ip被防火墙策略隔离了。
网络出问题的优先级最高
Icmp协议:
Type表示icmp报文的类型
code代码:表示报文类型的子问题
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协议:
是一个网络层协议。
用于将ipv4地址转换成数据链路层的mac地址
ARP协议会把ip地址和mac做映射,形成ARP关系
PC2 ping PC1
192.168.233.20 mac地址
198.168.233.10 mac地址
ARP关系表:在交换机中保存300秒
Pc2-pc1
- pc2到pc1,一个设备到另一个设备发送数据包,需要知道接受设备的mac地址。
- 检查ARP缓存表,表里有,直接走
- 表里没有,设备就会在网段中广播一个数据包。请求pc1对应的MAC地址
APR请求中包含有:
Pc2的MAC地址和ip地址
目标ip地址
如果没有相应,丢弃
ARP协议只适用于同一网段设备之间的地址解析。如果是不同网段,需要路由器机进行转发。
单播:1对1,只能和1个人进行通信
组播:在一定范围之内,面向特定对象的广播
广播:面向所有人,但是不能通信
静态:人工配置,永不消失,除非手动删除。(写死了,不变的,默认自带的)
动态:实时获取,本身不在我的配置中(有生命周期,若没有特殊说明和配置,过了一点过周期,就会消失)
Arp-a 查看arp缓存表
Arp-d删除缓存表
Windows系统CMD命令