1. 网络层的作用
网络层主要就是转发数据包
路由器---转发数据包,而且不同网段之间只能靠路由器进行转发。
选择最佳路径转发数据包。
网络层:
1、定义了ip协议的逻辑地址,IP地址。
192.168.233.10虚拟概念。
2、连接不同的媒介。
路由器可以连接不同的设备。摄像头,电视机,投影,只要是网络设备都可以和路由器连接。
3、数据封装时会形成一个数据包,数据包当中包含IP地址。ip数据包。
2. IP数据包的格式
version:版本4 ipv4地址 0100
首部长度:表示ip数据包的包头的长度。4lbit,首部长度最短就是20字节。可变的,加了选项字段,长度会发生变化必须是4的倍数。就是一个固定长度。
优先级以及服务类型:不需要高宽带,低延迟的一些场景。
标识符:数据进入网络之后,是会被分片的。数据分片要被打上标识。排序
FLags:标志字段。校验当前数据被分片之后,在这一系列的分片中,最后一个分片是否已发出。
time to live:生命周期ip数据包的生命周期。每过一个路由器减1,0直接丢弃。
ttl:
128 win系统
64左右,linux
tcp :6 udp:17
header checksum:首部校验和,保证数据在传输过程没有被损毁或者篡改。
可选项:提供额外的控制和信息,可选项字段不是必须的。
时间戳,在数据包中添加一个时间戳,记录数据包发送时间和到达时间。网络故障排查。
路由记录:记录数据包在传输过程中经过的路由器和跳数(ttl),网络拓扑分析(数据包是怎么走的)和网络优化(TTL)
data:数据,数据指的是可以被传输、存储、处理、操作的数字、文本、图像、音频、视频等形式的信息。数据可以被存储在计算机的硬盘、内存移动存储(U盘SD卡),也可以通过网络进行传输。
3. ICMP协议
lCMP:网际控制报文协议
ping
-t 在Windows中会一直ping
-l 指定发送包的个数
mtu:最大传输单元,用来通知对方,我能够接受数据服务的最大尺寸。
mtu默认最大值是1500,实际上1200-1300。没有特殊需求 一般是不修改的。
3.1 该怎么来定位网络问题?
1、网络,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:是一个协议,网络层协议。
用于将网络层的ipv4地址转换为数据链路层的mac地址。
ARP协议:会把ip地址和mac做映射,形成ARP关系表
pc2 ping pc1
192.168.233.20 mac地址
192.168.233.10 mac地址
arp关系表:交换机中300秒
3.2 ARP的如何进行mac的地址查找
pc2-pc1.
1、pc2到pc1一个设备到另一个设备发送数据包,需要知道接受设备的mac地址。
2、检查ARP缓存表,表里有,直接走。
3、表没有:设备就会在网段中广播一个ARP请求数据包。请求pc1对应的MAC地址。
ARP广播中包含的内容:
PC2的mac地址和ip地址
目标ip地址。
如果没有响应:丢弃。
ARP协议只适用于同一网段设备之间的地址解析。如果是不同网段,需要路由器来进行转发。
单播:1对1.只能和一个人进行通信。
组播:在—定范围之内的,面向特定对象的广播。
广播:面向所有,但是不能和他通信。
静态:人工配置,永不消失(除非手动删除。)
动态:实时获取,本身不在我的配置中。
静态:写死了,不变了,默认自带的。
动态:实时获取,生命周期。如果没有特殊说明或者配置,过了一定周期,就会消失。
arp -a查看arp缓存表
arp -d 删除缓存表
Windows中cmd命令行的命令