您的位置:首页 > 博客中心 > 数据库 >

数据库引擎开发以及常见数据库内部原理学习(3):网络编程基础

时间:2022-03-13 23:17

康奈尔笔记

线索
  • 网络理论
                                                                               
  • 程序流程
1.记录:
  1. 网络原理
    • 计算机网路是一种允许计算机进行即时通讯的工具
    • 计算机物理连接可能是电缆也可能是无线介质
    • 生成、转发以及销毁数据的网络设备称之为网络节点
  2. OSI模型
    • 国际标准协议OSI模型是一种字面模型,而且跟IP协议没关系
    • 第一层:物理层:bit流传输,主要是物理介质
    • 第二层:数据链路层:提供介质访问,链路管理,各种链路转换
    • 第三层:网络层:寻址和路由的选择,路由器,转换寻址,路由器
    • 第四层:传输层:建立主机端到端的连接,4层,0保障最少,3最多
    • 第五层:会话层:建立、维护和管理会话,建立的检查点等机制
    • 第六层:表示层:处理数据格式、数据加密,提供与应用分离的格式
    • 第七层:应用层:提供应用程序间通信,识别资源模式
  3. IP协议
    • 为计算机网络相互连接进行通讯而设计的协议
    • 是一套由软件、程序所组成的协议,把各种系统不同的信息转换成统一的格式,使所有的网络节点能实现互通。
    • 第一层:链路层
    • 第二层:连接层,IPV4、IPV6
    • 第三层:传输层
    • 第四层:应用层
    • gxlsystem.com,布布扣
  4. TCP协议
    • TCP协议是IP协议组件中最重要的组成部分
    • TCP基于IP协议,提供了可靠,有序,错误校验的数据流,用于局域网和广域网中程序之间的信息交换。
    • 坐落于IP协议的传输层
  5. Socket套接字
    • 程序间通讯流的终端,客户端使用套接字进行通讯。
    • 套接字API是一种应用程序开发接口,一般由操作系统提供。(一般指广域网套接字)
    • 一般为IP地址与端口的结合
    • 组成:本地IP、远程IP、协议
  6. 程序流程
    • gxlsystem.com,布布扣
    • 客户端流程:建立套接字-连接服务器-进行通讯-关闭套接字
    • 服务端流程:建立套接字-监听-接收连接请求-进行通讯-接收客户端关闭套接字信息-关闭套接字
  7. 函数接口
    • socket()创建一个新的套接字并分配系统资源
    • bind()一般用于服务端,将套接字与套接字地址(例如本地端口以及IP地址)绑定
    • listen() 一般用于服务端,将绑定的TCP置于监听状态
    • connect() 一般用于客户端,分配一个本地的空闲端口,并且与远程地址建立连接
    • accept() 一般用于服务端,接受一个新的连接请求,并创建一个与该链接绑定的套接字
    • send() 与 recv(), 或 write() 与read(), 或sendto() 与recvfrom()用于发送和接收数据
    • close() 关闭一个打开的套接字并释放资源
    • gethostbyname() 与gethostbyaddr() 在IPv4协议中解析域名和地址
    • select() 用于等待一个或多个指定套接字的下一个读写事件
    • poll()用于测试一个或多个套接字的读写状态
    • getsockopt() 得到指定套接字的参数
    • setsockopt() 配置指定套接字的参数
  8. 典型服务端
        1. 总结
        1. 数据库调优里面有这么句话,80%的数据库问题,与数据库本身无关,这些无关问题里面,又以网络问题为重中之重,Oracle的监听配置也是非常容易出现问题。
        2. 在分布式数据库时代,成本的开销主要集中在网络IO之上,所以说,网络对于数据库的重要性不言而喻。
        3. 我们这里网路暂时需要的是建立一个客户端与服务端的通讯

热门排行

今日推荐

热门手游