TCP/IP中的数据包
每个分层中,都会对发送的数据附加一个首部,首部中包含了必要的信息,如目标地址和协议相关信息。通常,为协议提供的信息为包首部,所要发送的内容为数据。
网络中传输的数据包由两部分组成,一部分是协议所要用到的首部,另一部分是上一层传过来的数据。首部的结构由协议的具体规范详细定义。在数据包的首部,明确标明了协议应该如何读取数据。反过来说,看到首部,也就能够了解该协议必要的信息以及所要处理的数据。
-
应用程序处理
首先应用程序会进行编码处理,这些编码相当于OSI的表示层功能;编码转化后,邮件不一定马上会被发送出去,这种何时建立通信连接何时发送数据的管理功能,相当于OSI的会话层功能。 -
TCP模块的处理
TCP根据应用的指示,负责建立连接,发送数据以及断开连接。TCP提供将应用层发送来的数据顺利发送至可靠的传输。为了实现这一功能,需要在应用层数据前端附加一个TCP首部。 -
IP模型的处理
IP模块将TCP传过来的TCP首部和TCP数据合并起来当作自己的数据,并在TCP首部的前端加上自己的IP首部。IP包生成后,参考路由控制表决定接受此IP包的路由或主机。 -
网络接口的处理
从IP传过来的IP包对于以太网来说就是数据。给这些数据附加上以太网首部并进行发送处理,生成的以太网数据包将通过物理层传输给接收端。 -
接收端网络接口的处理
主机收到以太网的包后,首先从以太网包首部找到MAC地址判断是否发送给自己的包,若不是则丢弃数据。如果是的化,则从以太网首部中的类型确定数据类型,再传给相应的模块,如IP,ARP等。