一、概述
1.1分层
TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。
为了减少网络涉及的复杂性,大多数的网络采用分层结构。在相同的网络中,一台机器的第N层与另一台机器的第N层可根据第N层协议进行通信,协议基本上是双方关于如何通信达成一致。
不同机器中包含的对应层的实体叫做对等进程。在对等进程进行通信时,实际上并不是将数据从一个机器的第N层传递到另一个机器的第N层,而是将该层的数据连同该层的控制信息打包传给下一层,它的下层将这些内容当成数据,连同控制信息传递给在下一层,直到最底层。最底层是物理介质,它进行实际的通信。
TCP/IP协议是一个四层协议系统。
1)链路层包括操作系统中的设备设备驱动程序和计算机中对应的网络接口卡。主要处理物理接口细节。
2)网络层主要实现两个主机之间的分组管理。包括IP协议(网络协议),ICMP协议(Internet互联网控制报文协议),IGMP协议(Internet组管理协议)。计算机网络不能连续的传送任意长度的数据,实际上网络系统将数据切成小块,然后逐块发送,这样的小块称为分组。
3)运输层为两台主机上的应用程序提供通信。包括TCP协议(传输控制协议),UDP协议(用户数据报协议)。
4)应用层处理特定的应用程序的细节。包括Telnet文远程登录,FTP文件传输协议,SMTP简单邮件传送协议,SNMP简单文件管理协议。
将两个或多个网络通过路由器进行连接构建成一个简单的互联网,路由器是一个特殊的用于网络互联的硬件盒。路由器的好处是为不同的硬件网络提供连接:以太网,令牌环网,FDDI(光纤分布式接口)等。
在TCP/IP协议族中,网络层IP提供的是一种不可靠的服务。它只是尽快的把分组从源节点送到目标节点,但并不提供任何可靠性保证。TCP在不可靠的运输层上提供了一个可靠地运输层,为了提供这种可靠的服务,TCP采用了超时重传,发送和接收端到端的确认分组的机制。
连接网络的另一个途径是网桥。网桥是在链路层对网络进行互联,路由器是在网络层对网络进行互连。网桥使多个局域网组合在一起,这样对上层来说就是一个局域网。TCP/IP倾向于用路由器进行连接。
1.2TCP/IP分层
TCP协议:使用不可靠的ip服务,但提供一个可靠的运输层服务。
UDP协议:为应用程序发送与接收数据报。一个数据报指从发送方传输到接收方的一个信息单元(例如:发送方指定的一定字节数的信息)。UDP是不可靠的。
IP协议:IP协议是网络上的主要协议,同时被 TCP和UDP使用。TCP和UDP的每组数据都通过端系统和每个路由器中的IP层在互联网中传输。
ICMP协议:ICMP是IP的附属协议。IP层主要用它来与其他主机或路由器交换错误报文和其他重要信息。
IGMP协议:它用来把一个UDP数据多播到多个主机上。
ARP协议(地址解析协议)和RARP协议(逆地址解析协议):某些网络接口使用的特殊协议,用来转换IP层和网络接口层使用的地址。
1.3互联网地址
互联网的每一个接口必须有一个唯一的Internet地址(IP地址),IP地址长32位。
IP地址格式分为五类。
1.4端口号
TCP和UDP采用16位端口号来识别应用程序。任何TCP/IP实现所提供的服务都是用知名的1~1023之间的端口号。