网络协议

计算机网络的核心就是网络协议。网络协议是计算机网络中为了数据交换而建立的规则。

OSI七层模型和TCP/IP五层模型

在实际运用中,最终是TCP得到了广泛的应用。

OSI是一种设计得非常详细的协议,而问题就是出在详细上;因为实际的情况往往比想象中的更加多变和灵活,所以OSI的详细本该成为它的优势,但却成为了其限制。

王老师的思想迁移:不光是这种协议的发展规律,生活中很多事情都是这样,不能等完完全全准备好了再去做,而是在做的过程中不断改进,不断适应,就TCP/IP一样,虽然更加简单,但却能经受实际的考验。

TCP/IP五层模型

  • 应用层(HTTP)
  • 传输层(TCP,UDP)
  • 网络层(IP)
  • 数据链路层
  • 物理层

TCP的三次握手和四次挥手

三次握手进行连接

SYN:标志位,为1时表示请求连接

ACK:标志位,为1时表示确认请求

第一次握手:客户端向服务端发送SYN为1的请求报文

第二次握手:服务端向客户端发送ACK消息确认【此时客户端知道自己可以发送消息给服务端,而且服务端也可以发送消息给自己;但服务端只知道客户端的消息可以传过来,但不知道自己的消息能否传过去】

第三次握手:客户端向服务端发送ACK消息确认【目的:让服务端知道自己发送的消息客户端可以接收到】

四次挥手断开连接

FIN:标志位,为1时表示请求断开连接

第一次挥手:客户端向服务端发送FIN=1的报文

第二次挥手:此时服务端可能会有未发出的消息,所以先给客户端一个ACK确认消息,表示收到了客户端的请求

第三次挥手:此时服务端已经发送了所有的消息,然后向客户端发送一个FIN=1的报文,表示可以断开请求了

第四次挥手:客户端收到请求后,给服务端发送ACK确认消息

TCP连接的特点

  • TCP是一种有连接,安全可靠的协议
  • 点对点的通信模式
  • 在传输可靠上的特性:丢包重发,流量控制

TCP是如何保证安全可靠的

宏观上来看,三次握手和四次挥手的这种有连接的机制为TCP的安全提供了基础。

更加微观的看

  • 校验和(TCP头部,数据,尾部)
  • 应答机制:不管是对于客户端还是服务端,每发送一个消息都需要返回一个确认消息,不然就会重发
  • 超时重传:发送一个包和接受应答包这个时间如果过长,就会重新发送
  • 拥塞控制:发出少量数据来测试网络拥堵情况,然后决定按多大的速度传送数据

UDP连接的特点

  • UDP是一种无连接,不可靠的协议

  • 支持一对多,多对多的通信模式

TCP和UDP的区别

  • 是否有连接

    TCP是有连接的,而UDP是无连接的。连接决定是否安全可靠。

  • 传输效率

    UDP首部字节为8个,而TCP首部字节20个。所以UDP的传输效率更高。

  • 通信模式

    TCP支持点对点,UDP支持一对多,多对多

TCP和UDP首部的区别

  • UDP首部只有8个字节:源端口,目的端口,校验和
  • TCP超过20个字节:源端口,目的端口,校验和,SYN,ACK,FIN

HTTP请求的过程和原理

  • 发起一个请求后,通过DNS将URL中的域名解析为IP地址
  • 然后根据IP地址,建立与服务端的TCP连接(三次握手)
  • 断开连接:四次挥手

TCP/IP速记的更多相关文章

  1. TCP/IP基础

    TCP/IP 是用于因特网 (Internet) 的通信协议. 计算机通信协议是对那些计算机必须遵守以便彼此通信的规则的描述. 什么是 TCP/IP? TCP/IP 是供已连接因特网的计算机进行通信的 ...

  2. TCP/IP之TCP_NODELAY与TCP_CORK

    TCP/IP之Nagle算法与40ms延迟提到了Nagle 算法.这样虽然提高了网络吞吐量,但是实时性却降低了,在一些交互性很强的应用程序来说是不允许的,使用TCP_NODELAY选项可以禁止Nagl ...

  3. 《图解TCP/IP》读书笔记

    一.国际惯例:书托 这是一本图文并茂的网络管理技术书籍,旨在让广大读者理解TCP/IP的基本知识.掌握TCP/IP的基本技能. 书中讲解了网络基础知识.TCP/IP基础知识.数据链路.IP协议.IP协 ...

  4. Atitit osi tcp ip 对应attilax总结

    Atitit osi tcp ip 对应attilax总结 Atitit 网络摄像机又叫IP CAMERA(简称IPC)常见的协议组合 网络摄像机又叫IP CAMERA(简称IPC)由网络编码模块和模 ...

  5. 门面模式的典型应用 Socket 和 Http(post,get)、TCP/IP 协议的关系总结

    门面模式的一个典型应用:Socket 套接字(Socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元.它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息: 连接使用的 ...

  6. OSI七层模型详解 TCP/IP协议

      总结 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 表示层 数据格式化,代码转 ...

  7. 一种面向对象的TCP/IP中间件

    这是一个使用C++封装的TCP/IP协议栈(仅传输层),属于本人所设计的中间件的一员,具有硬件无关,应用无关特性,使用非常方便,一看代码便知: #include "net.h" / ...

  8. TCP/IP协议(二)tcp/ip基础知识

    今天凌晨时候看书,突然想到一个问题:怎样做到持续学习?然后得出这样一个结论:放弃不必要的社交,控制欲望,克服懒惰... 然后又有了新的问题:学习效率时高时低,状态不好怎么解决?这也是我最近在思考的问题 ...

  9. TCP/IP协议(一)网络基础知识

    参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...

随机推荐

  1. 【软件测试】Python自动化软件测试算是程序员吗?

    今天早上一觉醒来,突然萌生一个念头,[软件测试]软件测试算是程序员吗?左思右想,总感觉哪里不对.做了这么久的软件测试,还真没深究过这个问题.     基于,内事问百度的准则: 结果……     我刚发 ...

  2. 第四章:View的工作原理

    4.1 ViewRoot和DecorView ViewRoot对应于ViewRootImplement类,它是连接WindowManager和DecorView的纽带,View的三大流程均是通过Vie ...

  3. Ethical Hacking - Web Penetration Testing(11)

    SQL INJECTION Preventing SQLi Filters can be bypassed. Use a blacklist of commands? Still can be byp ...

  4. 图灵学院笔记-java虚拟机底层原理

    Table of Contents generated with DocToc 一.java虚拟机概述 二.栈内存解析 2.1 概述 2.2 栈帧内部结构 2.2.1 我们来解析一下compute() ...

  5. java大数据最全课程学习笔记(6)--MapReduce精通(二)--MapReduce框架原理

    目前CSDN,博客园,简书同步发表中,更多精彩欢迎访问我的gitee pages 目录 MapReduce精通(二) MapReduce框架原理 MapReduce工作流程 InputFormat数据 ...

  6. 两个问题解答、opencv、tensorflow、numpy、matplotlib的基本使用

    开始图像处理的海洋 (1)两个问题的详细解答 在开始畅游opencv.tensorflow的海洋之前,我们这里先要解决两个问题. 1.Jupyter notebook 解决了无法自动跳转到浏览器的问题 ...

  7. PHPSTORM常用插件

    Translation 最好用的翻译插件 .env files support 可以在env函数使用是提示.env文件中所有的key值的自动完成功能 PHP composer.json support ...

  8. MyBatis Plus 导入IdType失败

    import com.baomidou.mybatisplus.annotation.IdType; 修正Entity模板IdType引入包名到com.baomidou.mybatisplus.enu ...

  9. 不使用字体图标和图片,只使用css如何做出展开收起的效果

    <i class="iconArrow" :class="[ littleNavState === item.meta.id ? 'arrowOpen' : '' ...

  10. 删除GIT中的.DS_Store

    转载自:https://www.jianshu.com/p/fdaa8be7f6c3 .DS_Store 是什么 使用 Mac 的用户可能会注意到,系统经常会自动在每个目录生成一个隐藏的 .DS_St ...