地方网站改版方案,遵义seo网络优化招聘,wordpress音频样式,wordpress 网站迁移目录 网络初识
网络协议
协议分层
协议拆分
分层
协议分层的优势
1.封装效果
2.解耦合
TCP/IP五层模型 协议之间配合工作#xff08;详解#xff09; 网络初识
网络核心概念#xff1a;
局域网#xff1a;若干电脑连接在一起#xff0c;通过路由器进行组网。
…目录 网络初识
网络协议
协议分层
协议拆分
分层
协议分层的优势
1.封装效果
2.解耦合
TCP/IP五层模型 协议之间配合工作详解 网络初识
网络核心概念
局域网若干电脑连接在一起通过路由器进行组网。
广域网把很多很多局域网进一步相连构成更复杂的网络体系。
路由器/交换机组建网络的基础设备。
IP地址区分主机。
交换机区分主机上的不同程序。
网络协议
网络协议是通信双方对于通信规则的约定这个约定一定是得到双方认可的约定。进行网络通信的时候一定需要通信协议的即使两个用来通信的主机设备不同的软件不同的操作系统不同的应用 程序即使上述内容不同通信也能够正确进行进行网络通信 的时候通信协议是非常关键的环节。
协议分层
协议拆分
网络通信是一个非常复杂的事情这个过程中会涉及到非常多的细节问题如果使用一个协议来约定上述所有的细节这个协议就会非常庞大非常复杂。此时就可以把一个功能复杂的协议拆分成多个功能更单一的协议。 一个复杂的方法可以拆分为多个方法。 一个复杂的类可以拆分成多个类。 一个复杂的文件可以拆分成多个文件。 拆分是为了管理复杂程度不让这个东西太复杂让每个部分负责一个功能。 对协议进行拆分后就要进行分类此时就要进行分层的组织结构。
分层
协议分层就是把很多协议按照功能分成不同的层级每个层级都有对应的主线任务上层协议会调用下层协议的功能下层协议会给上层协议提供服务但是不能越级调用。
协议分层的优势
1.封装效果
某一层协议不需要知道其他协议的细节降低学习成本。
例如两个人在打电话时不需要知道电话通信的原理只需要拨号通信即可。
2.解耦合
任意层次的协议都是可以灵活替换的。这就给整个网络体系的升级和迭代带来了很大的便利。 同样对于打电话的人来说可以使用不同的语言协议来进行通话对整个通话体系的功能来说没有变化都是一样进行通信。
TCP/IP五层模型
现实世界采取的网络分层模型目前接触到的网络大部分都是TCP/IP模型4G/5G通信有着一套专门的模型协议。
五层协议
物理层关注的是硬件上的相关约定,如网线网口等物理设备的约定。
数据链路层关注的是通信过程中两个相邻节点之间的通信。
网络层关注的是通信中通信路径的规则规划出的路径就决定了数据要经过那些节点是“点到点的的传输”。
传输层关注的是通信双方的“起点”和“终点”是“端到端的传输”。
应用层和具体的应用程序直接相关比如传输的数据作用和意义是这一层关注的。 协议之间配合工作详解
协议的层和层之间上层协议调用下层协议下层协议给上层提供服务。
假设A给B发送消息利用上面模型进行分析
第一层——应用层A通过聊天软件给B发送hello点击发送聊天软件里就会有一个应用层的网络协议规定了传输数据的格式聊天程序就会把上述要传递的内容组织成“应用层数据包”并且是按照应用层协议来进行组织。
网络上传输的数据本质上是二进制的字符串更准确的来说是二进制的bit流因此要传输的发送人/接收人/消息时间/内容....就要组织到一个字符串中组织的时候就需要按照一定的格式来组织。不同的协议数据组织的格式不同。
此时聊天软件把数据组织后发送人/接收人/发送时间/发送正文: 这样组织后的数据包就是一个结构化的数据(包含很多属性和字段)。 结构化数据 - 字符串/二进制字符串称为序列化。 字符串/二进制字符串 - 结构化数据称为反序列化。 第二层——传输层通过应用层协议得到的应用层数据包有了应用层接下来就要把数据交给传输层传输层提供了api(这种api称为socket api)让应用程序去调用通过调用这样的api就会把刚才应用层的数据交给传输层。
传输层拿到应用层数据包之后就会对这个数据包进一步封装构成传输层数据包。
传输层有两个典型的协议TCP和UDP这里以UDP作为传输层协议。
此时使用UDP协议进行封装会在数据上加上UDP的报头报头中包含着UDP的相关属性(发送人和收件人的端口号)原来的数据包成为了UDP数据包的载荷 传输层构建数据完成之后会继续把数据包交给网络层这个过程是传输层调用网络层提供的api这个调用过程都是系统内核负责。 第三层——网络层UDP数据包进入网络层后会被网络层协议进行进一步封装。网络层协议最典型的是IP协议,同样的在数据包上加入IP报头(包含发送者的IP地址和收件人的IP地址)UDP数据包作为IP数据包的载荷。 数据封装完成进一步调用数据链路层的api把上述IP数据包交给数据链路层协议同样由系统内核完成。
第四层——数据链路层典型的协议以太网。
拿到上面的IP数据包后对数据进行进一步的封装: 数据封装完成就进入到了网卡驱动中然后进行发送。
第五层——物理层以太网帧本质上还是二进制数据通过硬件设备把上述二进制数据转成光信号/电信号。电磁波才会进行真正的发射。
在上述层次中不断包装数据不停的加数据报头的过程称为“封装”。
上述数据并不是A发送后直接到达B而是要先到达和A连接的交换机/路由器经过一系列转发之后最终到达B。当数据到达B之后进行上述的”逆过程“。
对于接收方B
第一层——物理层收到一系列光信号把信号转成二进制数据交给数据链路层。
第二层——数据链路层按照以太网协议对数据进行解析(解析报头中的关键信息)解析出来的载荷数据交给网络层 第三层——网络层拿到IP数据包按照IP协议格式进一步解析解析出报头关键信息取出载荷进一步交给上层传输层 第四层——传输层拿到UDP数据包按照UDP格式进一步进行解析解析出关键信息要交给那个端口号对应的进程解析出载荷数据最后交给应用程序 第五层——应用层聊天软件拿到了数据包按照自己的协议格式进行解析拿到这里的结构化数据反序列化显示到界面上。
在A发送数据时中间的路由器和交换机也会进行封装和复用也是上述过程。
交换机封装分用到数据链路层即可知道下一步如何转发工作在数据链路层。
路由器封装分用到网络层即可知道下一步如何转发工作在网络层。