Linux入门(七)

1、简述osi七层模型和TCP/IP五层模型

osi七层模型:

物理层:二进制传输,为启动、维护以及关闭物理链路定义了电气规范、机械规范、过程规范和功能规范。
数据链路层:访问介质,定义如何格式化数据以便进行传输以及如何控制对网络的访问,支持错误检测。
网络层:数据传输,路由数据包,选择传递数据的最佳路径,支持逻辑寻址和路径选择。
传输层:确保数据传输的可靠性,建立、维护和终止虚拟电路,通过错误检测和恢复,信息流控制来保证可靠性。
会话层:主机间通信,建立、管理和终止在应用程序之间的会话。
表示层:数据表示,确保接受系统可以读出该数据,格式化数据,构建数据,协商用于应用层的数据传输语法,提供加密。
应用层:网络进程访问应用层,为应用程序进程(电子邮件、文件传输等)提供网络服务,提供用户身份验证。

TCP/IP五层模型:

应用层:应用层生成了数据。
传输层:将应用层的数据添加了TCP或UDP包头,生成了数据段。
网络层:将数据段进一步封装IP包头,称为报文或者IP包。
数据链路层:将包进一步封装成帧,指明目标主机的MAC地址。
物理层:以数字信号进行传输,单位为比特(Bit)


2、总结描述TCP三次握手四次挥手

TCP三次握手:建立虚连接

  1. 客户端发送SYN包到服务器,进入SYN_SENT状态,等待服务器确认。
  2. 服务端收到SYN包,确认客户,并发送ACK包,同时自己也发送一个SYN包,服务器进入SYN_RECV状态。
  3. 客户端收到服务端的SYN+ACK包,确认服务端,向服务端发送ACK包,发送完毕后,客户端和服务端进入ESTABLISHED状态(TCP链接成功),完成三次握手

TCP四次挥手:断开虚连接

  1. 客户端完成数据传输,需要断开,向服务器端发送FIN包,客户端进入FIN-WAIT-1
  2. 服务端收到FIN包,向客户端发送一个ACK,然后将剩余的数据继续发送给客户端,服务端进入CLOSE_WAIT,客户端进入FIN-WAIT-2
  3. 剩余的数据发送完成了,再向客户端发送FIN包,表示数据已经全部发送,可以彻底关闭连接,服务端进入LAST_ACK
  4. 客户端收到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

 

Linux入门(七)

上一篇:Linux运维软件体系图


下一篇:Linux网络设备驱动之数据接收流程(六)