TCP/IP协议簇,是一组不同层次上的多个协议的组合

1、TCP/IP协议簇的分层结构

TCP/IP通常被认为是一个四层协议系统,每一层负责不同的功能:

  1. 链路层,有时候也称作数据链路层或是网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡

  2. 网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组选路。网络层协议包括IP、IGMP、ICMP

  3. 传输层,主要为应用程序提供端到端的通信。传输层包括TCP(传输控制协议)、UDP(用户数据报协议)

  4. 应用层,负责处理特定的应用程序细节,例如Telnet远程登录、FTP文件传输协议、SMTP简单邮件传输协议、SNMP简单网络管理协议

2、封装与解封装

当应用程序用TCP传输数据时,数据被送入协议栈中,然后逐个通过每一层直到被当做一串比特流送入网络,通过以太网传输的比特流称作帧(Frame)

上图就是一报文的封装过程,UDP和TCP数据基本类似的

由于TCP、UDP、ICMP、IGMP都要向IP传送数据,因此IP在生成的IP首部中加入一个长度为8bit的协议域。1代表ICMP协议,2表示IGMP协议,6表示为TCP协议,17表示UDP协议

同样,许多应用程序都可以向TCP和UDP传送数据,TCP和UDP在生成报文的首部时加入16bit的端口号来表示不同的应用程序

网络接口分别要发送和接受IP、ARP、RARP数据,因此以太网的帧首部也有一个16bit的帧类型域,解封装的过程刚好与封装的过程相反

用wireshark工具抓一TCP类型的报文

3、5类互联网地址&子网掩码

A:0.0.0.0~127.255.255.255

B:128.0.0.0~191.255.255.255

C:192.0.0.0~223.255.255.255

D:224.0.0.0~239.255.255.255

E:240.0.0.0~247.255.255.255

现在所有的主机都要求支持子网编址(RFC950)。不是把IP地址看成由单纯的一个网络号和一个主机号组成,而是把主机号再分成一个子网号和一个主机号。这样做的原因是因为A类和B类地址为主机号分配了太多的空间,可分别容纳的主机数为2^24-2和2^16-2。事实上,在一个网络中人们并不安排这么多的主机。由于全0或全1的主机号都是无效的,因此我们把总数减去2

两种不同的B类地址子网掩码

4、标准化

所有关于Internet的正式标准都以RFC(Request for Comment)文档出版,每一项都用一个数字来标识,如RFC1122,数字越大说明RFC内容越新,

当前通信设备厂商如Cisco、Juniper、爱立信、华为等,他们的路由器交换机产品上面的很多功能都是按照RFC标准来做的(当然Cisco作为行业老大,许多RFC是由它推动自己的标准成为标准的RFC)

所有的RFC都可以到RFC Editor查询获取

IANA(The Internet Assigned Numbers Authority,互联网数字分配机构),互联网的所有资源数字都有该机构分配,IANA的所有任务可以大致分为三个类型:

  • 域名。IANA管理DNS域名根和.int,.arpa域名以及IDN(国际化域名)资源。

  • 数字资源。IANA协调全球IP和AS(自治系统)号并将它们提供给各区域Internet注册机构。

  • 协议分配。IANA与各标准化组织一同管理协议编号系统。