1.IP地址
概念 :
IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。简单说,IP地址用于定位主机 的网络地址。
就像我们发送快递一样,需要知道对方的收货地址,快递员才能将包裹送到目的地。
格式 :
IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节),如:
01100100.00000100.00000101.00000110。通常用“点分十进制”的方式来表示,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的十进制整数)。如: 100.4.5.6。
2.端口号
概念:
在网络通信中,IP地址用于标识主机网络地址,端口号可以标识主机中发送数据、接收数据的进程。简单说:端口号用于定位主机中的进程。 类似发送快递时,不光需要指定收货地址(IP地址),还需要指定收货人(端口号)。
格式:
端口号是0~65535范围的数字,在网络通信中,进程可以通过绑定一个端口号,来发送及接收网络数据。
注意事项:
两个不同的进程,不能绑定同一个端口号,但一个进程可以绑定多个端口号。
3.网络协议
概念:协议是什么?
协议,网络协议的简称, 网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组约定、规则。 如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互 通信交流。
协议是 网络协议 的简称,本质上就是 “约定”(发出来的数据是啥样的格式,接收方按照对应的格式来进行解析)。要想进行有效的通信,就需要明确通信协议。
协议 最后再网络通信中,表现为网络上传输的数据报的格式。
协议的 组成部分
① 语法:数据和控制信息的 结构 或 格式 。(打电话:约定都说普通话)
② 语义:需要发出某种控制信息,完成某种动作 以及 做出某种响应。(双方怎么做,打电话我问:在吗,对方回答:在)
③ 时序:事件实现顺序的详细说明。(打电话先讲什么后讲什么)
协议的 作用
① 网络通信的时候,本质上传输的是 光信号 和 电信号,通过光信号 的 频率(高频率 和 低频率)电信号 的 电平(高电平 和 低电平)来表示 0 和 1 。
② 这些 0 和 1 组合起来到底是什么意思,协议就可以对这些进行规定了。
4、五元组
在 TCP/IP协议(很重要的协议)中,用五元组来表示一个网络通信。
- 源IP :标识源主机。
- 源端口号 :标识源主机中进行这次网络通信中 发送数据 的 进程。
- 目的IP :标识目的主机。
- 目的端口号 :标识目的主机中进行这次网络通信中 接收数据 的 进程。
- 协议号 :标识发送数据进程 和 接收数据进程 双方约定的 数据格式 。
网络通信的过程,类似发快递的过程:
5.协议分层
对于网络协议(协议)来说,往往分成几个层次进行定义。
如果网络通信只通过一整个协议来进行规定,那么里面的细节就会很多,会很庞大复杂。因此更好的方法就是,把一个大的复杂的协议,拆分成多个小的更简单的协议,每个协议仅仅只负责它那部分的工作。(类似于将一个复杂程序代码,分成很多小的部分代码,让他们实现其各自的功能,最后再进行汇总)
(1)分层的 好处
① 每层协议不需要理解其他层的协议
打电话的人,不需要理解电话的工作原理,就可以完成打电话的操作。
制造电话的人,不需要考虑打电话的人说英语还是汉语。
② 可以把对应层的协议换成其他协议
打电话的人,可以使用有线电话,也可以使用无线电话。可以使用英语,也可以使用汉语
6.OSI七层模型
OSI:即Open System Interconnection,开放系统互连
- OSI 七层网络模型是一个逻辑上的定义和规范:把网络从逻辑上分为了7层。
- OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传 输;
- 优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整。通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。
实际上OSI七层模型既复杂又不实用,所以OSI七层模型没有落地、实现。
实际组建网络时,只是以OSI七层模型设计中的部分分层,也就是TCP/IP模型来实现。
7.TCP/IP 五层模型
TCP/IP 是一组协议的代名词,它包括了很多协议(有了TCP/IP协议栈)。它采用了 五层结构。
应用层:负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。我们的网络编程主要就是针对应用层。
传输层:负责两台主机之间的数据传输。如传输控制协议 (TCP),能够确保数据可靠的从源主机发送到目标主机。
网络层:负责地址管理和路由选择。例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。路由器(Router)工作在网路层。
数据链路层:负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。有以太网、令牌环网,无线LAN等标准。交换机(Switch)工作在数据链路层。
物理层:负责光/电信号的传递方式。比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤,现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)工作在物理层。
8.封装和分用
封装和分用是在网络传输中对数据的操作。因为分层的原因,所以每层只看得懂它负责的数据,而我们在实际传输时(在网线中),是整个数据进行传输的。因此要用到封装(快递打包)和分用(快递拆包)。
封装概念:应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装。
数据分装:发送方主机,用TCP/IP 4层模型,从上到下的顺序,依次包裹数据
数据分用:由下到上进行分用
9.请求和响应
一般来说,获取一个网络资源,涉及到两次网络数据传输:
第一次:请求数据的发送
第二次:响应数据的发送
10.客户端与服务器
1、定义不同
客户端:也称用户端,是指与服务器相对应,为客户提供本地服务的程序。除了一些只在本地运行的应用程序之外,一般安装在普通的客户机上,需要与服务端互相配合运行。接受服务的另一方也称为客户端。
服务器端:,服务器是向网络上的其他机器提供某些服务的计算机系统。接收并储存客户端发送过来的数据或请求,并且对请求进行响应,发送数据给客户端
客户端为用户提供服务。
服务器为客户端提供服务。