一,IP地址
1,IP地址的概念及格式
概念: IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。简单说,IP地址用于定位主机的网络地址。就像我们发送快递一样,需要知道对方的收货地址,快递员才能将包裹送到目的地 格式: IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节),如:01100100.00000100.00000101.00000110
2,IP地址的编址方法阶段
(1)分类的IP地址: IP地址由两部分组成,即网络地址和主机地址。网络地址表示其属于互联网的哪一个网络,主机地址表示其属于该网络中的哪一台主机 (2)子网的划分: 子网划分是通过借用IP地址的若干位主机地址来充当子网地址(从左面第一位不是网络号的位开始借,而且借位必须是连续的不能跳跃),从而将原网络划分为若干子网而实现的。划分子网时,随着子网地址借用主机位数的增多,子网的数目随之增加,而每个子网中的可用主机数逐渐减少 (3)构成超网: CIDR消除了原来的传统的 A,B, C, D类地址, 使用了各种网络前缀来代替原来分类地址中的网络号和子网号, IP 地址由原来的三级分类又变成了两级分类. 其中网络号和子网号是一个随机的长度. 其中 CIDR 也可以使用 / 的形式来表示, 其中在 / 前面写上网络前缀的位数.其中注意网络前缀所占的比特位就是三级编制中子网掩码中 1 的个数. 当网络前缀相同的时候就叫做地址块, 也叫做超网
3,IP地址的分类
IP地址根据网络号和主机号来分,分为A、B、C三类及特殊地址D、E A类: A类:(1.0.0.0-126.0.0.0)(默认子网掩码:255.0.0.0或 0xFF000000)第一个字节为网络号,后三个字节为主机号。该类IP地址的最前面为“0”,所以地址的网络号取值于1~126之间。一般用于大型网络。 B类: (128.0.0.0-191.255.0.0)(默认子网掩码:255.255.0.0或0xFFFF0000)前两个字节为网络号,后两个字节为主机号。该类IP地址的最前面为“10”,所以地址的网络号取值于128~191之间。一般用于中等规模网络。 C类: (192.0.0.0-223.255.255.0)(子网掩码:255.255.255.0或 0xFFFFFF00)前三个字节为网络号,最后一个字节为主机号。该类IP地址的最前面为“110”,所以地址的网络号取值于192~223之间。一般用于小型网络。 D类: 是多播地址。该类IP地址的最前面为“1110”,所以地址的网络号取值于224~239之间。一般用于多路广播用户[1] 。 E类: 是保留地址。该类IP地址的最前面为“1111”,所以地址的网络号取值于240~255之间。
二,端口号
1,定义
在网络通信中,IP地址标识主机网络地址,而端口号可以标识主机中发送数据、接收数据的进程。简单说:端口号用于定位主机中的进程
2,格式
端口号是0~65535范围的数字,在网络通信中,进程可以通过绑定一个端口号,发送及接收网络数据
了解: 一个进程启动后,系统会随机分配一个端口(启动端口) 程序代码中,进行网络编程时,需要绑定端口号(收发数据的端口)来发送、接收数据。进程绑定一个端口号后,可以实现多个进程绑定一个端口号,但不同的进程不能绑定同一个端口号
三,协议
协议是网络协议简称 ,只有遵守这个约定,计算机之间才能相互通信交流,通常由三要素组成,网络协议是通信时所有设备必须遵守的一组约定,规则。
三要素
1.语法:即数据与控制信息的结构或格式(类似人们说话时使用普通话) 2.语义:即需要发出何种控制信息,完成何种动作以及做出何种响应(通信时应该怎样做,用于协调与差错处理的控制信息) 3.时序:事件实现的顺序详细说明(时序定义了何时进行通信,先讲什么,后讲什么,讲话的速度等。比如是采用同步传输还是 异步传输)
四,五元组
在TCP/IP协议中,用五元组来标识一个网络通信:
- 源IP:标识源主机
- 源端口号:标识源主机中该次通信发送数据的进程
- 目的IP:标识目的主机
- 目的端口号:标识目的主机中该次通信接收数据的进程
- 协议号:标识发送进程和接收进程双方约定的数据格式
五,发送端和接收端
发送端:数据的发送方进程,称为发送端。发送端主机即网络通信中的源主机。 接收端:数据的接收方进程,称为接收端。接收端主机即网络通信中的目的主机。 收发端:发送端和接收端两端,也简称为收发端
六,封装分用
一般来说,在网络数据传输中,发送端应用程序,发送数据时的数据转换(如java一般就是将对象转换为某种协议格式)即对发送数据时的数据包装动作来说:
- 如果是使用知名协议,这个动作也称为封装
- 如果是使用小众协议(包括自定义协议),这个动作也称为序列化,一般是将程序中的对象转换为特定的数据格式。
- 接收端应用程序,接收数据时的数据转换,即对接收数据时的数据解析动作来说:
- 如果是使用知名协议,这个动作也称为分用
- 如果是使用小众协议(包括自定义协议),这个动作也称为反序列化,一般是基于接收数据特定的格式,转换为程序中的对象
七,客户端和服务器
1,服务端
在常见的网络数据传输场景下,把提供服务的一方进程,称为服务端,可以提供对外服务。
2,客户端
获取服务的一方进程,称为客户端
常见的客户端服务端模型: 最常见的场景,客户端是指给用户使用的程序,服务端是提供用户服务的程序:
- 客户端先发送请求到服务端
- 服务端根据请求数据,执行相应的业务处理
- 服务端返回响应:发送业务处理结果
- 客户端根据响应数据,展示处理结果(展示获取的资源,或提示保存资源的处理结果)
|