1.网络发展
独立模式:计算机之间相互独立关系
网络互联:多态计算机连接在一起,实现数据共享
局域网:计算机数量增多,通过交换机和路由器连接在一起
广域网WAN:将远距离的计算机连接一起
2.认识协议
协议就是一种约定,通信双方以某种约定完成事情。就像中国人之间的交流都是用汉语,汉语就是一种协议。
例子:在晚上买了洗面奶,网上下单时,供货商会要你提供相关信息在单号上,贴到快递盒子上送到给你。拿到快递,也能看到上面的单号信息,商家,快递员和收快递的人都知道单号上的信息,快递单就是协议。
在快递单号上填的相关信息在计算机看来都是属性,而属性在计算机中使用结构体来描述的,所有的协议都是在计算机上提前设定好,传输的双方也都是认识相关属性的结构体。而网络也是,采用同一套协议,这样A主机定义的结构体对象,B主机使用同样的协议就也能认识A主机定义的结构体对象。
只要通信的两台主机,约定好协议就可以了吗?
计算机生产商很多,计算机系统也很多,计算机网络设备繁多,就需要一个共同的协议来通信,让所有的都遵行这个协议,这就是网络协议,两台主机之间的约定协议就是网络协议的标准的一个子集,只是一不部分。
协议分层
分层的目的就是为了降低耦合度,方便维护代码。每一层之间关系紧密,层与层之间练习不紧密。网络呈现层状是英文网络通信的项目规模一般非常大,同时问题也是层状的,每一层的问题都要通过不同的协议来解决,所以网络也是层状的。
OSI七层模型
- OSI模型是一个逻辑上的定义和规范,用于开放式系统互联的参考模型。
- 网络从逻辑上被分为7层,每一层都有相关、相对应的物理设备,如路由器、交换机。
- OSI模型是一种框架性的设计方法,其主要功能是帮助不同类型的主机实现数据传输。
- OSI模型的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整。通过七个层次化的结构模型,使不同的系统、不同的网络之间实现可靠的通讯。
- 然而,OSI模型复杂且不实用,因此通常按照TCP/IP四层模型来讲解网络结构。
TCP/IP五层模型
TCP/IP是一组协议的代名词,其中还包括了许多协议,组成TCP/IP协议族
TCP/IP通讯协议采用了五成的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求
物理层
数据链路层:负责设备之间的数据帧的传送和和识别。例如网卡设备的驱动,帧同步,冲突检测,数据差错检验等工作,有以太网,令牌环网和wuxainLAN等标准。
网络层:负责地址管理和路由选择。例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路,路由器工作在网络层。
传输层:负责两台主机之间的数据传输。如传输控制协议(TCP),确保数据能够确保数据稳定的从源主机发送到目标主机
应用层:负责应用程序间沟通,如简单电子邮件传输(SMTP),文件传输协议(FTP),网络远程访问协议(Telnet)等。网络编程主要针对应用层
由于物理层考虑较少,很多时候也叫TCP/IP四层模型。
一般情况下
对一台主机,它的操作系统内核实现了从传输层到物理层的内容;
对一台路由器,它实现了从网络层到物理层;
对一台交换机,实现了从数据链路层到物理层;
对于集线器,它只实现了物理层;
问题:主机 B 能识别 data,并且准确提取 a=10,b=20,c=30 吗?回答:答案是肯定的!因为双方都有同样的结构体类型 struct protocol。也就是说,用同样的代码实现协议,用同样的自定义数据类型,天然就具有”共识“,能够识别对方发来的数据,这不就是约定吗?关于协议的朴素理解:所谓协议,就是通信双方都认识的结构化的数据类型因为协议栈是分层的,所以,每层都有双方都有协议,同层之间,互相可以认识对方的协议。•网络购物,快递单的例子