网络层协议


网络层协议

1. 网络层功能

最佳路径选择



2. IP数据包格式

image-20231017185130760

版本(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是介于网络层和数据链路层之间的协议

posted @   一个低调的wy  阅读(282)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示