一.OSI七层模型与网络协议
1.1 OSI/RM------开放式系统互联参考模型
应用层:跟人进行交互(人机交互)--我们给他输入抽象语言-----编码--后台程序
表示层:将“编码”--转化为电脑可以识别的二进制
会话层:提供会话号,同软件不同进程的程序在同时接收发消息时,他们会拥有相同的IP地址MAC地址,此时,就需要会话层分别给予不同的会话号去区分。
传输层:TCP/UDP 1.分段(受到MTU限制)2.端口号MTU:最大传输单元 默认1500字节
(1)分段:当数据包过大时,连续发送可能会使数据在传输途中插入别的数据造成损坏,所以需要对数据包进行分段处理,从而保证数据包的完整性。
(2)端口号:使用电脑可能会同时访问多个服务器,这多个服务器在进行回复的时候,回复目标都是相同IP/MAC,为了不分配错误,所以在该程序启动时,电脑会在1024-65535随机分配端口号给这个程序,在服务器回包时也会带着这个端口号,这样电脑就能做出正确的数据分配。
注: 端口号范围:0-65535,其中1-1023 注明端口,1024-65535高端口/动态端口。
网络层:IP 互联网协议
数据链路层:介质访问控制层MAC+逻辑链路控制层LLC
其中逻辑链路控制层LLC部分的作用:对数据进行校验,只保障数据完整性;同时增加FCS(校验核),校验数据完整性。
物理层:物理硬件
各层次所具有的作用:应用层、表示层 、会话层:对数据进行加工处理;
传输层、网络层 、数据链路层 、物理层 :对数据的运输 到达对端做出工作
1.2 网络协议
七层模型使用时所面临的问题:(1)分层不均 (2)分层太多 ,因此通常使用简化过的,四/五层网络模型,以下是二者的区别:
TCP/IP 协议簇:
四层与五层模型的区别:
1.3 名词解析
【1】PDU:协议数据单元 对不同层封装的数据单元标识
应用层-----数据报文 传输层-----数据段 网络层-----数据包
数据链路层------数据帧 物理层------比特流
【2】封装/解封装
【3】常用端口号对应协议
HTTP tcp 80 超文本传输协议
HTTPS TCP 443 (HTTP+SSL(TLC)) 安全传输协议
FTP tcp 20/21 文件传输协议
TFTP udp 69 简单文件传输协议
Telnet tcp 23 远程登录标准协议
SSH tcp 22 安全外壳
DNS UDP/TCP 53 域名解析协议
DHCP UDP 67/68 动态主机配置协议
TCP----传输控制协议----面向连接的可靠协议
在完成了传输层的基本工作的同时,还需要保证传输的可靠性。
面向连接---3次握手 4次挥手 建立端到端的虚链路
【4】IP的包头内容
【5】TCP的分段和IP的分片
IP分片的原因:受到二层 数据链路层 MTU的限制,最大传输单元不能超过1500字节,数据到达网络层大于MTU则会分片,为了提高传输效率减少分片,TCP在装载数据时如果能做到封装后的数据不引起三层分片则是一种最佳选择,MSS值的目的就是基于双方的MTU协商出一个最大传输承载长度。
二. 网络基础
2.1 网络扩“大”的方法及问题
网络影响范围变大是指增加节点和传输距离的增长
【1】增长传输距离:最初的解决方法是利用中继器(放大器),但中继器的作用仅加压,不能够还原电波,是纯物理层设备,因此仍然不能解决无限延长传输距离
【2】增加节点:于是发明了集线器(HUB),其本质是多接口的中继器,通常考虑构建星型结构,想借此来解决这一问题。
注:拓扑结构的分类
直线型拓扑(总线型拓扑)、环型拓扑、树状拓扑、波环型(全网状)拓扑、星型结构
但通过实践研究发现集线器网络具有许多的缺点:
1.安全问题 2.延时大--垃圾信息导致 3.地址 4.冲突
最首要的问题在于冲突,于是提出关于网络传输冲突的解决方案:
【3】CSMA/CD 载波侦听多路访问/冲突检测机制(排队机制)
机制解析(原理):(1)首先使用监听功能,当发现有消息在传播时,停止自身发送,进行监听排队,随时准备进入下一个阶段;(2)当前消息完成,监听到完毕状态后,立刻发送;(3)当消息相撞时,会互相给彼此发送一个阈值,因为是随机发送,所以会有大小区分,达到阈值时发送消息,这样就规避了冲突的问题。
2.2 交换机的诞生
通过以上的时间积累后,后来网络的发展提出了能增加网络的核心需求(网桥和交换机),带来了以下多方面的便利:
1、无限的传输距离
2、无冲突-- 同时实现所有节点可以同时收发自己的数据
3、单播 --- 一对一传输(安全且效率高)
【1】交换机的原理
其隶属于介质访问控制层设备,当数据帧进入交换机接口时,先从电流转为二进制,同时在本地的内存中进行存储;之后识别数据帧中源 mac 地址,将该 mac 地址与该数据进入的接口编号,映射记录到交换的 MAC 地址表中;之后再关注数据帧中的目标 mac 地址,同时查询交换机 MAC 地址表,若表中存在对应接口记录,将仅从对应中单播复制该数据;若表中没有记录,将洪泛该数据。
注:洪泛指除流量的入口外,其他所有接口复制转发;
【2】交换机的作用
(1)代替集线器提供端口密度,用于大量节点互联;
(2)理论上无限延长传输距离 ,因为交换机可以识别电流为二进制,再重新将二进制转为电流;
(3)无冲突:将电流识别为二进制数据,然后存储再转发,来实现所有节点可以同时收发数据,同时没有电流与电流相遇的情况。
(4)单播:交换机识别数据中的源及目标 MAC 地址,基于本地的 MAC 地址表来进行转发,交换机的 MAC 地址表是自动记录源 mac 对应的接口产生;
2.3 ARP协议
ARP(地址解析协议):简单来说就是通过对端的某种地址来获取对端的另一种地址的协议。
正向 ARP(AARP): 已知同一网段的其他设备 ip 地址,通过广播查询到该 ip 地址对应的 MAC 地址;反向ARP即通过MAC地址泛洪从而找到目标IP地址。
2.4 路由器
路由器的原理:PC端在访问其他设备时,会先基于目标IP地址判断,对端设备与自己是否存在于同一个广播域;若在同一个范围,通过ARP广播获取MAC随后单播通讯即可;若不在同一个范围,则需要封装目标MAC地址为本地网关MAC地址,将数据发送至路由器处,由路由器代为转发。
2.5 IPV4地址详解
【1】IPV4与IPV6的构成与区别
IPV4地址:32位二进制构成 点分十进制标识
IPV6地址:128位二进制构成 冒分十六进制标识
IPV4地址:使用子网掩码进行网络位和主机位的区分
【2】IPV4的五类地址划分
ABC类:为单播地址,既可以当做源IP使用,也可以当做目标IP使用,每一个单播地址都标识着一个唯一的节点,且只有单播地址可以作为源IP;
D类:组播地址----只能作为目标IP使用;
E类:未知
划分的范围和依据:基于IP地址的第一个8位进行分类
A类:1-126 前8位为网络位
B类:128-191 前16位为网络位
C类:192-223 前24位为网络位
D类:224-239 不分网络位和主机位
E类:240-255
【3】特殊地址
(1)127 环回地址 127.0.0.1——127.255.255.255,作用是排错历程分析;
(2)255.255.255.255 受限广播地址
(3)主机位全0
(4)主机位全1
(5)0.0.0.0 代表没有地址/代表所有地址
(6)169.254.0.0/16 本地链路地址、自动私有地址