黑客与反黑客
由一个头和数据部分组成。数据包的头部分包含诸如目的地址和源地址, 数据的类
型等信息。
数据包头格式:
数据包是由软件处理的, 它的内容和格式并不是由硬件所限定。
比如, 头4 位是一个VERS, 表示的是使用的IP 协议的版本号。它表示发送者、接收
者和路由器对该数据的处理都要按所示的版本进行处理。现在的版本号是4。软件通过
版本来决定怎样进行处理。
头长度( HLEN)也是用4 位来表示以32 位为计量单位的头的长度。
TOTAL LENGTH 表示这个数据包的长度( 字节数)。从而包中的数据的长度就可
以通过上面两个数据而计算出来了。
一般来说, 数据部分就是一个物理的帧。对于以太网来讲, 就是将整个的一个以太网
的帧数据作为一个IP 数据包的数据来传输的。
数据包的头里面还包含了一些其他的信息, 请参见有关资料的具体介绍。IP 路由在
一个网络上, 连接两种基本设备, 主机和路由器。路由器通常连接几个物理网络。对一台
主机来讲, 要将一个数据包发往别的网络, 就需要知道这个数据包应该走什么路径, 才能
到达目的地。对于一台路由器来讲, 将收到的数据包发往哪个物理网络。因此, 无论主机
还是路由器, 在发送数据包是都要做路由选择。
数据发送有两种方式: 直接数据发送和间接数据发送。
直接数据发送通常是在同一个物理网络里进行的。当一个主机或路由器要将数据包
发送到同一物理网络上的主机上时, 是采用这种方式的。首先判断IP 数据包中的目的地
址中的网络地址部分, 如果是在同一个物理网络上, 则通过地址分析, 将该IP 目的地址转
换成物理地址, 并将数据解开, 和该地址合成一个物理传输帧, 通过局域网将数据发出。
间接数据发送是在不同物理网络里进行的。当一个主机或路由器发现要发送的数据
包不在同一个物理网络上时, 这台设备就先在路由表中查找路由, 将数据发往路由中指定
的下一个路由器。这样一直向外传送数据, 到最后, 肯定有一个路由器发现数据要发往同
一个物理网络, 于是, 再用直接数据发送方式, 将数据发到目的主机上。
主机和路由器在决定数据怎样发送的时候, 都要去查找路由。一般, 都将路由组成一
个路由表存在机器中。路由表一般采用Next - Hop 格式, 即( N, R) 对。N 是目标地址的
网络地址, R 是传输路径中的下一个路由。通常这个路由和这台机器在同一物理网络里。
4 .3 .6 TCP 协议
TCP 协议在IP 协议之上。与IP 协议提供不可靠传输服务不同的是, TCP 协议为其
上的应用层提供了一种可靠传输服务。这种服务的特点是: 可靠、全双工、流式和无结构
传输。
它是怎样实现可靠传输的呢?
TCP 协议使用了一个叫积极确认和重发送( positive acknowledgement with retransmission
)的技术来实现这一点的。
接收者在收到发送者发送的数据后, 必须发送一个相应的确认(ACK) 消息, 表示它