为什么要学习网络协议?
- 大厂面试基本都会问道计网的知识,比如TCP和UDP的区别;为什么连接是三次握手,关闭是四次挥手....
- 熟悉网络协议能让我们的开发更顺手,也能更好的熟悉和理解网络的底层实现...
- 当今社会万物互联,各种事物都离不开网络协议
- 当父母、亲戚让你配置一个路由器不至于无从下手
什么是协议?
试想一下,两台计算机想要互相通信,是不是需要两台计算机之间要规定某种规则,根据该规则进行发送或者接收,这个规则就是协议。
如果200台计算机之间通信?
如果2000台计算机之间通信?
如果....
这时候就需要协议要有一个标准,每一台计算机都按照该标准进行数据的传输。
网络互连模型
- 为了更好地促进互联网络的研究和发展,国际标准化组织 ISO 在 1985 年制定了网络互连模型
- OSI 参考模型(Open System Interconnect Reference Model),具有 7 层结构
在OSI参考模型出现之前,其实计算机已经在使用另一种模型进行通信了:TCP/IP
- 根据别人(面试官)的提问,进行回答:7层模型,4层模型,5层模型
网络分层
计算机之间的通信基础
- 需要知道对方的IP地址
- 最终是根据MAC地址(网卡地址),输送数据到网卡,被网卡接收
- 如果网卡发现数据的目标MAC地址是自己,就会将数据传递给上一层进行处理
- 如果网卡发现数据的目标MAC地址不是自己,就会将数据丢弃,不会传递给上一层进行处理
计算机之间的连接方式
网线直连
- 需要用交叉线(不是直通线)
同轴电缆
特点:
- 半双工通信:发送数据的时候接收不了数据,接收数据的时候发送不了数据
- 容易冲突
- 不安全
- 中间断了,整个都瘫了
同轴电缆比较笨,没有智商,不会自己判断。
集线器(Hub)
- 半双工通信
- 容易冲突
- 不安全
- 跟同轴电缆一样:没有智商
网桥
- 能够通过自学习得知每个接口那侧的MAC地址,从而起到隔绝冲突域的作用
交换机(switch)
- 相当于接口更多的网桥
- 全双工通信
- 比集线器安全
思考:全球所有的设备都是用交换机连接回事什么情况?
- 首先,交换机需要在同一个网段下,所以最直接的问题就是ip地址不够分配
- 其次,在两台计算机进行通信时,由于交换机不知道被ping的计算机的mac地址,所以会进行广播ARP协议,全球那么多的设备如果都在进行广播,那场面就太混乱了
路由器(Router)
- 网线直连、同轴电缆、集线器、网桥、交换机
- 连接的设备必须在同一网段
- 连接的设备处在同一广播域
- 路由器
- 可以在不同网段之间转发数据
- 隔绝广播域:广播只能在同一网段传播
*路由器的两端不能是同一个网段