兰州做公司网站,中国最大网站建设商,wordpress文件换位置,微信有网站开发吗认识协议 协议其实是一种约定
网络协议初识#xff1a;
1.内核上以结构体形式呈现
2.操作系统要进行协议管理--先描述#xff0c;在管理
3.协议的本质是软件#xff0c;软件是可以分层的#xff0c;#xff08;联系C继承多态的知识 #xff09;
可以参考 #xff1…认识协议 协议其实是一种约定
网络协议初识
1.内核上以结构体形式呈现
2.操作系统要进行协议管理--先描述在管理
3.协议的本质是软件软件是可以分层的联系C继承多态的知识
可以参考 C 继承_秋秋爱代码的博客-CSDN博客 C多态_秋秋爱代码的博客-CSDN博客
4.协议在设计时候都是分层的那为什么要设计成层状结构嘞
1因为使用场景很复杂2层状结构有利于解耦
5.复杂体现在什么地方--协议栈要解决的问题
通信的复杂本质适合距离成正比的。 OSI七层模型蓝图 TCP/IP五层模型实现 TCP/IP通信过程 引入问题同一个局域网内两个主机能否之际通信 答案能 内核上相同层不能直接通信但是这样理解可能比较直观但是实际上两层的通信就好比你和你的朋友住在同一个小区的不同栋楼他要给你送礼物只能先从当前楼下楼梯再从你所在的楼上楼梯但是你只需要关注的是他把礼物送到你手上了。 什么是报头
每层都有自己的协议指定方案每层协议也都有自己的协议报头从上到下交付数据的过程叫做添加报头从下到上递交数据的过程叫做去掉报头。
如果不好理解这么来说报头就是快递通过不同地方如发货商快递站对应不同层发货商会对商品做包装快递站也会对商品进行再次包装这个包装就和报头是等价的。 回溯通信过程
当用户要将文件传输给另一台主机前该文件数据需要先通过网络协议栈进行封装 文件数据先交给应用层应用层添加上对应应用层协议的报头信息后将数据交给传输层。 传输层收到数据后再添加上对应传输层协议的报头信息并将数据继续向下进行交付。 网络层收到数据后再添加上对应网络层协议的报头信息接着将数据再交给链路层。 链路层收到数据后最后再添加上对应链路层协议的报头信息至此数据封装完毕。 数据封装完毕后就可以通过局域网将其发送给对端主机了而当对端主机收到数据后对应也需要通过网络协议栈对该数据进行解包与分用 链路层收到数据后先将数据中对应链路层协议的报头信息提取出来然后将剩下的数据交 给网络层。 网络层收到该数据后再将数据中对应网络层协议的报头信息提取出来然后将剩下的数据 继续向上进行交付。 传输层收到该数据后再将数据中对应传输层协议的报头信息提取出来然后将剩下的数据 再交付给应用层。 应用层收到数据后最后将数据中对应应用层协议的报头信息提取出来至此便完成了数据 的解包与分用。也就是说任何一台主机在发送数据之前该数据都要先自顶向下贯穿协议栈来完成数据的封装在这个过程中每一层协议都会添加上对应的报头信息而任何一台主机收到数据后都要先自底向上贯穿协议栈来完成数据的解包和分用在这个过程中每一层协议都会将对应的报头信息提取出来。
局域网中表示主机唯一性--MAC地址
大家应该都看过《西游记》吧里面唐三藏的经典台词“贫僧自东土大唐而来要往西天拜佛取经去”。这里的“东土大唐”就相当于源IP地址“西天”就相当于 目的IP地址这也就好理解源IP和目的IP地址都有且只有一个的原因啦。
话说西行路上唐僧路经车迟国下一站去黑风岭这里的 “车迟国”就好比 源MAC地址“黑风岭”就是下一站MAC地址。 udp代码详见 udp/Multithreaded_version · fortianyang/StudyForLinux - 码云 - 开源中国 (gitee.com)