一、协议
事先约定好的一组规则 (由两方遵守)
如交通信号灯 红灯停绿灯行
如课程表 规定几点上课几点下课
从应用程序的角度看 协议可以理解为 数据传输 和 数据解释 的规则
也可以理解为 各个主机之间通信使用的共同语言
当协议不匹配时 会出现错误的解读 会出现乱码或连接出错
举个例子 主机A要向主机B发送文件
第一步 A向B发送文件的名称 B在本地建立一个文件 向A回应收到
第二步 A向B发送文件的大小 B在本地进行记录 向A回应收到
第三步 A向B发送文件的数据 B收到了文件后(对应第二步中的文件大小) 向A回应完成
上述是一种简单的文件传输协议 后来经过完善优化 形成了今天的FTP协议
思考一下 如果 主机A和主机B 系统不一样 可以进行传输么
答:可以 协议与操作系统或平台无关
几个常见的协议
TCP 慢 可靠
UDP 快 不可靠
HTTP 超文本传输
FTP 文件传输
IP 因特网互联
二、认识OSI七层模型
物理层
双绞线 光纤(传输介质)
MODEM (猫 调制解调器)
模式转换与数据转换
将模拟信号(高低电频)转换为数字信号(01)由网卡接收
数据链路层
数据校验 定义了网络传输的基本单位/数据格式(帧)帧是一个有格式的字符串
有ARP协议 IP->MAC (解析)
有RARP协议 MAC->IP
网络层
IP地址 IP协议 路由器(不同网段的桥梁)在网络层
两台机器之间传输的路径选择 点到点的传输(主机A与主机B之间有很多节点)
传输层
传输数据 TCP UDP 端到端的传输(主机A到主机B)
会话层
通过传输层建立数据传输的通道
表示层
编码 解码 翻译
应用层
为客户提供各种应用服务 ftp服务 ssh服务 email服务 http服务
记忆口诀:物数网传会表应
三、认识TCP四层模型
网络接口层
对应七层模型中:物理层+数据链路层
网络层
对应七层模型中:网络层
传输层
对应七层模型中:传输层
应用层
对应七层模型中:会话层+表示层+应用层
四、数据通信的过程 封装与解包
第一步 通过应用层
数据 应用层+数据
第二步 通过传输层
应用层+数据 传输层+应用层+数据
第三步 通过网络层
传输层+应用层+数据 网络层+传输层+应用层+数据
第四步 通过网络接口层/数据链路层
网络层+传输层+应用层+数据 网络接口层+网络层+传输层+应用层+数据
第五步 由网卡发送到路由器或MODEM
注意:通过各个层实际上是利用各个层的协议进行封装
以上五步 是数据封装 从上往下 是一个层层打包的过程
数据的接收对应以上五步反过来 就是一个数据解包的过程
举个例子 手机发送信息 两个字符 对应大小为两个字节
但是实际上的流量消耗不止两个字节 因为有封装和解包的过程
五、网络应用程序的设计模式
C/S 客户端服务器模式 穿越火线
B/S 浏览器服务器模式 生死狙击(只能选择http协议 不能缓存数据)