系列文章目录
文章目录
前言
单机时代
局域网: 把电脑之间通过网线连接起来
局域网和局域网之间是隔离的
广域网时代 更大的局域网,也就是互联网时代
英特网最大的局域网
局域网和广域网没有明确的界线
路由器组件局域网
连接器增加接口
当年写JDBC的时候写过一串代码,写自定义的客户端,里面有ip地址和端口号,ip地址用来识别一个主机,端口号标识主机上的应用程序,比如浏览器和直播,所接收到数据格式是不一样的,每个使用网络的程序的端口号搜是不一样的
端口号是程序员定义或者是系统自动分配
一、协议
网络通信
网线 使用高低电压分别表示1和0
光纤,不同频率表示1和0
WIFI(无线)电磁波 不同频率表示
都属于协议
协议分层
协议会分几层来定义,
解耦合 通信协议中每一层都可以灵活替换
封装 上层不必知道下层协议细节,就可以直接使用
1.协议分层具体分法(背
OSI七层网络模型(仅存在于课本之上
经过简化之后
为
TCP/IP五层网络模型(四层网络模型
这是目前使用的
- 物理层
- 数据链路层
- 网络层
- 传输层
- 应用层
说四层是因为1和2可以合并成一个,都是和硬件设备直接相关的
物理层 硬件层面的基础设施,物理层协议约定了网线的结构,光纤的结构
数据链路层 负责两个节点的具体传输过程 , 负责具体的传输过程
网络层 负责通信中间过程 ,中间路线怎么走 , 就是确定路径
传输层 约定起点和终点之间的通信规则(不关心中间的通信过程
应用层(最重要) 代码主要是和应用层打交道的,决定了应用程序如何使用/构造传输的数据用来干什么
一级一级向上调用
传输层和网络层是操作系统内核内置功能
硬件和网卡层与硬件厂商相关
编写的代码就是应用层面,写的应用程序就是对应应用层
2.网络数据传输的基本流程
封装
分用
发送消息
-
应用层
输入东西 , 输入的会构造成"应用层数据包"
举个例子:时间 , 发送方qq号 , 接收方qq号 ,消息正文
当然只是一个例子 , 我们不知道真实消息的格式
调用传输层接口 , 把上述数据交给传输层
-
传输层
传输层有多种协议 , 此处假设使用UDP , 在应用层数据包的基础上封装成传输包数据(字符串拼接
每一层协议都是会补充上一些信息 , 都是为了辅助网络传输的
UDP报头+UDP正文/载荷(应用层给的数据包
报头放源端口和目的端口
从哪个程序来
这个UDP数据包,交给网络层协议
- 网络层
网络层也有很多协议 , 此处假设使用IP协议
IP协议在传输层数据包的基础上 , 进一步封装成了网络层数据包
IP协议报头+IP协议载荷(传输包给的传输包数据
报头放源IP , 目的IP
从那个主机
上述数据 , 进一步的交给数据链路层协议
- 数据链路层
数据链路层也有很多协议 , 此处假设使用的是"以太网"
帧头+载荷(网络层数据包)+帧尾
帧头放mac地址 , 和IP地址类似的一种机制 , 也是用来区分网络设备 , 它存在的意义是为了完成相邻设备的传输
- 物理层
通过网卡 , 把上述二进制数据转为电信号/光信号/电磁波 , 传输出去了
接收方做的工作是反过来的
把发送方层层构造报文的过程称为封装
把接收方层层解析报文的过程称为分用
报文:特定格式的字符串 , 报头+载荷
发送方给交换机 , 交换机给路由器 , 路由器再给交换机 , 交换机给接收方
路由器接收到数据 , 也要分用/解析 , 只需要解析物理层 , 数据链路层 , 网络层即可 , 需要IP协议报头信息(三层转发 , 封装分用到网络层
有二层转发 , 需要封装分用到数据链路层
通信中的"五元组"
协议类型
源IP,源端口
目的IP,目的端口
二、
总结
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。