TCP/IP协议分层结构趣味解读

文章转自:与TCP/IP协议的初次见面(一)

与TCP/IP协议的初次见面(一)

引言

   最近LZ有了一点时间,于是便拿出TCP/IP的书本开始啃。开始的时候,啃起来枯燥无味,现在好不容易有点开窍,于是赶忙记录一下,生怕自己一转眼就给忘了。不过计算机系统原理就有点可惜了,最近一直没时间看,选来选去,还是觉得TCP更加重要一些,或者说现阶段更加重要一些。

  好了,废话不多说,我们开始记录吧。

TCP/IP是什么 

  要讨论tcp/ip,就必须知道它究竟是什么东西。这是开始逐渐深入一个东西的前提,tcp/ip也不例外。

  LZ用自己的话回答一下这个问题,tcp/ip是什么?

  简单的说,tcp/ip就是一套规矩。两个计算机要互相通信,就得有规矩,一个非常普遍的例子就是发信件。想像一下,如果信件上面的地址和邮编等信息是随便写的,那么目的地的邮递员收到信件时,一定会一头雾水,不知道到底要送到哪。同样的,如果收件人是“额买瑞肯”,而你写的字是“拆泥渍”,对方肯定是看不懂的,所以双方的语言也要相通。

  计算机之间要通信,也需要规矩,于是tcp/ip就出现了。tcp和ip分别是两个协议,而tcp/ip一般泛指一个协议族。这个协议族一共包含四层,分别是链路层,网络层,传输层以及应用层。其中tcp是传输层的协议,ip则是网络层的协议。

  之所以分层,原因就像mvc框架的作用一样,是为了让专业的人做专业的事。还记得设计模式当中的单一职责原则吗,这里其实也正是这个原则的体现。每一层都只做自己应该做的事情,并且把它做好,这样有利于扩展和维护。

  

四层简介 

  接下来,LZ就自己的理解,给大家简单介绍一下各个分层。

  链路层:这是最接近硬件的一层,也是俗称的“底层”。它主要指我们俗称的网卡和网卡驱动程序,网卡是硬件,驱动程序则负责控制网卡。链路层主要负责与传输介质(比如光纤)配合完成实际的数据传输工作。你可以把它想像成高速公路上可恶的收费站,每一条公路的入口和出口都有一个收费站,而这些收费站之间是有协议的,比如按路程收费。这些收费站就像网络接口一样,而公路则像光纤一样。

  网络层:这一层凌驾于链路层之上,主要负责数据报在网络中的活动,比如该往哪走。这一层就像高速公路上的路标,路标决定了你每到一个路口应该怎么走。网络层恰恰就是做这件事,比如ip协议,其实就是制定一套规则,让数据按照这套规则可以找到目的地。

  传输层:这一层已经比较接近我等屌丝了,它负责应用程序之间端到端的通信,这么说可能比较难理解。这个比较像物流中的一个场景,比如现在LZ在北京,并且在上海买了一个女朋友要送过来,那么过程应该是这样的。首先由上海的快递小哥把LZ的女朋友拿走,然后交给向北京出发运送货物的司机,接下来LZ的女朋友到北京后会被交给物流公司的统一发货处,最终由快递小哥负责把女朋友送到LZ手中。请注意,这个过程中,货车司机并不关心货物到底送到哪,他只管送到北京,而最终快递小哥需要把货物送给具体的收货人。这和网络层与传输层的关系类似,网络层只管把数据报从一个计算机送给另外一个计算机,具体是哪个进程的数据,网络层可不管,这便是传输层负责的事了。这里的端到端通信,其实就是指端口到端口的通信。

  应用层:这一层与我等屌丝已经有肌肤之亲,可谓是再熟悉不过了。比如你天天要用的http协议,它就是应用层的一个协议。http定义了各种协议头,什么请求协议头,响应协议头,乱七八糟的。这些协议头都是干嘛的呢,既然是应用层,当然是给应用程序用的了。比如响应协议头中有文本格式这个头,它就定义了浏览器应该如何展示web服务器发回来的响应信息,比如xml,html还是什么其它的玩意。

  

四层小结 

  这么一看,其实tcp/ip协议族挺好理解的,接下来LZ还用上面物流的例子来说明。

  链路层就是负责运输LZ女朋友的那个司机,他是实际负责运输工作的(也就是实际传输数据的工作)。网络层就是高速路上的路标,负责指引司机在高速上该如何走(也就是在网络上的活动),并让司机正确到达目的地。传输层则是快递小哥,负责在具体的发货人和收获人之间(也就是发送端口和接收端口)的接收。应用层就像是LZ女朋友的使用说明,这就是LZ和卖家之间(也就是应用程序之间)的事了。

  

文章花絮 

  本篇就到此为止吧,毕竟内容不在多,有精就行。只是为了更好的说明本文的内容,LZ牺牲了自己的形象,只是希望媳妇不要看到这篇文章。LZ发誓,本文中的所有例子都纯属虚构。

  待续待续吧!


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TCP/IP协议体系结构是一种网络通信协议的体系结构,它由多个层次组成,每个层次负责不同的功能。TCP/IP协议体系结构包括以下层次: 1. 物理层:负责传输比特流,将数据从一个节点传输到另一个节点。它定义了电气、机械和功能接口。 2. 数据链路层:负责将比特流转换为数据帧,并在物理网络上进行传输。它提供了错误检测和纠正机制,以确保数据的可靠传输。 3. 网络层:负责将数据包从源节点传输到目标节点。它使用IP协议来寻址和路由数据包,以确保数据的正确传输。 4. 传输层:负责在源节点和目标节点之间建立可靠的数据传输连接。它使用TCP协议提供可靠的、面向连接的传输服务,或使用UDP协议提供不可靠的、无连接的传输服务。 5. 应用层:负责处理特定的应用程序协议,例如HTTP、FTP和SMTP。它定义了应用程序之间的通信规则和数据格式。 TCP/IP协议体系结构的特点包括: - 分层结构:每个层次都有特定的功能,层与层之间通过接口进行通信,实现了模块化和可扩展性。 - 松散耦合:每个层次都独立于其他层次,可以独立地进行开发和升级。 - 开放性:TCP/IP协议是开放标准,任何人都可以使用和实现它。 - 可靠性:TCP/IP协议提供了可靠的数据传输机制,确保数据的完整性和可靠性。 - 灵活性:TCP/IP协议适用于各种不同类型的网络,包括局域网、广域网和互联网。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值