网络基础知识

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

OSI模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每一层对于上一层来讲是透明的,上层只需要使用下层提供的接口,并不关心下层是如何实现的。

2).TCP/IP五层模型

TCP/IP模型把网络通信的工作分为5(或4)层,分别是物理层、数据链路层(如果是四层模型数据链路层和物理层在一层)、网络层、传输层、应用层。每一层都呼叫它的下一层提供的网络来完成自己的需求。

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

以S表示server端,以C表示client端

1).建立TCP连接:三次握手协议

C:S你在吗?有个小问题请教你,OVER;

S:我在呢,能听清吗?知无不言,OVER;

C:能听清,OVER

········································

balabalabalabalabalabalabalabala········

········································

2).关闭TCP连接:四次握手协议

C:我说完了,谢谢你的解答,OVER;

S:收到,有一些事情还需要向你交代

········································

balabalabalabalabalabalabalabala········

········································

S:我说完了,OVER;

C:收到,我会等一会(两个最大报文生命周期),如果你没有收到我的会话,请在告诉我,OVER

(S收到确认,会话结束)

3、描述TCP和UDP区别
UDP TCP
是否连接 无连接 面向连接
是否可靠 不可靠传输,不使用流量控制和拥塞控制 可靠传输,使用流量控制和拥塞控制
连接对象个数 支持一对一,一对多,多对一和多对多交互通信 只能是一对一通信
传输方式 面向报文 面向字节流
首部开销 首部开销小,仅8字节 首部最小20字节,最大60字节
适用场景 适用于实时应用(IP电话、视频会议、直播等) 适用于要求可靠传输的应用,例如文件传输
4、网卡绑定bond0的实现

实验环境为Ubuntu18.04
查看网卡

gw@node2:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:dc:64:01 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:dc:64:0b brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:dc:64:15 brd ff:ff:ff:ff:ff:ff
    inet 192.0.2.129/24 brd 192.0.2.255 scope global dynamic noprefixroute eth2
       valid_lft 1766sec preferred_lft 1766sec
    inet 192.0.2.99/24 brd 192.0.2.255 scope global secondary noprefixroute eth2
       valid_lft forever preferred_lft forever
    inet6 fe80::1c67:1e7a:bf5:dc15/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

选择eth0和eth1两块网卡做bond0

gw@node2:~$ sudo nmcli connection add type bond con-name bond0 ifname bond0 autoconnect yes mode balance-rr
Connection ‘bond0‘ (25626852-cdea-4826-9558-8ad1074647e1) successfully added.
gw@node2:~$ sudo nmcli connection add type bond-slave ifname eth0 master bond0
Connection ‘bond-slave-eth0‘ (fae60b5a-4492-4f4d-8dfc-ad45d85680e1) successfully added.
gw@node2:~$ sudo nmcli connection add type bond-slave ifname eth1 master bond0
Connection ‘bond-slave-eth1‘ (69307142-0c78-4f1c-8e85-9c61e7c6e78f) successfully added.
gw@node2:~$ nmcli connection show
NAME             UUID                                  TYPE      DEVICE
bond-slave-eth0  fae60b5a-4492-4f4d-8dfc-ad45d85680e1  ethernet  eth0
bond-slave-eth1  69307142-0c78-4f1c-8e85-9c61e7c6e78f  ethernet  eth1
bond0            25626852-cdea-4826-9558-8ad1074647e1  bond      bond0
eth2             6e598b7b-888e-44e2-b441-8c4ac5ce5c89  ethernet  eth2
gw@node2:~$ sudo nmcli connection modify bond0 ipv4.addresses 192.0.2.100/24 ipv4.gateway 192.0.2.1 ipv4.method manual
gw@node2:~$ sudo nmcli connection reload
gw@node2:~$ sudo nmcli connection up bond0
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/18)
gw@node2:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000
    link/ether 00:0c:29:dc:64:01 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000
    link/ether 00:0c:29:dc:64:01 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:dc:64:15 brd ff:ff:ff:ff:ff:ff
    inet 192.0.2.129/24 brd 192.0.2.255 scope global dynamic noprefixroute eth2
       valid_lft 1562sec preferred_lft 1562sec
    inet 192.0.2.99/24 brd 192.0.2.255 scope global secondary noprefixroute eth2
       valid_lft forever preferred_lft forever
    inet6 fe80::1c67:1e7a:bf5:dc15/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
6: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:0c:29:dc:64:01 brd ff:ff:ff:ff:ff:ff
    inet 192.0.2.100/24 brd 192.0.2.255 scope global noprefixroute bond0
       valid_lft forever preferred_lft forever
    inet6 fe80::ff15:9380:3289:f4e1/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

网络基础知识

上一篇:git fatal: refusing to merge unrelated histories错误(git本地库与远程库历史不相关)


下一篇:重载运算符调试模板