(1)ICMP是网络层,UDP是传输层,FTP和HTTP是应用层 目前VPN隧道协议主要有4种:点到点隧道协议PPTP、第二层隧道协议L2TP、网络层隧道协议IPSec以及SOCKS v5协议。其中,PPTP和L2TP工作在数据链路层,IPSec工作在网络层,SOCK v5工作在会话层。
OSI参考模型各个层次的基本功能如下:
应用层:应用层也称为应用实体,一般是指应用程序,该层主要负责确定通信对象,并确保有足够的资源用于通信,常见的应用层协议有FTP、HTTP、SNMP(简单网络管理协议)、FTP(文件传送协议)、Telenet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议)。
应用协议名称 | 应用层协议 | 支撑的运输协议 |
电子邮件 | SMTP | TCP |
远程终端访问 | Telnet | TCP |
Web | HTTP | TCP |
文件传输 | FTP | TCP |
流式多媒体 | HTTP(如youTube) | TCP或UDP |
因特网电话 | SIP、RTP、或专用的(Skype) | UDP或TCP |
网络文件系统 | NFS | UDP |
简单网络管理协议 | SNMP | UDP |
主域名称系统 | DNS | UDP |
通用文件传输协议 | TFTP | UDP |
路由选择协议 | RIP | UDP |
表示层:表示层一般负责数据的编码以及转化,确保应用层的数据能够正常工作,该层是界面与二进制代码间互相转化的地方,同时该层负责进行数据额压缩、解压、加密、解密等,该层也可以根据不同应用目的将数据处理成不同的格式,表现出来就是各种各样的文件扩展名。
会话层:会话层主要负责在网络中两个节点之间建立、维护、控制回话,区分不同的会话,以及提供单工、半双工、全双工三种通信模式服务,NFS(网络文件系统)、RPC(远程过程调用)和X Window等都工作在该层。
传输层:主要负责分割、组合数据,实现端到端的逻辑连接。数据在上三层是整体,在这一层开始被分割开,这一层分割后的数据称为段。三次握手、面向连接或非面向连接的服务、流量控制等都放生在这一层。工作在传输层的一种服务是TCP/IP协议套中的TCP,另一种传输层服务是IPX/SPX协议集的SPX(序列分组交换协议),常见额传输层协议有TCP、UDP、SPX等。传输层提供了一个端到端的连接,以端口号来区分连接。
网络层:网络层作用是将网络地址翻译成物理地址,并决定如何将数据从发送方路由到接收方,主要负责管理网络地址、定位设备、决定路由,路由器工作在这一层。上层的数据在这一层分割,封装后叫做包,主要有两种,一种是用户数据包,是上层传下来的用户数据,另一种叫做路由更新包,是直接有路由器发出来的,用来和其他路由进行路由信息交换。常见的网络层协议有IP、RIP(路由信息协议)、OSPF(开放式最短路径优先)等。网络层提供了IP地址,提供IP寻址和路由。
数据链路层:数据链路层是OSI模型的第二层,控制物理层和网络层之间的通信,主要负责物理传输的准备,包括物理地址寻址、CRC校验、错误通知、网络拓扑、流量控制和重发等。MAC地址和交换机都工作与这一层,上层传下来的包在这一层被分割封装后叫做帧,常见的数据链路层协议有SDLC、STP、HDLC、tcpdump(根据使用者的定义对网络上的数据包进行截获的包分析工具)等。数据链路层提供了网络和物理层进行通讯。
物理层: 物理层是是实实在在的物理链路,规定了激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性,它的上层协议提供一个传输数据的物理媒介,负责将数据以比特流的方式发送、接收。常见的物理媒介有双绞线、同轴电缆等 。属于物理层相关的规范有EIA/TIAR-232、EIA\TIA RS-449、RJ-45等。
(2)TCP协议特点:不支持广播。提供紧急数据传递功能,当有紧急数据需要发送时优先发送紧急数据。接收方大量数据未接收时会停止发送新数据。
(3)状态行。常见格式:HTTP 版本号 状态码 原因叙述
(4)connect()方法的调用是在三次握手之中。A类IP地址共有126个。
(5) socket通信调用方法问题:客户端的connect()对应服务器端的accept()
服务器:socket();//socket要求必须绑定socket;
bind();//绑定端口和IP,这样我们才知道是那台主机;
listen();//监听,看有没有请求连接
accept();//接收请求
send()||rev();//接收和发送消息
客户端:socket();//socket要求必须绑定socket;
connect();//请求连接
(6)一个广域网和一个局域网相连,需要的设备是(网关)。
(7)
命令
subnet 166.173.197.131 netmask 255.255.255.192{
range 166.173.197.10 166.173.197.107;
default-lease-time 600;
max-lease-time 7200;
}
表示?()
解析:
subnet 设置一个子网 166.173.197.131/24
range 可分配的IP地址范围上 166.173.197.10 ~ 166.173.197.107
default-lease-time 默认租约时间
max-lease-time 最大租约时间
私有的ip地址范围:
10.0.0.0~10.255.255.255 ; 172.16.0.0~172.31.255.255 ; 192.168.0.0~192.168.255.255
末尾全为零表示一个网段,不用于单独的主机IP使用,x.x.0.1一般是路由的IP地址,末尾全为1的是广播地址,用不用于单独的IP。
IP 和子网掩码
网络位 + 主机位 ------>网络位+子网位+主机位
假设某公司有一个C类地址202.110.1.0,现将主机字段的前3位作为子网号,后5位作为主机号,这样该公司最多可划分8(23)个子网,每个子网有30(25-2)个主机地址可以分配。
子网数=2x个(X=借位数)
主机数=2y-2个(Y=主机位)
A 类 IP 段 0.0.0.0 到 127.255.255.255 (0 段和 127 段不使用 )
B 类 IP 段 128.0.0.0 到 191.255.255.255
C 类 IP 段 192.0.0.0 到 223.255.255.255
XP 默认分配的子网掩码每段只有 255 或 0
A 类的默认子网掩码 255.0.0.0 一个子网最多可以容纳 1677 万多台电脑
B 类的默认子网掩码 255.255.0.0 一个子网最多可以容纳 6 万台电脑
C 类的默认子网掩码 255.255.255.0 一个子网最多可以容纳 254 台电脑
我们必须有一个子网掩码,因为:
1 )当配置 IP 时,所有计算机都必须填写子网掩码
2 )我们必须在我们的网络中设置一些逻辑边界
3 )我们必须至少输入所使用 IP 类的默认子网掩码
我以前认为,要想把一些电脑搞在同一网段,只要 IP 的前三段一样就可以了,今天,我才知道我错了。如果照我这样说的话,一个子网就只能容纳 254 台电脑?真是有点笑话。我们来说详细看看吧。
要想在同一网段,只要网络标识相同就可以了,那要怎么看网络标识呢?首先要做的是把每段的 IP 转换为二进制。(有人说,我不会转换耶,没关系,我们用 Windows 自带计算器就行。打开计算器,点查看 > 程序员,输入十进制的数字,再点一下“二进制”这个单选点,就可以切换至二进制了。)
把子网掩码切换至二进制,我们会发现,所有的子网掩码是由一串连续的 1 和一串连续的 0 组成的(一共 4 段,每段 8 位,一共 32 位数)。
255.0.0.0 11111111.00000000.00000000.00000000
255.255.0.0 11111111.11111111.00000000.00000000
255.255.255.0 11111111.11111111.11111111.00000000
这是 A/B/C 三类默认子网掩码的二进制形式,其实,还有好多种子网掩码,只要是一串连续的 1 (不少于 8 个)和一串连续的 0 就可以了(每段都是 8 位)。如 11111111.11111111.11111000.00000000 ,这也是一段合法的子网掩码。子网掩码决定的是一个子网的计算机数目,计算机公式是 2 的 m 次方,其中,我们可以把 m 看到是后面的多少个 0 。如 255.255.255.0 转换成二进制,那就是11111111.11111111.11111111.00000000 ,后面有 8 个 0 ,那 m 就是 8 , 255.255.255.0 这个子网掩码可以容纳 2 的 8 次方(台)电脑,也就是 256 台,但是有两个 IP 是不能用的,那就是最后一段不能为 0 和 255 ,减去这两台,就是 254 台。
划分方法
子网的划分,实际上就是设计子网掩码的过程。子网掩码主要是用来区分 IP 地址中的网络 ID 和主机 ID ,它用来屏蔽 IP 地址的一部分,从 IP 地址中分离出网络 ID 和主机 ID. 子网掩码是由 4 个十进制数组成的数值 " 中间用 "." 分隔,如 255.255.255.0 。若将它写成二进制的形式为 :11111111.11111111.11111111.00000000 ,其中为 "1" 的位分离出网络 ID, 为 "0" 的位分离出主机 ID ,也就是通过将 IP 地址与子网掩码进行 " 与 " 逻辑操作,得出网络号。
例如,假设 IP 地址为 192.160.4.1 ,子网掩码为 255.255.255.0 ,则网络 ID 为 192.160.4.0, 主机 ID 为 0.0.0.1 。计算机网络 ID 的不同,则说明他们不在同一个物理子网内,需通过路由器转发才能进行数据交换。
每类地址具有默认的子网掩码 : 对于 A 类为 255.0.0.0 ,对于 B 类为 255.255.0.0 ,对于 C 类为 255.255.255.0 。除了使用上述的表示方法之外,还有使用子网掩码中 "1" 的位数来表示的,在默认情况下, A 类地址为 8 位, B 类地址为 16 位, C 类地址为 24 位。例如, A 类的某个地址为 12.10.10.3/8 ,这里的最后一个 "8" 说明该地址的子网掩码为 8 位,而 199.42.26.0/28 表示网络 199.42.26.0 的子网掩码位数有 28 位。
如果希望在一个网络中建立子网,就要在这个默认的子网掩码中加入一些位,它减少了用于主机地址的位数。加入到掩码中的位数决定了可以配置的子网。因而,在一个划分了子网的网络中,每个地址包含一个网络地址、一个子网位数和一个主机地址
示例
255.255.248.0 这个子网掩码可以最多容纳多少台电脑?
计算方法
把将其转换为二进制的四段数字(每段要是 8 位,如果是 0 ,可以写成 8 个 0 ,也就是 00000000 )
11111111.1111111.11111000.00000000
然后,数数后面有几颗 0 ,一共是有 11 颗,那就是 2 的 11 次方,等于 2048 ( 注意:主机号中全 0 是保留地址,全 1 是广播地址,所以它们不算可用主号地址。网络号也是一样的。子网号是可以用全 0 和全 1 的 ) ,所以这个子网掩码最多可以容纳 2048-2=2046 台电脑。
一个子网最多可以容纳多少台电脑你会算了吧,下面我们来个逆向算法的题。
一个公司有 530 台电脑,组成一个对等局域网,子网掩码设多少最合适?
首先,无疑, 530 台电脑用 B 类 IP 最合适( A 类不用说了,太多, C 类又不够,肯定是 B 类),但是 B 类默认的子网掩码是255.255.0.0 ,可以容纳 6 万台电脑,显然不太合适,那子网掩码设多少合适呢?我们先来列个公式。
公式
2 的 m 次方 >=560
首先,我们确定 2 的 m 次方一定是大于 2 的 8 次方的,因为我们知道 2 的 8 次方是 256 ,也就是 C 类 IP 的最大容纳电脑的数目,我们从 9 次方一个一个试, 2 的 9 次方是 512 ,不到 560 , 2 的 10 次方是 1024 ,看来 2 的 10 次方最合适了。子网掩码一共由 32 位组成,已确定后面 10 位是 0 了,那前面的 22 位就是 1 ,最合适的子网掩码就是: 11111111.11111111.11111100.00000000 ,转换成 10进制,那就是 255.255.252.0 。
分配和计算子网掩码你会了吧,下面,我们来看看 IP 地址的网段。
相信好多人都和我一样,认为 IP 只要前三段相同,就是在同一网段了,其实,不是这样的,同样,我也把 IP 的每一段转换为一个二进制数,这里就拿 IP : 192.168.0.1 ,子网掩码: 255.255.255.0 做实验吧。
192.168.0.1 -》 11000000.10101000.00000000.00000001
(这里说明一下,和子网掩码一样,每段 8 位,不足 8 位的,前面加 0 补齐。)
IP 11000000.10101000.00000000.00000001
子网掩码 11111111.11111111.11111111.00000000
同一网段
在这里,向大家说一下到底怎么样才算同一网段。
要想在同一网段,必需做到网络标识相同,那网络标识怎么算呢?各类 IP 的网络标识算法都是不一样的。 A 类的,只算第一段。 B 类,只算第一、二段。 C 类,算第一、二、三段。
算法只要把 IP 和子网掩码的每位数 AND 就可以了。
AND 方法: 0 和 1=0 0 和 0=0 1 和 1=1
如: And 192.168.0.1 , 255.255.255.0 ,先转换为二进制,然后 AND 每一位
IP 11000000.10101000.00000000.00000001
子网掩码 11111111.11111111.11111111.00000000
得出 AND 结果 11000000.10101000.00000000.00000000
转换为十进制 192.168.0.0 ,这就是网络标识,
再将子网掩码反取,也就是 00000000.00000000.00000000.11111111 ,与 IP AND
得出结果 00000000.00000000.00000000.00000001 ,转换为 10 进制,即 0.0.0.1 ,
这 0.0.0.1 就是主机标识。要想在同一网段,必需做到网络标识一样。
我们再来看看这个改为默认子网掩码的 B 类 IP
如 IP : 188.188.0.111 , 188.188.5.222 ,子网掩码都设为 255.255.254.0 ,在同一网段吗?
先将这些转换成二进制
188.188.0.111 10111100.10111100.00000000.01101111
188.188.5.222 10111100.10111100.00000101.11011110
255.255.254.0 11111111.11111111.11111110.00000000
分别 AND ,得
10111100.10111100.00000000.00000000
10111100.10111100.00000100.00000000
网络标识不一样(看 255.255.254.0 转换成二进制后 1 的数位,所以可以看到不一样),即不在同一网段。
一个公司有 530 台电脑,组成一个对等局域网,子网掩码和 IP 设多少最合适?
子网掩码不说了,前面算出结果来了 11111111.11111111.11111100.00000000 ,也就是 255.255.252.0
B 类地址
选一个 B 类 IP 段,这里就选 188.188.x.x 吧
这样, IP 的前两段确定的,关键是要确定第三段,只要网络标识相同就可以了。我们先来确定网络号。(我们把子网掩码中的 1 和 IP中的 ? 对就起来, 0 和 * 对应起来,如下:)
255.255.252.0 11111111.11111111.11111100.00000000
188.188.x.x 10111100.10111100.??????**.********
网络标识 10111100.10111100.??????00.00000000
由此可知, ? 处随便填(只能用 0 和 1 填,不一定全是 0 和 1 ),我们就用全填 0 吧, * 处随便,这样呢,我们的 IP 就是
10111100.10111100.000000**.******** ,一共有 530 台电脑, IP 的最后一段 1 ~ 254 可以分给 254 台计算机, 530/254=2.086 ,采用进 1 法,得整数 3 ,这样,我们确定了 IP 的第三段要分成三个不同的数字,也就是说,把 000000** 中的 ** 填三次数字,只能填 1 和 0,而且每次的数字都不一样,至于填什么,就随我们便了,如 00000001 , 00000010 , 00000011 ,转换成十进制,分别是 1 , 2 ,3 ,这样,第三段也确定了,这样,就可以把 IP 分成 188.188.1.y , 188.188.2.y , 188.188.3.y , y 处随便填,只要在 1 ~ 254 范围之内,并且这 530 台电脑每台和每台的 IP 不一样,就可以了。
有人也许会说,既然算法这么麻烦,干脆用 A 类 IP 和 A 类默认子网掩码得了,偶要告诉你的是,由于 A 类 IP 和 A 类默认子网掩码的主机数目过大,这样做无疑是大海捞针,如果同时局域网访问量过频繁、过大,会影响效率的,所以,最好设置符合自己的 IP 和子网掩码