局域网和广域网的划分基于其规模的大小,并没有明确的划分
局域网: Local Area NetWork, 简称为LAN, 是将不同台计算机通过网线,交换机,路由器进行网络互连,从而完成网络数据的传输
如图就是通过交换机来组成了局域网.
广域网: Wide Area Network, 即 WAN, 广域网通过路由器,将多个局域网连接起来,就形成了广域网
所谓网络通信,即为网络数据互传,具体来说,是不同主机间的进程来进行数据传输.
而要完成这一操作,就要使用到IP来定位主机,端口号来定位进程
IP地址主要是定位网络设备的网络地址.
通俗来讲,就像是发快递时,收件人的地址.
格式:
IP地址是个32位的二进制数,通常分割为"8个二进制位数"也就是4个字节.
不过由于过于繁琐,也采用"点分十进制" a.b.c.d(abcd皆为 0-255的十进制位数)
特殊IP:127.0.0.1 是环回IP, 用于本机到本机的数据传输
在网络通信中,端口号用来定位主机中接收数据,发送数据的进程.
通俗来讲,就是发货时,不止需要收货地址,还需要收件人姓名.
格式:
端口号是0-65535的数字,一个进程可以绑定一个端口号,也可以绑定多个端口号,但是多个进程不能绑定同一个端口号.
协议,网络协议的简称. 协议就是数据传输的格式. 只有所有的网络设备遵循一定的数据传输格式, 网络数据交互才能进行.
协议最终体现为网络上传输的数据包的格式.
网络通信是十分庞大,复杂的过程,如果只通过一个协议来约定所有的细节,这个协议就会过于复杂, 所以我们将协议拆分,使每一份协议去处理其对应的工作.
协议分层的好处:
可以使其具有 低耦合 高内聚的性质, 类似于面向接口编程,
对于使用方,不用关心提供方是如何实现的,只需要使用接口即可
对于提供方,可以利用封装的特性,隐藏起自己的细节,只提供接口
协议分层,实际上以TCP/IP五层分层来实现.
具体层的功能:
例:
假设我们在微信上发送消息, 应用层就会把数据信息封装成协议报文,
经过应用层协议的数据报:
1.接收应用层传来的数据报, 根据传输层的协议对数据报再次封装,构造出传输层的数据报.
2. 传输层常用的协议有: TCP协议,UDP协议
构成数据报 : TCP数据报 = TCP报头 + 数据载荷
网络层拿到完整的传输层数据报后, 会根据网络层的IP协议,对传输层数据报再次进行封装,成IP数据报. 再将IP数据报交给数据链路层.
在数据链路层接收IP数据报后, 数据链路层根据 “以太网” 协议对数据包再次封装,构成"以太网数据帧"
以太网数据帧的帧头储存了传输到下一个设备的地址信息, 故随着数据像下一个设备转发, 帧头的地址一直在变化.
物理层的工作,就是把刚才的以太网数据帧,以(0/1)的高低电平,通过网线传输出去.
数据分用就是数据封装的逆过程,也就时在对应的协议层去除掉相应的协议报头,并交给上层协议继续处理.