浅析TCP/IP协议

时间:2020-03-05 12:26:03   收藏:0   阅读:68

浅析TCP/IP协议

0x00 什么是TCP/IP协议?

? 想一想人与人之间交流需要什么?我们是不是要掌握一种我们都能体会到对方意思的语言。那么计算机与网络设备之间进行通信,是不是不同设备之间是不是也要确定一种让两者能够通信的方法。不同的硬件,不同的操作系统,等等不同的设备,他们想要通信,必须要有一种规则来保证它们之间能够通信。而这种规则就是协议

? 很多人都认为TCP/IP协议指的是TCP和IP这两种协议,也有人认为TCP/ IP 是在 IP 协议的通信过程中,使用到的协议族的统称。但我认为其实不是这样,因为TCP(传输控制协议)和IP(传输控制协议)都属于一个协议家族,而他们就是这个家族中最先出生的。同时也是这个协议家族的最核心的协议。所以就用TCP/IP协议来代表这个协议家族。它通称为TCP/IP协议族,简称为TCP/IP。又因为网络通讯协议采用分层的结构,各个层次配合完成工作,和计算机中的堆栈很相似,所以亦被称为TCP/IP协议栈

## 0x01 TCP/IP参考模型

? 首先来了解一下OSI模型,OSI模型(开放式系统互联模型), 是一种概念模型,由国际标准化组织提出,一个试图将世界上各种计算机互连为网络的标准框架。共分为七层:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。如下图所示。

? 技术分享图片

下面来看 TCP/IP参考模型,它是一个抽象的分层模型,在这个模型中,所有的TCP/IP系列网络协议都被归类到4个抽象的“层”中(分别是:应用层传输层网络互连层网络访问(链接)层)。每一抽象层创建在低一层提供的服务上,并且为高一层提供服务。 完成某些特定的任务需要众多的协议协同工作,这些协议分布在模型的不同层。 TCP/IP参考模型为TCP/IP协议栈制作。其中IP协议只关心如何使得数据能够跨越本地网络边界的问题,而不关心如何利用传输媒体,数据如何传输(当作黑盒处理)。整个TCP/IP协议栈则负责解决数据如何通过许许多多个点对点通路(一个点对点通路,也称为一“跳”, 1 hop)顺利传输,由此不同的网络成员能够在许多“跳”的基础上创建相互的数据通路。

技术分享图片

把TCP/IP协议族中的协议对照OSI七层模型,如下图示,

? 技术分享图片

技术分享图片

? 而通常人们认为OSI模型的最上面三层(应用层、表示层和会话层)在TCP/IP组中是一个应用层。 网络传输协议能够大致匹配到一些厂商喜欢使用的固定7层的OSI模型。然而这些层并非都能够很好地与基于IP的网络对应。

? 技术分享图片

不难看出,OSI更加抽象,注重功能,而TCP/IP则更加注重与功能的实现。

0x02 TCP/IP的分层管理

把 TCP/IP 层次化是很有必要的。比如说,如果只有一个协议,当某个地方需要改变设计时,那我们就必须把所有部分替换掉。而分层之后呢,我们的协议分为几个层面,让每个层面有专门的协议去负责,这样们既可以做到详细和完整,又可减轻工作量,如我们要修改协议,我们不需要将所以的协议都改,只需要修改我们需要的部分。

TCP/IP 协议族各层的作用如下。

应用层

TCP/IP 协议族内预存了各类通用的应用服务

在应用层上有一些特定的程序。它们提供直接支持用户应用的服务。如:HTTP(万维网服务)、FTP(文件传输)、SMTP(电子邮件)、SSH(安全远程登陆)、DNS(名称<-> IP地址寻找)等

传输层

网络层(又名网络互连层)

 网络互连层定义了分组格式和协议,即IP协议(Internet Protocol)。网络互连层除了需要完成路由的功能外,也可以完成将不同类型的网络(异构网)互连的任务。除此之外,网络互连层还需要完成拥塞控制的功能。 

链路层(又名数据链路层,网络接口层)

0x03 参考资料

[1] TCP/IP四层模型

[2] TCP/IP协议

[3] 互联网协议套件

[4] 图解HTTP (图灵程序设计丛书) [日]上野 & 宣

原文:https://www.cnblogs.com/delongzhang/p/12419280.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!