1、简述osi七层模型和TCP/IP五层模型
osi七层模型:
物理层:二进制传输,为启动、维护以及关闭物理链路定义了电气规范、机械规范、过程规范和功能规范。
数据链路层:访问介质,定义如何格式化数据以便进行传输以及如何控制对网络的访问,支持错误检测。
网络层:数据传输,路由数据包,选择传递数据的最佳路径,支持逻辑寻址和路径选择。
传输层:确保数据传输的可靠性,建立、维护和终止虚拟电路,通过错误检测和恢复,信息流控制来保证可靠性。
会话层:主机间通信,建立、管理和终止在应用程序之间的会话。
表示层:数据表示,确保接受系统可以读出该数据,格式化数据,构建数据,协商用于应用层的数据传输语法,提供加密。
应用层:网络进程访问应用层,为应用程序进程(电子邮件、文件传输等)提供网络服务,提供用户身份验证。
TCP/IP五层模型:
应用层:应用层生成了数据。
传输层:将应用层的数据添加了TCP或UDP包头,生成了数据段。
网络层:将数据段进一步封装IP包头,称为报文或者IP包。
数据链路层:将包进一步封装成帧,指明目标主机的MAC地址。
物理层:以数字信号进行传输,单位为比特(Bit)
2、总结描述TCP三次握手四次挥手
TCP三次握手:建立虚连接
- 客户端发送SYN包到服务器,进入SYN_SENT状态,等待服务器确认。
- 服务端收到SYN包,确认客户,并发送ACK包,同时自己也发送一个SYN包,服务器进入SYN_RECV状态。
- 客户端收到服务端的SYN+ACK包,确认服务端,向服务端发送ACK包,发送完毕后,客户端和服务端进入ESTABLISHED状态(TCP链接成功),完成三次握手
TCP四次挥手:断开虚连接
- 客户端完成数据传输,需要断开,向服务器端发送FIN包,客户端进入FIN-WAIT-1
- 服务端收到FIN包,向客户端发送一个ACK,然后将剩余的数据继续发送给客户端,服务端进入CLOSE_WAIT,客户端进入FIN-WAIT-2
- 剩余的数据发送完成了,再向客户端发送FIN包,表示数据已经全部发送,可以彻底关闭连接,服务端进入LAST_ACK
- 客户端收到FIN包后,向服务端发送ACK包,然后断开连接。进入TIME_WAIT,2MSL(去向ACK消息最大存活时间(MSL) + 来向FIN消息的最大存活时间(MSL))后关闭。
3、描述TCP和UDP区别
TCP:
- 工作在传输层
- 面向连接协议
- 提供可靠的网络访问
- 全双工协议
- 错误检查
- 将数据打包成段,排序
- 确认机制
- 数据恢复,重传
- 流量控制,滑动窗口
- 拥塞控制,慢启动和拥塞避免算法
UDP:
- 工作在传输层
- 非面向连接协议
- 提供不可靠的网络访问
- 有限的错误检查
- 传输性能高
- 无数据恢复特性
4、总结ip分类以及每个分类可以分配的IP数量
A类地址:
1.0.0.0-126.255.255.255
每个网络中的可分配的数量:2^24-2
默认子网掩码:255.0.0.0
私网地址:10.0.0.0
B类地址:
128.0.0.0-191.255.255.255
每个网络中的可分配的数量:2^16-2
默认子网掩码:255.255.0.0
私网地址:172.16.0.0-172.31.0.0
C类地址:
192.0.0.0-223.255.255.255
每个网络中的可分配的数量:2^8-2
默认子网掩码:255.255.255.0
私网地址:192.168.0.0-192.168.255.0
D类地址:组播
224.0.0.0-239.255.255.255
224.0.0.1特指所有主机
224.0.0.2特指所有路由器。
224.0.0.5指OSPF路由器
地址多用于一些特定的程序以及多媒体程序
E类地址:未使用
240.0.0.0-255.255.255.254
特殊地址:
0.0.0.0:表示所有不清楚的主机和目的网络
255.255.255.255:限制广播地址,对本机来说,这个地址指本网段内(同一广播域)的所有主机
127.0.0.1-127.255.255.254:本机回环地址,主要用于测试。
169.254.x.x:如果Windows主机使用了DHCP自动分配IP地址,而又无法从DHCP服务器获取地址,系统会为主机分配这样地址。
5、总结IP配置方法
静态指定:
- ifconfig:配置临时ip地址,重启失效
ifconfig IFACE IP netmask NETMASK ifconfig IFACE IP/MASK [up|down]
- ip: 重启失效
ip addr add IFADDR dev IFACE
- system-config-network-tui,setup:通过图形界面修改网卡地址,重启后依然生效
- 配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE
通过修改/etc/sysconfig/network-scripts/ifcfg-IFACE文件配置ip地址。会与NetworkManager服务有冲突,通过手动修改文件建议关闭NetworkManager服务。
DEVICE:此配置文件应用到的设备
HWADDR:对应的设备的MAC地址
BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp
NM_CONTROLLED:NM是NetworkManager的简写,此网卡是否接受NM控制;建议CentOS6为“no”
ONBOOT:在系统引导时是否激活此设备
TYPE:接口类型;常见有的Ethernet, Bridge
UUID:设备的惟一标识
IPADDR:指明IP地址
NETMASK:子网掩码
GATEWAY: 默认网关
DNS1:第一个DNS服务器指向
DNS2:第二个DNS服务器指向
USERCTL:普通用户是否可控制此设备
PEERDNS:如果BOOTPROTO的值为“dhcp”,YES将允许dhcp server分配的dns服务器信息直接覆盖至/etc/resolv.conf文件,NO不允许修改resolv.conf
- nmcli:需要开启NetworkManager服务。
添加配置: nmcli connection add type ethernet con-name IFACE-FILE ifname IFACE 修改地址: nmcli connection modify IFACE-FILE ipv4.method manual ipv4.addresses IP/MASK ipv4.gateway GATEWAY ipv4.dns DNS-IP connection.autoconnect on
动态分配:
DHCP