网络通信的五层模型:
应用层
传输层
网络层
数据链路层
物理层
Q:一台计算机是如何知道另外一台计算机并且把数据发送给另一台计算机的?
1.物理层
两台计算机要通信首先要连接起来,可以通过光纤、电缆、双绞线等介质将它们连接。所以,物理层负责把它们连接起来,然后在计算机之间通过高低电频来传送0,1这样的电信号。
计算机A----------------------->计算机B
2.数据链路层
无规则的0和1的组合计算机是看不懂的,所以,需要制定一套规则来进行0,1的传送。例如多少个电信号为一组?每一组电信号应该如何标识才能让计算机读懂…?
(1)以太网协议
一组电信号构成一个数据包,把这个数据包称为帧
帧: 由标头(Head)和数据(Data)两部分组成。其中标头部分主要是一些说明数据,例如发送者,接受者等信息;而数据部分则是这个数据包具体的,想给接受者的内容。
帧的长度一般是64~1518个字节,不固定;标头长度固定为18个字节。
(2)MAC地址:
构成:48个字节
连入网络的每一个计算机都会有网卡接口,每一个网卡都会有一个唯一的地址(MAC地址)
作用:进行计算机之间的数据传送。
(3)广播和ARP协议
①广播的出现是为了让两台计算机明确使用哪条线路来传输数据。假设计算机A要将数据传给计算机B,计算机A知道了B的MAC地址,但并不知道应该使用哪条线路来传送,这时就出现了广播。
例如:广场上通过广播的方式呼叫人
②ARP协议
通过ARP协议可以知道子网中其他计算机的MAC地址
3.网络层
我们所处的网络实际上是由无数个子网络构成的。广播的时候,也只有同一个子网里面的计算机能够收到
Q:如何区分哪些MAC地址属于同一个子网?
IP地址和子网掩码做与(and)运算,比较结果
(1)通过IP地址(IPv4和IPv6)
IP地址构成:网络部分+主机部分(32位二进制数组成)
如果两台计算机的网络部分是一样的,那么这两台计算机就处于同一个子网。但是,我们并不确定网络部分占几位,主机部分占几位。所以,就有了子网掩码(32位二进制数组成)。
(2)子网掩码:网络部分全部为1,主机部分全部为0.
(3)DNS服务器
访问网站方式:输入IP、输入网址域名(www.baidu.com)
输入域名时,DNS服务器来解析这个域名,然后返回这个域名对应的IP给我们。
4.传输层
物理层、数据链路层、网络层 将数据成功从计算机A传到计算机B。传数据时,要指定一个端口,以供特定的应用程序来接受处理。
传输层作用:建立端口到端口通信。相比网络层的作用(建立主机到主机的通信)
若要准确的通信需要有IP和端口
常见两大协议:TCP(提供可靠数据)和UDP(提供不可靠数据)
5.应用层
传输层传来的数据格式多样,读不懂,因此需要应用层来指定格式规则。