网络协议

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

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. mysqldump导出表结构及数据

    问题描述:有需要mysql某几张表的需求,某个数据库某几张表,导出先检查相应的数据库和表是否存在 数据泵用法:默认导出的是表结构以及表中的数据 mysqldump -uroot -p -S /data ...

  2. ES6面试

    未完持续 概念 ECMAScript6(以下简称ES6)是 JavaScript 语言的下一代标准,前者是后者的规格,后者是前者的一种实现. ES6(新增的)一些特性 1.变.常量:let声明变量,c ...

  3. 从零开始一起学Blazor WebAssembly 开发(4)

    登录模块基本完成了,登录主要用了以下几个点: 1.后端采用的Abp Vnext 框架,这个框架自带的IdentityServer4用户角色权限控制,这个框架登录研究了好一阵子,有几个坑这里说下: 1) ...

  4. 微信小程序动态评分展示/五角星展示/半颗星展示/自定义长度展示

    一.前言 项目中遇到的评分相关的需求其实还挺多.之前也写过网页中关于评分功能实现的文档.这次,是基于微信小程序开发而提炼出一个简单方便使用的方法,网页开发中同样可用.这次使用的还是字体,主要是字体这个 ...

  5. Python网络爬虫四大选择器用法原理总结

    前几天小编连续写了四篇关于Python选择器的文章,分别用正则表达式.BeautifulSoup.Xpath.CSS选择器分别抓取京东网的商品信息.今天小编来给大家总结一下这四个选择器,让大家更加深刻 ...

  6. Dcoker docker: Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE).

    https://stackoverflow.com/questions/46533482/error-starting-userland-proxy-bind-for-0-0-0-080-unexpe ...

  7. $0.\dot{9}=1,是指以1为极限,而非初等数学的相等“=”$

    $注:文中的讨论,没有使用严格的 \epsilon 极限定义,而是简单假设$ 按照中小学的定义,整数,有限小数,无限循环小数是有理数.无限不循环小数是无理数. $\frac{1}{3}=0.\dot{ ...

  8. Git常用命令及方法大全

    下面是我整理的常用 Git 命令清单.几个专用名词的译名如下. Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 本地 ...

  9. Android给ListView添加侧滑菜单功能

    贼简单,但是上次集成完之后忘记整理,所以写的有点简单 SwipeMenu类 继承自ViewGroup package com.onepilltest.others; import android.co ...

  10. matplotlib颜色线条及绘制直线

    plt.axhline(y=0,ls=":",c="yellow")#添加水平直线 plt.axvline(x=4,ls="-",c=&qu ...