网络中的iso七层模型

(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 版本号 状态码 原因叙述 。状态码200正常,404找不到,500服务器端错误,302/307临时重定向:指出被请求的文档已被临时移动到别处,此文档的新的URL 在 Location 响应头中给出,304未修改:客户端的缓存是最新的可以继续使用,403服务器权限限制不允许传给客户端。

(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 和子网掩码

你可能感兴趣的:(网络中的iso七层模型)