第八周作业
1、简述osi七层模型和TCP/IP五层模型
OSI七层示意图
OSI七层模型示意图.gif
OSI七层和TCP/IP五层以及对应网络设备对比示例图
OSI七层和TCP:IP五层以及对应网络设备对比示例图.jpeg
物理层
在OSI参考模型中,物理层(Physical Layer)是参考模型的最低层,也是OSI模型的第一层。
物理层的主要功能是:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。
物理层的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。使其上面的数据链路层不必考虑网络的具体传输介质是什么。“透明传送比特流”表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说,这个电路好像是看不见的。
数据链路层
数据链路层(Data Link Layer)是OSI模型的第二层,负责建立和管理节点间的链路。该层的主要功能是:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。
在计算机网络中由于各种干扰的存在,物理链路是不可靠的。因此,这一层的主要功能是在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质传输数据的方法。
该层通常又被分为介质访问控制(MAC)和逻辑链路控制(LLC)两个子层。
MAC子层的主要任务是解决共享型网络中多用户对信道竞争的问题,完成网络介质的访问控制;
LLC子层的主要任务是建立和维护网络连接,执行差错校验、流量控制和链路控制。
数据链路层的具体工作是接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层;并且,还负责处理接收端发回的确认帧的信息,以便提供可靠的数据传输。
网络层
网络层(Network Layer)是OSI模型的第三层,它是OSI参考模型中最复杂的一层,也是通信子网的最高一层。它在下两层的基础上向资源子网提供服务。其主要任务是:通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。具体地说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备。
一般地,数据链路层是解决同一网络内节点之间的通信,而网络层主要解决不同子网间的通信。例如在广域网之间通信时,必然会遇到路由(即两节点间可能有多条路径)选择问题。
在实现网络层功能时,需要解决的主要问题如下:
寻址:数据链路层中使用的物理地址(如MAC地址)仅解决网络内部的寻址问题。在不同子网之间通信时,为了识别和找到网络中的设备,每一子网中的设备都会被分配一个唯一的地址。由于各子网使用的物理技术可能不同,因此这个地址应当是逻辑地址(如IP地址)。
交换:规定不同的信息交换方式。常见的交换技术有:线路交换技术和存储转发技术,后者又包括报文交换技术和分组交换技术。
路由算法:当源节点和目的节点之间存在多条路径时,本层可以根据路由算法,通过网络为数据分组选择最佳路径,并将信息从最合适的路径由发送端传送到接收端。
连接服务:与数据链路层流量控制不同的是,前者控制的是网络相邻节点间的流量,后者控制的是从源节点到目的节点间的流量。其目的在于防止阻塞,并进行差错检测。
传输层
OSI下3层的主要任务是数据通信,上3层的任务是数据处理。而传输层(Transport Layer)是OSI模型的第4层。因此该层是通信子网和资源子网的接口和桥梁,起到承上启下的作用。
该层的主要任务是:向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输。传输层的作用是向高层屏蔽下层数据通信的细节,即向用户透明地传送报文。该层常见的协议:TCP/IP中的TCP协议、Novell网络中的SPX协议和微软的NetBIOS/NetBEUI协议。
传输层提供会话层和网络层之间的传输服务,这种服务从会话层获得数据,并在必要时,对数据进行分割。然后,传输层将数据传递到网络层,并确保数据能正确无误地传送到网络层。因此,传输层负责提供两节点之间数据的可靠传送,当两节点的联系确定之后,传输层则负责监督工作。综上,传输层的主要功能如下:
传输连接管理:提供建立、维护和拆除传输连接的功能。传输层在网络层的基础上为高层提供“面向连接”和“面向无接连”的两种服务。
处理传输差错:提供可靠的“面向连接”和不太可靠的“面向无连接”的数据传输服务、差错控制和流量控制。在提供“面向连接”服务时,通过这一层传输的数据将由目标设备确认,如果在指定的时间内未收到确认信息,数据将被重发。
监控服务质量。
会话层
会话层(Session Layer)是OSI模型的第5层,是用户应用程序和网络之间的接口,主要任务是:向两个实体的表示层提供建立和使用连接的方法。将不同实体之间的表示层的连接称为会话。因此会话层的任务就是组织和协调两个会话进程之间的通信,并对数据交换进行管理。
用户可以按照半双工、单工和全双工的方式建立会话。当建立会话时,用户必须提供他们想要连接的远程地址。而这些地址与MAC(介质访问控制子层)地址或网络层的逻辑地址不同,它们是为用户专门设计的,更便于用户记忆。域名(DN)就是一种网络上使用的远程地址例如:www.3721.com就是一个域名。会话层的具体功能如下:
会话管理:允许用户在两个实体设备之间建立、维持和终止会话,并支持它们之间的数据交换。例如提供单方向会话或双向同时会话,并管理会话中的发送顺序,以及会话所占用时间的长短。
会话流量控制:提供会话流量控制和交叉会话功能。
寻址:使用远程地址建立会话连接。l
出错控制:从逻辑上讲会话层主要负责数据交换的建立、保持和终止,但实际的工作却是接收来自传输层的数据,并负责纠正错误。会话控制和远程过程调用均属于这一层的功能。但应注意,此层检查的错误不是通信介质的错误,而是磁盘空间、打印机缺纸等类型的高级错误。
表示层
表示层(Presentation Layer)是OSI模型的第六层,它对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层。其主要功能是“处理用户信息的表示问题,如编码、数据格式转换和加密解密”等。表示层的具体功能如下:
数据格式处理:协商和建立数据交换的格式,解决各应用程序之间在数据格式表示上的差异。
数据的编码:处理字符集和数字的转换。例如由于用户程序中的数据类型(整型或实型、有符号或无符号等)、用户标识等都可以有不同的表示方式,因此,在设备之间需要具有在不同字符集或格式之间转换的功能。
压缩和解压缩:为了减少数据的传输量,这一层还负责数据的压缩与恢复。
数据的加密和解密:可以提高网络的安全性。
应用层
应用层(Application Layer)是OSI参考模型的最高层,它是计算机用户,以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作。它在其他6层工作的基础上,负责完成网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系,并完成网络用户提出的各种网络服务及应用所需的监督、管理和服务等各种协议。此外,该层还负责协调各个应用程序间的工作。
应用层为用户提供的服务和协议有:文件服务、目录服务、文件传输服务(FTP)、远程登录服务(Telnet)、电子邮件服务(E-mail)、打印服务、安全服务、网络管理服务、数据库服务等。上述的各种网络服务由该层的不同应用协议和程序完成,不同的网络操作系统之间在功能、界面、实现技术、对硬件的支持、安全可靠性以及具有的各种应用程序接口等各个方面的差异是很大的。应用层的主要功能如下:
用户接口:应用层是用户与网络,以及应用程序与网络间的直接接口,使得用户能够与网络进行交互式联系。
实现各种服务:该层具有的各种应用程序可以完成和实现用户请求的各种服务。
2、总结描述TCP三次握手和四次挥手
image.pngTCP三次握手
第一次:Client发送一个SYN段指明Client打算连接的Server的端口,以及初始序号seq
第二次:Server发回包含Server的初始序号的SYN报文段作为应答。同时,将确认序号ACK设置为Client的seq+1以对Client的SYN报文段进行确认。一个SYN将占用一个序号
第三次:Client必须讲确认序号ACK设置为Server的初始序号SYN+1以对Server的SYN报文段进行确认
TCP四次挥手
第一次:Client发送一个FIN段序号seq以及确认断开连接的ACK
第二次:Server收到Client的FIN和ACK后,返回一个Client的FIN序号seq+1的ACK段
第三次:同时Server还向Client发送一个FIN段序号seq
第四次:Client收到Server的FIN段的seq返回给Server一个确认的ACK的序号seq+1
3、描述TCP和UDP的区别
- 基于连接与无连接;
- 对系统资源的要求(TCP较多,UDP少);
- UDP程序结构较简单;
- 流模式与数据报模式 ;
- TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。
4、总结ip分类以及每个分类可以分配的IP数量
IP分类
网络中的每一个主机或路由器至少有一个ip地址;
在Internet中不允许有两个设备具有同样的IP地址;
IP地址采用分层结构;
image.png
IP地址是由网络号(net ID)与主机号(host ID)两部分组成的。
IP地址长度为32位,点分十进制(dotted decimal)地址;
采用x.x.x.x的格式来表示,每个x为8位,每个x的值为0~255(例如 202.113.29.119);
根据不同的取值范围,IP地址可以分为五类;
IP地址中的前5位用于标识IP地址的类别:
A类地址的第一位为0;
B类地址的前两位为10;
C类地址的前三位为110;
D类地址的前四位为1110;
E类地址的前五位为11110。
IP地址根据网络号和主机号来分,分为A、B、C三类及特殊地址D、E。全0和全1的都保留不用。
A类:(1.0.0.0-126.0.0.0)(默认子网掩码:255.0.0.0或 0xFF000000)第一个字节为网络号,后三个字节为主机号。该类IP地址的最前面为“0”,所以地址的网络号取值于1~126之间。一般用于大型网络。
定义:第1字节为网络地址,其它3个字节为主机地址
范围:1.0.0.1 - 126.255.255.254
数量:允许有126个网段,每个网段允许有16777214台主机
子网掩码:255.0.0.0
私有地址:10.X.X.X是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址),范围10.0.0.1-10.255.255.254
保留地址:127.X.X.X是保留地址,也是本机地址,等效于localhost或本机IP。一般用于测试使用。例如:ping 127.0.0.1来测试本机TCP/IP是否正常。
B类:(128.0.0.0-191.255.0.0)(默认子网掩码:255.255.0.0或0xFFFF0000)前两个字节为网络号,后两个字节为主机号。该类IP地址的最前面为“10”,所以地址的网络号取值于128~191之间。一般用于中等规模网络。
定义:第1字节和第2字节为网络地址,其它2个字节为主机地址
范围:128.0.0.1 - 191.255.255.254
数量:允许有16384个网段,每个网段允许有65534台主机
子网掩码:255.255.0.0
私有地址:172.16.0.0 - 172.31.255.255是私有地址
保留地址:169.254.X.X是保留地址。如果你的IP地址是自动获取IP地址,而你在网络上又没有找到可用的DHCP服务器。就会得到其中一个IP
C类:(192.0.0.0-223.255.255.0)(子网掩码:255.255.255.0或 0xFFFFFF00)前三个字节为网络号,最后一个字节为主机号。该类IP地址的最前面为“110”,所以地址的网络号取值于192~223之间。一般用于小型网络。
定义:第1字节、第2字节和第3个字节为网络地址,第4个个字节为主机地址。另外第1个字节的前三位固定为110
范围:192.0.0.1 - 223.255.255.254
数量:允许有2097152个网段,每个网段允许有254台主机
子网掩码:255.255.255.0
私有地址:192.168.X.X是私有地址。(192.168.0.0 - 192.168.255.255)
D类:是多播地址。该类IP地址的最前面为“1110”,所以地址的网络号取值于224~239之间。一般用于多路广播用户。
定义:不分网络地址和主机地址,它的第1个字节的前四位固定为1110
范围:224.0.0.1 - 239.255.255.254
E类:是保留地址。该类IP地址的最前面为“1111”,所以地址的网络号取值于240~255之间。
定义:不分网络地址和主机地址,它的第1个字节的前五位固定为11110
范围:240.0.0.1 - 255.255.255.254
无类域间路由
CIDR表示方法:IP地址/网络ID的位数(网段的划分更加灵活)
子网掩码:子网掩码的作用,就是将某个IP地址划分成网络地址和主机地址两部分。子网掩码是一个32位地址,用于屏蔽IP地址的一部分,并说明该IP地址是在局域网上,还是在远程网上,具体方法待会儿再讲。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码的二进制格式中的网络位全为1。这样二进制格式的子网掩码和二进制的IP地址进行“与”运算,可以得出该IP地址的网络位。
允许的子网掩码的值:
10000000-128;11000000-192;11100000-224;11110000-240;
11111000-248;11111100-252;11111110-254;11111111-255;
最小IP:主机ID不能全为0,全为0表示网络ID
最大IP:主机ID不能全为1,全为1表示本地广播
CIDR技术用子网掩码中连续的1部份表示网络ID,连续的0部份表示主机ID。比如,网络中包含2000台计算机,只需要用11位表示 主机ID,用21位表网络ID,则子网掩码表示11111111.11111111.11111000.00000000,转换为十进制则为 255.255.248.0。此时,该网络将包含2046台计算机,既不会造成IP地址的浪费,也不会利用路由器连接网络,增加额外的管理维护量。
划分子网
将一个大网络(主机ID位多)划分多个小的网络(主机ID位少),网络ID向主机ID借位,络ID变多,主机ID变少(划分子网,会减少可用IP地址)
注意:由于人们习惯了将IP地址分成,四段十进制的表示格式,所以,借过位的IP地址,依然是四段。例如:12.100.100.100/8;表示该IP的子网掩码有8位。该IP的二进制表示格式为:00001010.01100100.00000000.00000000/11111111.00000000.00000000.00000000
即该IP的网络位(二进制)为:00001010.00000000.00000000.00000000
即该IP的网络位(十进制)为:12.0.0.0
如果将该网络划分成4个子网,那么就需要借2个主机位作为网络位来使用,具体方法为:
00000000.00-000000.00000000.00000000(前面的黑色部分为网络位)
第一个子网的网络位为(二进制):00001010.00-000000.00000000.00000000(第一个网段,即借来的网络位全为0)
第一个子网的网络位为(十进制):12.0.0.0
最后一个子网的网络位为(二进制):00001010.11-000000.00000000.00000000(最后一个网段,即借来的网络位全为1)
最后一个子网的网络位为(十进制):12.192.0.0
划分超网
将多个小网合并一个大网,主机ID向网络ID借位(找共同点)
公式:
1、主机数=2^主机ID位-2
2、网络数=2^可变的网络ID位
3、网络ID=IP和netmask 相与
4、划分子网数=2^网络ID向主机ID借的位数
5、划分子网损失IP数=2*(划分子网数-1)(因为每段子网中的第一个IP地址用来表示网络位,而最后一个IP地址都被用来表示本网段中的广播。)
5、总结IP配置方法
IP配置可分为动态分配和静态指定
动态分配需要DHCP服务支持。DHCP: Dynamic Host Configuration Protocol
image.png
静态指定可通过写入配置文件或者命令和程序来指定IP地址。
临时生效
ifconfig
# 禁用eth1网卡
ifconfig eth1 down
# 配置IP地址
ifconfig eth1 192.168.1.125/24
# 清除IP地址
ifconfig eth1 0.0.0.0
# 保留原地址虚拟一个新的IP地址2
ifconfig eth1:2 192.168.1.126/24
# 删除虚拟的地址2
ifconfig eth1:2 down
IP
# 修改网卡名为ens33的IP地址为192.168.232.100
ip addr add 192.168.232.100/24 dev ens33
# 保留原地址虚拟一个新的IP地址2(ip addr add 缩写为ip a a)
ip a a 192.168.232.101/24 dev ens33 label ens33:2
# 删除一个ens33上的10.10.10.10的IP地址
ip a d 10.10.10.10/24 dev ens33
# 清除ens33上的所有IP地址
ip a f dev eth1
永久生效
写入配置文件路径:/etc/sysconfig/network-scripts/ifcfg-IFACE
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
TYPE="Ethernet"
UUID="d4b08613-a281-4687-8c3d-c0279091ce38"
BOOTPROTO="dhcp"
BROWSER_ONLY="no"
DEFROUTE="yes"
IPADDR=192.168.232.129
NETMASK=255.255.255.0
GATEWAY=192.168.232.1
DNS1=223.5.5.5
DNS2=223.6.6.6
配置文件说明:
NAME:图形界面的网卡名
DEVICE:此配置文件应用到的设备
ONBOOT:在系统引导时是否激活此设备
TYPE:接口类型;常见有的Ethernet, Bridge
UUID:设备的惟一标识
BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp
IPADDR:指明IP地址
PREFIX:以CIDR表示表示子网掩码如255.255.255.0就可以写成24
NETMASK:子网掩码
GATEWAY: 默认网关
DNS1:第一个DNS服务器指向
DNS2:第二个DNS服务器指向
HWADDR:对应的设备的MAC地址
NM_CONTROLLED:NM是NetworkManager的简写,此网卡是否接受NM控制;建议CentOS6为“no”
USERCTL:普通用户是否可控制此设备
PEERDNS:如果BOOTPROTO的值为“dhcp”,YES将允许dhcp server分配的dns服务器信息直接覆盖至/etc/resolv.conf文件,NO不允许修改resolv.conf