文章目录
网络发展
起初计算机是用在军事上的
独立模式: 计算机之间相互独立

网络互联:多台计算机连接在一起实现网络互联

局域网LAN:计算机数量越来越多了,通过交换机和路由器连接在一起

广域网WAN:将远隔千里之外的的计算机连接在一起

所谓局域网广域网是相对概念,我们家庭路由器就可以看作局域网,把家家户户连接的社区就是广域网。社区看作局域网,把社区连接的就是广域网,中国网络看作局域网,连接世界就是广域网
认识协议
协议是一种约定

计算机之间通过光信号电信号交流,通过频率强弱来代表0和1,要想传递不同信息,就要约定好数据格式,比如000代表什么信息
要想多台计算机之间相互通信,就要约定共同的标准,这就是网络协议
🚩网络协议
🚩协议分层

打电话的例子,语言层汉语有协议,通信设备层也有协议

英语之间交流,我们只需在语言层变更,不必改电话协议
改成无线电协议,不必改汉语协议。
所以,分层最大的好处是封装
这个例子我们只有两层,实际上的网络协议层数更多,更复杂
OSI七层协议
该协议将网络从逻辑上分为7层,概念清楚,理论完整,
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
🚩TCP/IP五层(四层)协议
我们学习时,会将上三层合称应用层,
TCP/IP五层协议,又因为物理层不重点学习,也叫做,TCP/IP四层协议,
为什么是TCP/IP协议?,因为他俩分别代表传输层,网络层,我们重点学习传输层网络层
每层都要有自己的协议
应用层:处理发来的数据(https http ftp smtp)
tcp协议:长距离传输丢失数据问题
ip协议:如何定位主机
数据链路层:保证数据准确到达下一个设备
🚩网络传输基本流程
网络协议栈与OS关系


网络通信的本质就是贯穿协议栈的过程
🚩数据包的封装和解包
用户层拿到了有效载荷,会添加报头再传给传输层,传输层会再添加报头传给网络层,网络层再添加报头传给数据链路层,通过物理层将数据传到另一台主机后,数据链路层会解包属于自己的报头,向上传输,网络层解包自己的报头,传输层解包自己的报头,应用层解包自己的报头,最后拿到数据

扩展
- 每一层协议都要提供一种能力,分离报头和有效载荷的能力
- 每一层协议,都要在报头提供,决定将有效载荷提供上一层协议的能力
MAC地址
MAC地址用来识别数据链路层的相连的节点
MAC48位,6字节,用十六进制加:表示, 08:00:27:03:fb:19
MAC在网卡出厂就设置了,MAC地址通常唯一

局域网,多台主机共同向其中发数据,主机H1发送数据会被其他所有主机接收,数据内容包含M1发出M10接收(假如),H2主机接收后发现自己是M2,不是M10,直接丢弃,就不再向上层传输,主机H10接收发现自己就是M10,向上层传输
其中,同一时间,只能有一台主机向局域网发送数据,所以主机发送数据前,要执行避免碰撞的算法
交换机:核心工作:划分碰撞域,当左侧主机交换数据时,数据不会传到右侧,当右侧发生碰撞时,碰撞也不会干扰到左侧