博客
关于我
【第六周】第 2 节:TCP/IP
阅读量:328 次
发布时间:2019-03-04

本文共 955 字,大约阅读时间需要 3 分钟。

第六周-第二节课:理解TCP/IP协议

TCP/IP协议的作用

TCP/IP并不是单一的协议,而是一组协议的集合,统称为TCP/IP协议族。它起到了连接应用程序和硬件之间的重要桥梁,充当了上层应用和下层硬件之间的中间层。例如,手机应用通过路由器连接光猫,再通过运营商网络进入互联网。

TCP/IP三次握手

为了建立可靠的TCP连接,TCP协议采用了三次握手机制,确保数据传输的可靠性和稳定性。以下是三次握手的具体过程:

  • 客户端向服务端发送SYN数据包,表明请求建立连接。服务端确认客户端的发送能力正常。

  • 服务端返回SYN-ACK数据包,确认自己能够正常接收数据,同时也发送了自己的序列编号。

  • 客户端返回ACK数据包,确认已经接收到服务端的SYN-ACK信息,双方完成握手,建立连接。

  • 尽管三次握手已经完成了ACK确认,但服务端仍需返回SYN数据包,以确认客户端发送的信号确实是其发送的信号,确保通信的正常性。

    TCP/IP四次挥手

    当需要关闭TCP连接时,TCP协议采用四次挥手机制。以下是以客户端为主动关闭方的四次挥手过程:

  • 客户端发送FIN数据包,关闭客户端到服务端的连接通道。

  • 服务端收到FIN后,返回ACK数据包,确认客户端到服务端的连接通道已关闭。

  • 服务端发送FIN数据包,关闭服务端到客户端的连接通道。

  • 客户端返回ACK数据包,确认服务端到客户端的连接通道已关闭。

  • HTTPS加密过程

    HTTPS是基于TCP/IP协议的安全版本,采用SSL/TLS协议加密通信过程。以下是HTTPS加密的具体步骤:

  • 客户端向服务端发送通信请求。

  • 服务端返回证书和密钥,客户端验证证书的真实性。

  • 客户端完成认证后,使用公钥对数据进行非对称加密,并发送给服务端。

  • 服务端使用私钥解密加密数据,并返回明文。

  • 此后,服务器和客户端之间的通信采用对称加密,确保通信的安全性。

    中间人攻击

    中间人攻击是指未经授权的第三方插入到客户端和服务端之间的通信链路,伪造客户端或服务端的身份,窃取数据或阻止正常通信。中间人攻击的条件主要包括:

  • 客户端需要主动信任中间人的证书。

  • 中间人伪造客户端或服务端的身份,以确保其插入的数据包能够被接收方接受。

  • 通过以上内容,可以更全面地理解TCP/IP协议的工作原理及其在实际网络通信中的重要性。

    转载地址:http://rtwh.baihongyu.com/

    你可能感兴趣的文章
    Mysql学习总结(33)——阿里云centos配置MySQL主从复制
    查看>>
    Mysql学习总结(35)——Mysql两千万数据优化及迁移
    查看>>
    Mysql学习总结(36)——Mysql查询优化
    查看>>
    Mysql学习总结(37)——Mysql Limit 分页查询优化
    查看>>
    Mysql学习总结(38)——21条MySql性能优化经验
    查看>>
    Mysql学习总结(39)——49条MySql语句优化技巧
    查看>>
    Mysql学习总结(3)——MySql语句大全:创建、授权、查询、修改等
    查看>>
    Mysql学习总结(40)——MySql之Select用法汇总
    查看>>
    Mysql学习总结(41)——MySql数据库基本语句再体会
    查看>>
    Mysql学习总结(42)——MySql常用脚本大全
    查看>>
    Mysql学习总结(43)——MySQL主从复制详细配置
    查看>>
    Mysql学习总结(44)——Linux下如何实现mysql数据库每天自动备份定时备份
    查看>>
    Mysql学习总结(45)——Mysql视图和事务
    查看>>
    Mysql学习总结(46)——8种常被忽视的SQL错误用法
    查看>>
    Mysql学习总结(48)——MySql的日志与备份还原
    查看>>
    Mysql学习总结(49)——从开发规范、选型、拆分到减压
    查看>>
    Mysql学习总结(4)——MySql基础知识、存储引擎与常用数据类型
    查看>>
    Mysql学习总结(50)——Oracle,mysql和SQL Server的区别
    查看>>
    Mysql学习总结(51)——Linux主机Mysql数据库自动备份
    查看>>
    Mysql学习总结(52)——最全面的MySQL 索引详解
    查看>>