网络的发展
最早的计算机都是独立工作的,计算机之间无法方便地交换数据。后来,为了实现资源共享和信息传输,人们开始将多台计算机连接起来,计算机网络也因此逐渐出现。
随着网络技术不断发展,网络规模越来越大,从最开始的小范围计算机互联,逐渐发展成局域网、互联网,再到如今的移动互联网和物联网。
简单来说,网络的发展过程可以概括为:
单台计算机 → 多台计算机互联 → 局域网 → 互联网 → 移动互联网与物联网
网络学习中的常见术语
局域网和广域网
局域网(LAN):指范围比较小的网络,比如一个家庭、一个教室、一个公司内部的网络。
广域网(WAN):指范围更大的网络,可以跨城市、跨地区甚至跨国家。我们平时说的互联网,就属于一个超大规模的广域网络。
路由器和交换机
路由器:主要连接不同网络的设备
交换机:主要连接同一个网络中的设备
IP地址和端口号
IP地址:用来找到网络中的某一台设备,可以理解为设备在网络中的“地址”
端口号:主要用来识别设备上的应用程序,每个应用程序的端口号是不同的,一般是程序员一开始在编写的时候定义的,或者是系统自动分配
协议
在网络通信中会有很多的协议,协议就相当于是一种约定
就比如网络中用高低电压来表示1和0;光纤的不同频率表示1和0,这都属于是协议,也就是一种提起说好的约定,由于网络通信有很多部分,很复杂,所以如果我使用一整个协议来规定,会显的很不方便,很臃肿,所以程序员想到了对协议进行了分层,上层协议调用下层协议,下层协议给上层协议通过方法,这样就可以降低网络设计的复杂度,让每一层各司其职,方便开发、维护和升级。
具体的协议分层主要有两种,一种是OSI七层网络协议,还有一种是TCP/IP五层网络协议(在我们实际使用当中只会是后一种五层网络协议)
TCP/IP五层网络协议
五元组:
在这个协议中,我们用五元组来标识一个网络通信
1,源IP:标识源主机
2,源端口号:标识源主机中该次通信发送数据的进程
3,目的IP:标识目的主机
4,目的端口号:标识目的主机中该次通信接收数据的进程
5,协议号:标识发送进程和接收进程双方约定的数据格式

我再以文字版的形式来简单介绍一下各个层
五层:
应用层:决定了应用程序如何使用,就好比比可以决定用纸巾用来擦桌子还是用来擦手
传输层:决定了数据传输的起点和终点(不关心中间的过程)
网络层:决定了数据传输的路线,就好比你买快递是从杭州到昆明的,网络层就决定你从杭州到昆明市怎样走,是途径哪个省之类的
数据链路层:负责相邻节点之间的具体传输,这个就好比说两个小段之间该怎么运输,怎么走
物理层:基于硬件层面的了,就好比你是开大货车运输还是小电瓶运输
网络数据传输的具体流程:
具体就是封装和分用
我们就拿发一条微信消息来说

经过这一系列的过程,数据也才刚刚“离开家门”
对方是怎么样的

总体的流程简图(下来代表封装,上去代表解封装也就是分用)


简单理解一下IP地址以及mac地址
IP 地址:告诉数据最终要去哪里
↓
MAC 地址:负责当前这一段应该交给哪个设备
简单理解一下中间件
路由器:主要工作在数据链路层,根据 MAC 地址把数据帧转发给正确的设备。
交换机:主要工作在网络层,根据 IP 地址选择合适的路径,把数据从一个网络转发到另一个网络
所以数据传输大概是:我的电脑 → 交换机 → 路由器 → 网络 → 对方路由器/交换机 → 对方电脑
为什么要有中间件:
因为我们实际当中,不可能两台设备直接使用网线连接,所以就会有中间件
中间设备最重要的作用就是:帮助数据“找到路,并且送到正确的人手里”。
你可以把它理解成快递系统:
IP 地址 ≈ 收货地址
路由器 ≈ 各个城市之间的快递中转站
交换机 ≈ 小区里的快递分拣点
数据 ≈ 快递包裹
没有这些中间设备,两台相距很远、甚至处于不同网络中的电脑,就很难实现通信。
传输层涉及到的两种协议
TCP:有连接,可靠传输,面向字节流,全双工
UDP:无连接,无可靠传输,面向数据报,全双工
介绍一下涉及到的几个知识点
连接:这里是网络连接,是一个抽象的概念,有连接也就是保存了对方的核心信息
可靠传输:是否会产生丢包的现象,在网络传输中,丢包是很正常的现象,就好比你游戏卡掉帧一样,包也是我们网络传输的数据单位,TCP会尽可能保证我们不丢包
面向字节流:跟前面文件中说到的写文件一样,读写更加灵活
面向数据报:每一次读写都要以一个UDP数据报为单位进行
全双工:一个通信,可以进行双向传输
半双工:一个通信,只能单向传输
790



被折叠的 条评论
为什么被折叠?



