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. MongoDB应用场景及选型

    1. MongoDB数据库定位 * OLTP数据库 * 原则上Oracle和MySQL能做得事情,MongoDB都能做(包括ACID事务) * 优点:横向扩展能力,数据量或并发量增加时候可以自动扩展 ...

  2. [学习笔记] RabbitMQ的简单使用

    安装依赖 # composer.json { "require": { "php-amqplib/php-amqplib": ">=2.9.0& ...

  3. pip list 精确查找某一模块的方法

    1. 今天搜资料的时候get一项技能: pip list精确查找某一模块 命令如下: pip list | findstr "win32" (此处win32可以替换成任意想查找的模 ...

  4. vue备用

    handleCheck (item) { if (item.isChecked) { this.checkData.push(item.id) this.checkData = _.uniqWith( ...

  5. Flowable实战(一)启动第一个完整流程

    一.前言:   发现网上关于Flowable的资料基本都是浅尝辄止,对如何构建一个企业级的流程应用说明很少,所以写个实战系列,希望对大家和自己,都有所帮助. 二.认识Flowable   Flowab ...

  6. c++智能指针的使用,shared_ptr,unique_ptr,weak_ptr

    c++智能指针的使用 官方参考 普通指针的烦恼:内存泄漏,多次释放,提前释放 智能指针 负责自动释放所指向的对象. 三种智能指针 shared_ptr,unique_ptr,weak_ptr: 将sh ...

  7. eclipse中配置Webdriver

    安装JDK,配置好Java环境 下载Eclipse,并完成安装 下载Webdriver的JAR文件(访问Selenium官网,下载Java版的zip文件,并且解压到本地磁盘,解压后文件夹内容如下图:) ...

  8. 离线下载第三方Python包

    1.进入Python第三方包下载地(https://pypi.org/)搜索自己需要的包 2.下载需要的包的版本 3.将.whl格式的文件更改为.zip文件,并且解压 4.将解压的2个文件放到Pyth ...

  9. day 10 删除空白字符

    (1).有以下程序(大写变小写) (2).有以下程序,在[1]填写程序,使得程序正确运行. 分析:(*p)(int,int)是一个函数指针(一个指针[*p]指向的对象是一个函数),函数的形参是(int ...

  10. STC8H开发(五): SPI驱动nRF24L01无线模块

    目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...