小白如何理解TCP / IP网络协议族

小白如何理解TCP / IP网络协议族

在古代,两个人要相互联系,就得用书信来相互联系。这个时候,书信的传输就是一种“协议”(在以前不叫做协议)。

如果送信人能把你的信件送给那个TA(中间没有意外),那么这个送信人(通信协议)就可以。

What's more,传输不只有书信,还有粮食,日用品,什么的。用来传书信的人可能就一人一骑,速度快且轻便,但是要他送粮草就可能不大适合了,所以这时候又要有其他人(另外一个通信协议)来送,比如马车,速度慢但是可以装很多东西。

或者说,他可以送,但是总体效率不高,还不如马车,所以马车还是必要的。

现在,大家能上网,也是有很多协议在工作。

他们各自处理某一个环节,然后让整个过程顺利完成。

具体哪些呢、我现在叫不出来、大家先看看:网络通信协议 ?

这次呢,我们就先讨论下TCP / IP协议族

为什么讨论这个呢?因为这个于大家现在的网络生活息息相关

这个是个协议族,就说明有很多协议每个协议有自己对应的工作

那么我们根据每个协议的工作范围来划分“层”

TCP/IP协议族大致可分为四层

TCP/IP的四个层分别是:

4应用层
例如HTTPFTPDNS (如BGPRIP这样的路由协议,尽管由于各种各样的原因它们分别运行在TCP和UDP上,仍然可以将它们看作网络层的一部分)
3传输层
例如TCPUDPRTPSCTP (如OSPF这样的路由协议,尽管运行在IP上也可以看作是网络层的一部分)
2网络互连层
对于TCP/IP来说这是因特网协议(IP)
(如ICMPIGMP这样的必须协议尽管运行在IP上,也仍然可以看作是网络互连层的一部分;ARP不运行在IP上)
1网络接口层
例如以太网Wi-FiMPLS等。
From wikipedia

下面来解释下他们:

应用层:应用层是大多数普通与网络相关的程序为了通过网络与其他程序通信所使用的层。

也是我们接触得最近的一层,因为他与应用程序直接向相关联。

比如说:我要上baidu.com,他前面肯定会有"HTTP://",这就是HTTP协议(超文本传输协议)(或者加上了"HTTPS://",这是安全的超文本传输协议)或者我要发邮件,就要用到SMTP(简单邮件传输协议)etc,还有很多。

传输层:这里的协议,顾名思义,就是要负责传输方面的工作,这一层就在应用层之上,传输层能够解决诸如端到端可靠性(譬如:“数据是否已经到达目的地?”)保证数据按照正确的顺序到达这样的问题。在TCP/IP协议组中,传输协议也包括所给数据应该送给哪个应用程序

例如:我收到了QQ消息,那么这个消息应该发给我的QQ,而不是支付宝。

网络互连层:在TCP/IP中主要是因特网协议,它有IP寻址和路由的功能,总的来讲结果就是讲一台有条件联网的设备连接到网络。比如:我手机打开了数据流量,然后就可以上网访问各个(处于不同服务器的)网站

网络接口层:网络接口层实际上并不是因特网协议组中的一部分,但是它是数据包从一个设备的网络层传输到另外一个设备的网络层的方法。

这一层就像物理层,和硬件有关,比如:网卡,路由器。

它还有比较特殊的“隧道”,像VPN

这一层也是保证层和层之间传输的关键

这些协议就让我们使用互联网非常方便快捷

TCP协议也是个十分精巧效率高的协议

所以掌握他就不那么容易,大家在学习他们的时候要做好准备。�

之后我还会发更多有关TCP / IP的学习文章

(参考来自维基的TCP/IP协议族百度百科的)

(上次写太草了,这次更新了下)

编辑于 2017-09-22

文章被以下专栏收录

    这里非常欢迎对技术感兴趣的你,这里记录我学技术的点点滴滴,有Java开发,还有算法。持续更细,希望关注,并多多评论搞事情(滑稽)(雾)