最近在看TCPIP详解,一本经典的对TCPIP剖析的书,书中用到的例子都是Unix下的命令和作者自己用C写的一些工具.我自己准备用JAVA来编写一些书中介绍到的功能加深对书本的更深理解.
大家都知道网络协议是分层的,我们先来介绍 TCP/IP 协议栈的分层.T C P / I P通常被认为是一个四层协议系统:
通常包括操作系统中的设备驱动程序和计算机
中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
2) 网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在
T C P / I P协议族中,网络层协议包括I P协议(网际协议),I C M P协议(I n t e r n e t互联网控
制报文协议),以及I G M P协议(I n t e r n e t组管理协议)。
3 ) 传输层主要为两台主机上的应用程序提供端到端的通信。在T C P / I P协议族中,有两个
互不相同的传输协议: T C P(传输控制协议)和U D P(用户数据报协议)。
T C P为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分
成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟
等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。
而另一方面, U D P则为应用层提供一种非常简