网络编程--杂识

Posted saintdingspage

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络编程--杂识相关的知识,希望对你有一定的参考价值。

协议----乃是数据传输时要遵守的格式要求

两种常见的程序架构是C/S B/S架构

  1. C/S :优点,性能稳定,协议选用灵活,适用于大量数据缓存,尤以游戏较为常见

  2. 安装在用户电脑上,可能会对用户安全造成影响

  3. 开发效率方面,开发团队需编写服务端和客户端两端代码,联合调试是一场噩梦

B/S

  1. 减少了厂商植入恶意插件的可能,相比C/S减少1/3工作量;跨平台

  2. 必须支持HTTP协议,须不折不扣的支持

  3. 不支持庞大数据缓存

OSI七层模型(物数网传会表应),除了TCP协议工作在传输层,/IP协议工作在网络层,基本上说的出来的协议都工作在应用层

×额外的知识模拟电路信号向数字信号的转换


  1. 物理层,这一层数据单位是比特(物理传输层)

  2. 数据链路层:定义 格式化数据,以帧为单位传输数据

  3. 网络层:不同位置,不同主机之间的链接

  4. 传输层:端口号和进程,对下层接收的数据进行分段和传输,到达目的地之后重组,这一层数据称之为段。

  5. 会话层:通过传输层建立,不同系统间的通信(通过IPMAC

  6. 表示层:确保不同系统应用层数据能相互理解,读取,如有可能,这层会有个通用格式来完成不同格式数据的转换

  7. 应用层:为用户程序提供网络服务


数据包的封装

由于协议的存在,实际发送的数据层层封装,原始数据上套上应用层…然后逐一套上传输,网络,链路层数据(帧头),再加上帧尾,到达目的地址后再层层解封装。

帧头,帧尾的添加都由操作系统完成。

网络发送数据通过网卡传输到网络环境,网卡到网络环境之间有数道

除了应用层和帧尾在操作系统在用户空间完成封装,帧头的其他层封装在操作系统内核完成。

技术图片

 

 

网络节点之间通信技术详解
封装好的数据包,由节点A传至Z,中途可能有若干路由器B….Y,根据IP地址寻路
每一路由结点里都有一个路由表,其中记录了,本路由器连接了哪些路由器,这种路由结点根据路由表寻找下一个路由结点的行为称之为寻路。如此按部就班直到最后一个目标地址,就建立了一条通路。TCP/IP协议之所以被认为“稳定”是因为,通路一旦确定,以后全都遵循这条通路传送信息

以太网帧协议
在发送数据的最外层-----链路层(6字节目标地址(目标主机MAC地址---网卡编号,如同身份证,保证在网络环境中唯一,不会重复),6字节源地址,2字节类型(以太网帧0800 :普通以太网数据包; 0806 :ARP请求包,用来请求下一跳的MAC地址 ))

技术图片

 

 

 

 

以上是关于网络编程--杂识的主要内容,如果未能解决你的问题,请参考以下文章

计算机杂识

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装