第一章:
T C P / I P协议族分为四层:链路层、网络层、运输层和应用层。
在一个互联网上,每个接口都用I P地址来标识。域名系统为主机名和I P地址之间提供动态的映射。端口号(16bit)用来标识互相通信的应用程序。服
务器使用知名端口号(1~1023),而客户使用临时设定的端口号。
T C P使用不可靠的I P服务,但它却提供一种可靠的运输层服务。
I C M P是I P协议的附属协议。I P层用它来与其他主机或路由器交换错误报文和其他重要信息。P i n g和Tr a c e r o u t e都使用了I C M P。
A R P(地址解析协议)和R A R P(逆地址解析协议),用来转换I P层和网络接口层使用的地址。
有三类I P地址:单播地址(目的为单个主机)、广播地址(目的端为给定网络上的所有主机)以及多播地址(目的端为同一组内的所有主机)。
T C P传给I P的数据单元称作T C P报文段或简称为T C P段(T C P s e g m e n t)。I P传给网络接口层的数据单元称作I P数据报(IP datagram)。通过以太网传输的比特流称作帧(Fr a m e )。
T C P、U D P、I C M P和I G M P都要向I P传送数据, 因此I P必须在生成的I P首部中加入某种标识,以表明数据属于哪一层。1表示为I C M P协议, 2表示为I G M P协议, 6表示为T C P协议, 1 7表示为U D P协议。
使用T C P / I P协议的应用程序通常采用两种应用编程接口( A P I):s o c k e t和T L I(运输层接口:Transport Layer Interface)。
第二章: [链路层]
链路层主要有三个目的:(1)为I P模块发送和接收I P数据报;( 2)为A R P模块发送A R P请求和接收A R P应答;(3)为R A R P发送R A R P请求和接收R A R P应答。
链路层协议: 以太网和IEEE 802.2/802.3的封装格式,以及SLIP和PPP的封装格式。
ARP,即地址解析协议,实现通过IP地址得知其物理地址。 把目的主机的32位IP地址转换成为48位以太网的地址[物理地址MAC]。
以太网数据链路层最常使用的封装格式是RFC 894定义的格式[以太网帧格式]。每帧要求最少要有4 6字节。为了保证这一点,必须在不足的空间插入填充(pad)字节。每帧最大1500字节。
S L I P的全称是Serial Line IP。它是一种在串行线路上对I P数据报进行封装的简单形式,S L I P适用于家庭中每台计算机几乎都有的R S - 2 3 2串行端口和高速调制解调器接入I n t e r n e t。
MTU: 最大传输单元.
C R C: 循环冗余检验码.
环回接口(Loopback Interface),以允许运行在同一台主机上的客户程序和服务器程序通过TCP/IP进行通信。环回地址一般为127.0.0.1。任何传给该主机I P地址的数据均送到环回接口。
传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以太网上。
以太网和8 0 2 . 3对数据帧的长度都有一个限制,其最大值分别是1 5 0 0和1 4 9 2字节。如果I P层有一个数据报要传,而且数据的长度比链路层的M T U还大,那么I P层就需要进行分片.
路径M T U: 两台通信主机路径中的最小M T U。可由t r a c e r o u t e程序来确定。
对于交互应用来说,等待533 ms是不能接受的。关于人的有关研究表明,交互响应时间超过1 0 0~200 ms就被认为是不好的。
第三章:[IP:网际协议]
所有的T C P、U D P、I C M P及I G M P数据都以I P数据报格式传输。I P提供不可靠、无连接的数据报传送服务。任何要求的可靠性必须由上层来提供。
I P首部长为2 0个字节。I P数据报可以不按发送顺序接收。每个数据报都是独立地进行路由选择,可能选择不同的路线。
IP首部传输依网络字节序。网络字节序 对应于 大端模式[低地址放高字节]。所以小端模式要先转换。
尽管可传送一个长达65535字节的IP数据报,但是大多数的链路层都会对它进行分片。而且,主机也要求不能接收超过5 7 6字节的数据报。
标识字段唯一地标识主机发送的每一份数据报。通常每发送一份报文它的值就会加1。
T T L(t i m e - t o - l i v e)生存时间字段设置了数据报可以经过的最多路由器数。一旦经过一个处理它的路由器,它的值就减去1。
首部检验和字段是根据I P首部计算的检验和码。它不对首部后面的数据进行计算。I C M P、I G M P、U D P和T C P在它们各自的首部中均含有同时覆盖首部和数据检验和码。
I P路由选择是逐跳地( h o p - b y - h o p)进行的。从这个路由表信息可以看出, I P并不知道到达任何目的的完整路径。。所有的I P路由选择只为数据报传输提供下一站路由器的I P地址。它假定下一站路由器比发送数据报的主机更接近目的,而且下一站路由器与该主机是直接相连的。
子网编址: 不是把I P地址看成由单纯的一个网络号和一个主机号组成,而是把主机号再分成一个子网号和一个主机号。子网对外部路由器来说隐藏了内部网络组织(一个校园或公司内部)的细节。
在进行路由选择决策时,主机和路由器都使用路由表。
I P路由选择是通过逐跳来实现的。数据报在各站的传输过程中目的I P地址始终不变,但是封装和目的链路层地址在每一站都可以改变。大多数的主机和许多路由器对于非本地网络的数据报都使用默认的下一站路由器。
第四章:[ARP:地址解析协议]
当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据48 bit的以太网地址来确定目的接口的。
内核(如以太网驱动程序)必须知道目的端的硬件地址才能发送数据。
ARP高效运行的关键是由于每个主机上都有一个ARP高速缓存。高速缓存中每项的生存时间一般为20分钟,起始时间从被创建时开始算起。
P3.