目录
1 网络基础
1.1 二进制与抽象语言的转化
电脑用二进制,向使用者展示的抽象语言。该过程需要经过四个层次
1)应用层:进行人机交互,将抽象语言变成编码,再将编码交给后台程序,交给表示层
2)表示层:将编码转化成计算机可以识别的二进制
3)介质访问控制层:将二进制转化成电信号
4)物理层:处理介质访问控制层传播的电信号
在计算机处理完后,电信号又会传回介质访问控制层,依次传到应用层,最后又以抽象语言展示给使用者
1.2 对等网(人类最早的网络)
对等网是指在网络通信中,各个节点具有相同或类似的地位,能够充当服务器和客户端的角色,进行对等的数据交换和管理
1.3 网络变大
1.3.1 网络变大的两种方式
1)节点增加:增加网络节点数量,从而发展出了多种网络拓扑结构。
2)距离增加:在信息传输的过程中由于距离的增加,信息会出现失真等问题,为了解决信号变弱的问题就出现了中继器(也叫放大器) 当今最长的网线100m,常见网线----RJ-45双绞线
1.3.1.1 5种网络拓扑结构
1)直线型拓扑(总线型)
优点:总线结构所需要的电缆数量少,线缆长度短,易于布线和维护。多个节点共用一条 传输信道,信道利用率高。
缺点:总线形网常因一个节点出现故障(如结头接触不良等)而导致整个网络不通,因此可 靠性不高。
2)环形拓扑
环形拓扑结构是节点形成一个闭合环。环形网中各节点通过环路接口连在一条首尾相连的闭 合环形通信线路中,环上任何节点均可请求发送信息。
优点:信息流在网中是沿着固定方向流动的,两个节点仅有一条道路,简化了路径选择的控制;环路上各节点都是自举控制,控制软件简单。
缺点:信息源在环路中是串行地穿过各个节点,当环中节点过多时,势必影响信息传输速率,使网络的响应时间延长;环路是封闭的,不便于扩充;可靠性低,一个节点故障,将会造成全网瘫痪;维护难,对分支节点故障定位较难。
3)树状拓扑
优点:结构比较简单,成本低。在网络中,任意两个节点之间不产生回路,每个链路都支 持双向传输。网络中节点扩充方便灵活,寻找链路路经比较方便。
缺点:在这种网络系统中,除叶节点及其相连的链路外,任何一个节点或链路产生的故障都会影响整个网络。
4)全网状拓扑(波环)
优点:网络可靠性高,一般通信子网任意两个节点交换机之间,存在着两条或两条以上的通信路径。可扩充性好,网络可建成各种形状,采用多种通信信道,多种传输速率。
缺点:网络结构复杂,成本高,不易维护。
5)星型拓扑
星型拓扑结构是一个中心,多个分节点。多节点与中央节点通过点到点的方式连接。中央 节点执行集中式控制策略,因此中央节点相当复杂,负担比其他各节点重的多。
优点:结构简单,连接方便,管理和维护都相对容易,而且扩展性强。网络延迟时间较小, 传输误差低。中心无故障,一般网络没问题。
缺点:中心故障,网络就出问题,同时共享能力差,通信线路利用率不高。
1.3.2HUB集线器
集线器属于纯硬件网络底层设备,基本上不具有类似于交换机的"智能记忆"能力和"学习"能力。它也不具备交换机所具有MAC地址表,所以它发送数据时都是没有针对性的,而是采用广播方式发送。它是一个多端口的转发器。
集线器在信息传输中会又安全、延时、地址、冲突方面的问题
1)地址问题的解决------MAC地址的出现
MAC地址也叫物理地址、硬件地址,由48位二进制构成 以16进制显示,第二层数据链路层负责MAC位址
冲突问题的解决-----CSMA/CD载波侦听多路访问/冲突检测机制(排队)
机制解析:
- 首先使用监听功能,当发现有消息在传播时,停止自身发送,进行监听排队,随时准备进入下一个阶段
- 当前消息完成,监听到完毕状态后,立刻发送。
- 当消息相撞时,会互相给彼此发送一个阈值,因为是随机发送,所以会有大小区分,达到阈值时发送消息,这样就规避了冲突的问题
1.3.3网桥
网桥是早期的两端口二层网络设备。网桥的两个端口分别有一条独立的交换信道,不是共享一条背板总线,可隔离冲突域。网桥比集线器性能更好,集线器上各端口都是共享同一条背板总线的。后来,网桥被具有更多端口、同时也可隔离冲突域的交换机所取代。它会出现端口密度的问题,所以有了交换机的出现。
1.3.4交换机
交换机意为“开关”是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。其他常见的还有电话语音交换机、光纤交换机等。 工作在介质访问控制层
交换机具有的:
- 无限的传输距离-----读写功能,相当于重新写信
- 没有冲突-------交换机可以转换电流并储存二进制数据
- 形成单播------运用转发储存的原理,储存一批转发一批,实现一对一的识别一对一的发送。
1.3.4.1工作原理
- 当数据帧进入交换机之后,交换机会先查看数据的源MAC地址,之后将该数据进入的接口与MAC地址映射到本地的MAC地址表中;之后查看目标MAC地址,根据目标MAC地址查询本地MAC地址表,若存在记录,将直接从该表所记录的接口进行发送。
- 若没有目标MAC地址接口记录,则泛洪该数据。
1.3.4.2泛洪
除了进入的接口之外,转发给所有其他的接口(注意与广播区分 泛洪被迫 广播主动)
泛洪范围越大就会造成网络延时所以出现了路由器
1.4.路由器
路由器是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。它能够理解不同的协议。路由器的每一个接口,都是一个泛洪范围的边界。
由路由器衍生出了新车间-----网络层
工作原理:
PC端在访问其他设备时,会先基于目标IP地址判断对端设备与自己是否存在于同一个广播域;若在同一个范围,通过ARP广播获取MAC随后单播通讯即可。若不在同一个范围,则需要封装目标MAC地址为本地网关MAC地址,将数据发送至路由器处,由路由器代为转发。
1.4.1 网络层
网络层是以路由器为最高节点俯瞰网络的关键层,它负责将上层数据加上源和目的方的逻辑地址封装成数据包,实现数据从源端到目的端的传输。网络层进行逻辑地址寻址,实现不同网络之间的路径选择。
1.4.2 IP
IP就是互联网协议IP协议中还有一个非常重要的内容,那就是给因特网上的每台计算机和其它设备都规定了一个唯一的地址,叫做“IP地址”。它是唯一的,保证了用户在连网的计算机上操作时,能够高效而且方便地从千千万万台计算机中选出自己所需的对象来。IP地址是一个32位的二进制数,IP地址通常用点分十进制表示
1.5 ARP协议
1)又叫地址解析协议,是根据IP地址获取MAV地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存
广播:在一个泛洪范围内,迫使交换机将一个数据进行泛洪
广播域就是泛洪域 ARP缓存表老化时间为180s
2)免费ARP:又叫无故ARP 它不同于一般的ARP请求,它并非期待的想要得到MAC地址或者IP地址,而是当主机启动时,发送一个免费ARP包,请求自己的IP地址和MAC地址。 一般情况下就两个作用 1.验证IP是否冲突 2.更换物理网卡
1.6 IPV4地址
1.6.1 定义
IPV4由32位二进制构成 ,选用点分十进制表示。IPv4地址由两部分组成,即网络地址和主机地址。网络地址表示其属于互联网的哪一个网络,主机地址表示其属于该网络中的哪一台主机,二者是主从关系。
为了方便人看,所以采用8位一分形式。
1.6.2 子网掩码
通过连续的1和连续的0构成,连续的1所在位置即为网络位,连续的0即为主机位。
1.6.3详解
IPV4地址:32位二进制构成 点分十进制标识
IPV6地址:128位二进制构成 冒分十六进制标识
IPV4地址:使用子网掩码进行网络位和主机位的区分
存在ABCDE五类地址:
ABC类为单播地址 D类为组播地址 E类为保留地址
ABC类为单播地址----既可以当做源IP使用,也可以当做目标IP使用,每一个单播地址都标识着一个唯一的节点;只有单播地址可以作为源IP。
D类:为组播地址----只能作为目标IP使用
E类:是保留地址,为将来使用保留。(240.0.0.0---255.255.255.254) 该类IP地址的最前面为“1111”,所以网络号取值于240~255之间。
基于IP地址的第一个8位进行分类:
A类:1-126 前8位为网络位
B类:128-191 前16位为网络位
C类:192-223 前24位为网络位
D类:224-239 不分网络位和主机位
E类:240-255
A类地址地址子网掩码:255.0.0.0
B类地址地址子网掩码:255.255.0.0
C类地址地址子网掩码:255.255.255.0
1.7 特殊地址
1) 127 环回地址 127.0.0.1-127.255.255.255 用作排错历程分析
2)255.255.255.255 受限广播地址
3)主机位全0 例如:192.168.1.0 255.255.255.0 不是单播地址,不能被设置为IP地址,代表一个网段,网络号
4)主机位全1 例如:192.168.1.255/24 不是单播地址,不能被设置为IP地址,直接广播地址
5)0.0.0.0 代表没有地址 代表所有地址
6)169.254.0.0/16 本地链路地址 自动私有地址
1.8 子网划分与聚合
1.8.1 VLSM 可边长子网掩码 ---- 子网划分
网络位向主机位借位,主机位的最左边某几位作为子网位,划分出多个子网的过程。
1.8.2 无类域间路由----CIDR
去掉的不同位当0处理,取到的相同位即为合并后的网络位。
2 OSI七层模型与网络协议
2.1 OSI定义
OSI,即开放式系统互连。 一般都叫OSI参考模型,是ISO组织在1985年研究的网络互连模型。该体系结构标准定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层和应用层)
2.2 OSI结构模型
2.2.1 会话层
提供会话号,同软件不同进程的程序在同时接收发消息时,他们会拥有相同的IP地址MAC地址,此时,就需要会话层分别给予不同的会话号去区分。
2.2.2 传输层
实现了端对端的传输,区分不同的进程和服务,是通过不同的端口号来识别不同的进程和服务。端口号是由16位二进制构成,共65535个端口号。传输层协议有TCP/UDP。传输层中的数据分段
1)分段
当数据包过大时,连续发送可能会使数据在传输途中插入别的数据造成损坏,所以需要对数据包进行分段处理,从而保证数据包的完整性。
2)端口号
- 使用电脑可能会同时访问多个服务器,这多个服务器在进行回复的时候,回复目标都是相同IP/MAC,为了不分配错误,所以在该程序启动时,电脑会在1024-65535随机分配端口号给这个程序,在服务器回包时也会带着这个端口号,这样电脑就能做出正确的数据分配。
端口号:0-65535 1-1023 注明端口 1024-65535高端口/动态端口
2.3传输层协议TCP/UDP
2.3.1 TCP
TCP协议是传输控制协议----面向连接的可靠协议,在完成了传输层的基本工作的同时,还需要保证传输的可靠性。TCP建立过程中的三次握手与四次挥手
2.3.1.1 三次握手 四次挥手
1)三次握手
![](https://img-blog.csdnimg.cn/direct/2e62cda7fa044dc0ba0cd476caac7eab.png)
SYN:发起一次连接,并告知自身状态
ACK:标识确认
特殊情况:RST 重连 ; TCP 严重错误并重连; FIN 断开 ; PSH 紧急加收 ;URG 紧急指针
2)传输途中
3)四次挥手
客户端向服务器发送FIN断开请求,服务器接收到此请求后,回复一个ACK。服务器向客户机发送FIN断开请求,客户机收到此请求后,回复一个ACK。
2.3.2 UDP
UDP是一个简单的面向消息的传输层协议,尽管UDP提供标头和有效负载的完整性验证(通过校验和),但它不保证向上层协议提供消息传递,并且UDP层在发送后不会保留UDP 消息的状态。因此,UDP有时被称为不可靠的数据报协议。如果需要传输可靠性,则必须在用户应用程序中实现。
2.3.3 TCP与UDP区别
2.4 TCP/IP协议簇
模型区别
2.4.1 TCP的分段和IP 的分片
IP协议会分片传输过大的数据包避免物理设备的限制
TCP协议会分段传输过大的数据段保证传输的性能
IP分片的原因:受到二层 数据链路层 MTU的限制,最大传输单元不能超过1500字节
数据到达网络层大于MTU则会分片,为了提高传输效率减少分片,TCP在装载数据时如果能做到封装后的数据不引起三层分片则是一种最佳选择,MSS值的目的就是基于双方的MTU协商出一个最大传输承载长度。
2.4.2 封装 解封装
封装: 在封装时每一层都把上一层的协议包当成数据部分,加上自己的协议头部,组成自己的协议包。从高层次到低层次
解封装:封装的逆过程