分层思想
随时时代的发展网络已经覆盖到了我们每个人的生活中,聊天、购物、直播、看剧,人们在享用网络带来的便利的同时却未必了解网络中数据传输的过程。
网络通信很复杂,为了降低复杂性,1974年国际标准组织ISO发布了OSI七层模型。
TCP/IP五层协议
TCP/IP五层模型在OSI七层模型的基础上合并了OSI上三层模型,将应用层、表示层、会话层统一称为应用层。
一层物理层
物理层规定:为传输数据所需要的物理链路创建、维持、拆除,而提供具有机械的,电子的,功能的和规范的特性。
物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。
二层数据链路层
数据链路层的传输单元为:帧。
帧结构组成:帧头(MAC子层)+上三层数据+帧尾(FCS)
帧头包含:目标MAC地址(6字节)、源MAC地址(6字节)、类型(2字节)
MAC地址:也称为物理地址,是固化到网卡的全球唯一标识。
如何查看自己的MAC地址?
Windows系统查看MAC地址命令:ipconfig -all
Linux系统查看MAC地址命令:ifconfig
类型字段的作用:区分上层协议,0806代表上层协议是ARP协议,0800代表上层是IP协议
帧尾:FCS=帧校验,长度4个字节
MTU:(最大传输单元)
一个帧是有最大承载能力限制的。一个帧的最大承受能力叫MTU值=1500
工作在二层数据链路层的设备:交换机/网桥
三层网络层
介于传输层和数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向传输层提供最基本的端到端的数据传送服务。
1、IP协议:
TTL:生存时间,单位为跳数,作用是防止数据包再网络中永久的循环。TTL范围:1-255
windows系统TTL一般为128
linux系统一般为1-128之间,如56,64
协议号:作用是区分上层协议的,6代表TCP,17代表UDP
总长度:上三层的总长度/IP包的总长度
当总长度超过1500字节,需要进行IP分片
标识符:区分不同的IP分片数据流!
段偏移量:决定了IP分片的先后顺序!
IP分片攻击:通过修改段偏移量值,导致重组失败,cpu干到100%,xp后修复了该漏洞!
2、ARP协议:
MAC广播地址:FF-FF-FF-FF-FF-FF
ARP的作用:已知IP地址解析MAC地址。
ARP的工作原理:
ARP工作原理分两个步骤:
(1)发送ARP广播报文:内容是:我的IP是xxx,我的mac是xxx,谁的IP是xxx,你的mac是???
(2)回应ARP单播报文
ARP中间人攻击:
黑客通过频繁得发送虚假得ARP报文,来实现对受害者进行ARP攻击,结果有2种:
(1)攻击方进行中间人-单向欺骗,实现得断网!
(2)攻击方进行中间人-双向欺骗,实现得窃听、控制、篡改!
ARP命令:
查看ARP缓存:arp -a
删除arp缓存:arp -d
四层传输层
传输层有两个协议,分别为TCP协议与UDP协议。
1、TCP协议
TCP协议特点:TCP可靠安全传输数据,但是速度慢(TCP是面向连接的服务)
TCP包头长度:20-60字节
源端口:客户机随机生成的。例如:打开IE浏览器,就自动生成一个50000
目标端口:服务器的服务端口,例如:FTP21/20 HTTP80 HTTPS443 TELNET23
注释:端口号范围:0-65535
序号:英文seq,发出去的每一个报文,都要唯一编号!初始报文的编号是随机的!
确认号:ack,确认对方的报文是否正常,如正常,则ack=对方的seq+1
首部长度:TCP包头长度是可变的,20字节-60字节,一般情况下都是20字节
保留:国际组织没有对该值做定义,保留使用!
SYN:建立连接位,1代表请求建立连接
FIN:请求断开连接位,1代表请求断开连接
RST:重置位(强制断开位)
ACK:确认开关!为1时,代表ack是有效的,0代表ack无效!三次握手建立TCP连接:
四次握手断开TCP连接:
2、UDP协议
UDP协议特点:传输速度快,但是不安全(UDP是无连接服务)
UDP协议包头:
UDP包头长度:8个字节
UDP长度:代表4+5层数据的总长度
UDP校验和:校验4+5层数据是否发送传输错误!
五层应用层
应用层位于物联网三层结构中的最顶层,其功能为“处理”,即通过云计算平台进行信息处理。应用层与最低端的感知层一起,是物联网的显著特征和核心所在,应用层可以对感知层采集数据进行计算、处理和知识挖掘,从而实现对物理世界的实时控制、精确管理和科学决策。