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

(1) OSI七层模型

第七层 应用层

应用层(Application Layer) 提供为应用软件而设的接口,以设置与另一应用软件之间的通信。例如:HTTP、HTTPS、FTP、Telnet、SSH、SMTP、POP3等。

第六层 表达层

表达层(Presentation Layer) 把数据转换为能与接收者的系统格式兼容并适合传输的格式。

第五层 会话层

会话层(Session Layer) 负责在数据传输中设置和维护计算机网络中两台计算机之间的通信连接。

第四层 传输层

传输层(Transport Layer) 把传输表头(TH)加至数据以形成数据包。传输表头包含了所使用的协议等发送信息。例如:传输控制协议(TCP)等。

第三层 网络层

网络层(Network Layer) 决定数据的路径选择和转寄,将网络表头(NH)加至数据包,以形成报文。网络表头包含了网络资料。例如:互联网协议(IP)等。

第二层 数据链路层

数据链路层(Data Link Layer) 负责网络寻址、错误侦测和改错。当表头和表尾被加至数据包时,会形成信息框(Data Frame)。数据链表头(DLH)是包含了物理地址和错误侦测及改错的方法。数据链表尾(DLT)是一串指示数据包末端的字符串。例如以太网、无线局域网(Wi-Fi)和通用分组无线服务(GPRS)等。

分为两个子层:逻辑链路控制(logical link control,LLC)子层和介质访问控制(Media access control,MAC)子层。

第一层 物理层

物理层(Physical Layer) 在局部局域网上传送数据帧(Data Frame),它负责管理电脑通信设备和网络媒体之间的互通。包括了针脚、电压、线缆规范、集线器、中继器、网卡、主机接口卡等。

(2) TCP/IP五层(四层)模型

第五层:应用层

功能: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。
代表协议: HTTP、DNS、NAT、NATP。

第四层:传输层

功能: 负责两台主机之间的数据传输。 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机。
代表协议: TCP、UDP。

第三层:网络层

功能: 负责地址管理和路由选择。 例如在IP协议中,通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。路由器(Router)工作在网路层。
代表硬件:路由器。
代表协议: IP。

第二层:数据链路层

功能: 负责设备之间的数据帧的传送和识别。 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准。交换机(Switch)工作在数据链路层。
代表硬件: 交换机等。
代表协议: 以太网、令牌环网、无线LAN、ARP、MTU。

第一层:物理层

功能: 负责光/电信号的传递方式。比如现在以太网通用的网线(双绞线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤,现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。 集线器(Hub)工作在物理层。
代表硬件: 双绞线(网线)、WiFi电磁波、集线器等。

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

三次握手

客户端:CLOSE -> SYN-SEND -> ESTAB-LISHED
服务器端:LISTEN -> SYN-RCVD -> ESTAB-LISHED
1.客户端应用打开端口向服务器端发送请求后自动进入SYN-SEND状态
2.服务器端立即响应客户端请求后进入后自动SYN-RCVD状态并向客户发送响应
3.客户端收到响应后立即响应服务器端同时自动进入ESTAB-LISHED,服务器端收到客户端响应后自动进入ESTAB-LISHED,至此已建立连接

四次挥手

客户端:ESTAB-LISHED -> FIN-WAIT1 -> FIN-WAIT2 -> TIME-WAIT ->CLOSE
服务器端:ESTAB-LISHED -> CLOSE-WAIT -> LAST-ACK -> CLOSE
1.客户端向服务器发送分手请求自动进入FIN-WAIT1状态
2.服务器收到请求立即响应自动进入CLOSE-WAIT状态并向客户端发送响应
3.客户端收到响应后进入FIN-WAIT2状态服务器端可以继续向客户端发送剩余数据发送完毕后向客户端发送分手请求并进入LAST-ACK状态
4.客户端收到服务器分手请求立即响应后进入TIME-WAIT状态(防止丢包)然后进入CLOSE状态服务器端收到客户端响应后进入CLOSE状态,至此已断开链接

3、描述TCP和UDP区别

1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接
2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保 证可靠交付
3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的
UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)
4、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
5、TCP首部开销20字节;UDP的首部开销小,只有8个字节
6、TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道

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

A类:

前8位是网络ID,后24位是主机ID且最高位为0
0xxxxxxx.a.b.c
0-127.
网络数:2^7 = 128 去掉0和127 即1-126
每个网络中的主机数:2^24-2=16,777,214
默认子网掩码:255.0.0.0
私网地址:10.0.0.0

B类:

10 00 0000 - 10 11 1111:128-191
网络数:2^14 = 16384
每个网络中的主机数:2^16-2 = 65534
默认子网掩码:255.255.0.0
私网地址:172.16.0.0-172.31.0.0

C类:

110 0 0000 - 110 1 1111: 192-223
网络数:2^21 = 2097152
每个网络中的主机数:2^8-2 = 254
默认子网掩码:255.255.255.0
私网地址:192.168.0.0-192.168.255.0

D类:

组播
1110 0000 - 1110 1111: 224-239
E类:保留未使用
240-255

5、总结IP配置方法

(1) ifconfig命令:

ifconfig [INTERFACE]
    ~]# ifconfig -a:显示所有接口,包括inactive状态的接口;

ifconfig interface [aftype] options | address …
    ~]# ifconfig IFACE IP/MASK [up]
    ~]# ifconfig IFACE IP netmask NETMASK

options:
    [-]promisc:开启/关闭  混杂模式;

注意:立即送往内核中的TCP/IP协议栈,并生效; 

(2) ip address命令

ip address - protocol address management

    ip address add - add new protocol address
        ip addr add IFADDR dev IFACE
            [lable 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

(3) nmcli命令

~]# nmcli conn modify IFACE [+|-]setting.property value
        ipv4.address
        ipv4.gateway
        ipv4.dns1
        ipv4.method
             manual