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

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

TCP是一种可靠的,面向连接的全双工传输层协议。

TCP连接的建立是一个三次握手的过程。如图所示:

  • 第一次握手:主机A发送一个标识了 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连接的建立是一个三次握手的过程,而TCP连接的终止则要经过四次握手。

  • 第一次:主机A想终止连接,于是发送一个标识了FIN,ACK的数据段,列号为a ,确认序列号为b。

  • 第二次:服务器A回应一个标识了ACK的数据段,列号为b , 确认号为a+1 ,作为对主机A的FIN报文的确认。

  • 第三次:服务器A想终止连接,于是向主机A发送一个标识了FIN ,ACK的数据段,序列号为a,确认列号为a+1。

  • 第四次主机A回应一个标识了ACK的数据段,列号为a+1 ,确认序号为b+1 ,作为对服务器A的FIN报文的确认。

以上四次交互便完成了两个方向连接的关闭。

3 描述TCP和UDP区别

  1. TCP是- -种面向连接的传输层协议,可提供可靠的传输服务。UDP是一种面向无连接的传输层协议,传输可靠性没有保证。

  2. UDP头部仅占8字节,传输数据时没有确认机制。UDP不提供重传机制,占用资源小,处理效率高。

  3. 流模式(TCP)与数据报模式(UDP),TCP保证数据安全,而UDP可能丢包。TCP保证数据顺序,UDP不保证。

4 网卡绑定bond0的实现

linux操作系统下双网卡绑定有七种模式。现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多。inux 多网卡绑定mode共有七种(0~6) bond0、bond1、bond2、bond3、bond4、bond5、bond6

常用的有三种

mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。

mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。

mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。

下面介绍网卡绑定bond0的实现过程:

  • 创建bonding设备的配置文件
/etc/sysconfig/network-scripts/ifcfg-bond0
NAME=bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=none
IPADDR=10.0.0.100
PREFIX=8 /etc/sysconfig/network-scripts/ifcfg-eth0
NAME=eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes /etc/sysconfig/network-scripts/ifcfg-eth1
NAME=eth1
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
  • 查看bond0状态
/proc/net/bonding/bond0

linux_5的更多相关文章

  1. [官网]Linux版本历史

    This is a list of links to every changelog. https://kernelnewbies.org/LinuxVersions 总结一下 2.6.x 存在了八年 ...

  2. eclipse在linux下无故闪退解决

    A fatal error has been detected by the Java Runtime Environment: SIGSEGV (0xb) at pc=0x00007f25d0b92 ...

  3. 【前端】CentOS 7 系列教程之五: 安装最新版 nginx 并转发 node 服务

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/linux_5.html 进入/usr/local目录 cd /usr/local 下载最新版的ngxin压缩包 w ...

  4. MySQL 慢查询日志介绍

    转: MySQL 慢查询日志介绍 2018年08月23日 08:47:40 曾梦想仗剑走天涯XX 阅读数 1104   一. 慢查询介绍 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记 ...

随机推荐

  1. vsconde launch.json配置 调试本地文件

    { // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing ...

  2. 初识python 之 ImportError: No module named _ssl

    场景 安装好python之后,导入ssl模块报错: ImportError: No module named _ssl 解决方法 查看openssl.openssl-devel是否安装 rpm -qa ...

  3. oracle 之 while循环月份

    需求 需要跑一个数据,时间从17年5月到21年3月. 代码(简单粗暴实现) DECLARE i number; BEGIN i:= 201705; WHILE i <202104 LOOP if ...

  4. 初识python: 文件下载进度

    (后续待更新...) 使用 request 的 urlretrieve 方法创建"回调函数": 下载进度 详细代码如下: #!/user/bin env python # auth ...

  5. Python面向对象时最常见的3类方法

    为了节省读友的时间,先上结论(对于过程和细节感兴趣的读友可以继续往下阅读,一探究竟): [结论] 类中定义的方法类型 关键词 本质含义 如何定义 如何调用 使用场景举例 实例方法 一般无任何修饰时,默 ...

  6. javascript中什么时候要用\来转义

    1.定义字符串的单引号或双引号里的同符号或字符串内回车换行,比如A: a = "<a href=\"...\">a</a>"; B: a ...

  7. 深入浅出 CSS 动画

    本文将比较全面细致的梳理一下 CSS 动画的方方面面,针对每个属性用法的讲解及进阶用法的示意,希望能成为一个比较好的从入门到进阶的教程. CSS 动画介绍及语法 首先,我们来简单介绍一下 CSS 动画 ...

  8. uboot无法通过nfs加载ubuntu18.04中的文件(转)

    问题描述: i.mx6ull开发板,采用alientek官方维护的uboot,使用ubuntu18.04 lts作为nfs server,导致开发板uboot上nfs命令无法加载网络文件系统. 解决: ...

  9. java基础01-03-注释、标识符、数据类型讲解

    java基础01-注释 java中的注释有三种: 单行注释 多行注释 文件注释 public class helloworld { public static void main(String[] a ...

  10. 删除修改docker网络环境

    安装工具包 yum install bridge-utils -y 设置docker0 ip网段 ip link set docker0 down brctl delbr docker0 brctl ...