失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 网络服务——网络层:IP ICMP ARP与传输层:TCP UDP

网络服务——网络层:IP ICMP ARP与传输层:TCP UDP

时间:2023-12-31 21:20:40

相关推荐

网络服务——网络层:IP ICMP ARP与传输层:TCP UDP

文章目录

一、网络层1、IP数据包格式2、ICMP协议3、ARP协议 二、传输层1、TCP协议1.1、TCP报文段1.2、TCP 三次握手1.3、TCP 四次挥手1.4、TCP端口号 2、UDP协议

一、网络层

网络层的功能

定义了基于IP地址的逻辑功能连接不同的媒介类型选择数据通过网络的最佳路径

网络层主要的媒介是路由器,同一个网络不需要路由器,不同网络就需要使用路由器,网络层的主要协议是:IP;其余四个协议:ICMP、IGMP、ARP、RARP是围绕IP展开的。

1、IP数据包格式

版本:识别是IPV4(OX40)还是IPV6,基本上是IPV4;

首部长度:不带数据的IP包头部长度;

优先级与服务类型:定义IP数据包是否优先传送;

总长度:定义IP数据包总长度是多少;

标识符:用于IP数据包的分片,给每个分片打标;

标志:标志和分片一起被用来船体信息分片之后,是否分片;

段偏移量:分片之后需要重组,根据原有的顺序排列,保证是一个完整正确的顺序传输;

TTL:Time to live,网络中生存时间,每经过一个路由器减一,减到0后数据包就被丢弃了,IP包被路由器丢弃之前允许通过的最大网段数量;

协议号:标志了上层数据,是TCP,还是UDP?

首部校验和:为了数据的传输完整,会进行一个校验,如果出错或者丢包会进行重传;

源地址:从哪发出,发送数据包的设备网络地址;

目标地址:发哪去,接收点的设备网络地址;

可选项:根据实际情况可变长,可以和IP一起使用的选项有多个。

2、ICMP协议

ICMP协议用于IP主机、路由器之间传递控制消息,这里的控制消息可以包括很多种,从TCP/IP的分层结构看ICMP属于网络层,它配合着IP数据报的提交,提高IP数据报递交的可靠性; 主要功能是发送错误消息,不用于传输数据

协议包含以下三点功能

ICMP是一个“错误侦测与回馈机构”是通过IP数据包封装的用来发送错误和控制消息

ICMP协议的封装分为2部分介绍

ICMP协议属于网络层协议ICMP数据的封装过程,如下图,ICMP是封装在IP数据报中进行发送的

协议Ping

PING命令是用来检查要到达的目标IP地址并记录结果,显示目标是否响应以及接收答复所需的时间。如果在传递到目标过程中有错误,ping 命令将显示错误消息。

Ping命令

命令的基本格式:

C:\ping[-t][-l字节数][-a][-i] IP_Address| target_name

举例说明

PC>ping 192.168.1.3Ping 192.168.1.3: 32 data bytes, Press Ctrl_C to breakFrom 192.168.1.3: bytes=32 seq=1 ttl=128 time=47 msFrom 192.168.1.3: bytes=32 seq=2 ttl=128 time=63 msFrom 192.168.1.3: bytes=32 seq=3 ttl=128 time=62 msFrom 192.168.1.3: bytes=32 seq=4 ttl=128 time=63 msFrom 192.168.1.3: bytes=32 seq=5 ttl=128 time=62 ms--- 192.168.1.3 ping statistics ---5 packet(s) transmitted5 packet(s) received0.00% packet lossround-trip min/avg/max = 47/59/63 ms

Ping抓包对应的消息类型和编码类型:

这些是在Ping抓包的时候,没有抓到包对应的报错信息。

请求是发广播,应答是发单播。

Ping命令返回信息的含义

-t:参数会一直不停的执行Ping-a:可以显示参数主机的名称-l:参数可以设定Ping包的大小,ping -l 后面跟着单位参数

如下图

3、ARP协议

协议概述

地址解析协议,基本功能为透过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。主要作用于网络层IPv4中的协议。工作原理 IP地址解析为MAC地址

比如电脑PC1发送数据给PC2,查看ARP缓存没有PC2的MAC地址,那么PC1发送ARP请求消息(广播),然后所以主机就能接收到ARP请求信息,PC2回应ARP应答(单播),其他主机丢弃数据。

ARP有Rquest(请求消息)和Reply(应答消息)动态ARP老化时间 180s,静态没有老化时间

问:pc1需要给pc2发送数据原理?其中设置mac地址:pc1为11,pc2为22

答:pc1会发数据给pc2,首先查看arp缓存表,源ip10.0.0.1,源mac11,向pc2发送广播,这时候pc2接收到会回应pc1并且回应,这时候源ARP地址就10.0.0.2,源Mac地址变成22,其他无关的主机就会丢弃数据。

ARP的报文结构

以太网首部,指的帧头的MAC目的地址和源地址,是ARP的帧头

帧类型:ARP,0P:0是请求,1是回应。ARP相关命令** arp-a 查看ARP缓存表arp-d 清除ARP缓存ARP绑定 ARP原理

需求分析:

对等网的环境

PC1和PC2第一次通信

实现步骤:

使用ipconfing/all查看PC1和PC2的MAC地址用“arp-a”查看ARP缓存在PC1上ping PC2后,再用“arp-a”查看ARP缓存 ARP攻击原理 欺骗其他所有计算机欺骗被攻击计算机 (这两点主要是让你上不了网)ARP欺骗网关,如下图(ARP没有检查的机制,所以来信息就会被记录上,窃取信息)。※ARP欺骗主机

※利用ARP欺骗管理网络

通过长角牛网络监控机软件管理网络 ARP的故障处理

使用ARP防火墙,自动抵御ARP欺骗和攻击 在主机B上开启ARP防火墙在主机A上开启长角牛网络监控机,模拟ARP病毒查看ARP防火墙统计数据的变化在主机B上测试与网关的连通性。

二、传输层

传输层的功能:定义传输数据的协议端口号,以及流控和差错校验,主要的协议是:TCP、UDP

1、TCP协议

全称: 传输控制协议, 顾名思义, 就是要对数据的传输进行一定的控制

是面向连接的、可靠的进程到进程通信的协议:是指在每一次我访问之前,先进行一个连接,建立一个安全的通道;提供全双工服务,即数据可在同一时间双向传输TCP报文段:因为传输层的协议是数据段,TCP是传输层的主要协议

TCP将若干个字节构成一个分组,叫报文段

TCP报文段封装在IP数据报中

1.1、TCP报文段

序号: 发送的时候会给每个字节进行编号,编号是为了重组用的;

确认号用于确认已接收发送端的信息,和序号是一对;

首部长度:tcp整个头部的长度;

保留6个控制位:URG AVK PSH SYN FIN ;

窗口大小:网络传的通道,若没有其他数据传输时,就把通道改大,数据就会传输的多且快,反之同理;

校验和:校验数据是否完整;

六个控制位分别的意思

FIN 当TCP断开连接时将该位置为1

RST 重传的机制

PSH 当数据在传输过程中因意外关闭,或者对方拒绝请求,该值置为1

URG:紧急指针字段有效.他告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级数据),而不要按原来的排队序列来传送;

SYN:同步序列号位,TCP需要建立连接时需讲此位设置为1;

ACK:确认序号位,当该位为1时,用于确认发送方。

1.2、TCP 三次握手

TCP建立连接的过程叫三次握手

客户端产生初始化序列号Seq=x,向服务端发送建立连接的请求报文,将SYN=1同步序列号;服务端接收建立连接的请求之后,产生初始化序号Seq=y,确认客户端的SYN(Ack=x+1),向客户端发送建立连接的请求(SYN=1),确认客户端的数据(ACK=1)客户端收到服务端的回复(Ack=y+1,包含收到请求,确认信号),ACK=1,确认客户端的数据,三次握手成功

1.3、TCP 四次挥手

客户端发送断开连接(FIN=1)请求给服务端,断开连接确认(ACK=1),第一次挥手;服务端接收到断开连接的请求,发回一个ACK确认包,第二次挥手;服务端再次确认(ACK=1)请求断开服务器(FIN=1),第三次挥手;最终客户端确认断开连接请求(ACK=1),第四次挥手

拓展:2和3需要两步的原因是什么?

第一次接收到客户端的请求时,但是服务器的数据并没有传输完成,待我把数据传输完成之后就可以关闭连接了;第四次挥手也没有真正的关闭,需要经过一个time-wait:2msl,存在的原因是等个1-4分钟确认未发送完成的数据发送完成。

1.4、TCP端口号

常用的端口号及其功能

2、UDP协议

全程:用户数据报协议

是一种无连接,不可靠的传输协议优点是花费的开销小

UDP报文的首部格式如下:

UDP长度:用来指出UDP的总长度,为首部加上数据

校验和:用来完成对UDP数据的差错校验,他是UDP协议提供的唯一可靠机制

常用的UDP端口号及其功能

如果觉得《网络服务——网络层:IP ICMP ARP与传输层:TCP UDP》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。