目录
网络层协议
1. 网络层功能
最佳路径选择
2. IP数据包格式
版本(4bit):指IP协议版本;使用IPv4,还是IPv6;0100表示为(4)
首部长度(4bit):指IP头部的长度(不包含数据),范围为0000 - 1111
优先级与服务类型(8bit):指数据包的优先级和服务类型;优先级指主机处理数据包的先后程度;服务类型定义了如何处理数据,一般是空缺项
总长度(16位):IP数据包的总长度,包含IP头部、TCP/UDP头部和数据长度
标识符(16位):在数据传输时,比如有网页、音乐、游戏三个数据需要发送,标识符的作用就是将这三中数据进行标识,比如将网页数据标识为1,音乐数据标识为2,游戏数据标识为3,这样再到达节点时,保证数据不会被弄混。所以,标识符的作用是将传输层数据段进行分片,从而区别数据
标志(3位):和标识符一起传递,作用是标志该数据包是否传完
段偏移量(13位):一个数据片需要分片,指明这个分片距离原始数据开始的位置,作用是重组数据
TTL(8位):因为网络层是路由选择,当网络为死循环架构时,该数据会走不出去,会导致网络通信,网络很卡;TTL的作用是防止数据报在网络中无限循环的转发下去,每经过一个三层设备,TTL的值-1,当TTL值为0时,该数据报会被丢弃,TTL的范围是0-255;windows的TTL:128左右,linux的TTL:64左右,所以通过TTL的返回值可以确定系统类型
协议号(8位):封装的是上层哪个协议,ICMP:1,TCP:6,UDP:7
首部校验和(16位):和mac网卡的校验作用类似,检验首部校验和前面字段是否有问题,如果有问题,该数据会被丢弃
源IP地址(32位):源IP地址,表示发送端的IP地址
目的IP地址(32位):目的IP地址,表示接收端的IP地址
可选项(大小不固定):例如:可以规定不能访问什么网页,创建该数据包的时间
数据:真实数据
3. ICMP协议
3.1 为什么需要用ICMP协议?
它是一个错误侦测与回馈机制,用来发送错误和控制信息,它是通过IP数据报封装的,它是网络层协议
3.2 ping命令
ping是网络设备、windows、Unix和Linux平台上的一个命令,是一个小巧而实用的应用程序,该应用基于ICMP协议,作用是检测目的节点的网络双向可达性
ping命令的选项
-t:长ping
-l:指定每个发送数据包的大小
-w:超时等待时间
-n(num):指定ping几次
crtl+c:停止ping
例如:长ping百度,每一个数据包为1600,ping6次,如果ping不通,指定超时等待时间为2s
ping -t -l 1600 -n 6 -w 2 www.baidu.com
注意事项
ping的通一定通
ping不通不一定网络不通
3.3 ping的类型和状态码
Type(类型) | Code(状态码) | 含义 |
---|---|---|
0 | 0 | Echo Reply(回复包) |
8 | 0 | Echo Request(请求包) |
3 | 0 | 网络不可达 |
3 | 1 | 主机不可达 |
3 | 2 | 协议不可达 |
3 | 3 | 端口不可达(该端口拒绝请求) |
11 | 0 | 超时 |
3.4 tracert命令
tracert 路由跟踪命令
tracert IP地址
例如:tracert 127.0.0.1
3.5 冲突域
两台设备同时发送数据时,它们互相干扰,那么它们就处在同一个冲突域
3.6 广播域
一台主机发送广播,所有能收到消息的主机都是在同一个广播域中
交换机:所有端口默认在同一个广播域中
路由器:每一个端口都是一个独立的广播域
4. ARP协议
4.1 为什么需要用ARP协议?
因为网络层是IP地址通信,数据链路层是通过MAC地址通信,那么就需要将IP地址转化成MAC地址,所以会产生了ARP协议:将IP地址转化成mac地址;RARP协议:将mac地址转化成IP地址
局域网中主机通信:IP地址、MAC地址
4.2 什么是ARP协议?
作用① 将IP地址转化成MAC地址
作用② 检测地址是否冲突
ARP协议是第一个启动的协议,没有ARP协议,就无法将IP地址转化成MAC地址
4.3 ARP协议的工作原理
pc1发送数据给pc2,首先查看pc1的ARP缓存表有没有pc2的MAC地址
如果没有,pc1发送ARP(广播)请求消息
所有同一广播域的主机收到ARP请求消息
pc2回复ARP应答(单播),其他主机丢弃
pc1将pc2的MAC地址保存在pc1的ARP缓存表中,然后pc1发送数据给pc2
ARP缓存表类似于交换机的mac表,每隔一段时间刷新缓存表
缓存表的内容是IP地址,MAC地址和类型(动态MAC,静态MAC)
华为定义:ARP是没有源IP地址(Source)和目的IP地址(Destination)的说法,而是叫发送方IP地址和接收方的IP地址,因为ARP是介于网络层和数据链路层之间的协议
标签:ARP,协议,网络层,ping,MAC,IP地址,数据包 From: https://www.cnblogs.com/wuyao-bk/p/17781233.html