linux基础第七周

﹥>﹥吖頭↗ 提交于 2020-02-25 18:45:07

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

物理层
在OSI参考模型中,物理层(Physical Layer)是参考模型的最低层,也是OSI模型的第一层。
物理层的主要功能是:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。

数据链路层
数据链路层(Data Link Layer)是OSI模型的第二层,负责建立和管理节点间的链路。该层的主要功能是:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。

网络层
网络层(Network Layer)是OSI模型的第三层,它是OSI参考模型中最复杂的一层,也是通信子网的最高一层。它在下两层的基础上向资源子网提供服务。其主要任务是:通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。具体地说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备。

传输层
OSI下3层的主要任务是数据通信,上3层的任务是数据处理。而传输层(Transport Layer)是OSI模型的第4层。因此该层是通信子网和资源子网的接口和桥梁,起到承上启下的作用。
该层的主要任务是:向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输。传输层的作用是向高层屏蔽下层数据通信的细节,即向用户透明地传送报文。该层常见的协议:TCP/IP中的TCP协议、Novell网络中的SPX协议和微软的NetBIOS/NetBEUI协议。

会话层
会话层(Session layer)是OSI模型的第5层,是用户应用程序和网络之间的接口,主要任务是:向两个实体的表示层提供建立和使用连接的方法。将不同实体之间的表示层的连接称为会话。因此会话层的任务就是组织和协调两个会话进程之间的通信,并对数据交换进行管理。

表示层
表示层(Presentation Layer)是OSI模型的第六层,它对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层。其主要功能是“处理用户信息的表示问题,如编码、数据格式转换和加密解密”等。

应用层
应用层(Application Layer)是OSI参考模型的最高层,它是计算机用户,以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作。它在其他6层工作的基础上,负责完成网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系,并完成网络用户提出的各种网络服务及应用所需的监督、管理和服务等各种协议。此外,该层还负责协调各个应用程序间的工作。

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

当客户端希望同server端建立连接时,发送连接请求报文,SYN=1同时seq设定一个初始值,当server端收到请求连接报文会回复一个确认报文,SYN=1,ACK=1,ack为请求报文的seq值+1,同时设定server端seq初始值,当客户端收到确认报文后会回复针对server端报文的确认报文,ACK=1,ack为server端seq值+1,当server端收到该确认报文便建立连接

当客户端希望同server端断开连接时,发送断开连接请求报文,FIN=1,当server端收到请求连接报文会回复一个确认报文,ACK=1,ack为请求报文的seq值+1,然后server端发送断开连接请求报文,FIN=1,当客户端收到断开连接请求报文后会回复针对server端报文的确认报文,ACK=1,ack为server端seq值+1,当server端收到该确认报文便断开连接,客户端等待2MSL之后断开连接

3、描述TCP和UDP的区别

TCP UDP
基于连接 不建立连接
占用资源较多 占用资源较小
有确认机制保证了数据正确性 无法保证数据正确性
相对传输速度慢 响应快、传输速度高
可靠传输 不可靠传输

4、总结IP分类以及每个分类可以分配的IP数量

IP地址包括网络号和主机号

A类地址第一段为网络号,后三段为主机号

可以分配的IP数量=2^可变的网络ID数,即2^7=128,去除0网络为127个

每个网络中可以分配的IP数=2^主机ID数-2,即2^24-2=16777214个

 

B类地址前两段为网络号,后两段为主机号

可以分配的IP数量=2^可变的网络ID数,即2^14=16384个

每个网络中可以分配的IP数=2^主机ID数-2,即2^16-2=65534个

 

C类地址前三段为网络号,后一段为主机号

可以分配的IP数量=2^可变的网络ID数,即2^21=2097152个

每个网络中可以分配的IP数=2^主机ID数-2,即2^8-2=254个

 

D类地址为组播地址:224-239

E类地址为科研保留地址:240-255

5、总结IP配置方法

IP配置方法:命令和配置文件

        1)命令

nmcli命令:
		nmcli  [ OPTIONS ] OBJECT { COMMAND | help }
			
			device - show and manage network interfaces
				COMMAND := { status | show | connect | disconnect | delete | wifi | wimax }
			
			connection - start, stop, and manage network connections
				COMMAND := { show | up | down | add | edit | modify | delete | reload | load }
				
				modify [ id | uuid | path ] <ID> [+|-]<setting>.<property> <value>
				
				如何修改IP地址等属性:
					# nmcli  conn  modify  IFACE  [+|-]setting.property  value
						ipv4.address
						ipv4.gateway
						ipv4.dns1
						ipv4.method
ifconfig命令:接口及地址查看和管理
			ifconfig  [INTERFACE]
				# ifconfig -a:显示所有接口,包括inactive状态的接口;
			
			ifconfig interface [aftype] options | address ...
				# ifconfig  IFACE  IP/MASK  [up|down]
				# ifconfig  IFACE  IP  netmask  NETMASK  

				options:
					[-]promisc
route命令:路由查看及管理
		
			路由条目类型:
				主机路由:目标地址为单个IP;
				网络路由:目标地址为IP网络;
				默认路由:目标为任意网络,0.0.0.0/0.0.0.0
				
			查看:
				# route  -n
			添加:
				route  add  [-net|-host]  target  [netmask  Nm]  [gw GW]  [[dev] If]
				
					示例:route add -net  10.0.0.0/8  gw  192.168.10.1  dev  eth1
					            route add  -net  0.0.0.0/0.0.0.0  gw 192.168.10.1  
					            route add  default  gw 192.168.10.1  
					            
			删除:
				route  del  [-net|-host] target  [gw Gw]  [netmask Nm]  [[dev] If]
					
					示例: route  del  -net  10.0.0.0/8  gw 192.168.10.1
						     route  del  default
netstat命令:
			Print network connections, routing tables, interface statistics, masquerade connections, and multicast  memberships
			
			显示路由表:netstat  -rn
				-r:显示内核路由表
				-n:数字格式
				
			显示网络连接:
				netstat  [--tcp|-t]  [--udp|-u]  [--udplite|-U]  [--sctp|-S]  [--raw|-w]  [--listening|-l]  [--all|-a]  [--numeric|-n]   [--extend|-e[--extend|-e]]  [--program|-p]
					-t:TCP协议的相关连接,连接均有其状态;FSM(Finate State Machine);
					-u:UDP相关的连接
					-w:raw socket相关的连接
					-l:处于监听状态的连接
					-a:所有状态
					-n:以数字格式显示IP和Port;
					-e:扩展格式
					-p:显示相关的进程及PID;
					
				常用组合:
					-tan,  -uan,  -tnl,  -unl,  -tunlp	
					
			显示接口的统计数据:
				netstat    {--interfaces|-I|-i}    [iface]   [--all|-a]   [--extend|-e]   [--verbose|-v]   [--program|-p]  [--numeric|-n]
					
				所有接口:
					netstat  -i
				指定接口:
					netstat  -I<IFace>
ip命令:
			show / manipulate routing, devices, policy routing and tunnels
			
			ip [ OPTIONS ] OBJECT { COMMAND | help }
				OBJECT := { link | addr | route | netns  }
			
			注意: OBJECT可简写,各OBJECT的子命令也可简写;
				
			ip  OBJECT:
				
				ip link: network device configuration
				
					ip  link  set - change device attributes
						dev NAME (default):指明要管理的设备,dev关键字可省略;
						up和down:
						multicast on或multicast off:启用或禁用多播功能;
						name NAME:重命名接口
						mtu NUMBER:设置MTU的大小,默认为1500;
						netns PID:ns为namespace,用于将接口移动到指定的网络名称空间;
						
					ip  link  show  - display device attributes
					
					ip  link  help -  显示简要使用帮助;
					
				ip netns:  - manage network namespaces.
				
					ip  netns  list:列出所有的netns
					ip  netns  add  NAME:创建指定的netns
					ip  netns  del  NAME:删除指定的netns
					ip  netns   exec  NAME  COMMAND:在指定的netns中运行命令
					
				ip address - protocol address management.
					
					ip address add - add new protocol address
						ip  addr  add  IFADDR  dev  IFACE
							[label NAME]:为额外添加的地址指明接口别名;
							[broadcast ADDRESS]:广播地址;会根据IP和NETMASK自动计算得到;
							[scope SCOPE_VALUE]:
								global:全局可用;
								link:接口可用;
								host:仅本机可用;												
						
					ip address delete - delete protocol address
						ip addr  delete  IFADDR  dev  IFACE 
							
					ip address show - look at protocol addresses
						ip  addr   list  [IFACE]:显示接口的地址;
						
					ip address flush - flush protocol addresses
						ip  addr  flush  dev  IFACE
						
				ip route - routing table management
				
					ip route add - add new route
					ip route change - change route
					ip route replace - change or add new one
						ip  route   add  TYPE PREFIX  via GW  [dev  IFACE]  [src SOURCE_IP]
						
						示例:
							# ip route add 192.168.0.0/24  via 10.0.0.1  dev eth1 src  10.0.20.100
							# ip  route  add default  via  GW						
						
					ip route delete - delete route
						ip  route  del  TYPE PRIFIX 
						
						示例:
							# ip  route delete  192.168.1.0/24
							
					ip route show - list routes
						TYPE PRIFIX  
					ip route flush - flush routing tables
						TYPE  PRIFIX
					
					ip route get - get a single route
						ip  route  get  TYPE PRIFIX
						
						示例:ip route  get  192.168.0.0/24
ss命令:
			ss  [options]  [ FILTER ]
				选项:
					-t:TCP协议的相关连接
					-u:UDP相关的连接
					-w:raw socket相关的连接
					-l:监听状态的连接
					-a:所有状态的连接
					-n:数字格式
					-p:相关的程序及其PID
					-e:扩展格式信息
					-m:内存用量
					-o:计时器信息

        2)配置文件

IP/NETMASK/GW/DNS等属性的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE
		IFACE:接口名称;
路由的相关配置文件:/etc/sysconfig/networkj-scripts/route-IFACE

ifcfg-IFACE配置文件参数:
		DEVICE:此配置文件对应的设备的名称;
		ONBOOT:在系统引导过程中,是否激活此接口;
		UUID:此设备的惟一标识;
		IPV6INIT:是否初始化IPv6;
		BOOTPROTO:激活此接口时使用什么协议来配置接口属性,常用的有dhcp、bootp、static、none;
		TYPE:接口类型,常见的有Ethernet, Bridge;
		DNS1:第一DNS服务器指向;
		DNS2:备用DNS服务器指向;
		DOMAIN:DNS搜索域;
		IPADDR: IP地址;
		NETMASK:子网掩码;CentOS 7支持使用PREFIX以长度方式指明子网掩码;
		GATEWAY:默认网关;
		USERCTL:是否允许普通用户控制此设备;
		PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向覆盖本地手动指定的DNS服务器指向;默认为允许;
		HWADDR:设备的MAC地址;
		NM_CONTROLLED:是否使用NetworkManager服务来控制接口;

用到非默认网关路由:/etc/sysconfig/network-scripts/route-IFACE
		支持两种配置方式,但不可混用;
			(1) 每行一个路由条目:
				TARGET  via  GW
			(2) 每三行一个路由条目:
				ADDRESS#=TARGET
				NETMASK#=MASK
				GATEWAY#=NEXTHOP

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!