免费高清logo图片在线生成,怀化百度整站优化服务,模板建站多少钱,网站备案 更换接入商目录
编辑局域网
网络通信基础
IP 地址
端口号
协议
协议分层
TCP / IP 五层网络模型
网络数据传输的基本流程
发送方的情况#xff1a;
接收方的情况 局域网 搭建网络的时候#xff0c;需要用到 交换机 和 路由器
路由器上#xff0c;有 lan 口 和 wan 口
虽…
目录
编辑局域网
网络通信基础
IP 地址
端口号
协议
协议分层
TCP / IP 五层网络模型
网络数据传输的基本流程
发送方的情况
接收方的情况 局域网 搭建网络的时候需要用到 交换机 和 路由器
路由器上有 lan 口 和 wan 口
虽然路由器只有 4 个 lan 口
实际上组建的局域网可以有更多的设备就可以用到交换机
交换机的口是不分 lan 口 和 wan 口 的所有的 口 都是等价的
组件企业网络往往需要一个企业级路由器 若干个企业级交换机延伸出很多的网线供大家使用
AP 相当于一个不用插网线的小交换机提高无线热点扩容能力
路由器可以进行三层网络层转发
交换机是进行两层数据链路层转发
这个定义是站在经典的路由器/ 交换机的定义上看待的
实际上现代的交换机/ 路由器之间的差异越来越小了之间的功能也是有很多重合的 集线器是把一根网线分成多个岔口但是和交换机有本质区别
交换机分出来的这个岔口彼此之间是独立的不干扰的
集线器分出来的岔口是会冲突的
局域网和广域网并没有一个明确的界限
当局域网中设备数量非常多局域网空间跨度特别大就可以称为广域网了 网络通信基础
IP 地址
使用 ip 地址来描述网络上一个设备所在的位置 端口号 用来区分一个主机上不同的应用程序
一个网络程序在启动的时候都需要绑定一个或者多个端口号后续的通信过程都需要依赖端口进行展开的 协议
描述了网络通信传输的数据的含义
网络通信协议虽然更复杂但是本质上也是认为约定出来的一些规则
网络发展这么多年了很多细节都已经有规定出来的协议了
我们做的主要就是学习已经约定好的协议
为什么要约定好协议呢
电脑种类很多设备的厂商也很多必须有一份统一的协议标准让大家按照同样的标准来研发设备这样大家弄出来的东西就可以在一起相互通信了 协议分层
网络通信是一个比较复杂的工作会涉及到一系列非常繁琐非常细节的工作
靠一个协议解决所有问题会导致这个协议非常复杂非常庞大
因此就需要对协议进行拆分由于拆分出来的协议有点多就对这些协议进行分类分层
对于网络协议来所往往分成几个层次进行定义
上层协议调用下层协议
下层协议给上层协议提供服务支持
也就是属于这些协议搞了明确的层级关系可以避免跨层级调用引起的混乱降低耦合提高了整个系统的可读性
这个图就很好描述了分层 1上层不需要了解下层的细节封装 2灵活的 调整 / 替换 某层的协议 协议分层主要有两种方式OSI 七层网络模型只是在教科书上 TCP / IP 五层网络模型
TCP / IP 五层网络模型
如果算上物理层就是五层如果不算上物理层就是四层
因为物理层是偏硬件的和软件关系不大
物理层
描述的是网络通信中的一些基础设施需要遵守的规范
会约定 网线网口是什么样子的
数据链路层
相邻节点之间数据如何运输
网络层
进行路径规划
上海 - 北京有很多的路线走法 快递公司就需要规划处商品走哪个路线
传输层
只关注起点和终点不关注中间过程数据从哪里出发要到哪里去
应用层
拿到这个数据具体用来干什么
不同的应用程序就会使用不同的应用层协议来通信也可能用相同的
传输层协议网络层协议都是属于操作系统中的已经内置的
驱动程序是硬件厂商提供的驱动程序会和系统内核进行适配进一步的系统就可以通过驱动来操作硬件了 网络数据传输的基本流程
用四个字概括封装和分用
以 QQ 发送消息为例介绍网络数据传输的基本流程
A 把消息通过 QQ 发给主机 B
网络通信中的 “五元组” 源ip 源端口目的ip 目的端口协议类型
发送方的情况
1、应用层
QQ 应用程序从输入框获取到你要输入的消息构造成应用层数据报根据应用层协议
很多应用程序里会自定义应用层协议QQ 使用的是什么协议我们是不知道的
假设 QQ 的应用层协议是这样的
所谓的 “构造应用层数据报” 过程就是按照一定格式进行字符串拼接
发送方和接收方需要达成一致
应用程序就会调用传输层提供的接口把上述数据交给传出层进行处理 2、传输层
传输层协议有很多其中最主要的是 TCP 和 UDP 、
此处假设使用 UDP
上面数据从应用层传到了传输层交给了 UDP 于是 UDP 协议就要按照自己的格式生成一个 UDP 数据报
UDP 不关心应用层数据里面都有啥都是啥内容只是把应用层数据当做一个字符串构造出一个 UDP 数据报
类似于快递小哥在取件的时候不关心快递具体是啥东西只是关心尺寸和重量包裹中能不能放下
快递小哥在拿到东西之后会再包装一下贴上标签
此时传输层会把构造好的 UDP 数据报进一步交给网络层 3、网络层
网络层最主要的协议就是 IP 协议
IP 协议也会根据自己的格式构造出一个 IP 数据报
IP 协议不关心这里的载荷内容是啥只是单纯的把在和当做一个字符串再这个基础上拼接上另外一个 IP 报头
接下来 还需要把数据传输给数据链路层 4、数据链路层
以太网平时上网需要插一个网线
以太网又会针对 IP 数据报进行进一步封装再添上数据头和数据尾
以太网也不关心载荷里是啥只是把载荷当成字符串进一步拼接上帧头帧尾构造成 以太网数据帧
上述这样的数据还需要进一步交给物理层 5、物理层
硬件设备网卡
本质上都是二进制的数据一组0101 构成的
硬件设备就需要对上述数据进行转换了光信号 / 电信号 / 电磁波
到这里主机A 完成了发送过程 接收方的情况
此处我们先不考虑中间过程
1、物理层
硬件设备受到 光信号 / 电信号 / 电磁波需要把受到的信号进行解调得到了一串 0101 的二进制数据序列也就是以太网数据帧
调制把你要传输的信息放到光电信号中
解调从光电信号中把信息取出来
这个数据就需要被交给上一层数据链路层 2、数据链路层
数据链路层的以太网协议就会针对这个数据进行解析 此时再把载荷部分取出来交给上层IP协议 3、网络层
IP 协议针对这个数据报进行解析去掉 IP 报头取出载荷进一步的交给传输层 4、传输层
根据 IP 报头里的字段就知道当前这个载荷是一个 UDP 数据报交给 UDP 处理
UDP 也是要针对数据报进行解析去掉报头取出载荷进一步交给应用程序 5、应用层
UDP 报头中有一个字段目的端口根据目的端口找到关联的应用程序就交给这个程序即可
qq程序接收到了这个数据就会按照qq 的应用层协议进行解析 把这里的数据显示到页面上
在qq 中对应的头像就开始闪烁点进去就能显示出这个新的消息以及消息的时间等信息 主机 A 从上到下依次添加报头的过程称为封装
主机 B 从下到上依次解析报头的过程称为分用
封装就是在打包快递分用就是在拆快递
每次网络数据的传输都是要经历这个过程的
消息转发到某个设备每个设备处理流程都是和上面的封装分用是一样的
如果是一个交换机交换机分用到数据链路层即可
交换机解析出以太网数据帧进一步的获取到帧头中的 “mac 地址” 根据 mac 地址查询到交换机内部的转发表确定接下来数据从哪个网口发出去
在发送之前又会重新把以太网数据帧封装好
路由器则是封装分用到网络层
解析出 ip 数据包获取到 ip 报头根据 ip 报头中的目的ip 进一步规划接下来要走的路线
接下来又会把这个数据进行转发
上述描述的交换机路由器只是一个经典的交换机路由器
实际上现代的交换机路由器会做更多的事情很可能是封装分用到应用层