一、什么是计算机网络
网络在我们现在的学习和生活中有着越来越重要的位置,和我们的生活已经密不可分了,到底什么是计算机网络呢?
计算机网络就是把地理位置分散的计算机系统和各种通信设备,通过不同的形式把他们连接起来,实现资源共享和信息传递的功能。
计算机网络
二、TCP/IP网络世界的规则
学习网络基础知识,首先要了解什么是TCP/IP协议栈:把不同型号、不同厂家、运行不同操作系统的计算机之间通过TCP/IP协议栈实现相互间的通信。
我们目前所使用的局域网和广域网应用的都是TCP/IP协议栈来组建的。在学习TCP/IP之前首先会给大家介绍另外一个网络模型:OSI参考模型,开放系统互连参考模型(Open System Interconnection Reference Model)
OSI参考模型具有以下优点:
简化了相关的网络操作
提供设备间的兼容性和标准接口
促进标准化工作
结构上可以分隔
易于实现和维护
OSI参考模型七层功能:
OSI参考模型七层功能
TCP/IP协议栈和OSI参考模型对应关系:
目前应用最为广泛的TCP/IP协议可以看成是OSI参考模型的简化,分为四层:网络接入层、网络层、传输层、应用层。
TCP/IP协议栈和OSI参考模型对应关系
TCP/IP协议栈每一层功能:
TCP/IP协议栈每一层功能
三、TCP/IP模型的层间通信与数据封装
数据包在网络设备之间进行传输的过程中,为了保证数据包准确的发送到目的地,发送端会对数据包进行封装。
数据封装
在发送的数据包上附加TCP或者是UDP的包头形成数据段segment,网络层会添加IP包头形成数据包Packet,数据链路层会给数据添加以太网包头和FCS包尾,形成数据帧Frame,最后转换成二进制的比特流通过物理线路传到接收方。这个操作过程就叫做数据封装,而对数据包进行处理时通信双方所遵循和协商好的规则称为协议。
解封装
接收端收到数据后会进行解封装,从物理层开始,进行与发送端相反的操作,一层层去掉包头,最终使应用层程序获取到数据信息,使得发送方和接收方数据通信完成。
四、抓包了解数据结构
通过Wireshark抓取的HTTP协议的报文:
数据包结构
传输层封装的是TCP协议,可以看到源端口号,目标端口号80端口
TCP包头
网络层封装的是IP包头,包括IPV4的版本,首部长度,协议类型是TCP协议,源IP地址,目标IP地址等
IP包头
数据链路层,协议类型是OX0800代表三层使用的是IPV4协议,源主机的MAC地址,目标主机的MAC地址等
以太网包头