分层

TCP/IP 通常被认为是一个四层协议系统

链路层:也称数据链路层或网络接口层 网络层:也称互联网层,TCP/IP协议簇中,网络层协议层协议包括IP协议(网际协议),ICMP协议(Ineternet互联网控制报文协议),以及IGMP协议(Internet组管理协议) 传输层:为两台主机上的应用程序提供端到端的通信。这里主要包含两种协议:TCP(传输控制协议)和UDP(用户数报协议),TCP为两台主机提供高可靠性的数据通信。 应用层:负责处理特定的应用程序细节

在TCP/IP协议簇中,网络IP层提供的是一种不可靠的服务,它只是尽可能快的把分组从源节点送到目的节点,但是并不提供任何可靠性保证,而TCP在不可靠的IP层上提供了一个可靠的传输层,可乐提供这种可靠的服务,TCP采用了超时重传,发送和接收端到端的确认分组等机制

TCP/IP 的分层

UDP为应用程序发送和接收数据报,一个数报是指从发送方传输到接收方的一个信息单元,与TCP不同的是,UDP是不可靠的,它不能保证数据报能安全无误地到达目的地

ICMP是IP协议的附属协议,IP层用它来与其他主机或路由器交换错误报文和其他重要信息

IGMP是Internet组管理协议,它用来把一个UDP数据报多播到多个主机

ARP(地址解析协议) 和RARP(反向地址解析协议)是某些网络接口(如以太网和令牌环网)使用的特殊协议,用来转换IP层和网络接口层使用的地址

互联网地址

封装

当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层知道被当作一串比特流送入网络,其中每一层对收到的数据单都要增加一些首部信息(有时候还要增加尾部信息)。

TCP传给IP的数据单元称作TCP报文段或简称为TCP段,IP层传给网络接口层的数据单元称作IP数据报,通过以太网传输的比特流称作帧

以太网数据帧的物理特性是其航都必须在46-1500字节之间

IP和网络接口层之间传递的数据单元应该是分组(packet) 分组既可以是一个IP数据报,也可以是IP数据报的一个片(fragment)

UDP数据与TCP数据不同的是:UDP传给IP的信息单元称作UDP数据报,二期UDP的首部长为8字节

IP必须在生成的IP首部加入某种标识,以表明数据属于哪一层,因此,IP在首部存入长度为8bit的数值,称作协议域,1表示ICMP协议,2表示IGMP协议,6表示TCP协议,17表示UDP协议

传输层协议在生成报文首部时要存入一个应用程序的标识符,TCP和UDP都用一个16bit的端口号来拜师不同的应用程序。TCP和UDP把源端口号和目的端口号分别存入报文首部

网络接口层分别要发送和接收IP、ARP和RARP数据,因此也必须在以太网的帧首部中加入某种形式的标识,以指明生成数据的网络层协议,为此,以太网的帧首部也有一个16bit的帧类型域

分用

当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部,每层协议盒都要去检查报文首部的协议标识,以确定接受数据的上层协议,这个过程称为分用(demultiplexing)