前言
本篇内容只是对网络的一个简单介绍,并不涉及太多深层次的知识。
一、计算机网络背景
1.网络发展
(1)独立
计算机之间相互独立,每个终端各自持有对应用户的数据。
(2)网络互联
每个人都使用各自独立的计算机,各业务之间随时自由切换,共享数据由服务器集中管理。
(3)局域网LAN
计算机数量很多,计算机与计算机之间通过交换机和路由器连接。
(4)广域网WAN
将远隔千里的计算机都连在一起。
二、网络协议
计算机之间的传输媒介是光信号和电信号,通过 “频率” 和 “强弱” 来表示 0 和 1 这样的信息。要想在所有主机之间传递各种不同的信息,就需要约定好一个统一的数据格式。
1.OSI七层模型
(1)介绍
OSI(Open System Interconnection,开放系统互连)七层网络模型,称为开放式系统互联参考模型,是一个逻辑上的定义和规范。这个模型把网络从逻辑上分为了7层,其中的每一层都有相关、相对应的物理设备,比如路由器,交换机等等。
OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输; 它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清晰、理论完整。通过七个层次化的结构模型使不同的系统、不同的网络之间实现可靠的通讯。
(2)结构
其结构如下:
但是, 它既复杂又不实用,所以这里主要介绍TCP/IP四层模型。
2.TCP/IP模型
(1)介绍
TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。 TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。
(2)结构
- 物理层:负责光信号和电信号的传递方式。比如当前以太网通用的网线(双绞线)、早期以太网采用的的同轴电缆。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)工作在物理层。
- 数据链路层:负责设备之间数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。有以太网、令牌环网、无线LAN等标准。交换机(Switch)工作在数据链路层。
- 网络层:负责地址管理和路由选择。例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。路由器(Router)工作在网路层。
- 传输层:负责两台主机之间的数据传输。如传输控制协议 (TCP)能够确保数据可靠地从源主机发送到目标主机。
- 应用层: 负责应用程序间的沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。网络编程主要就是针对应用层的。
三、网络传输基本流程
1.数据包封装和分用
(1)介绍
-
不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在数据链路层叫做帧(frame)。 -
应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(报头),称为封装(Encapsulation)。 -
首部信息中包含了一些类似于首部有多长、载荷(payload)有多长、上层协议是什么等等的一些信息。 -
数据封装成帧后发到传输介质上,到达目的主机的每层协议后再去掉相应的首部,根据首部中的“上层协议字段”将数据交给对应的上层协议处理。
(2)过程
数据在每一层都需要加上对应层的首部(报头)。
2.TCP/IP通信过程
在统一局域网内,两台主机可以直接通信。它们之间的通信需要通过各层的封包、解包过程才能完成。
四、网络中的地址管理
1.IP地址
IP协议有两个版本,IPv4和IPv6。之后的内容中,凡是提到IP协议,如没有特殊说明,默认都是指IPv4。
IP地址是在IP协议中用来标识网络中不同主机的地址的。
对于IPv4来说,IP地址是一个4字节、32比特位的整数;对于IPv6来说,IP地址是一个16字节、128比特位的整数. 通常也使用“点分十进制”的字符串表示IP地址,例如192.168.0.1,用点分割的每一个数字表示一个 字节,范围是0 - 255。
2.认识MAC地址
MAC地址用来识别数据链路层中相连的节点。
长度为48位,即6个字节。一般用16进制数字加上冒号的形式来表示(如08:00:27:03:fb:19)。
MAC地址在网卡出厂时就确定了,无法修改。MAC地址通常是唯一的(但虚拟机中的mac地址不是真实的mac地址, 可能会冲突)。
感谢阅读,如有错误请批评指正
|