5张脑图快速了解TCP/IP协议

3,211 阅读5分钟

前言

上篇中,我们了解HTTP协议(传送门),其中说到HTTP其实是是基于TCP/IP通信协议来传递数据,所以今天就来了解一下:TCP/IP协议

注:

  • 本文以扫盲为主,大佬请左转👈🏻
  • 文章参考大量网上公开资料,吸收整理成此文,如有问题欢迎留言

为了让你看上去清晰,我整理了文章目录结构,如下:

image.png

脑图

一图胜千言,此部分为正文内容的脑图版,共5张图

目的一来可以快速了解相关知识,二来方便以后查看

1. TCP/IP协议简介

image.png

2. 历史

image.png

3. 特点

image.png

4. 体系结构

image.png

5. 通信过程及协议

image.png

简介

什么是TCP/IP协议

没有详细了解之前,我以为TCP/IP协议指的就是TCP协议和IP协议

事实上,它指的是一个协议簇,只是这个协议族中包括了TCPIP且它俩最具有代表性,因此就被称为TCP/IP协议

除了TCPIP协议,还包括FTPSMTPUDP等很多协议

TCP/IPTransmission Control Protocol/Internet Protocol的缩写,翻译过来叫传输控制协议和网络协议,也有地方叫网络通讯协议,这无所谓,反正都是翻译过来的且不是我们关注的重点

有什么用

一句话概括其实就是,通过TCP/IP协议,我们能够在多个不同网络间实现信息传输

历史

关于TCP/IP协议个人觉得还是听重要的,原因一方面是个人对历史比较感兴趣,另一方面是希望养成良好的素养,知根知底!

背景

Internet网络的前身ARPANET当时使用的是NCP协议,但是NCP协议存在很多的问题和缺点,其中最大的问题是NCP仅能用于同构环境中,不能用于用于“异构”网络环境,因此TCP/IP孕育而生

过程

  • 1973年,卡恩与瑟夫开发出了TCP/IP协议中最核心的两个协议:TCP协议和IP协议
  • 1974年12月,卡恩与瑟夫正式发表了TCP/IP协议并对其进行了详细的说明
  • 1983年元旦,TCP/IP协议正式替代NCP
  • 1984年,TCP/IP协议得到美国国防部的肯定

特点

TCP/IP协议具有以下特点或者说是优势

  1. 协议标准是完全开放的
  2. 独立于网络硬件系统
  3. 网络地址统一分配
  4. 高层协议标准化 当然它也并不是完美无瑕的,TCP/IP模型和协议也有自己的问题

体系结构

四、五还是几

关于TCP/IP的体系结构,网上有不一样的说法,主流的还是层体系结构

四个层次

分层

TCP/IP协议参考了OSI模型,但做了简化,简化后只有四个层次,分别是:

  1. 应用层
  2. 传输层
  3. 网络层
  4. 网络接口层

注:关于第四层--网络接口层,有很多地方被叫做数据链路层,但个人查阅了很多资料决定还是叫网络接口层,原因是网络接口的概念是包含了物理层和数据链路层,而不是单单的数据链路层

各层职责

  • 应用层 是TCP/IP协议的第一层,是直接为应用进程提供服务的。对不同种类的应用程序它们会根据自己的需要来使用应用层的不同协议,以及可以加密、解密、格式化数据,而且可以建立或解除与其他节点的联系

  • 运输层 运输层是TCP/IP协议的第二层,在整个TCP/IP协议中起到非常重要的作用

  • 网络层 网络层可以进行网络连接的建立和终止以及寻找IP地址等

  • 网络接口层 网络接口层既是传输数据的物理媒介,也可以为网络层提供一条准确无误的线路

通信过程及协议

通信过程

通常我们会将发出数据的主机称为源主机,接收数据的主机称为目的主机

在通信过程中,源主机发出数据,数据在源主机中从上层向下层传送:

  1. 源主机中的应用进程先将数据交给应用层,应用层加上必要的控制信息就成了报文流,向下传给传输层
  2. 传输层将收到的数据单元加上本层的控制信息,形成报文段、数据报,再交给网络层
  3. 网络层加上本层的控制信息,形成IP数据报,传给网络接口层
  4. 网络接口层将网际层交下来的IP数据报组装成帧,并以比特流的形式传给网络硬件(即物理层),数据就离开源主机

相关协议

由于协议众多,看太多也记不住,这里仅了解TCP协议和IP协议

TCP协议

TCP中文叫传输控制协议

是在第二层--传输层

是一种面向连接的、可靠的、基于字节流的通信协议

简单来说TCP就是有确认机制的UDP协议,每发出一个数据包都要求确认,如果有一个数据包丢失,就收不到确认,发送方就必须重发这个数据包

IP协议

IP协议是在第三层--网络层

它制定了一套地址,通过它,能让我们区分两个机子是不是属于同一个网络

IP协议将这个32位的地址分为两部分,前面部分代表网络地址,后面部分表示该主机在局域网中的地址。如果两个IP地址在同一个子网内,则网络地址一定相同

为了判断IP地址中的网络地址,IP协议还引入了子网掩码,IP地址和子网掩码通过按位与运算后就可以得到网络地址

END

以上就是本文的所有内容,如有问题,欢迎指正~