当前位置: 首页 > article >正文

笔记整理—linux网络部分(2)Linux网络框架

        前文说过,在OSI中将网络分为7层,这是理论上将其分为7层,但实际上可以将其分为4层。如TCP协议就是将其分为4层。理论只是提出一种指导意见,但不是行业范本。

        驱动层只关系有没有接到包,不关心包经过多少次转发,驱动层只负责向应用层传递数据或转发数据。

        分层只对本层工作负责,只要每层都正常工作,就一定能用。对于网络通信的讨论与对比只与同一层有关,跨层的讨论是无意义的。

        TCP/IP模型与OSI七层模型对照:

        B/S架构(broswer/server)浏览器、服务器架构,浏览器做客户端。

        C/S架构(client/server)客户端、服务器架构。 

        TCP协议工作在传输层,对上为应用层,对下为网络(IP)层。对上应用层服务socket API。

        TCP协议面向连接,通信前必须完成三次握手建立关系之后再进行通信。

        

        TCP协议,至今使用TCP协议的原因,就是因为其可靠的传输。上层不用担心,不怕丢包、乱序等。①传输有效信息前要求双方先握手,建立link后通信。②TCP在接受方收到数据包后会ack(访问)发给对方,若发送方未收到ack会丢包重传(丢包机制不收到ack就重发)。③TCP有效数据内容会带有校验,防止在传输过程中损坏。④TCP会与网络带宽自动调节适配速率(滑动窗口技术),速度越高,查看丢包情况,以此进行速率调整。⑤发送方会给各分隔报文进行编号,接受方关于校验编号,一旦顺序错误就要求重发。

        协议栈,已经完成了封装,实现的协议,可以直接调用。

        TCP的三次握手四次挥手,在建立通信时候要进行三次握手,这是三次单向通信:

        建立连接时候的条件:①服务器listen时,客户端发起connect。②建立3次握手。

        关闭连接的条件:①有服务器或客户端发起关闭要求。②关闭时候建立四次挥手。

        基于TCP通信的服务模式:①具有公网IP地址服务器(或动态IP映射,每次连接IP不一样达到复用)。②服务器端socket、bind、listen 后处于监听状态。③客户端socket后直接connect发起link。④服务器收到并同意客户端接入后建立TCP连接,然后双方开始收发数据,收发时是双向的,双方均可发起。


http://www.kler.cn/news/355443.html

相关文章:

  • 如何成为 Rust 核心贡献者?Rust 开发的核​​心是什么?Rust 重要技术专家揭秘
  • Redis登录校验
  • 在电脑上免费分区的 5 个有效磁盘分区软件工具
  • flume 负载均衡 详解
  • 2024年电子信息与信号处理国际学术研讨会(EISP 2024,2024年11月15-17日)
  • JavaWeb合集15-Apache POI
  • 需要补充的技能
  • WPF常见容器全方位介绍
  • TS项目中如何合理的为接口定义参数类型
  • C++贪心算法
  • vue video播放m3u8监控视频
  • 车载实操:一对一实操学习、CANoe实操学习、推荐就业机会、就业技术支持、协助面试辅导
  • Vue Element Form组件v-for循环里的表单验证
  • 物联网智能家居环境监测系统
  • context.getExternalFilesDir()与返回的路径对照 Android 存储路径
  • 代码随想录算法训练营第二天(补) | 滑动窗口、模拟、前缀和
  • 15分钟学Go 第5天:数据类型
  • OQE-OPTICAL AND QUANTUM ELECTRONICS
  • Ansible自动化工具
  • 通信工程学习:什么是TCP/IP(传输控制协议/互联网议)