
本文共 1116 字,大约阅读时间需要 3 分钟。
网络层协议介绍
网络层的功能
定义了基于ip协议的逻辑地址 连接不同的媒介类型 选择数据通过网络的最佳路径
ip数据包格式
协议字段 如下图:
版本(4):ipv4或者ipv6
首部长度(4):ip头部长度,一般来说是20个字节,最大可以到40字节
优先级与服务类型(8):用于标记ip数据包的优先级,优先进行传输
总长度(16):ip数据包的长度
标识符(16):
用于表示ip数据包的标识符,16bit当ip对上层数据进行分片是,它将给所有的分片分配
同一组编号,然后将这个编号放入标识符字段中,保证分片不会被错误地重组,路由器将一个包拆分后,所有的小包被标记相同值,以便目的端区分哪个属于被拆分的包一部分
标志:标志字段3bit。对当前的包不能进行分片(当该包从一个以太网发送到另一个以太网时)或当一个包被分片后用以指示在一系列的分片中,最后一个分片是否已发出
段偏移量:该字段用于表示段偏移量13bit。段偏移量中包含的信息是指在一个分片序列中如何将各分片重新连接起来
TTL:该字段用于表示ip数据包的生命周期8bit。一个数据包每经过一个路由器,ttl将减去1,当ttl值为0时该数据包将被丢弃。可以防止一个数据包在网络中无限循环地转发下去
协议号:协议字段8bit。该字段用以指示在ip数据包中封装的是哪一个协议,是tcp还是udp,tcp的协议号为6,udp的协议号为17
首部校验和:该字段用于表达校验和16bit。接收方和网关用来校验数据有没有被改动过
源地址:该字段用于表示数据包的源地址32bit。
目标地址:该字段用于表示数据包的目的地址32bit
可选项:可选项字段根据实际情况可变长,可以和ip一起使用的选项有多个。列如,可以输入创建该数据包的时间等,在可选项之后就是上层数据
ICMP协议(interne控制报文协议)
icmp是一个错误侦测与回馈机制 通过ip数据包封装的 用来发送错误和控制消息
icmp协议的封装
icmp协议属于网络层协议
icmp数据的封装过程如下:
在网络层生成一个icmp数据包加上一个icmp头部变成上层数据,上层数据再加上一个ip头部变成数据链路层的上层数据,最后加上个帧头部(mac)完成封装。
ping命令的基本格式为
ping命令的常用选项:
-t 参数会一直不停的执行ping
-a 参数可以显示主机名称
-l 参数可以设定ping包的大小 在linux系统下为:-s -c -I(此处为大写)
-n 指定发送包的个数
-s 指定源ip去ping
在linux系统下为:-s -c -I(此处为大写)
-n 指定发送包的个数
-s 指定源ip去ping
发表评论
最新留言
关于作者
