网络层主要就是转发数据包
路由器主要作用--- 转发数据包,贰仟不同网段之间只能靠路由器进行转发。
选择最佳路径转发数据包。
网络层的三个定义
网络层:1.定义了IP协议的逻辑地址,IP地址
192.168.233。10 是个虚拟概念。
2.连接不同的媒介
路由器可以连接不同的设备,摄像头,电视机,投影,只要是网络设备都可以和路由器连接。
3数据封装时会形成数据包,数据包中包含IP地址,IP数据包
FLags:标志字段。校验当前数据包备份片之后,在这一系列的分片中,最后一个分片是否已经发出。
time to live=生命周期,ip数据包的生命周期,每过一个路由器减一,到0直接丢弃
ttl:64左右为linux服务器,128左右为Windows服务器
Version:4 指IPV4:
TCP(6) UDP(17)
header checksum :首部校验和,保证数据传输过程中没有被篡改或损毁。
Source Address:192.169.0.112 源IP地址
Transmission Control prot IP地址
可选项:提供额外的控制和信息,可选项字段不是必须的。如果要加一般会加:时间戳,在数据包中添加一个时间戳,记录数据包发送时间和到达时间。网络故障排查。还可以加一个路由记录。:记录数据包在传输过程中经过的路由器,和跳数(ttl),网络拓扑分析(数据包怎么的)和网络优化(ttl)
data:数据,数据指的是可以被传输,存储,处理,操作的,数字,文本,图像,音频,视频等形式的信息。数据可以被存储在计算机的硬盘,内存 移动存储(u盘SD卡),也可以通过网络进行传输。
ICMP:网际控制报文协议,主要是 ping 常用的命令:-t(会一直ping,不手动不停)仅在Windows系统,-n :(指定发送包的个数,发送了几个数据包,)mtu:最大传输单元,用来通知对方,我能接收数据服务的最大尺寸。mtu默认最大值是1500,实际上1200-1300范围之内,没有特殊需求一般是不用修改的。(netsh interface ipv4 show subinterfaces)-l:指定一次性发送多少数据包,eg:ping www.bilibili.com -l 1400 可以尝试发送。
排错
简单来讲就是能不能ping 通。eg:客户端(本机用户就是用)---服务端(让你用),客户端192.168.233.10 服务端 180.101.50.10 问题:无法打开网页,
怎么定位这个问题?
1.网络,ping 本地服务器能不能通,ping 服务器能不能通。网络通的 (网络出问题的优先级是最高的)
2.程序本身:网页,在服务器上会有一个应用,这应用就是用来提供页面服务的程序,程序的状态:程序是否处于运行状态,程序关闭了,当然打不开,如未打开,程序打开。
3.端口:端口没有,无法实现通信,端口对应的服务没有起来,或者是程序的端口号被占用。(第二个可能)
4.防火墙:是不是防火墙的策略,把数据屏蔽了。或者是请求的IP地址(客户端)被防火墙策略隔离了。
5.也有可能配置文件写错。
type:表示ICMP报文的类型,type 0 ,code 0
代码;报文类型的子类型。
type 0 ,code 0
= echo reply #回显 可以理解为 对方响应了你请求
3 0
网络不可达,网络不通
3 1
主机不可达
3 2
协议不可达
3 3
端口不可达
11 0
连接超时
8 0
Type和Code:
Type | Code | 描述 |
---|---|---|
0 | 0 | Echo Reply |
3 | 0 | 网络不可达 |
3 | 1 | 主机不可达 |
3 | 2 | 协议不可达 |
3 | 3 | 端口不可达 |
11 | 0 | 超时 |
8 | 0 | Echo Request |
Echo Request
类型(Type):表示 ICMP 报文的类型,比如回显请求、回显应答等。 代码(Code):表示 ICMP 报文类型的子类型,具体的含义取决于 ICMP 报文的类型。 校验和(Checksum):用于检验 ICMP 报文是否损坏。 标识符(Identifier):标识 ICMP 报文的发送者。 序列号(Sequence Number):表示该 ICMP 报文是发送者发送的第几个 ICMP 报文。
ARP:是一个协议,网络层协议。作用是用于将网络层的IPV4地址转换为数据链路层的MAC地址。
ARP协议:会把IP地址和MAC地址做一个映射,会形成APR关系表 表中会有pc2的mac地址与pc1的mac地址。
arp关系表:交换机会保存300秒。
pc2-pc1
1.pc2到pc1,一个设备到另一个设备发送数据包,需要知道接收设备的mac地址
2.检查APR缓存表,表里有,直接走。
3.表里没有:设别就会在网段中广播一个ARP请求数据包,请求pc1对应的MAC地址。
ARP包含的内容:例子中pc2的mac地址和pc2的ip地址和目标的ip地址
如果没有响应:丢弃。
ARP协议只适用于同一网段设备之间的地址解析。如果是不同网段,需要路由器来进行转发。
单播:1对1之间的通信,只能和一个人进行通信。
组播;在一定范围内的,面相特定的对象的广播。
广播:面向所有人,但是不能和他通信。
静态:人工配置的,永不消失的(除非手动删除),写死不变的,默认自带的。
动态:实时获取的,本身不在我的配置中。有生命周期,如果没有特殊说明或者配置,过了一定周期,就会消失。
arp -a :查看arp缓存表 arp -d :删除缓存表 ,Windows系统的CMD命令行的命令
网络层:转发数据包,最佳路径转发数据包。
需要理解的
网络数据包的格式:生命周期 128 64 ,源地址与目的地址 ,协议 版本:4指IPV4
ICMP:ping 或者抓包 报文比较重要的 type code
ARP:地址解析协议:将IP地址转换成mac地址,同一网段中(网络号相同才是同一网段),不同网段需要路由器。
1.发送数据包需要知道对方的mac地址,2.先插缓存表,表里有直接走,不会再进行arp请求,3.表里没有会发送ARP广播,在这个网段中广播,有则响应(单播形式),如跟我无关就直接丢弃,4.会把收到的对方的IP地址和MAC地址保存在本机的ARP缓存表当中,以便下一次直接请求,5.如果没有响应也是直接丢弃。
静态:写死,不变。
动态:实时获取,会有一个生命周期。