1.0网络基础
1.1 什么是网络
网络:计算机网络是一组计算机或网络设备通过有形的线缆(双绞线、同轴电缆、光纤)或无形的媒介(无线信号),连接起来,按照一定的规则,进行通信的集合。
网络通信,是指终端设备之间通过计算机网络进行的通信。
网络通信流程图(A主机PC访问百度网址(百度服务器))
服务器的定义:可以提供服务的高性能计算机,分为服务器硬件和服务器软件,服务器硬件是指构成服务器的组件,软件是指能够提供某种服务的程序(一段代码),例如Nginx是一种web软件,挂载在在服务器上就成了web软件服务器(服务器能够提供web软件服务)。
系统:其实是复杂的程序,可以为桌面软件提供运行环境,也可以为软件调配硬件。
图中电脑A的网卡将请求数据转化为电信号,通过物理缆线将电信号传送到交换机、路由器、百度服务器逐级电脑设备上,最后服务器响应请求,将数据逐级返回。
1.2 分层
通过将网络传输数据、共享数据这个复杂的流程切分成不同的相对单一的子进程,确保整个流程流畅,网络分层结构按照从低到高的层次进行划分,分为应用层、表示层、会话层、传输层、网络层、数据链路层和物理层,每一层都有其特定的功能和作用。
分层的优点:
1、各层之间相互独立,每一层只实现一种相对独立的功能,使问题复杂程度降低,利于针对解决问题。
2、灵活性好,各层内部的操作不会影响其他层。
3、结构上可分割开,各层之间都可以采用最合适的技术来实现,易于实现和维护。
4、因为整个系统已被分解成相对独立的子系统,能促进标准化工作,因为每一层的功能及其提供的服务都有了精确的说明。
2.0 OSI七层模型
应用层:人机交互的窗口,人发送指令,机器接受指令。
表示层:将人类的高级语言转化成机器能够听懂的机器语言,加密(开发人员可以对数据内容进行加密操作)。(转化成物理格式)
会话层:建立,管理,关闭会话通道,确保数据传输不会传给错误的机器。
传输层:确定传输协议(TCP或者UDP),并且确定目标程序的端口号(无网络的时候确定目标程序的PID号),由自身主机的随机端口号发送封装好的数据段给到目标端口号。(端口号的作用:通过确定端口号对应的协议,如80端口号对应HTTP协议来确定占用该端口的应用程序)
TCP:提供可靠的传输,缺点是速度慢。
UDP:可靠性无法保证,但是速度快。
网络层:给数据段报头封装源目标IP地址和目标IP地址形成数据包,并根据IP地址选择最佳的传输路径。
数据链路层:给数据包报头封装源目标Mac地址和目标Mac地址,给报尾封装校验位形成数据帧,并根据Mac地址判断设备是否是接收数据帧的具体设备。
交换机工作原理:
交换机初始状态
初始状态下,交换机并不知道所连接主机的MAC地址,所以MAC地址表为空。下图中,SWA为初始状态,在收到主机A发送的数据帧之前,MAC地址表中没有任何表项。
交换机学习状态(学习:自动学习源MAC地址)
如下图所示主机A发送数据给主机C时,一般会首先发送ARP请求来获取主机C的MAC地址,此ARP请求帧中的目的MAC地址是广播地址,源MAC地址是自己的MAC地址。SWA收到该帧后,会将源MAC地址和接收端口的映射关系添加到MAC地址表中。缺省情况下,交换机学习到的MAC地址表项的老化时间为300秒。如果在老化时间内再次收到主机A发送的数据帧,SWA中保存的主机A的MAC地址和G0/0/1的映射的老化时间会被刷新。此后,如果交换机收到目标MAC地址为00-01-02-03-04-AA的数据帧时,都将通过G0/0/1端口转发。需要注意的是管理员手动添加的MAC地址表项不会被老化刷新。
交换机转发数据帧(查询:当目标设备的MAC地址不在地址表中或者目标MAC地址为广播地址,便会广播ARP请求进行查询)
当数据帧的目的MAC地址不在MAC表中,或者目的MAC地址为广播地址时,交换机会泛洪该帧。如下图主机A发送的数据帧的目的MAC地址为广播地址,所以交换机会将此数据帧通过G0/0/2和G0/0/3端口广播到主机B和主机C。
目的主机回复(转发:如果目标设备的MAC地址在地址表中,则直接通过映射端口进行转发)(刷新:MAC地址表每300秒刷新一次)
主机B和主机C接收到此数据帧后,都会查看该ARP数据帧。但是主机B不会回复该帧,主机C会处理该帧并发送ARP回应,此回复数据帧的目的MAC地址为主机A的MAC地址,源MAC地址为主机C的MAC地址。SWA收到回复数据帧时,会将该帧的源MAC地址和接口的映射关系添加到MAC地址表中。如果此映射关系在MAC地址表已经存在,则会被刷新。然后SWA查询MAC地址表,根据帧的目的MAC地址找到对应的转发端口后,从G0/0/1转发此数据帧。
物理层:将数据帧转化为比特流。(电信号(双绞线、同轴电缆)光信号(光纤)无线信号(wifi))
tips: 网络层及以下的通信为点对点通信(网络中两个节点之间的通信)
传输层的通信为端到端通信(端到端通信是指数据从发送端(源)经过网络传输到接收端(目的),确保数据从一端到另一端的完整性和可靠性。)
2.1五层模型的封装过程
七层原理:通过实际数据进行管控
四层原理:通过传输协议和端口号转发数据
三层原理:通过IP地址转发数据
二层原理:通过MAC地址转发数据
2.2数据解封过程
数据的解封装 → B收到A发来的数据后
物理层: 电流转换成数据帧
数据链路层:会将数据帧拆开,对比其中的目的mac地址是否和自己的mac地址一样,一样就接收,不一样就丢弃,判断校验位是否完整,完整就接收,不完整就丢弃或者让A重发
网络层:会将数据包报头拆开,对比其中的ip地址,是否与自己的ip地址一样,一样就接收,不一样就丢弃
传输层:会将数据段报头拆开,读取端口号等信息,找到对应的软件
2.3各网络层主要协议
应用层 | HTTP协议(超文本传输协议 TCP/80 UDP/80) FTP协议(文本传输协议 TCP/20 TCP/21) TFTP协议(简单文本传输协议 UDP/69) |
传输层 | TCP协议 UDP协议 |
网络层 | ICMP协议(主机能否双向通信) |
链路层 | ARP协议(把自己的IP地址和MAC地址发送给目标主机,得到目标主机的MAC地址) |
3.0通信方式
单工通信
- 定义:单工通信是一种数据传输模式,数据只能在一个方向上传输,不能进行反向传输。这意味着在单工模式下,一个设备只能作为发送方,另一个设备只能作为接收方(例如HTTP协议),双方的角色是固定的,无法互换。
- 特点:简单性、成本低、无冲突,但功能单一、效率低。
- 应用场景:广播系统(如广播电台、电视台)、传感器数据传输等。
半双工通信
- 定义:半双工通信允许数据在同一时间内在两个方向之间传输,但不能同时进行。换句话说,在半双工模式下,数据传输是单向的,只有一方可以发送数据,另一方接收数据,而不能同时进行发送和接收。
-
特点:简单性、成本低、低干扰,但效率低、延迟大。
- 应用场景:对讲机、早期网络设备(如集线器、早期的以太网标准)等。
双工通信
- 定义:双工通信允许数据在同一时间内在两个方向之间传输,这意味着设备可以同时进行发送和接收数据。
- 特点:高效率、低延迟、高带宽利用率,但复杂性和成本高。
- 应用场景:现代以太网、电话系统、高性能网络设备等。