1、简述OSI七层模型和TCP/IP五层模型
OSI七层模型:
应用层:用户能看到的层,是一些常见的应用程序
表示层:应用层的数据首先会经过该层,为这些数据提供数据转换类的服务,例如:加密与解密、图片的编码和解码、数据的压缩和解压缩
会话层:建立连接并提供访问验证和会话管理
传输层:提供程序之间的逻辑通信,主要协议TCP、UDP、SPX、进程、socket。数据到了传输层将被封装成数据报或者数据段
网络层:为数据在节点之间创建逻辑链路,并分组转发数据。数据到达网络层后,要添加源IP和目标IP,继续封装成数据包
数据链路层:在通信的实体间建立数据链路连接,封装了IP地址的数据包到达数据链路层会继续封装源MAC和目标MAC为数据帧
物理层:为数据端设备提供原始比特流的传输,数据帧到了物理层会被转换为二进制数据,也成为bit位数据
TCP/IP五层模型:
应用层:对应osi七层模型中的上三层,运行着HTTP协议、DNS协议、FTP等协议
传输层:TCP和UDP协议,指定通信端口,使源主机和目标主机进行会话
网络层:网络互连层是整个TCP/IP协议栈的核心。它的功能是把分组发往目标网络或主机,包含ARP、IP、ICMP等协议
网络接口层:提供给其上层-网络互连层一个访问接口,以便在其上传递IP分组,该层协议包含点对点的PPP协议和以太网帧中继等协议
OSI七层模型注重的是模型本身,可以很详细的解析网络的运作。TCP/IP协议分层更注重的是协议,通过分析每层使用的协议,可以比较清晰的理解各层的作用。
2、总结描述TCP三次握手四次挥手
三次握手:
第一次握手:Client发送SYN=1 seq=x 包到服务器,进入SYN_SEND状态,等待Server确认。
第二次握手:Server收到Client发送数据包后,由SYN=1确认Client是要请求建立连接,Server需要给Client确认,确认包中ACK和SYN都标志为1,已经收到了Client端序号为x的包,下次请发送x+1
的包,ack=x+1,seq=y,发送完ACK+SYN包后,进入SYN-RECV状态
第三次握手:Client收到Server的ACK+SYN包,检查ACK是否为1,ack是否为x+1,如果正确将发送ACK=1,ack=y+1的包给Server。Server检查ACK是否为1,ack是否为y+1,如果正确则连接建立成功。
Client和Server进入ESTABLISHED状态,完成三次握手,开始传输数据。
四次挥手:
第一次挥手:Client发送FIN=1 seq=u的数据包给Server,请求关闭与Server的数据传送,Client会进入FIN-WAIT1状态。
第二次挥手:Server收到FIN后,会回复一个ACK=1 ack=u+1 seq=v的数据包给Client,Server 进入CLOSE_WAIT状态。
第三次挥手:Server再发送FIN=1 ACK=1 seq=w ack=u+1的数据包给Client,用来关闭与Client的数据传送,Server进入LAST_ACK状态。
第四次挥手:Client收到FIN后,确认ACK=1 ack=u+1,正确,则回复Server ACK=1 seq=u+1 ack=w+1,Server进入CLOSED状态,完成四次挥手。
3、描述TCP和UDP区别
TCP 和 UDP 都是工作在传输层
TCP 是面向连接协议,通讯之前需要建立连接。UDP 是非面向连接协议,即发送数据之前不用建立连接
TCP 在数据传输时,有错误检查、数据打包排序、确认、重传、流量控制、滑动窗口、拥塞控制等机制。UDP 没有这些特性,是一个无状态的传输协议,所以传输性能高
TCP 首部开销20字节,UDP 首部开销8字节
TCP 连接点对点,UDP 支持多对多
TCP 的逻辑通信信道是全双工的可靠信道,UDP 则是不可开信道
**
4、总结ip分类以及每个分类可以分配的IP数量
**
IPv4地址由32位二进制组成,Internet委员会定义了5种IP地址类型,根据网络位划分
网络地址最高位为0,为A类:
二进制表现形式是:0 0000000.00000000.00000000.00000000 - 0 1111111.11111111.11111111.11111111
转换为十进制表现形式为:0.0.0.0-127.255.255.255
其中0.0.0.0和127.0.0.0两个网段为保留地址,有特殊含义,不能分配给其他设备,所以A类地址范围是:1.0.0.0-126.255.255.255
主机为全为0,代表的是此类IP的网段,主机位全为1,表示此网段的广播地址,所以要去掉,最终的范围是:1.0.0.1-126.255.255.254
合法地址数量:第一个字节为网络位,后三个字节为主机位,那么每个网段合法地址为256256256-2=16777214
网络地址最高位为10,为B类:
同理,10 000000.00000000.00000000.00000000 - 10 111111.11111111.11111111.11111111
去掉网段和广播地址,最终的B类范围是:128.0.0.1-192.255.255.254
合法地址数量:前两个字节为网络位,后两个字节为主机位,每个网段合法地址为256*256-2=65,5364
网络地址最高位为110,为C类:
110 00000.00000000.00000000.00000000 - 110 11111.11111111.11111111.11111111
去掉网段和广播地址,最终的C类范围是:192.0.0.1-223.255.255.254
合法地址数量:前三个字节为网络位,后一个字节为主机位,每个网段合法地址为256-2=254
网络地址最高位为1110,为D类:
1110 0000.00000000.00000000.00000000 - 1110 1111.11111111.11111111.11111111
224.0.0.1-239.255.255.254 组播地址
网络地址最高位为11110,为E类:
240-255 ,保留未使用
5、总结IP配置方法
临时配置方法:
ifconfig命令:ifconfig eth0 192.168.1.1/24
ip命令:ip address add 192.168.1.1/24 dev eth0
永久生效方法:
需更改配置文件/etc/sysconfig/network-scripts/ifcfg-eth0,此文件是一个脚本,文件命名必须遵守 ifcfg- 开头,其中主要几个变量如下:
DEVICE=eth0
IPADDR=192.168.1.2
PREFIX=24 | NETMASK=255.255.255.0
GATEWAY=192.168.1.1