目录
初识网络
网络通信基础
IP地址
端口号
认识网络协议
五元组
协议分层
封装和分用
网络互连
随着时代发展,需要计算机之间相互通信,共享软件和数据,即多台计算机相互协同工作来完成某个业务,就有了网络互联
网络互联:将多台计算机连接在一起,完成数据共享
数据共享的本质是网络数据传输,也称网络通信,即计算机之间通过网络来传输数据
根据网络互联的规模不同,可以划分为局域网和广域网
局域网LAN
局域网(Local Area Network),简称LAN,即局部组建的一种私有网络
局域网又称内网,局域网内的主机之间可以方便的进行网络通信,但是当局域网与局域网之间没有连接的时候,是无法进行通信的
局域网组建网络的方式有很多种:
广域网WAN
广域网,(Wide Area Network),简称WAN,即通过路由器将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网,广域网内部的局域网都属于其子网
网络互联的目的是进行网络通信,也就是网络数据传输,具体的说是网络主机的不同进程间,基于网络进行数据的传输
那么在组建的网络中,如何判断是从哪台主机的哪个进程,将数据传输到哪台主机的哪个进程呢?
IP地址主要用于标识网络主机,或其他设备(如路由器)的网络地址
IP地址的格式
IP地址是一个32位的二进制数,通常被分割为4个8位二进制数,如:01100100.00000100.00000101.00000110
IP地址通常用“点分十进制”的方式来表示,即a.b.c.d的形式(a,b,c,d都是0~255之间的十进制整数),如:100.4.5.6
特殊的IP地址
127.*用于本机环回测试,通常是127.0.0.1
本机环回主要用于本机到本机的网络通信(系统内部为了性能,不会选择网络的方式传输)
端口号用于定位主机中的进程
格式:端口号为0~65535之间的数字
在网络通信中,进程可以绑定一个端口号,来发送和接收数据
注意:不同的进程不能绑定同一个端口,但是多个端口可以被同一个进程绑定
为什么需要有网络协议?
有了IP地址和端口号可以定位网络中唯一的进程,但是网络通信是基于二进制01数据来进行传输,而网络通信传输的数据类型可能有很多种,如图片,文本,视频等,并且同一种类型可能格式也不同,如发送“你好!”,如何确定发送的数据是文本类型,及文本的编码格式呢?
基于网络传输数据,需要使用网络协议来规定双方的数据格式
网络协议的概念
网络协议为网络通信经过的所有设备都必须遵从的一组约定,如怎样建立连接,怎样互相识别等,只有遵守这个约定,计算机之间才能相互通信交流
组成网络协议的三要素:
类似打电话双方需要使用同样的语言
类似问你吃饭了吗?需要回答吃了或者没吃
时序定义了何时进行通信,先讲什么,后讲什么,讲的速度等
网络协议最终体现为网络传输数据包的格式
知名协议的默认端口
端口号范围为0~65535,其中0~1023为知名端口号,这些端口号预留给服务端程序绑定广泛使用的应用层协议,如:
说明:0~1023范围知名端口号用于绑定知名协议,但是某个服务器也可以使用其他1024~65535范围内的端口来绑定知名协议
如:餐厅vip包房,是给会员使用,会员也可以不坐vip包房,坐普通包房
在TCP/IP协议中,用五元组来标识一个网络通信
五元组:
windows操作系统下,可以使用netstat -ano | findstr "查询字符串",查看五元组信息
linux操作系统下,可以使用netstat -anp | grep "查询字符串",查看五元组信息
说明:通过源IP和源端口找到唯一的源进程,源进程根据应用层协议将数据构造成约定协议的格式,发送数据,目的IP接收到交给目的端口,目的端口接收到,目的进程使用相同的应用层协议进行解析获取到对应数据
OSI七层模型
OSI:Open System Interconnection即开放系统互联
层级 | 分层名称 | 功能 |
7 | 应用层 | 针对特定应用程序的协议 |
6 | 表示层 | 设备固有数据格式和网络标准数据格式的转换 |
5 | 会话层 | 负责建立和断开通信连接 |
4 | 传输层 | 负责数据传输的可靠 |
3 | 网络层 | 地址管理与路由选择 |
2 | 数据链路层 | 识别数据帧(发送数据报到下一个网络硬件设备) |
1 | 物理层 | 使用网线或电磁波来传输0,1数据 |
OSI七层模型既复杂又不实用,所以OSI七层模型没有落地实现,实际组建网络时,使用的是下面TCP/IP五层(四层)模型
TCP/IP五层(四层)模型
TCP/IP是一组协议的代名词,它还包含了许多协议,组成了TCP/IP协议簇
TCP/IP协议采用了5层结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求
物理层考虑的较少,所以很多时候去掉物理层也叫TCP/IP四层模型
网络设备所在分层
注意:这里说的是传统意义的交换机(二层交换机)路由器(三层路由器),随着网络设备技术的发展,也出现了很多三层四层交换机,四层路由器,我们说的都是传统意义的交换机和路由器
网络分层对应
在进行网络数据传输时,经过不同的网络结点(主机,路由器)时,网络分层需要对应
同一个网段内两台主机进行文件传输,通过TCP/IP协议通信的过程如下:
跨网段的主机进行文件传输,数据从一台主机到另一台主机传输要经过一个或多个路由器,通过TCP/IP协议通信的过程如下:
封装:一个网络设备按照从高到低的顺序,使用对应分层的协议一层一层包装数据再发送
封装过程如图所示:
分用:一个网络设备,按从低到高的顺序,使用对应分层协议解析数据再使用
分用过程如图所示: