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

笔记整理—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.lryc.cn/news/463201.html

相关文章:

  • 深度学习500问——Chapter17:模型压缩及移动端部署(5)
  • 分布式ID多种生成方式
  • 时间序列预测(六)——循环神经网络(RNN)
  • Day2算法
  • 智洋创新嵌入式面试题汇总及参考答案
  • 无线网卡知识的学习-- wireless基础知识(nl80211)
  • 除了 Python,还有哪些语言适合做爬虫?
  • JS | JS中类的 prototype 属性和__proto__属性
  • 15分钟学Go 第3天:编写第一个Go程序
  • 简单的常见 http 响应状态码
  • 2024年【安全员-C证】复审考试及安全员-C证模拟考试题
  • RT-Thread之STM32使用定时器实现输入捕获
  • 数字图像处理:图像分割应用
  • Java面试宝典-并发编程学习02
  • 【每日一题】洛谷 - 快速排序模板
  • Django模型优化
  • Python实现火柴人的设计与实现
  • 衡石分析平台系统分析人员手册-应用模版
  • Git和SVN
  • 【C语言教程】【常用类库】(十八)宏与预处理 - <stddef.h> 和 <stdbool.h>
  • 订单超时过期的实现方案的探讨
  • C++中的CRTP
  • go压缩的使用
  • 一图解千言,了解常见的流程图类型及其作用
  • 【微信小程序_19_自定义组件(1)】
  • 标准版admin后台页面添加及开发操作流程及注意事项
  • ‘perl‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  • 如何利用CMMI帮助组织消除低价值流程
  • 如何理解线程安全这个概念?
  • 代码随想录算法训练营第48天| 739. 每日温度,496.下一个更大元素 I,503.下一个更大元素II