-
简述osi七层模型和TCP/IP五层模型
OSI七层模型:
应用层:OSI参考模型中最靠近用户的一层,为应用程序提供网络服务,常见协议如:HTTP、HTTPS、FTP、SMTP、POP3、TELNET等。
表示层:提供用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。
会话层:负责建立、管理和中指表示层实体之间的通信会话,由不同设备种的应用程序之间的服务请求和响应组成。
传输层:提供面向连接或非面向连接的数据传递以及进行重传前的差错检测,常见协议如:TCP、UDP等。
网络层:提供逻辑地址,控制子网的运行,如逻辑编址、分组传输、路由选择。常见协议如:IPv4、IPv6、OSPF、ICMP等。
数据链路层:将比特组合成字节,再将字节组合成帧,使用链路层地址(以太网使用MAC地址)来访问介质,并进行差错检测。常见协议如:PPTP、L2TP、MPLS、ARP等。
物理层:在设备之间传输比特流,规定了电平、速率、电缆针脚等物理特性。
TCP/IP五层模型
TCP/IP中应用数据需要经过每一层处理之后才能通过网络传输到目的端,每一层上都使用该层的协议数据单元PDU彼此交换信息。不同层的PDU中包含不同的信息,因此PDU在不同层被赋予不同名称。
应用层:对应OSI模型中应用、表示及会话三层,数据表现为PDU。
传输层:由上层数据添加TCP报头形成数据段,并传递给网络层。
网络层:将传输层数据添加IP报头形成数据包,并传递给数据链路层。
数据链路层:数据包通过封装数据链路层报头形成数据帧向下传递。
物理层:将数据帧转换为比特,通过网络介质进行传输。
-
总结描述TCP三次握手四次挥手
TCP是一种可靠的,面向连接的全双工传输协议。
TCP的三次握手过程:
-
主机A(client-客户端)发送一个标识SYN的数据段,表示期望与服务器A建立连接,该数据段序号seq=a。
-
服务器A回复标识SYN和ACK的数据段,该数据段序号seq=b,确认序号为主机A的序号+1(a+1),以此作为对主机A发送的SYN报文的确认。
-
主机A发送一个标识ACK的数据段,该数据段序号seq=a+1,确认序号为服务器A的序号+1(b+1),以此作为对服务器A的SYN报文的确认,从而双方建立连接。
TCP的四次挥手过程:
-
-
主机A想要终止连接,于是发送一个标识了FIN,ACK的数据段,序号为a,确认序号为b。
-
服务器A回应一个标识ACK的数据段,序号为b,确认序号为a+1,作为对主机A的FIN报文的确认。
-
服务器A想要终止连接,于是向主机A发送一个标识了FIN,ACK的数据段,序号为b,确认序号为a+1。
-
主机A回应一个标识了ACK的数据段,序号为a+1,确认序号为b+1,作为对服务器A的FIN报文的确认。
-
描述TCP和UDP区别
TCP:一种面向连接的端到端全双工传输层协议,可以为主机提供可靠的数据传输,需要在通信之前在双方之间建立可靠的传输通道。TCP可以通过滑动窗口技术,改变窗口大小来实现对端到端设备之间的数据传输进行流量控制。
UDP:一种面向无连接的传输层协议,当应用程序对传输的可靠性要求不高,但对传输速度和延迟要求较高时来替代TCP协议在传输层控制数据的转发。
UDP采用简单的机制在应用程序间传输数据,没有使用TCP中的确认技术或滑动窗口机制,UDP由此无法保证数据传输的可靠性,也无法避免接收重复数据的情况。所以在使用UDP传输数据时,由应用程序根据需要提供报文到达确认、排序、流量控制等功能。在使用TCP协议传输数据时,如果一个数据段丢失或接收端对某个数据段没有确认,发送端会重新发送该数据段,这将会带来传输延迟和重复数据,降低用户体验,所以对于时延敏感的应用,少量的数据丢失一般可以被忽略,此时使用UDP传输将能够提升用户体验。
-
网卡绑定bond0
[root@localhost ~]# nmcli connection add con-name mybond0 ifname bond0 type bond mode active-backup ipv4.method manual ipv4.addresses 192.168.40.226/23 Connection 'mybond0' (bf5cd423-926a-4089-b880-f7b6d9b306f6) successfully added. [root@localhost ~]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# cat ifcfg-mybond0 BONDING_OPTS=mode=active-backup TYPE=Bond BONDING_MASTER=yes PROXY_METHOD=none BROWSER_onLY=no BOOTPROTO=none IPADDR=192.168.40.226 PREFIX=23 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=mybond0 UUID=bf5cd423-926a-4089-b880-f7b6d9b306f6 DEVICE=bond0 onBOOT=yes [root@localhost ~]# nmcli connection add type bond-slave ifname eth0 master bond0 Connection 'bond-slave-eth0' (12ce9a9d-9255-4a61-a6bc-8749dda933c8) successfully added. [root@localhost ~]# nmcli connection add type bond-slave ifname eth1 master bond0 Connection 'bond-slave-eth1' (2dea3033-0332-40cf-86ae-5c8abe9594c1) successfully added. [root@localhost ~]# nmcli connection up bond-slave-eth0 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6) [root@localhost ~]# nmcli connection up bond-slave-eth1 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7) [root@localhost ~]# nmcli connection NAME UUID TYPE DEVICE mybond0 bf5cd423-926a-4089-b880-f7b6d9b306f6 bond bond0 virbr0 08b8c1bc-1425-47dc-bfec-52bfdb88ee3a bridge virbr0 bond-slave-eth0 0d67d62c-13e8-4a89-a6cf-4bf830ddc08e ethernet eth0 bond-slave-eth1 fdc37a98-c825-4b69-9e67-b641559ae263 ethernet eth1 eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet -- Wired connection 1 34a960f7-7bc7-4f19-9b82-eafede061e8b ethernet -- [root@localhost ~]# ip addr 1: lo:mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000 link/ether 00:0c:29:28:38:2c brd ff:ff:ff:ff:ff:ff 3: eth1: mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000 link/ether 00:0c:29:28:38:2c brd ff:ff:ff:ff:ff:ff 4: bond0: mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 00:0c:29:28:38:2c brd ff:ff:ff:ff:ff:ff inet 192.168.40.226/23 brd 192.168.41.255 scope global noprefixroute bond0 valid_lft forever preferred_lft forever inet6 fe80::446:a754:4b7:1828/64 scope link noprefixroute valid_lft forever preferred_lft forever 5: virbr0: mtu 1500 qdisc noqueue state DOWN group default qlen 1000 link/ether 52:54:00:3a:36:da brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever 6: virbr0-nic: mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000 link/ether 52:54:00:3a:36:da brd ff:ff:ff:ff:ff:ff



