网络编程--层概念个人理解

 

不同层有各自的职能,组合起来,就像排列组合一样,根据不同的需要组合成不同的排列,比如,同样的ip协议,有的要TCP协议长连接方式,有的要UDP方式。分成不同层,就可以满足更多不同的需求。

在链路层,数据以帧的形式传输,格式分两部分,帧头和帧体,头部记录了网卡的信息,帧体记录了传输的数据,一帧最大为1518个字节。当要传输的数据如图片大于它时,就会分成多个帧来传输;

在网络层,从链路层中帧体,可以拿到ip标头和ip数据

以上,相当于在一个‘体’中,封装了头+体的数据格式,就像递归,不同数据之间存在着层级关系,层与层之间的识别只需要拿到相应数据层的‘头’信息来标识

所以,在传输层,就从网络层的ip数据体中拿到传输层的‘头’+‘体’信息:TCP/UDP标头和TCP/UDP数据,如果是UDP协议,标头就会相对比较简单

 

socket:是网络通信的端点,ip+端口可以识别一个进程,用socket来封装ip+端口,就可以来进行网络通信

 

同步、异步、阻塞、非阻塞:

同步:接收方会执行完请求才返回结果

异步:接收方会立刻返回结果,但实际结果会晚点再发,类似被叫回去等通知

阻塞:发起方在没拿到结果前一直等待

非阻塞:发起方在没拿到结果前可以做其他事情

同步阻塞:发起方等待,接收方也等执行完才返回结果

异步阻塞:发起方等待,接收方先返回一个通知,等晚点才返回真正结果

同步非阻塞:发起方不等待,接收方执行完才返回结果

异步非阻塞:发起方不等待,接收方也会先返回一个通知,晚点执行完才返回结果

比如:老师发布成绩,学生拿到成绩,考完试后,学生是不是一直挂念成绩结果,就等同于阻塞非阻塞;而老师不管学生是怎样的,我是不是立刻就改试卷不做其他事,还是跟学生说后天发布成绩,就等同于同步异步

 

相关文章:

  • 2021-06-18
  • 2021-09-22
  • 2021-05-30
  • 2021-06-23
  • 2021-12-15
  • 2022-01-06
猜你喜欢
  • 2021-12-07
  • 2021-06-22
  • 2021-12-16
  • 2021-07-20
  • 2021-06-25
  • 2021-04-13
  • 2021-10-25
相关资源
相似解决方案