1 五层网络传输模型
通过5层网络传输模型一台计算机找到另外一台计算机并且把数据发送给另一台计算机的。
1.1 物理层
通过光纤、电缆,双绞线等介质把不同的电脑连接起来,然后才能进行通信。
1.2 数据链路层
计算机之间的数据传输是以0、1这样的电信号进行的。但这些0,1组合的传送毫无规则的话,计算机是解读不了的。所以就出现了下面的协议来识别0、1。
以太网协议(确定数据传输的大小和形式)
以太网协议规定,一组电信号构成一个数据包,我们把这个数据包称之为帧。每一个桢由标头(Head)和数据(Data)
两部分组成。
帧的大小一般为 64 – 1518 个字节。假如需要传送的数据很大的话,就分成多个桢来进行传送。
标头部分的字节是固定的,并且固定为18个字节。
MAC地址(确定收发的唯一地址)
MAC地址(英语:Media Access Control Address),直译为媒体存取控制位址,也称为局域网地址(LAN Address)
连入网络的每一个计算机都会有网卡接口,每一个网卡都会有一个唯一的地址,这个地址就叫做 MAC 地址。计算机之间的数据传送,就是通过 MAC 地址来唯一寻找、传送的。
MAC地址 由 48 个字节所构成,在网卡生产时就被唯一标识了。
广播与ARP协议
(1)通过广播的形式发送数据包,这个数据包会包含接收者的 MAC 地址。接受者会通过 MAC 地址与自己的 MAC 地址进行比对,如果两者相同,则接受这个数据包,否则就丢弃这个数据包。
(2)通过ARP 协议来获得其他计算机的IP地址。
1.3 网络层
网络层的功能是建立主机到主机的通信。
网络层的功能就是让我们在茫茫人海中,能够找到另一台计算机在哪里,是否属于同一个子网等。
计算机 A 通过广播的方式发一个数据包给计算机 B , 其他所有计算机也都能收到这个数据包,然后进行对比再舍弃。世界上有那么多台计算机,每一台计算机都能收到其他所有计算机的数据包,那就不得了了。那还不得奔溃。 因此产生了子网这么一个东西。
IP协议
IP协议,它所定义的地址,我们称之为IP地址。IP协议有两种版本,一种是 IPv4,另一种是 IPv6。不过我们目前大多数用的还是 IPv4,我们现在也只讨论 IPv4 这个版本的协议。
这个 IP 地址由 32 位的二进制数组成,我们一般把它分成4段的十进制表示,地址范围为0.0.0.0~255.255.255.255。
子网掩码和IP地址一样也是 32 位二进制数,不过它的网络部分规定全部为 1,主机部分规定全部为 0。也就是说,假如上面那两个IP地址的网络部分为 24 位,主机部分为 8 位的话,那他们的子网掩码都为 11111111.11111111.11111111.00000000,即255.255.255.0。
我们只需要把 IP 地址与它的子网掩码做与(and)运算,然后把各自的结果进行比较就行了,如果比较的结果相同,则代表是同一个子网,否则不是同一个子网。
例如,192.168.43.1和192.168.43.2的子码掩码都为255.255.255.0,把IP与子码掩码相与,可以得到他们都为192.168.43.0,进而他们处于同一个子网中。
有了两台计算机的IP地址与子网掩码,我们就可以判断出它们是否处于同一个子网之中了。
ARP协议
ARP协议也是通过广播的形式给同一个子网中的每台电脑发送一个数据包(当然,这个数据包会包含接收方的IP地址)。对方收到这个数据包之后,会取出IP地址与自身的对比,如果相同,则把自己的MAC地址回复给对方,否则就丢弃这个数据包。这样,计算机A就能知道计算机B的MAC地址了。
假如两台计算机的IP不是处于同一个子网之中,这个时候,我们就会把数据包发送给网关,然后让网关让我们进行转发传送。
DNS服务器
DNS服务器是用来帮我们把域名解析成端口号+IP地址。
1.4 传输层
传输层的功能就是建立端口到端口的通信。
传输层最常见的两大协议是 TCP 协议和 UDP 协议,其中 TCP 协议与 UDP 最大的不同就是 TCP 提供可靠的传输,而 UDP 提供的是不可靠传输。
1.5 应用层
我们收到了传输层传来的数据,可是这些传过来的数据五花八门,有html格式的,有mp4格式的,各种各样。
因此我们需要指定这些数据的格式规则,收到后才好解读渲染。例如我们最常见的 Http 数据包中,就会指定该数据包是 什么格式的文件了。
参考:https://www.iamshuaidi.com/747.html