网络发展背景
独立模式 ——> 网络互联
独立模式:各个计算机之间相互独立,无连接。
网络互联:多台计算机连接在一起,实现数据共享。
网络一个很大的特性:连接(共享、开放)。
从主机到主机的前提:跨网络。
局域网和广域网
所谓的局域网和广域网只是一个相对的概念。
两台主机跨网络实现数据通信,必须要有一个重要的物理设备:路由器。
局域网LAN
两台主机可以在同一个局域网中直接通信。
划分局域网:不是根据是否有路由器划分的,局域网没有严格的界限。
但是可以做一个约定:局域网中不包含路由器。(局域网有一根网线连接,顶多只有一个对外的路由器)
广域网WAN
将远隔千里的计算机连接在一起。
协议
协议:在我们具体实施某件事物之前做好的约定。
例如:计算机语言由 0 和 1 构成,做的约定——>网络协议
思考:
只要通信的两台计算机,约定好协议就好了么?
显然是不行的。
要做的工作还有很多:
- 严格的按照协议生产与通信有关的所有设备;
- 操作系统,软件层面上操作系统要统一;
- 计算机的网络设备(集线器,路由器,交换机等)遵守网络协议。
- 能上网……
如此,就要有人(行业领袖)站出来,约定一个共同的标准,然后大家都要遵守这个标准,这就是网络协议。
网络协议
协议分层
网络结构:分层
网络分层,为什么分层?—— 便于维护
例如:
在C语言中,如果把全部代码都放在main函数中,一旦由错误,难以修改且修改的工程量大,但是如果把代码分装在不同的函数中正好就解决了这个问题。
- 分层之后,下层有任何问题或任何操作,不会对其他层产生影响。
- 同层之间可以直接通信,不同层之间不能直接通信。
例如:在日常生活中,把不同的语言分为不同的分层。同一种语言可以直接沟通,不同的语言不能直接沟通。 - 分层的最大好处在于“封装”,面向对象例子。
- 分层之后层与层之间可以相互调用:采用接口的方案。(接口:函数)
- 上层想用下层的功能,调用下层的接口。
- 下层想用数据交给上层,调用上层接口。
- 它们之间只有接口的交互。
OSI七层模型
OSI 组织 —(协议)—> 七层模型
OSI 需要清楚两点:
- OSI七层模型分为哪七层,每一层都要清楚,能描述出来;
- OSI 七层和现在用到的TCP/IP四层或五层有哪些区别(应用层方面的区别)。
TCP/IP 五层(或四层)模型
物理层考虑得较少,因此很多时候称为 TCP/IP 四层模型。
- 物理层:(TCP/IP 四层模型中不包括)集线器(Hub)
- 数据链路层:交换机(Switch)
- 网络层:路由器(Router)
- 传输层
- 应用层
三个重要的设备
集线器:功能:信号放大,根本目的:让信号传输的更远。
一般而言:
- 对于一台主机:它的操作系统内核实现了从传输层到物理层的内容;
- 对于一台路由器:它实现了从数据链路层到物理层;
- 对于一台交换机:它实现了从数据链路层到物理层;
- 对于集线器:它只实现了物理层。
数据链路层:同一个局域网中两个人的通信能力。(有能力但比一定能办到)
网络层:跨网络的两台主机具有传输数据的能力。
应用层:用数据。
例子:
数据链路层:同一座城市里两个人通信的问题。(局域网)
网络层:不同城市里两个人通信的问题。(广域网)
网络传输基本流程
参考:https://blog.youkuaiyun.com/qq_40933663/article/details/89852047
网络中的地址管理
IP 地址
IP 地址:IP 协议中用来标识网络中不同主机的地址。
两个版本:IPV4、IPV6
- IPV4 :32bit
- IPV6 :128bit
表示形式:“点分十进制”。
例如:192.168.0.1
用点分割的每一个数字表示一个字节,取值范围:0~255
MAC 地址
MAC 地址:用来标识数据链路层中项链的节点。
长度:48位,6个字节。
计算机的网卡在出厂时就打上了一串数据:MAC 地址,其通常是唯一的。