本章目录
1. 网络层
1.1 网络层的功能
1.2 IP数据包格式图
2. ICMP协议
2.1 ICMP协议概述
2.2 ICMP协议的主要功能
2.3 ICMP协议的封装过程
3. 一些简单的Ping命令
网络层是OSI参考模型中的第三层,介于传输层和数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。
网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。
(1)定义了基于IP协议的逻辑地址,逻辑地址可以更改
(2)连接不同的媒介类型
(3)选择数据通过网络的最佳路径
(1)版本:该字段包含的是IP的版本号,4比特。目前IP的版本为4(即IPv4),现在无论是在局域网还是在广域网中,使用的都是IPv4。目前IPv4所面临的最大问题是IP地址空间不足,即使使用的IPv6是IP的下一个版本,但也不能解决IP地址缺乏的问题。
(2)首部长度:该字段用于表示IP数据包头长度,4比特。IP数据包头最短为20字节,但是其长度是可变的,具体长度取决于可选字段的长度。
优先级与服务类型:该字段用于表示数据包的优先级和服务类型,8比特。用来区分哪些数据包优先级高和哪些数据优先级低。
(3)总长度:该字段用以指示整个IP数据包的长度,16比特。最长为65535(2^16-1)字节,包括包头和数据。
(4)标识符:该字段用于表示IP数据包的标识符,16比特。当IP对上层数据分片时,它将给所有的分片分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误的重组。标识符字段用于标识一个数据包,以便接收节点可以重组被分片的数据包。
(5)标志:标志字段,3比特。标志和分片一起被用来传递信息。例如,当数据包从一个以太网发送到另一个以太网时,指示对当前的包不能进行分片或者一个包被分片后指示在一系列的分片中最后一个分片是否已发出。
(6)段偏移量:该字段用于表示段偏移量,13比特。段偏移量中包含的信息是在一个分片序列中如何将分片重新连接起来。
(7)TTL:该字段用于表示IP数据包的生命周期,8比特。该字段包含的信息可以防止一个数据包在网络中无限循环的转发下去。即防止路由环路。
TTL值的意义是一个数据包在被抛弃前在网络中可以经历的最大周转时间。数据包经过的每一个路由器都会检查该字段中的值,当TTL的值为0时,数据包将被丢弃。对应一个数据包通过路由器的数目(生命周期),一个数据包经过每一个路由器,TTL将减去1。
(8)协议号:协议字段,8比特。该字段用以指示在IP数据包中封装的是哪一个协议,是TCP还是UDP,TCP的协议号为6,UDP的协议号为17.
首部校验和:该字段用于表示校验和,16比特。校验和是16位的错误检测字段。目的主机和网络中的每个网关都要重新计算包头的校验和,就如同源主机做的一样。如果数据包没有被改动过,两个计算结果应该是一样的。
(9)源IP地址:该字段用于表示数据包的源地址,32比特。这是一个网络地址,指的是发送该数据包设备的网络地址。
(10)目标IP地址:该字段用于表示数据包的目的地址,32比特。这也是一个网络地址,但指的是接收节点的网络地址。
(11)可选项:可选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。例如,可以输入创建该数据包的时间等。
(12)数据:上层数据。
ICMP(Internet Control Message Protocol)Internet控制报文协议。
它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
(1) ping 命令使用 ICMP 回送请求和应答报文;
(2)路由分析诊断程序 tracert 使用了 ICMP时间超过报文。
ICMP采取“错误侦测与回馈机制”,通过IP数据包封装,用来发送错误和控制消息。其目的是使管理员能够掌握网络的连通状况。例:当路由器接收到一个不能被送到最终目的地的数据包时,路由器会向源主机发送一个主机不可达的ICMP消息。
(1)-t:参数会一直不停的执行ping
(2)-a:参数可以显示主机名称
(3)-l:参数可以设定ping包的大小
原文:https://www.cnblogs.com/cityfell/p/14780078.html