目录
网络发展史
独立模式
独立模式:计算机之间相互独立。
网络互连
网络互连:将多台计算机连接在一起,完成数据共享。
数据共享的本质是网络数据传输,即计算机之间通过网络来传输数据,也称网络通信。
可根据网络互连的规模不同,划分为局域网和广域网
局域网LAN
局域网,又称Local Area Network,简称LAN。
其中,Local标识了局域网是本地,局部组建的一种私有网络。
局域网内的主机之间能方便的进行网络通信,又称内网。
局域网和局域网之间在没有连接的情况下,是无法进行通信的。
局域网组建网络的方式有很多种:
(1)基于网线直连
(2)基于集线器组件
(3)基于交换机组建
(4)基于交换机和路由器组建
广域网
广域网,又称Wide Area Network,简称WAN。
通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网。
广域网内部的局域网都属于其子网。
网络通信基础
网络互连的目的是为了进行网络通信,也就是进行数据传输。
再具体的说,就是网络主机中的不同进程间,基于网络传输数据。
IP地址
概念
IP地址主要用于表示网络主机、其他网络设备(如路由器)的网络地址。通俗来说,IP地址用于定位主机的网络地址。
格式
IP地址是一个32位的二进制数,通常被分割为4个 “ 8位二进制数 ”(即4个字节),如:01100100.00000100.00000101.00000110。
通常都用 “ 点分十进制 ” 的方式来表示,即a.b.c.d的形式,(abcd都是0~255之间的十进制整数)。
其中127.0.0.1是用于本机的环回测试,主要是用于本机到本机的网络通信(系统内部为了性能,不会走网络的方式传输),对于开发网络通信的程序(即网络编程)而言,常见的开发模式都是本机到本机的网络通信。
端口号
概念
端口号用于标识主机中发送数据、接受数据的进程。通俗来说:端口号用于定位主机中的进程。
格式
注意事项
认识协议
概念
协议,全程网络协议。是网络通信经过的所有设备都必须共同遵从的一组约定、规则。比如怎样建立连接、怎样互相识别等。
通常由三要素组成:
1.语法:即数据与控制信息的结构或格式。
2.语义:即需要发出何种控制信息,完成何种动作以及做出何种响应。
3.时许:即事件实现顺序的详细说明。
协议(protocol)最终体现为网络上传输的数据包的格式。
作用
计算机之间的传输媒介是光信号和电信号。通过 “ 频率 ” 和 “ 强弱 ” 来表示0和1这样的信息,想要传递各种不同的信息,就需要约定好双方的数据格式。
比如:存在很多计算机生产商,操作系统、硬件设备都有很多,想要让这些不同的计算机能够互相交流,就需要有一个标准,让大家都遵守,这个标准就是网络协议。
知名协议的默认端口
系统的端口号范围为0~65535,其中:0~1023为知名端口号。
这些端口预留给服务端程序绑定广泛使用的应用层协议。
五元组
在TCP / IP协议中,用五元组来表示一个网络通信。
1.源IP:表示源主机。
2.源端口号:表示源主机中该次通信发送数据的进程。
3.目的IP:表示目的主机。
4.目的端口号:表示目的主机中该次通信接收数据的进程。
5.协议号:表示发送进程和接收进程双方约定好的数据格式。
协议分层
对于网络协议来说,往往需要分成几个层次来进行定义。
分层的作用
分层的最大好处,就是可以实现类似于面向接口编程:定义好两层间的接口规范,让双方都遵循这个规范来进行对接。
在代码中,类似于定义好一个接口,一方为接口的实现类(提供方,提供服务),一方为接口的使用类(使用方,使用服务):
- 对于使用方来说,并不关心提供方是如何实现的,只需要使用接口即可。
- 对于提供方来说,利用封装的特性,隐藏了实现的细节,只需要开放接口即可。
OSI七层模型
OSI,全称Open System Interconnection,开放系统互连。
- OSI七层网络模型是一个逻辑上的定义和规范,将网络从逻辑上分为了7层。
- OSI七层模型是一种框架性的设计方法,其最主要的功能就是帮助不同类型的主机实现数据传输。
- 它最大的优点在于将服务、接口和协议这三个概念明确的区分开。通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。
OSI划分为以下七层:
分层名称 | 功能 | |
7 | 应用层 | 针对特定应用的协议。 |
6 | 表示层 | 设备固有数据格式和 网络标准数据格式的转换 |
5 | 会话层 | 通信管理。负责建立和断开通信连接(数据流动的逻辑通路)。管理传输层以下的分层。 |
4 | 传输层 | 管理两个节点之间的数据传输。负责可靠传输(确保数据被可靠地传送到目标地址) |
3 | 网络层 | 地址管理和路由选择 |
2 | 数据链路层 | 互连设备之间传送和识别数据帧 |
1 | 物理层 | 以“0”、“1”代表电压的高低、灯光的闪灭。界定连接器和网线的规格。 |
TCP/IP五层(或四层)模型
TCP/IP是一组协议的代名词。还包括许多协议,组成TCP/IP协议簇。
TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。
- 应用层:负责应用程序间沟通。比如简单电子邮件传输(SMTP)、文本传输协议(FTP)、网络远程访问协议(Telnet)等。
- 传输层:负责两台主机之间的数据传输。比如传输控制协议(TCP),能够确保数据可靠的从源主机发送到目标主机。
- 网络层:负责地址管理和路由选择。比如在IP协议中,通过IP地址来表示一台主机,并通过路由表示的方法规划出两台主机之间的数据传输的线路(路由)。路由器工作在网络层。
- 数据连接层:负责设备之间的数据帧的传送和识别。比如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果监测到冲突就自动重发)、数据差错校验等工作。有以太网、令牌环网、无限LAN等标准。交换机工作在数据链路层。
- 物理层:负责光/电信号的传递方式。比如现在以太网通用的网线(双绞线)、早期以太网采用的同轴电缆(现在主要用于有线电视)、光纤,现在的wifi无线网使用电磁炉等都属于物理层的概念,物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器工作在物理层。
由于物理层考虑的时候比较少,因此很多的时候也可将其称为TCP/IP四层模型。
网络设备所在分层
-
对于一台 主机 ,它的 操作系统 内核实现了从传输层到物理层的内容,也即是 TCP/IP 五层模型的 下四 层 ;
-
对于一台 路由器 ,它实现了从网络层到物理层,也即是 TCP/IP 五层模型的 下三层;
-
对于一台 交换机 ,它实现了从数据链路层到物理层,也即是 TCP/IP 五层模型的 下两层 ;
-
对于集线器,他只实现了物理层。
网络分层对应
封装和分用
- 不同的协议层对数据包有不同的称谓,传输层叫成段(segment),网络层叫数据报(datagram),链路层叫帧(frame)
- 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation)
- 首部信息中包含了一些类似于首部有多长,载荷(payload)有多长,上层协议是什么信息。
- 数据封装成帧后发送到传输介质上,到达目的主机后,每层协议再剥掉对应的首部,根据首部中的“上层协议字段”将数据交给对应的上层协议处理。