TCP/IP协议族四层模型简述
TCP/IP协议族可按层次划分为四层,从上层到底层为:应用层,传输层,网络层, 数据链路层。知道了TCP/IP协议是进行分层设计的,很多好奇心强的同学肯定会又疑惑,为什么要分层进行设计,为什么又是按照这四个层级进行划分。
假设整个协议都是一个整体,没有进行层次化的设计,那么如果协议需要进行调整的时候,那就需要对整个协议进行修改。但是,进行分层解耦之后,每一层的内容相对独立,互不影响。需要进行变更的时候就只需要针对某一层的协议内容进行做变动,不会影响到其他几层的内容。其实和开发过程中的模块封装解耦一样。
有的同学会有疑问,网络模型不是七层的吗,这里怎么变成了四层。其实将这四层在再次细分划出去之后也就变成了七层模型。这篇文章主要是为了讲解一下tcp/ip协议族的四层设计思想,故不针对四层和七层模型做过多讲解。
先看看tcp/ip协议族分层之后的总体设计:
ISO七层模型设计:
两种设计的对应层数划分关系:
具体设计差异以及ISO七层模型的讲解,放到后续的文章中。
ok,回到主题上来。下面开始介绍四层模型每层的作用以及整体是如何实现通信的。
先上通信的整体结构图:
我们先从应用层开始讲起:
应用层决定这次通信的应用类型,比如说FTP、DNS、SMTP等等,同时HTTP协议也属于应用层的范围。通俗来讲,应用层决定这一次通信要干嘛。
传输层:传输层提供两台计算机之间的数据传输,传输层中包含着两个很叼的协议,分别是TCP和UDP协议。面试中经常提及的三次握手,四次挥手就是TCP协议的部分内容
网络层:网络层则是用来处理这些流动的数据包,也就是如果把相应的数据包路由到指定的地点,为通信时的网络传输选择传输路线
数据链路层:数据链路层包含了软件与硬件的接口部分,以及各种网络设备的硬件,也就是整个网络通信过程中最底层的基础设施
简单了解了每一层的作用之后,我们试着串起来,摸索一下一次整体的http请求到响应的过程。
拿访问google做个例子
0.访问google.com,按下回车。
1.应用层准备好请求报文,通过DNS服务进行域名解析,得到google的ip地址,并将报文发到传输层。
2.传输层收到报文后,会将请求的数据包进行拆分,打包,并对每个包裹打上tag。在请求报文的基础上,加上一层TCP的首部信息,然后发往网络层。
3.到了网络层以后,IP协议就发挥了巨大的作用,IP协议中需要两个比较重要的信息,那就是ip地址和mac地址。ip已经在应用层通过dns解析出来了,那mac怎么办。。。真尴尬,然而这时ARP协议又冒了出来,它可以根据ip地址反向查询到目标主机的mac地址。好了,现在啥都有了,打包带走,把数据发到数据链路层。
4.终于走到基础设施这里了,此时数据包就在一根根光纤中旋转跳跃的奔向目的地,当然,整个过程不一定是直达的,可能需要经过各种中转站,就跟坐火车转车一样的。
5.请求到达服务器后,先从数据链路层往上走,并验证消去以太网首部信息,在网络层消去IP首部,在传输层消去TCP首部,就像剥洋葱一样一层一层去皮,最后剩下的就请求报文。在应用层对请求做出处理之后,需要对请求返回一个响应。而整个响应的传输过程就和请求一样,一层一层的封装,响应到达客户端时再一层一层的消去首部,最后呈现响应的结果。
好了,看完这篇文章,你应该对TCP/IP协议族的四层模型有一个相对清晰的认识了。然而,这只是个比较粗略的过程,因为里面很多的细节都没有涉及。后续的文章中,会对这些细节进行剖析,让自己能够更加深入的了解学习协议,也能够为学习的同学分享知识,和乐而不为。
TCP/IP协议族四层模型简述相关推荐
- OSI模型与TCP/IP协议族
文章目录 一.分层思想 二.OSI参考模型 1.国际标准化组织ISO 2.OSI七层参考模型 三.TCP/IP协议族 OSI模型与TCP/IP模型 TCP/IP协议族的组成 四.数据封装与解封装 五. ...
- TCP/IP协议族 详解(TCP/IP四层模型、OSI七层模型)
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. TCP/IP协议族(TCP/IP Protocol Suite,或TCP/IP Protocols) ...
- tcp ip协议_网络通信-TCP/IP协议族简述
导读:计算机与网络设备要相互通信需要遵守同样的规则.例如,如何找到通信目标.该使用哪种语言通信.怎么结束通信等规则.不同的硬件.操作系统之间的通信都需要遵循同一种规则,这种规则也称为是协议.下面本文主 ...
- TCP/IP协议族(一) HTTP简介、请求方法与响应状态码
接下来想系统的回顾一下TCP/IP协议族的相关东西,当然这些东西大部分是在大学的时候学过的,但是那句话,基础的东西还是要不时的回顾回顾的.接下来的几篇博客都是关于TCP/IP协议族的,本篇博客就先简单 ...
- 网络传输之TCP/IP协议族
我们现实网络无处不在,我们被庞大的虚拟网络包围,但我们却对它是怎样把我们的信息传递并实现通信的,我们并没有了解过,那么当我们在浏览器中出入一段地址,按下回车这背后都会发生什么? 比如说一般场景下,客户 ...
- 【1】TCP/IP协议族详解-概述
声明:本博客参考<TCP/IP详解卷一:协议> 1.背景介绍 TCP/IP起源于6 0年代末美国政府资助的一个分组交换网络研究项目,到 9 0年代已发展成为计算机之间最常应用的组网形式.它 ...
- OSI参考模型 TCP/IP协议族 数据封装与解封过程
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一. OSI参考模型和TCP/IP协议族 1.OSI七层参考模型 ①应用层 ②表示层 ③会话层 ④传输层 ⑤网络层 ⑥数据链 ...
- 5、TCP/IP协议族
上节<OSI网络七层模型简明教程>中讲到,目前实际使用的网络模型是 TCP/IP 模型,它对 OSI 模型进行了简化,只包含了四层,从上到下分别是应用层.传输层.网络层和链路层(网络接口层 ...
- 了解一下TCP/IP协议族
在<简单说说OSI网络七层模型>中讲到,目前实际使用的网络模型是 TCP/IP 模型,它对 OSI 模型进行了简化,只包含了四层,从上到下分别是应用层.传输层.网络层和链路层(网络接口层) ...
最新文章
- SQL Server 储存过程的output 参数
- 团队-及格成绩查询系统-设计文档
- mysql索引执行计划_第六章· MySQL索引管理及执行计划
- boost::process::throw_on_error相关的测试程序
- dataframe只打印第一行_linux/unix下如何使用命令行删除文本文件的第一行?
- input输入框修改后自动跳到最后一个字符
- Build 2021 :正式发布.NET 6 Preview4
- springboot整合rocketmq_面试官:简单说一下RocketMQ整合SpringBoot吧
- 一篇google developer 安全介绍的翻译
- mysql主从复制从机开启读_MySQL主从复制和读写分离
- 商业创业计划书的21条重要事项
- 四川大学 计算机复试分数线,2015年四川大学考研复试分数线已公布
- 你的每行代码值多少钱?
- 安索夫矩阵分析市场和产品策略
- C语言 弹小球 小游戏(控制台)
- 《简明美国史》笔记(陈勤著)
- 浪潮服务器开机板载卡显示FF,浪潮服务器安装操作系统简要步骤说明
- Windows下安装MySQL5
- C语言程序设计—学籍信息管理系统
- 【新年flag】追光而行的全新救赎——来自大一新生的心声