设为首页 收藏本站
查看: 1954|回复: 0

[经验分享] TCP/IP参考模型

[复制链接]

尚未签到

发表于 2017-6-21 20:49:36 | 显示全部楼层 |阅读模式
1、简介
  什么是TCP/IP参考模型?
  TCP/IP模型是网络通信模型的一种。网络通信模型还包括OSI,旨在使各种计算机在世界范围内互连为网络。其中有OSI为七层模型、TCP/IP为四层模型,现在大部分网络通信都是以TCP/IP四层模型为基础的。
DSC0000.jpg

  OSI模型有七层包括:从上到下依次为,应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
  TCP/IP模型有四层包括:从上到下依次为,应用层、传输层、网络互连层、链路层
2、TCP/IP四层模型详解
  TCP/IP参考模型分为四个层次:应用层、传输层、网络互连层和主机到网络层(链路层)
DSC0001.jpg

  在TCP/IP参考模型中,去掉了OSI参考模型中的会话层和表示层(这两层的功能被合并到应用层实现)。同时将OSI参考模型中的数据链路层和物理层合并为主机到网络层。
  还有另一种说法就是,还存在物理层,但并未算进TCP/IP参考模型中。物理层的作用是传输电信号, 比如常见的双绞线网线, 光纤, 以及早期的同轴电缆等, 物理层的设计决定了电信号传输的带宽, 速率, 传输距离, 抗干扰性等等
  TCP/IP参考模型是一个抽象的分层模型,这个模型中,所有的TCP/IP系列网络协议都被归类到4个抽象的"层"中。每一抽象层创建在低一层提供的服务上,并且为高一层提供服务。 完成一些特定的任务需要众多的协议协同工作,这些协议分布在参考模型的不同层中的,因此有时称它们为一个协议栈
  2.1、主机到网络层(链路层)
  实际上TCP/IP参考模型没有真正描述这一层的实现,只是要求能够提供给其上层-网络互连层一个访问接口,以便在其上传递IP分组。由于这一层次未被定义,所以其具体的实现方法将随着网络类型的不同而不同。(主要协议有:ARP协议和RARP协议)
  2.2、网络层
  网络互连层是整个TCP/IP协议栈的核心。它的功能是把分组发往目标网络或主机。同时,为了尽快地发送分组,可能需要沿不同的路径同时进行分组传递。因此,分组到达的顺序和发送的顺序可能不同,这就需要上层必须对分组进行排序。  
  网络互连层定义了分组格式和协议,即IP协议(Internet Protocol)。  
  网络互连层除了需要完成路由的功能外,也可以完成将不同类型的网络(异构网)互连的任务。除此之外,网络互连层还需要完成拥塞控制的功能。  
  2.3、传输层
  在TCP/IP模型中,传输层的功能是使源端主机和目标端主机上的对等实体可以进行会话。在传输层定义了两种服务质量不同的协议。即:传输控制协议TCP(transmission control protocol)和用户数据报协议UDP(user datagram protocol)。  
  TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等,由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。 
  UDP为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。
  因为TCP是一种面向连接的协议,所以两个在使用TCP的应用在彼此交换数据前必须先建立一个TCP连接,也就是有名的TCP三次握手,如下图所示:
DSC0002.jpg


建立连接协议过程:(TCP三次握手协议)
  1)客户端发送一个SYN段指明客户打算连接的服务器的端口,以及初始序号(ISN)。
  2)服务器发回包含服务器的初始序号的SYN报文段作为应答。同时,将确认序号设置为客户的ISN加1以对客户的SYN报文段进行确认。一个SYN占用一个序号。
  3)客户将确认序号设置为服务器的ISN加1以对服务器的SYN报文段进行确认。  2.4、应用层
  TCP/IP模型将OSI参考模型中的会话层和表示层的功能合并到应用层实现。  
  应用层面向不同的网络应用引入了不同的应用层协议。其中,有基于TCP协议的,如文件传输协议(File Transfer Protocol,FTP)、虚拟终端协议(TELNET)、超文本链接协议(Hyper Text Transfer Protocol,HTTP),也有基于UDP协议的。
  2.5、两台计算机通信的数据的传输过程
  下图是两台计算机通信的数据的传输过程:
DSC0003.jpg

  2.6、数据封装
  数据封装的概念,数据在通过网络接口传送出去前,会经过层层封装,每层都会在前面的基础上添加自己的信息,在传输到对方计算机后,又会被层层进行解封装后得到最后的数据。其过程如下图所示:
DSC0004.jpg

3、参考文献

  • 《TCP/IP参考模型》
  • 《简单理解计算机通信》
  (以上是自己的一些见解,若有不足或者错误的地方请各位指出)
  作者:那一叶随风   http://www.cnblogs.com/phpstudy2015-6/
  原文地址:http://www.cnblogs.com/phpstudy2015-6/p/6804202.html
  声明:只代表本人在工作学习中某一时间内总结的观点或结论。转载时请在文章页面明显位置给出原文链接

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-386537-1-1.html 上篇帖子: 学习笔记 下篇帖子: Visual Studio 2017 调试 windows server 2016 Docker Container
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表