网络协议是计算机网络中进行数据交换而建立的规则,标准,或者说是约定的集合。因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须在一定的标准上进行。就像中国的普通话一样,语言标准。
计算机网络协议同我们的语言一样,多种多样。而ARPA公司与1977年到1979年推出了一种名为ARPANET的网络协议受到了广泛的热捧,其中最主要的原因就是它推出了人尽皆知的TCP/IP标准网络协议。目前TCP/IP协议已经成为Internet中的“通用语言”,下图为不同计算机群之间利用TCP/IP进行通信的示意图。
1,网络层次划分
2,OSI七层网络模型为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围内建立计算机网络,国际标准化组织(ISO)在1978年提出了“开放系统互联参考模型”,即著名的OSI/RM模型(Open System Interconnection/Reference Model)。它将计算机网络体系结构的通信协议划分为七层,自下而上依次为:物理层(Physics Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)。其中第四层完成数据传送服务,上面三层面向用户
除了标准的OSI七层模型以外,常见的网络层次划分还有TCP/IP四层协议以及TCP/IP五层协议,它们之间的对应关系如下图所示:
TCP/IP协议 是互联网的基础协议,任何与互联网有关的操作都离不开TCP/IP协议。不管是OSI七层模型还是四层,五层模型,每一层中都要有自己的专属协议,完成自己相应的工作以及上下层级之间进行沟通。OSI七层模型是网络的标准层次模型,
(1)物理层 physical layer
激活,维持,关闭通信端点之间的机械特性,电气特性,功能特性以及过程特性。
该层为上层协议提供了一个传输数据的可靠的物理媒体。
物理层确保原始的数据可在各种物理媒体上传输。
物理层记住两个重要的设备名称,中继器(Repeater,也叫放大器)和集线器
(2)数据链路层 Data Link Layer
是在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层的数据可靠地传输到相邻节点的目标 机网络层。为达到这一目的,数据链路层必须具备一系列相应的功能:如何将数据组合成数据块,在数据链路层中这种 数据块为帧(frame),帧是数据链路层的传送单位;该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据 的检错、重发等。
a.数据链路层为网络层提供可靠的数据传输
b.基本数据单位为帧
c.主要协议:以太网协议
d.两个重要设备名称:网桥和交换机
(3)网络层 Network Layer
目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择,连接的建立,保持和终止等。它提供的服 务使传输层不需要了解网络中的数据传输和交换技术。(即是:路径选择,路由和逻辑寻址)
网络层中有众多协议 TCP/IP的核心协议--IP协议。IP协议仅仅提供不可靠,无连接的传送服务。
IP协议的主要功能:无连接数据报传输,数据报路由选择和差错控制。
与IP协议配套使用实现其功能的还有地址解析协议ARP,逆地址解析协议RARP,因特网报文协议ICMP,因特网组管理 协议IGMP。
(4)传输层 Transport Layer
第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的,可靠的或不可靠的传输。还要处 理 端到端的差错控制和流量控制问题。
传输层的任务是根据通信子网的特性,最佳的利用网络资源,为两个端系统的会话层之间,提供建立,维护和取消传 输 连接的功能,负责端到端的可靠数据传输,在该层,信息传达的协议数据单元称为段或报文。
网络层只根据网络地址将源节点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口。
重点:
a。传输层负责将上层数据分段并提供端到端的,可靠的或不可靠的传输。还要处理端到端的差错控制和流量控制问题。
b。包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协议),UDP协议(User Datagram Protocol 用户数据报协议)
c。重要设备:网关
(5)会话层
管理主机之间的会话进程,即负责建立,管理,终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的 同步。
(6)表示层
对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据 的加密,压缩,格式转换等。
(7)应用层
为操作系统或网络应用程序提供网络服务的接口。
会话层,表示层,应用层重点:
a。数据传输基本单位:报文
b。包含的主要协议:FTP(文件传送协议),Telnet(远程登录协议),DNS(域名解析协议),SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议(Hyper Text Transfer Protocol)。
3,IP地址
(1)网络地址
ip地址由网络号(包括子网号)和主机号组成,网络地址的主机号为全0,网络地址代表整个网络。
(2)广播地址
广播地址通常称为直接广播地址,是为了区分受限广播地址。
广播地址与网络地址的主机号正好相反,广播地址中,主机号为全1.当向某个网络的广播地址发送消息时,该网络内的所有主 机都能收到该广播消息。
(3)组播地址
D类地址就是组播地址。
A类地址以0开头,第一个字节作为网络号,地址范围:
0.0.0.0~127.255.255.255
B类地址以10开头,前两个字节作为网络号,地址范围:
128.0.0.0~191.255.255.255
C类地址以110开头,前三个字节作为网络号,地址范围是:
192.0.0.0~223.255.255.255
D类地址以1110开头,地址范围是:
224.0.0.0~239.255.255.255
E类地址以1111开头,是保留地址,供以后使用,地址范围是:
240.0.0.0~255.255.255.255
只有A,B,C有网络号和主机号之分。
(4)255.255.255.255
该IP地址指的是受限的广播地址。受限广播地址与一般广播地址(直接广播地址)的区别在于,受限广播地址只能用于本地网 络,路由器不会转发以受限广播地址为目的地址的分组;一般广播地址既可在本地广播,也可跨网段广播。例如:主机 192.168.1.1/30上的直接广播数据包后,另外一个网段192.168.1.5/30也能收到该数据报;若发送受限广播数据报,则不能收 到。
注:一般的广播地址(直接广播地址)能够通过某些路由器(当然不是所有的路由器),而受限的广播地址不能通过由器。
(5)0.0.0.0
常用于寻找自己的IP地址,例如在我们的RARP,BOOTP和DHCP协议中,若某个未知IP地址的无盘机想要知道自己的IP地 址,它就以255.255.255.255为目的地址,向本地范围(具体而言是被各个路由器屏蔽的范围内)的服务器发送IP请求分组。
(6)回环地址
127.0.0.0/8被用作回环地址,回环地址表示本机地址,常用于对本机的测试,用的最多的是127.0.0.1。
(7)A,B,C类私有地址
私有地址也叫专用地址,他们不会在全球使用,只具有本地意义。
A类私有地址:10.0.0.0/8,范围是:10.0.0.0~10.255.255.255
B类私有地址:172.16.0.0/12 ,范围是:172.16.0.0~172.31.255.255
C类私有地址:192.168.0.0/16,范围是:192.168.0.0~192.168.255.255
4,子网掩码及网络划分
子网掩码是标志两个IP地址是否同属于一个子网的,也是32位二进制地址,其每一个为1代表该位是网络位,为0代表主机位。它和IP地址一样也是使用点式十进制来表示的。如果两个IP地址在子网掩码的按位与的计算下所得结果相同,即表明它们共属于同一子网中。
在计算子网掩码时,我们要注意IP地址中的保留地址,即“ 0”地址和广播地址,它们是指主机地址或网络地址全为“ 0”或“ 1”时的IP地址,它们代表着本网络地址和广播地址,一般是不能被计算在内的。
子网掩码的计算:
对于无需再划分成子网的IP地址来说,其子网掩码非常简单,按照定义即可写出,如某B类IP地址为10.12.3.0,无需再分割子网,则该IP地址的子网掩码255.255.0.0 。
下面介绍一个IP地址,还需要将其高位主机位再作为划分出的子网网络号,剩下的是每个子网的主机号
(1)利用子网数来计算
在求子网掩码之前必须搞清楚要划分的子网数目,以及每个子网内的所需主机数目
a。将子网数目转化为二进制来表示:
如,将B类IP地址168.195.0.0划分成27个子网:27=11011;
b。取得该二进制的位数,为N:
N=5;
c。取得该IP地址的类子网掩码,将其主机地址部分的前N位置1即得出该IP地址划分子网的子网掩码。
将B类地址的子网掩码255.255.0.0的主机地址前5位置1,得到255.255.248.0
(2)利用主机数来算
如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:
a。将主机数目转化为二进制来表示:
700=1010111100;
b。若主机数小于等于254(注意去掉保留的两个IP地址),则取该主机的二进制位,为N,这里肯定N<8。
若大于254,即主机地址将占据不止8位。
该N=10;
c。使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N为全部置0,即为子网掩码值。
将该B类地址的子网掩码255.255.0.0的主机地址全部置1,得到255.255.255.255,然后再从后向前将后 10位置0,即 为:11111111.11111111.11111100.00000000,即255.255.252.0。这就是该欲划分成主机为700台的B类IP地址 168.195.0.0的子网掩码
(3)根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上述原则进行计算。
比如一个子网有10台主机,那么对于这个子网需要的IP地址是:
10+1+1+1=13
注意:加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。
因为13小于16(16等于2的4次方),所以主机位为4位。而256-16=240,所以该子网掩码为255.255.255.240。
如果一个子网有14台主机,不少人常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这 样就错误了,因为14+1+1+1=17,17大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。 这时子网掩码为:255.255.255.224。