目录
一、网络分类
1、局域网
是本地局部组建的一种私有网络。局域网内的主机之间能够方便的进行通信,又称为内网。局域网和局域网之间在没有连接的情况下,是无法进行通信的。
局域网组建方式如下:
- 网络直连;
- 集线器连接多台主机;
- 交换机连接多台主机;
- 路由器连接多台主机(可以再次使用集线器和交换机来连接主机)
此时局域网内的主机之间可以相互访问,还不能访问局域网外的主机;需要借助光猫连接到公网上,才能访问局域网外的主机。
2、广域网
公网(外网,互联网)。通过路由器,将多个局域网连接起来,物理上组成很大范围的网络,就形成广域网。广域网内部的局域网都是其子网。
二、网络基础
1、IP地址
作用:定位网络中的主机。
某个网络中的IP地址必须是唯一的(如果一个网络包含在另一个网络中【公网】,公网是看不到局域网内部的IP地址的)。公网中的IP是唯一的,局域网内的IP也是唯一的,但不同的局域网之间就可能有重复的IP。
格式:
IP地址是32位的二进制数,通常被分割为4个“8位二进制”。如:01100100.00000100.00000101.00000110。
通常用点分十进制的方式表示。即a.b.c.d的形式。如:100.4.5.6。
特殊IP:
本机环回测试IP:127.0.0.1
本机环回主要用于本机到本机网络通信(系统内部为了性能,不会走网络的方式传输)。
2、端口号
端口号用于定位主机中的进程。在网络通信中,IP地址用于标识主机的网络地址,端口号可以标识主机中发送数据、接收数据的进程。
格式:
端口号是0~65535之间的数字。在网络通信中,进程可以通过绑定一个端口号,来接受和发送网络数据。
【注】两个不同的进程,不能绑定同一个端口,但一个进程可以绑定多个端口。
3、协议
网络中经过的网络设备都要遵守的约定。只有遵守这个约定,计算机之间才能相互通信交流。
网络协议的三要素:
- 语法:数据与控制信息的结构和格式
- 语义:需要发出何种控制信息,完成何种动作以及做出何种相应
- 时序:时间实现顺序的详细说明
协议最终体现为在网络上传输的数据包的格式。
4、五元组
标识一次网络通信,必须的五个信息:
- 源IP:标识源主机;
- 源端口号:标识源主机中的源进程;
- 目的IP:标识目的主机;
- 目的端口号:标识目的主机中的目的进程。
- 协议号:双方约定的数据传输格式。
三、协议分层
1、分层的作用
分层最大的好处,类似于面向对象编程:定义好两层间的接口规范,让双方遵循这个规范来对接。在代码中,类似于使用一个接口,一方为接口的实现类(提供方,提供服务),一方为接口的使用类(使用方,使用服务):
- 对于使用方,不关心提供方如何实现,只需要使用接口即可;
- 对于提供方来说,利用封装的特性,隐藏了实现的细节,只需要开发接口即可。
2、OSI七层模型
OSI:Open System Interconnection,开放系统互连。
OSI七层模型划分为以下七层:
分层名 | 作用 |
应用层 | 应用程序所在的分层 |
表示层 | 数据的展现形式 |
会话层 | 约定建立和断开连接的方式 |
传输层 | 负责数据的可靠运输 |
网络层 | 地址管理和路由选择 |
数据链接层 | 互联设备之间传送和识别数据帧 |
物理层 | 0/1广电信号 |
OSI七层模型既复杂又不实用。所有七层模型没有实现。
3、TCP/IP五层(四层)模型
OSI的表示层和会话层去掉就是五层模式,再去掉物理层,就是四层模型。
分层名称 | 作用 | 代表硬件/软件 | 代表性协议 |
应用层 | 应用程序所在的分层 (约定两个进程使用一样的协议) |
进程 | http、https、DNS、NAT/NAPYT |
传输层 | 负责可靠传输 | 操作系统(工作在下四层) | TCP、UDP |
网络层 | 地址管理和路由选择 | 路由器(Router) | IP协议 |
数据链路层 | 互联设备的传送和识别数据帧 | 交换机(Switcher)(工作在下两层) | 以太网帧、ARP |
物理层 | 0/1光电信号 | 集线器(Hub) |
网络设别所在分层:
- 对于一台主机,操作系统实现了下四层;
- 对于一台路由器,实现了下三层;
- 对于一台交换机,实现了下两层;
- 对于一个集线器,只实现了物理层。
四、封装和分用
不同的协议层对数据包又不同的称谓,传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。
应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装
封装的过程:
发送数据的时候,需要将数据按网络分层,从高到低的顺序进行封装。
分用的过程:
接收数据时,需要按照网络分层,从低到高的顺序,进行分用(解析)