一、TCP/IP 协议与 OSI 参考模型 图 1TCP/IP 协议与 OSI 参考模型 与 OSI 参考模型一样,TCP(Transfer Control Protocol)/IP(Internet Protocol)协议(传输控制协议/网际协议)也分为不同的层次开发,每一层负责不同的通信功能。但是,TCP/IP 协议简化了层次设计,只有五层:应用层、传输层、网络层、数据链路层和物理层。从图 1 可以看出,TCP/IP 协议栈与 OSI 参考模型有清晰的对应关系,覆盖了 OSI 参考模型的所有层次。应用层包含了 OSI 参考模型所有高层协议。图 2所示为 TCP/IP 协议栈。 图2 TCP/IP 协议栈 物理层和数据链路层涉及到在通信信道上传输的原始比特流,它实现传输数据所需要的机械、电气、功能性及过程等手段,提供检错、纠错、同步等措施,使之对网络层显现一条无错线路;并且进行流量调控。 网络层检查网络拓扑,以决定传输报文的最佳路由,执行数据转发。其关键问题是确定数据包从源端到目的端如何选择路由。网络层的主要协议有 IP、ICMP(Internet Control Message Protocol,互联网控制报文协议)、IGMP(Internet Grou p Management Protocol,互联网组管理协议)、ARP(Address Resolu tion Protocol,地址解析协议)和RARP(Rev erse Address Resolu tion Protocol,反向地址解析协议)等。 传输层的基本功能是为两台主机间的应用程序提供端到端的通信。传输层从应用层接收数据,并且在必要的时候把它分成较小的单元,传递给网络层,并确保到达对方的各段信息正确无误。传输层的主要协议有 TCP、UDP(User Datagraph Protocol,用户数据报协议)。 应用层负责处理特定的应用程序细节。应用层显示接收到的信息,把用户的数据发送到低层,为应用软件提供网络接口。应用层包含大量常用的应用程序,例如HTTP(Hy per Tex t Transfer Protocol 超文本传输协议)、Telnet(远程登录)、FTP(File Transfer Protocol)等。 二、TCP/IP 协议数据封装 图 3 TCP/IP 协议数据封装 同 OSI 参考模型数据封装过程一样,TCP/IP 协议在报文转发过程中,封装和去封装也发生在各层之间。发送方,加封装的操作是逐层进行的: 各个应用程序将要发送的数据送给传输层;传输层(TCP/UDP)把数据分段为大小一定的数据段,加上本层的报文头,发送给网络层。在传输层报文头中,包含接收它所携带的数据的上层协议或应用程序的端口号,例如,Telnet 的端口号是 23。...