互联网五层模型中每一层分别都有哪些协议

目录

相关文章:

1、五层模型

2、 层与协议

2.1、实体层(或物理层)

2.2、链接层

2.2.1、Ethernet(以太网协议)

2.2.2、ARP协议&BARP协议

2.2.3、 IEEE802.3标准

2.2.4、PPP协议

2.2.5、CSMA/CD协议

2.3、网络层

2.3.1、IP协议

2.3.2、ICMP协议

2.3.3、IGMP协议

2.4、传输层

2.5、应用层



相关文章:

互联网协议入门(自己的)

TCP/IP五层模型详解(阅读量不多,但内容不错)

计算机网络各层协议(百度文库的文章,非常全面)

1、五层模型

互联网的实现,分成好几层。每一层都有自己的功能,就像建筑物一样,每一层都靠下一层支持。

用户接触到的,只是最上面的一层,根本没有感觉到下面的层。要理解互联网,必须从最下层开始,自下而上理解每一层的功能。

如何分层有不同的模型,有的模型分七层,有的分四层。我觉得,把互联网分成五层,比较容易解释。
 

互联网五层模型中每一层分别都有哪些协议_第1张图片

2、 层与协议

每一层都是为了完成一种功能。为了实现这些功能,就需要大家都遵守共同的规则。

大家都遵守的规则,就叫做"协议"(protocol)。

互联网的每一层,都定义了很多协议。这些协议的总称,就叫做"互联网协议"(Internet Protocol Suite)。它们是互联网的核心,下面介绍每一层的功能,主要就是介绍每一层的主要协议。

图一:

互联网五层模型中每一层分别都有哪些协议_第2张图片

图二:

互联网五层模型中每一层分别都有哪些协议_第3张图片

2.1、实体层(或物理层)

没有什么协议

我们从最底下的一层开始。

电脑要组网,第一件事要干什么?当然是先把电脑连起来,可以用光缆、电缆、双绞线、无线电波等方式。

互联网五层模型中每一层分别都有哪些协议_第4张图片

这就叫做"实体层",它就是把电脑连接起来的物理手段。它主要规定了网络的一些电气特性,作用是负责传送0和1的电信号。

2.2、链接层

  • Ethernet  美 [ˈiːθərnet] (以太网协议):规定了一组电信号构成一个数据包,叫做"帧"(Frame)。每一帧分成两个部分:标头(Head)和数据(Data)
  • ARP协议:Address Resolution Protocol,地址解析协议,将已知IP地址转换为MAC地址
  • BARP协议:Rebellion(美 [rɪˈbeljən] 反逆)Address Resolution Protocol,逆转地址解析协议,将已知MAC地址转换为IP地址
  • VLAN:Virtual Local Area Network,虚拟局域网
  • STP:Spanning Tree Protocol,生成树协议
  • ppp点对点协议 :Point-to-Point Protocol点到点协议
  • CSMA/CD:Carrier-Sense Multiple Access With Collision Detection,载波监听多点接入/碰撞检测

单纯的0和1没有任何意义,必须规定解读方式:多少个电信号算一组?每个信号位有何意义?

这就是"链接层"的功能,它在"实体层"的上方,确定了0和1的分组方式。

Ethernet  美 [ˈiːθərnet] (以太网协议)、ARP协议、BARP协议、IEEE802.3、PPP协议、CSMA/CD协议

2.2.1、Ethernet(以太网协议)

早期的时候,每家公司都有自己的电信号分组方式。逐渐地,一种叫做"以太网"(Ethernet)的协议,占据了主导地位。

以太网规定,一组电信号构成一个数据包,叫做"帧"(Frame)。每一帧分成两个部分:标头(Head)和数据(Data)。

互联网五层模型中每一层分别都有哪些协议_第5张图片

"标头"包含数据包的一些说明项,比如发送者、接受者、数据类型等等;"数据"则是数据包的具体内容。

"标头"的长度,固定为18字节。"数据"的长度,最短为46字节,最长为1500字节。因此,整个"帧"最短为64字节,最长为1518字节。如果数据很长,就必须分割成多个帧进行发送。

head包含:(固定18个字节)

  • 发送者/源地址,6个字节
  • 接收者/目标地址,6个字节
  • 数据类型,6个字节

2.2.2、ARP协议&BARP协议

相关文章:链接层(第二层)之 ARP协议&BARP协议

ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。其作用是在以太网环境中,数据的传输所依懒的是MAC地址而非IP地址,而将已知IP地址转换为MAC地址的工作是由ARP协议来完成的。

在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

2.2.3、 IEEE802.3标准

以太网协议是由一组 IEEE 802.3 标准定义的局域网协议集。

2.2.4、PPP协议

PPP协议(2w阅读量)

2.2.5、CSMA/CD协议

CSMA/CD协议

2.3、网络层

  • ICMP:Internet Control Message Protocol,互联网控制报文协议
  • IP :Internet Protocol,互联网协议
  • OSPF:Open Shortest Path First,开放式最短路径优先
  • BGP:Border Gateway Protocol,边界网关协议
  • IPSec:Internet Protocol Security,互联网安全协议
  • GRE:Generic Routing Encapsulation,通用路由封转协议

以太网协议,依靠MAC地址发送数据。理论上,单单依靠MAC地址,上海的网卡就可以找到洛杉矶的网卡了,技术上是可以实现的。

但是,这样做有一个重大的缺点。以太网采用广播方式发送数据包,所有成员人手一"包",不仅效率低,而且局限在发送者所在的子网络。也就是说,如果两台计算机不在同一个子网络,广播是传不过去的。这种设计是合理的,否则互联网上每一台计算机都会收到所有包,那会引起灾难。

互联网是无数子网络共同组成的一个巨型网络,很像想象上海和洛杉矶的电脑会在同一个子网络,这几乎是不可能的。

互联网五层模型中每一层分别都有哪些协议_第6张图片

因此,必须找到一种方法,能够区分哪些MAC地址属于同一个子网络,哪些不是。如果是同一个子网络,就采用广播方式发送,否则就采用"路由"方式发送。("路由"的意思,就是指如何向不同的子网络分发数据包,这是一个很大的主题,本文不涉及。)遗憾的是,MAC地址本身无法做到这一点。它只与厂商有关,与所处网络无关。

这就导致了"网络层"的诞生。它的作用是引进一套新的地址,使得我们能够区分不同的计算机是否属于同一个子网络。这套地址就叫做"网络地址",简称"网址"。

于是,"网络层"出现以后,每台计算机有了两种地址,一种是MAC地址,另一种是网络地址。两种地址之间没有任何联系,MAC地址是绑定在网卡上的,网络地址则是管理员分配的,它们只是随机组合在一起。

网络地址帮助我们确定计算机所在的子网络,MAC地址则将数据包送到该子网络中的目标网卡。因此,从逻辑上可以推断,必定是先处理网络地址,然后再处理MAC地址。

IP协议、ICMP协议、RIP协议、IGMP协议

2.3.1、IP协议

规定网络地址的协议,叫做IP协议。它所定义的地址,就被称为IP地址。

目前,广泛采用的是IP协议第四版,简称IPv4。这个版本规定,网络地址由32个二进制位组成。

互联网五层模型中每一层分别都有哪些协议_第7张图片

习惯上,我们用分成四段的十进制数表示IP地址,从0.0.0.0一直到255.255.255.255。

互联网上的每一台计算机,都会分配到一个IP地址。这个地址分成两个部分,前一部分代表网络,后一部分代表主机。比如,IP地址172.16.254.1,这是一个32位的地址,假定它的网络部分是前24位(172.16.254),那么主机部分就是后8位(最后的那个1)。处于同一个子网络的电脑,它们IP地址的网络部分必定是相同的,也就是说172.16.254.2应该与172.16.254.1处在同一个子网络。

但是,问题在于单单从IP地址,我们无法判断网络部分。还是以172.16.254.1为例,它的网络部分,到底是前24位,还是前16位,甚至前28位,从IP地址上是看不出来的。

那么,怎样才能从IP地址,判断两台计算机是否属于同一个子网络呢?这就要用到另一个参数"子网掩码"(subnet mask)。

所谓"子网掩码",就是表示子网络特征的一个参数。它在形式上等同于IP地址,也是一个32位二进制数字,它的网络部分全部为1,主机部分全部为0。比如,IP地址172.16.254.1,如果已知网络部分是前24位,主机部分是后8位,那么子网络掩码就是11111111.11111111.11111111.00000000,写成十进制就是255.255.255.0。

知道"子网掩码",我们就能判断,任意两个IP地址是否处在同一个子网络。方法是将两个IP地址与子网掩码分别进行AND运算(两个数位都为1,运算结果为1,否则为0),然后比较结果是否相同,如果是的话,就表明它们在同一个子网络中,否则就不是。

比如,已知IP地址172.16.254.1和172.16.254.233的子网掩码都是255.255.255.0,请问它们是否在同一个子网络?两者与子网掩码分别进行AND运算,结果都是172.16.254.0,因此它们在同一个子网络。

总结一下,IP协议的作用主要有两个,一个是为每一台计算机分配IP地址,另一个是确定哪些地址在同一个子网络。

2.3.1.1、IP数据包

根据IP协议发送的数据,就叫做IP数据包。不难想象,其中必定包括IP地址信息。

但是前面说过,以太网数据包只包含MAC地址,并没有IP地址的栏位。那么是否需要修改数据定义,再添加一个栏位呢?

回答是不需要,我们可以把IP数据包直接放进以太网数据包的"数据"部分,因此完全不用修改以太网的规格。这就是互联网分层结构的好处:上层的变动完全不涉及下层的结构。

具体来说,IP数据包也分为"标头"和"数据"两个部分。

互联网五层模型中每一层分别都有哪些协议_第8张图片

"标头"部分主要包括版本、长度、IP地址等信息,"数据"部分则是IP数据包的具体内容。它放进以太网数据包后,以太网数据包就变成了下面这样。

互联网五层模型中每一层分别都有哪些协议_第9张图片

IP数据包的"标头"部分的长度为20到60字节,整个数据包的总长度最大为65,535字节。因此,理论上,一个IP数据包的"数据"部分,最长为65,515字节。前面说过,以太网数据包的"数据"部分,最长只有1500字节。因此,如果IP数据包超过了1500字节,它就需要分割成几个以太网数据包,分开发送了。

2.3.2、ICMP协议

网络层(第三层)之 ICMP协议

2.3.3、IGMP协议

IGMP基础

2.4、传输层

  • UDP:User Datagram Protocol,用户数据报协议
  • TCP:Transmission Control Protocol,传输控制协议

2.4.1、TCP协议

2.4.2、UDP协议

2.5、应用层

  • DHCP: Dynamic Host Configuration Protocol,动态主机配置协议
  • HTTP: Hypertext Transfer Protocol,超文本传输协议
  • HTTPS: Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,超文本传输安全协议
  • RTMP: Real Time Messaging Protocol,实时消息传输协议
  • P2P: Peer-to-peer networking,对等网络
  • DNS: Domain Name System,域名系统
  • GTP: GPRSTunnellingProtocol,GPRS隧道协议
  • RPC:Remote Procedure Call,远程过程调用

 

 

 

 

你可能感兴趣的:(互联网协议)