互联网通信协议(TCP/IP协议)分层模型介绍

描述

网络

一、什么是网络?

简单来说,网络就是一种辅助双方或者多方连接在一起的工具,是一种工具。

二、使用网络的目的

为了联通多方然后进行通信,即把数据从一方传递给另一方,python开发基础阶段学习的编程都属于单机的,即不能和其他电脑的程序进行通信。为了让在不同的电脑上运行的软件之间能够相互传输数据,就需要借助网络的功能。

网络编程

TCP/IP

一、TCP/IP协议族 (网络通信协议)

首先我们需要知道什么是协议(百度百科有):

网络编程

简单理解,就像下图一般,全世界很多语言,为了解决沟通障碍,规定国际通用的语言为英语,这就是一个规定,或者说协议。

那么类比到计算机领域,计算机网络沟通语言是什么?

其实在现实中,我们可以发现,不同计算机只需要连上了网,那么就可以相互之间进行数据传递,那不同种类的计算机到底是怎么进行数据传递的?

很容易理解,只需要有一种大家都认可并且都遵循的协议即可,计算机都遵循的网络通信协议就叫做TCP/IP协议。

早期的计算机网络,各计算机厂商各自规定一套协议,比如IBM、Apple等都有各自的网络通信协议,互不兼容,谁也不服谁,导致只有相同品牌的计算机才能够进行通信交流。

为了把世界上所有不同类型的计算机都连接起来,就必须规定一套全球通用的网络通信协议。
为了实现互联网这个目标,互联网协议簇(Internet Protocol Suite)就随之发展而成,互联网协议簇就是通用协议标准。

因为互联网协议包含了很多种协议标准,并不仅仅只是TCP和IP协议,只是这两个相对来说非常重要,所以互联网通信协议也就简称TCP/IP协议。

二、网络通信协议分层模型:

在网络分层模型中,有两种模型:

一是 TCP/IP 标准,它提出得早,1970年就被发明。它提出了分层概念,将网络通信分为四层,分别是数据链接层、网络层、传输层、应用层。

另一种是 OSI,全称叫开放式系统互联通信参考模型,是国际标准,用来统一各种网络协议,始于上世纪70年代后期,是网络分层的"空架子老大"。

OSI 模型分成了七层,分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

两者的关系就好比手机系统的巨头是 iOS 和 Android,它们制定了标准,因为话语强,所以国际标准以它们为核心再添加指定一些其他标准,但核心是 iOS 和 Android。其中 TCP/IP 就是网络分层模型中的老大,OSI 就像英国女王那样,是皇室象征,是国际标准。

别问我怎么知道这么多的,我也很懵逼的...

端口

一、什么是端口?

网络编程

大白话来讲,端口就像是一个房子的们,是出入这间房子的必经之路,没有其他路。

那什么是进程?

进程就是正在进行的程序,当我们打开任务管理器,可以看到进程。


 

网络编程

进程与进程之间需要交流,交流需要收发网络数据,那么就需要端口。

 

网络编程

端口可以有65536(2^16)个。

不要问为什么端口才六万多个,我的电脑运行正常时候一般才150个进程左右,一台电脑能同时运行几百个程序已经很niubility了,还在妄想奢求什么捏?

二、端口号

那么既然有这么多端口,那操作系统为了统一管理,就会对端口进行编号,这就是端口号。

端口是通过端口号来标记的,端口号只有整数,范围【0, 65535

那么端口号是如何分配的呢?

需要知道,端口号不是随意使用的,而是按照一定的规定进行分配。

知名端口也就是众所周知的端口号,范围为【0,1023】

可以理解为一些常用功能的号码,好比110,120,10086等

动态端口是不固定分配某种服务的端口号,动态分配,其范围为【1024,65535】

动态分配是只当一个系统进程应用进程需要网络通信时向主机申请一个端口,主机从可用端口号中分配一个供它使用,当这个进程结束时,其占用的端口号同时释放。

ip地址

一、IP地址(IPV4、IPV6)

网络编程

IP地址,按照官方词条来讲,就是互联网协议地址,是为互联网上的每一个网络和每一台主机分配的逻辑地址,用来屏蔽物理地址的差异。

简单讲就是IP地址就好像电话号码(地址码):有了某人的电话号码,你就能与他通话了。同样,有了某台主机的IP地址,你就能与这台主机通信了,而且ip地址是唯一的

在浏览器上搜索“IP地址”,你就可以知道你的ip地址。

二、IP地址的分类

每个ip地址包括两部分:网络地址和主机地址

网络编程

A类IP地址:

一个A类IP地址由1字节的网络地址的网络和3字节主机地址组成,网络地址的最高位必须是“0”;

地址范围:1.0.0.1-126.255.255.254;

可用A类网络有126个,每个网络能容纳一千六百多万个主机。

私有地址:

10.X.X.X是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址),范围是10.0.0.0-10.255.255.255。

保留地址:

127.X.X.X(127.0.0.1-127.255.255.255)是保留地址,用做循环测试用的。

如:127.0.0.1可以代表本机IP地址,用http://127.0.0.1就可以测试本机中配置的web服务器

B类IP地址:

一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”;

地址范围:128.1.0.1-191.255.255.254;

可用的B类网络有16384个,每个网络能容纳65534个主机。

私有地址:

172.16.0.0—172.31.255.255是私有地址

保留地址:

69.254.X.X是保留地址。如果你的IP地址是自动获取IP地址,而你在网络上又没有找到可用的DHCP服务器。就会得到其中一个IP。

191.255.255.255是广播地址,不能分配。

C类IP地址:

一个C类IP地址由3个字节的网络地址和1个字节的主机地址组成,网络地址的最高位必须是“110”;

地址范围:192.0.1.1-223.255.255.254;

C类网络可达2097152个,每个网络能容纳254个主机。

私有地址:

192.168.X.X是私有地址。(192.168.0.0-192.168.255.255)

D类IP地址:

不分网络地址和主机地址

D类IP地址第一个字节以“1110”开始,它是一个专门保留的地址;

D类地址范围:224.0.0.0-239.255.255.255

他并不指向特定的网络,目前这一类地址被用在多点广播中

多点广播地址用来一次寻址一组计算机

E类IP地址:

不分网络地址和主机地址

以“1111”开始,为将来使用保留(仅在实验室和开发用)

E类地址范围:240.0.0.0-255.255.255.254



审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分