一、引言
TCP/IP协议簇是目前internet网的事实上的协议簇,它相对于国际标准化组织制定的OSI参考模型的七层协议(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)不同,它只有四层(链路层、网络层、运输层、应用层)。分层的目的是将一个复杂的问题分解,每一层专注于一个功能点,单一职责。
二、分层
1.四层协议如下:
- 链路层,通常包括设备驱动程序、网络接口卡、传输介质。处理物理接口细节。
- 网络层,处理网络中分组的活动,点到点,点到多端。包括IP协议、ICMP协议、IGMP协议等。
- 运输层,提供两台主机上的两个应用程序的端到端通讯。包括TCP协议、UDP协议。
- 应用层,处理特定应用的细节。如HTTP协议,FTP协议,SSH协议等等。
2.常用协议概览(由下至上)
-
ARP协议与RARP协议,用于转换IP地址与MAC地址。
- ARP协议:地址解析协议(Address Resolution Protocol),IP地址 ---> MAC地址;
- RARP协议:反地址解析协议(Reverse Address Resolution Protocol),MAC地址 ---> IP地址;
-
IP协议是网络层主要协议,ICMP协议是IP协议的附属协议。
-
IP协议:网际协议(Internet Protocol),控制点到点传输。
IP传给链路层的数据单元叫IP数据包(IP datagram)
。 - ICMP协议:网络控制消息协议(Internet Control Message Protocol),用于与其他机器交换错误报文信息与其他重要信息。
- IGMP协议:网际组管理协议(Internet Group Management Protocol),用于把一个UDP数据报多播到多个主机上。
-
IP协议:网际协议(Internet Protocol),控制点到点传输。
-
TCP协议与UDP协议,用于规定传输方式。都是IP协议的上层协议。
-
TCP协议:传输控制协议(Transmission Control Protocol),用于提供端到端的、面向连接的、可靠的、基于字节流的通讯协议。他需要三次握手建立连接,四次握手关闭连接。
TCP传给IP的数据单元叫做TCP段(TCP segment)
。 -
UDP协议:用户数据报协议(User Datagram Protocol),为应用程序发送/接收数据报(一定字节数的信息单元)。与TCP不同,UDP不是可靠的传输协议。常用的基于UDP的应用协议有DNS协议、TFTP协议等等。
UDP传给IP的数据单元叫UDP数据包(UDP datagram)
。UDP数据包首部长8字节。
-
TCP协议:传输控制协议(Transmission Control Protocol),用于提供端到端的、面向连接的、可靠的、基于字节流的通讯协议。他需要三次握手建立连接,四次握手关闭连接。
-
HTTP协议、DNS协议、FTP协议等,这些协议都有其具体的应用场景。
- HTTP协议:超文本传输协议(HyperText Transfer Protocol),常用的网站协议。
- DNS协议:域名解析协议(Domain Name System),只有一个用途,将常见的域名地址(如www.baidu.com)解析成IP地址(如127.0.0.1)。
- FTP协议:文件传输协议(File Transfer Protocol),正如其名,就是用来传输文件用的。
三、互联网的地址(IP地址)