网络基础
计算机系统可以划分为多个层次,其中比较常见的分层模型是OSI(Open Systems Interconnection)模型,它把计算机系统分为7个层次,从下到上分别是:
物理层(Physical layer):物理层负责在物理媒体上传输原始数据,包括电缆、光纤、电源等。
数据链路层(Data link layer):数据链路层负责在节点之间建立数据链路,以便于数据的传输。
网络层(Network layer):网络层负责为数据在结点之间传输创建逻辑链路,通过路由选择算法为分组通过通信子网选择最适当的路径。
传输层(Transport layer):传输层的主要功能是向用户提供可靠的端到端(End-to-End)服务,处理数据包错误、数据包次序,以及其他一些关键传输问题。
会话层(Session layer):会话层负责在系统之间建立、管理和终止会话。
表示层(Presentation layer):表示层负责对数据进行编码和解码,以确保发送方和接收方之间的数据格式一致。
应用层(Application layer):应用层负责处理特定的应用程序细节,为用户提供服务。
除了OSI模型外,还有TCP/IP模型等其他分层模型。这些分层模型有助于理解计算机系统的工作原理和设计方式。
网络定义和分类:
局域网(Local Area Network,LAN):局域网是一种在有限区域内(如一座建筑、一所学校或一个工厂等)连接计算机和其他设备的网络。局域网通常由一个组织或公司拥有和管理。
广域网(Wide Area Network,WAN):广域网是通过公共通信网络(如电话线、光纤等)连接不同地理位置的计算机和其他设备的网络。广域网通常由多个组织或公司共同使用和维护。
城域网(Metropolitan Area Network,MAN):城域网是一种在大城市范围内连接计算机和其他设备的网络。城域网通常由一个城市或地区的管理机构或公司建设和管理。
互联网(Internet):互联网是由各种不同类型的网络(如局域网、广域网、城域网等)组成的全球性网络,通过标准的通信协议相互连接,实现全球范围内的信息交流和资源共享。
网络架构的类型主要有以下几种:
对等网:在P2P网络中,每个节点都拥有相同的功能,没有主从之分。节点之间通过连接形成网络,每个节点都可以作为服务端为其他节点提供服务,同时也可以作为客户端从其他节点获取服务。
星型网:星型网络由一个中心节点和若干个从节点组成,中心节点负责控制和协调各个从节点的通信。这种网络结构简单,易于管理,但可靠性较差,因为如果中心节点出现故障,整个网络将无法正常工作。
总线型网:总线型网络由一条总线和一个或多个从节点组成。所有节点都连接在总线上,发送和接收数据时都需要在总线上进行。这种网络结构简单,成本低,但易受到噪声和信号衰减的影响,且扩展性较差。
环型网:环型网络由一系列节点组成一个闭环结构,每个节点都连接前后两个节点。这种网络结构具有较高的可靠性,因为即使某个节点出现故障,数据也可以通过其他节点继续传输。但环型网络的扩展性较差,且需要特定的协议来实现数据的传输和管理。
网状网:网状网络由多个子网组成,每个子网都可以是一个小型局域网或广域网。这种网络结构具有很高的可靠性和扩展性,因为即使某个子网出现故障或需要扩展,整个网络仍然可以正常运行。但网状网络的维护和管理较为复杂,需要专门的网络管理员进行管理和维护。
网络拓扑结构:
星型拓扑:星型拓扑是一种常见的网络拓扑结构,其中每个节点都直接连接到中央设备(如集线器或交换机)。这种拓扑结构易于管理和维护,但中央设备的故障可能导致整个网络的瘫痪。
总线型拓扑:总线型拓扑是一种早期的网络拓扑结构,其中所有节点都连接到一条共享总线。这种拓扑结构简单且成本低,但可扩展性和可靠性较差。
环型拓扑:环型拓扑是一种特殊的网络拓扑结构,其中每个节点都直接连接到下一个节点,形成一个闭环。这种拓扑结构具有较高的可靠性,但可扩展性较差。
其他拓扑结构:除了上述三种常见的拓扑结构之外,还有树型、网状和混合型等其他类型的网络拓扑结构。
HUB网络集线器
介绍:集线器(Hub)是纯硬件网络底层设备,它工作于OSI(开放系统互联参考模型)参考模型第一层,即“物理层”。它的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。
集线器每个接口简单的收发比特,收到1就转发1,收到0就转发0,不进行碰撞检测。它属于纯硬件网络底层设备,基本上不具有类似于交换机的"智能记忆"能力和"学习"能力。它也不具备交换机所具有的MAC地址表,所以它发送数据时都是没有针对性的,而是采用广播方式发送。
工作原理:
集线器的工作原理主要是将多个网络设备的数据报文合并在同一条物理线路上,并在此基础上实现数据的发送和接收。具体来说,集线器接收来自线路上的信号,并将其整形放大后广播转发给与集线器相连的所有端口。它是一种广播设备,会将接收到的数据报文发送给其他网络设备,而不会对数据报文的内容进行分析或处理。
集线器属于纯硬件网络底层设备,不具备交换机所具有的“智能记忆”能力和“学习”能力,也没有MAC地址表。它发送数据时没有针对性,采用广播方式发送。当集线器要向某节点发送数据时,不是直接把数据发送到目的节点,而是把数据包发送到与集线器相连的所有节点。
此外,集线器还可以实现网络的层次结构,将网络划分为不同的子网,从而提高网络的效率和性能。它可以将不同的子网分开,形成一个多层结构,从而减少网络中信息的传播,减少网络的干扰,提高网络的效率。
需要注意的是,随着技术的发展和进步,集线器在很多现代网络中的应用已经逐渐被交换机所取代。这是因为交换机具有更高的性能和更好的扩展性,能够更好地满足现代网络的需求。
网桥----交换机
网桥:
网桥能够把数据帧进行存储,并根据目标MAC地址转发帧。
网桥具有自学习功能,能够自动构建MAC地址表。
网桥有足够的缓冲空间,可以在短时间内处理大量的数据帧。
网桥可以通过执行帧翻译互联不同类型的局域网。
交换机:
交换机能看懂帧数据链路层的首部和尾部,属于数据链路层设备(二层设备)。
交换机端口独享带宽,比集线器更安全。
交换机组建的以太网是一个广播域,而路由器负责在不同网段转发数据,广播数据包不能跨路由器,因此路由器隔绝广播。
交换机的工作原理:
- 当数据帧进入到交换机之后,交换机会先查看该数据的原MAC地址,之后将该MAC地址与进入接口的映射关系记录在MAC地址表中;随后查看目标MAC地址,根据目标MAC地址查看MAC地址表,若有记录,则从相应接口单播发出。若没有记录,则从除进入接口以外的所有接口进行发送-----------------泛洪
洪泛:向除了进入接口以外的所有接口进行发送
MAC地址表的老化时间:300s
变大网络--------无限的传输距离 无冲突 单播 =交换机 ----二层设备------ 识别MAC 认识则单播 不认识---泛洪
路由器-----全球互联
网络层: IP 互联网协议------地址IP
IPV4:32位二进制构成 存在网络位和主机位的区分,网络位用于标识所在范围;选用点分十进制来标识。
为了方便人看 采取8位一分
192.168.1.1 11000000.10101000.00000001.00000001
172.16.2.1 10101100.00010000.00000010.00000001
00000000=0
00000001=1
00000010=2
00000100=4
00001000=8
00010000=16
00100000=32
01000000=64
10000000=128
192.168.1.1 255.255.255.0
192.168.2.1 255.255.255.0
11000000.10101000.00000001.00000001
11111111.11111111.00000000.00000000
网络位 主机位
11000000.10101000.00000010.00000001
11111111.11111111.00000000.00000000
网络位 主机位
子网掩码:连续的1与连续的0构成,连续的1对应网络位,连续的0对应主机位。
ARP:地址解析协议:通过一种地址,找到另一种地址。
ARP先通过广播发送ARP请求包,所有收到广播包的设备都将源IP源MAC的映射关系记录在本地的ARP缓存表中,然后再查看请求的IP是否是自己的,若不是 则丢弃,若是,则以单播的形式进行回复,在之后的传输中,将优先查看本地的ARP缓存表,若本地有记录则直接按照记录发送,若没有记录,则进行ARP请求。
ARP缓存表的老化时间:180s
路由器的工作原理:在发送数据包时,会先通过子网掩码进行网络位的判定,判定是否在同一网段内,若在则直接通过交换机转发即可。 若不在同一网段内,则目标MAC改为自己的网关,发送至路由器,通过路由器实现跨网段转发。路由器会根据目标IP的网段查询自己的路由表,进行抉择是否转发数据包,若路由表中没有目标IP网段的记录,则直接丢弃该数据包,若路由表中存在该路由条目,则无条件转发。
从一个PC端发送消息到另一个局域网的PC端的信号传播方式可以概括为以下几个步骤:
选择目标:首先,发送方需要知道接收方的网络地址,例如IP地址。如果发送方和接收方都在同一个局域网内,那么可以通过直接发送广播消息或者直接发送到接收方的MAC地址来达到目的。
封装数据:发送方将消息数据封装成帧(Frame)格式,帧是网络传输的基本单元,包含了数据和必要的控制信息,如源和目标MAC地址、数据类型等。
发送数据:发送方将封装好的数据帧通过局域网发送到交换机或路由器等网络设备。如果发送方和接收方在同一局域网内,消息会通过局域网的广播特性传递到所有设备,然后由设备根据目标MAC地址进行过滤和转发。
接收和处理:接收方接收到数据帧后,会根据帧中的控制信息进行必要的处理,如解析数据、验证身份等。如果接收方是目标设备,则接收方会解封装数据并处理消息;否则,接收方会将消息丢弃或转发给其他设备。
路由转发:如果发送方和接收方不在同一局域网内,消息需要通过路由器等设备进行路由转发。路由器会根据目标IP地址将消息路由到正确的目标网络,并在必要时进行数据包分片和重新组装。
解封装和接收:在目标局域网内,接收方会收到路由转发的数据包,并进行解封装处理,提取出原始数据。然后接收方可以进一步处理消息,如显示在屏幕上、保存到文件中等。
IPV4地址详解
IPV4地址:32位二进制构成 点分十进制标识
IPV6地址:128位二进制构成 冒分十六进制标识
IPV4地址 存在网络位和主机位的区分
存在ABCDE五类:
ABC类 为单播地址 ------既可以当做源IP使用,也能当做目标IP使用,每一个单播地址都标识着一个唯一的节点,只有单播地址可以作为源IP使用
D类 为组播地址 只能作为目标IP使用
E类 保留地址
基于IP地址的第一个8位进行分类:
A类:1-126 前8位为网络位 255.0.0.0
B类:128-191 前16位为网络位 255.255.0.0
C类:192-223 前24位为网络位 255.255.255.0
D类:224-239 不分网络位和主机位
E类:240-255
特殊地址:
一:127 环回地址 127.0.0.1-127.255.255.255
二:255.255.255.255 受限广播地址
三:主机位全0 192.168.1.0 255.255.255.0 不是单播地址,不能配置为设备的IP地址,192.168.1.0 255.255.255.0
= 192.168.1.X 一个网络号,代表一个网段,192.168.1.0/24
四:主机位全1 192.168.1.255/24 不是一个单播地址,不能被配置为设备的IP地址,直接广播地址, 用于本地向本地以外的广播域进行的广播行为。
五:0.0.0.0 代表没有地址,也可以代表所有地址
六:169.254.0.0/16 本地链路地址 自动私有地址
VLSM 可边长子网掩码------子网划分
192.168.1.0/24 255.255.255.0
一个网段的主机数范围:主机位全0-主机位全1
192.168.1.0/24-----192.168.1.255/24
1000000.10101000.00000001. 0 0000000
192.168.1.0/25
11000000.10101000.00000001. 1 0000000
192.168.1.128/25
11000000.10101000.00000001. 00000000
11111111.11111111.11111111.10000000
可用主机数范围:192.168.1.0-----192.168.1.127 128
将192.168.1.0/24 划分为 8个子网:
(8个,所以借三位,因为2的三次方为8)
先转换为二进制 :
11000000.10101000.00000001.00000000
11111111.11111111.11111111.00000000
划分:
11000000.10101000.00000001. 000 00000
每个子网包含的主机数范围:
192.168.1.0/27--------192.168.1.31/27 32
11000000.10101000.00000001. 001 00000
11000000.10101000.00000001. 010 00000
11000000.10101000.00000001. 011 00000
11000000.10101000.00000001. 100 00000
11000000.10101000.00000001. 101 00000
11000000.10101000.00000001. 110 00000
11000000.10101000.00000001. 111 00000
八个子网转化为十进制:
192.168.1.0/27。192.168.1.32/27。192.168.1.64/27
192.168.1.96/27。192.168.1.128/27。192.168.1.160/27
192.168.1.192/27。 192.168.1.224/27 。
子网划分(多化少):
172.16.0.0/15
172.00010000.00000000.00000000
255.11111110.00000000.00000000
子网划分(少化多):
172.0001000 0.0 000000000 172.16.0.0/17
172.0001000 0.1 0000000.00000000 172.16.128.0/17
172.0001000 1.0 0000000.00000000 172.17.0.0/17
172.0001000 1.1 0000000.00000000 172.17.128.0/17
第一个子网主机数范围:
172.16.0.1/17-------172.16.127.254
第二个子网主机数范围:
172.16.128.1/17--------172.16.255.254
第三个子网主机数范围:
172.17.0.1/17---------172.17.127.254
第四个子网主机数范围:
172.17.128.1/17-------------172.17.255.254
无类域间路由----CIDR---取相同位 去不同位
192.168.0.0/24 192.168.00000000.00000000
192.168.1.0/24 192.168.00000001.00000000
192.168.2.0/24 192.168.00000010.00000000
192.168.3.0/24 192.168.00000011.00000000
取相同位当做网络位使用,去除剩余当做主机位使用,且全部为0
将上面四个子网进行合并:
192.168.00000000.00000000 192.168.0.0/22
将这四个子网进行合并:
172.16.33.0/24 172.16.00100001.0
172.16.44.0/24 172.16.00101100.0
172.16.55.0/24 172.16.00110111.0
172.16.63.0/24 172.16.00111111.0
取相同位当做网络位使用,去除剩余当做主机位使用,且全部为0
172.16.00100000.00000000 172.16.32.0/19
OSI七层模型
物理层(Physical):物理层的任务是提供比特流传输的通道,即数据线路,为数据端设备提供机械、电气、功能和过程的特性。
数据链路层(Data Link):数据链路层负责将比特流组合成帧,同时对帧进行错误检查和流量控制介质访问控制层MAC+逻辑链路控制层LLC。
网络层(Network):网络层负责将数据包从源地址发送到目的地址,主要解决的是如何将数据包从源地址发送到目的地址的问题。
传输层(Transport):传输层负责将上层数据分段并提供端到端通信,以确保数据的完整性和可靠性。
会话层(Session):会话层负责建立、管理和终止会话。
表示层(Presentation):表示层负责对数据进行编码和解码,以确保发送方和接收方之间的数据格式一致。
应用层(Application):应用层负责处理特定的应用程序细节,为用户提供网络服务。
由此可以得出一个结论,应用层 表示层 会话层 上三层都是对数据进行加工处理的。 下四层为运输加工数据
传输层:TCP/UDP: 1.分段(受MTU值的限制) 2.端口号:0-65535 1-1023注明端口 1024-65535 高端口--动态端口
- MTU:最大传输单元 默认1500字节
分段:当数据包过大时,连续的发送可能会使数据传输中插入其他数据导致原包形成废包,所有,需要对数据包进行分段来保证包的完整性和传输的稳定性。
- 端口号 :使用电脑时可能会同时访问多个服务器,多个服务器回复时,回复目标的IP地址和MAC地址都一样,为了不分配错误,所有,在程序启动时,电脑会在1024-65535中随机分配一个端口号给这个程序,在服务器回包时同时也会带上这个端口号,来加以确认是那个程序的回包。这样电脑就能正确的对数据进行分配。
TCP/IP协议簇
PDU:协议数据单元:对不同封装的数据单位标识
应用层:数据报文
传输层:数据段
网络层:数据包
数据链路层:数据帧
物理层:比特流
TTL:生存周期
我们的数据包每经过一个路由器,TTL值就会减一,当这个值为0时,这个数据包就会被丢弃,不在进行转发。
255 64 128
以太网II 型帧
封装/解封装
HTTP tcp 80 ----超文本传输协议
HTTPS tcp 443 HTTP+SSL 安全传输协议
FTP tcp 20/21 文件传输协议
TFTP udp 69 简单文件传输协议
Telnet tcp 23 远程登录标准协议
DNS udp/tcp 53 域名解析协议
DHCP udp 67/68 动态主机配置协议
传输层协议:UDP与TCP
TCP------传输控制协议-----面向连接的可靠协议
在完成传输层工作的同时,还需要保证传输的可靠性
面向连接------3次握手以及四次断开 建立端到端的虚链路
SYN=发起一次链接并告知自身状态
ACK=确认
特殊情况:RST=重连 TCP=严重错误且重连
FIN=断开 PSH=加急接收 URG=紧急指针
四次挥手
可靠性:确认 排序 重传 流控
UDP---------用户数据报文协议------非面向连接的不可靠协议
仅完成传输层的基本工作
TCP的分段和IP的分片
IP的分片:受到二层 数据链路层 MTU的限制
TCP分段原因:MSS-----TCP数据最大数据分段长度
数据达到网络层如果大于MTU则会分片,为了提高传输效率,TCP在装载数据时如果能够做到封装的数据不引起三层的分片,则为最佳。故采取MSS值的形式进行协商。