network packet


UDP datagram
UDP数据报
The unit of data that TCP sends to IP is called a TCP segment 
tcp报文  tcp段
The unit of data that IP sends to the network interface is called an IP datagram
ip数据报
The stream of bits that flows across the Ethernet is called a frame


搜索ch取得线索
/***********************************************overview**********************************************************/
总图:
ch1 p8


/***********************************************链路层**********************************************************/
Link Layer 链路层
ch2 p16



以太网的帧有最小长度要求,最少要有4 6字节。为了保证这一点,必须在不足的空间插入填充(p a d)字节。
最大是1 5 0 0。链路层的这个特性称作M T U,最大传输单元。不同类型的网络大多数都有一个上限。如果I P层有一个数据报要传,而且数据的长度比链路层的M T U还大,那么I P层就需要进行分片( f r a g m e n t a t i o n),把数据报分成若干片,这样每一片都小于M T U。
/*********************************************IP ARP RARP*******************************************************/

IP Internet Protocol网际协议
ch3 p24


首部长度指的是首部字节数,包括任何选项。由于它是一个4比特字段,因此首部最长为6 0个字节。如果没有选项则值为20字节。
总长度字段是指整个I P数据报的长度,以字节为单位。利用总长度字段-首部长度字段,就可以知道I P数据报中数据内容的起始位置和长度。由于该字段长1 6比特,所以I P数据报最长可达6 5 5 3 5字节。
并且此值+14(以太网帧首部字节数)=整个以太网帧的大小。
尽管可以传送一个长达6 5 5 3 5字节的I P数据报,但是大多数的链路层都会对它进行分片。而且,主机也要求不能接收超过5 7 6字节的数据报
ARP  Address Resolution Protocol地址解析协议。由ip获取mac。
ch4 p40


A R P发送一份称作A R P请求的以太网数据帧给以太网上的每个主机。这个过程称作广播,如图4 - 2中的虚线所示。A R P请求数据帧中包含目的主机的I P地址(主机名为b s d i),其意思是“如果你是这个I P地址的拥有者,请回答你的硬件地址。

目的主机的A R P层收到这份广播报文后,识别出这是发送端在寻问它的I P地址,于是发送一个A R P应答。这个A R P应答包含I P地址及对应的硬件地址。

RARP:Reverse Address Resolution Protocol 逆地址解析协议。在系统启动时由mac获取ip。
ch5 p48

 RARP的分组格式
R A R P分组的格式与A R P分组基本一致。它们之间主要的差别是R A R P请求或应答的帧类型代码为0 x 8 0 3 5,而且R A R P请求的操作代码为3,应答操作代码为4。对应于A R P,R A R P请求以广播方式传送,而R A R P应答一般是单播( u n i c a s t )传送的。


具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取I P地址。但是无盘机,如X终端或无盘工作站,则需要采用其他方法来获得I P地址。网络上的每个系统都具有唯一的硬件地址,它是由网络接口生产厂家配置的。无盘系统的R A R P实现过程是从接口卡上读取自身的唯一的硬件地址,然后发送一份R A R P请求(一帧在网络上广播的数据),请求某个主机响应该无盘系统的I P地址(在R A R P应答中)
/*************************************ICMP IGMP UDP TCP************************************************************/
ICMP: Internet Control Message Protocol   Internet控制报文协议。
ch6 p50




Ping a kind of ICMP
ch7 p61



p i n g程序是对两个T C P / I P系统连通性进行测试的基本工具。它只利用I C M P回显请求和回显应答报文,而不用经过传输层( T C P / U D P)。P i n g服务器一般在内核中实现I C M P的功能。
UDP  User Datagram Protocol 用户数据报协议
ch11 p107


U D P长度字段指的是U D P首部和U D P数据的字节长度,即8B+xx
这个字段值也可以使用IP数据报总长度-IP首部长度(一般是20字节)获得。
IGMP:Internet Group Management Protocol   Internet组管理协议
ch13  p137



I G M P用于支持主机和路由器进行多播,主机向任一个直接相邻的路由器报告他们的组成员情况
路由器周期性发送成员资格查询报文,然后根据收到的响应报文确定某个特定组在自己所在子网上是否有主机加入,
主机需要响应组播路由器的igmp查询报文,即以igmp membership report报文响应。

TCP:Transmission Control Protocol  传输控制协议
ch17 p170



最大报文段长度( M S S)表示T C P传往另一端的最大块数据的长度。当一个连接建立时,连接的双方都要通告各自的M S S。
当建立一个连接时,每一方都有用于通告它期望接收的M S S选项(M S S选项只能出现在S Y N报文段中)。如果一方不接收来自另一方的M S S值,则M S S就定为默认值5 3 6字节(这个默认值允许2 0字节的I P首部和2 0字节的T C P首部以适合5 7 6字节I P数据报)。

T C P通过下列方式来提供可靠性:
• 应用数据被分割成T C P认为最适合发送的数据块。这和U D P完全不同,应用程序产生的数据报长度将保持不变。由T C P传递给I P的信息单位称为报文段或段( s e g m e n t)(参见图1 - 7)。在1 8 . 4节我们将看到T C P如何确定报文段的长度。
• 当T C P发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。在第2 1章我们将了解T C P协议中自适应的超时及重传策略。
• 当T C P收到发自T C P连接另一端的数据,它将发送一个确认。这个确认不是立即发送,通常将推迟几分之一秒,这将在1 9 . 3节讨论。
• T C P将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错, T C P将丢弃这个报文段和不确认收到此报文段(希望发端超时并重发)。
。。。
/*************************************APP OF USING UDP****************************************************/
DNS:The Domain Name System 域名系统---use udp

封装在UDP数据报里面。
解析器通常是应用程序的一部分。解析器并不像T C P / I P协议那样存在于操作系统的内核 。
在一个应用程序请求T C P打开一个连接或使用U D P发送一个数据报之前。心须将一个主机名转换为一个I P地址。操作系统内核中的T C P / I P协议族对于D N S一点都不知道。
端口 53

TFTP: Trivial File Transfer Protocol  简单文件传送协议---use udp
ch15 p160

最初打算用于引导无盘系统(通常是工作站或X终端)。和将在第2 7章介绍的使用T C P的文件传送协议( F T P)不同,为了保持简单和短小, T F T P将使用U D P。T
端口 69
由于T F T P是设计用于系统引导进程,它不可能提供用户名和口令。T F T P的这一特性被许多解密高手用于获取U n i x口令文件的复制,然后来猜测用户口令。
为防止这种类型的访问,目前大多数T F T P服务器提供了一个选项来限制只能访问特定目录下的文件( U n i x系统中通常是/ t f t p b o o t)。这个目录中只包含无盘统进行系统引导时所需的文件。

BOOTP:Bootstrap Protocol 引导程序协议--use udp 




一个无盘系统,它在不知道自身I P地址的情况下,在进行系统引导时能够通过R A R P来获取它的I P地址。然而使用R A R P有两个问题:(1)I P地址是返回的唯一结果;( 2)既然R A R P使用链路层广播, R A R P请求就不会被路由器转发(迫使每个实际网络设置一个RARP 服务器)。本章将介绍一种用于无盘系统进行系统引导的替代方法,又称为引导程序协议,或B O O T P。

B O O T P有两个熟知端口:BOOTP 服务器为6 7,BOOTP 客户为6 8。这意味着BOOTP 客户不会选择未用的临时端口,而只用端口6 8。选择两个端口而不是仅选择一个端口为B O O T P服务器用的原因是:服务器的应答可以进行广播(但通常是不用广播的)。
SNMP: Simple Network Management Protocol 简单网络管理协议--use udp
ch25




 SNMP使用嵌入到网络设施中的代理软件来收集网络的通信信息和有关网络设备的统计数据。代理软件不断地收集统计数据,并把这些数据记录到一个管理信息库(MIB)中。网管员通过向代理的MIB发出查询信号可以得到这些信息,这个过程就叫轮询(polling)。为了能全面地查看一天的通信流量和变化率,管理人员必须不断地轮询SNMP代理,每分钟就轮询一次。这样,网管员可以使用SNMP来评价网络的运行状况,并揭示出通信的趋势,如哪一个网段接近通信负载的最大能力或正使通信出错等。先进的SNMP网管站甚至可以通过编程来自动关闭端口或采取其它矫正措施来处理历史的网络数据。

基于Web的网络管理模式(Web-Based Management,WBM)的实现有两种方式。第一种方式是代理方式,即在一个内部工作站上运行Web服务器(代理)。这个工作站轮流与端点设备通信,浏览器用户与代理通信,同时代理与端点设备之间通信。在这种方式下,网络管理软件成为操作系统上的一个应用。它介于浏览器和网络设备之间。在管理过程中,网络管理软件负责将收集到的网络信息传送到浏览器(Web服务器代理),并将传统管理协议(如SNMP)转换成Web协议(如HTTP)。第二种实现方式是嵌入式。它将Web功能嵌入到网络设备中,每个设备有自己的Web地址,管理员可通过浏览器直接访问并管理该设备。在这种方式下,网络管理软件与网络设备集成在一起。网络管理软件无须完成协议转换。所有的管理信息都是通过HTTP协议传送。

refer to
如何理解网络管理协议   http://www.bfidc.com/info/wangluoguanli/2011/1201/827.html

/*****************************************APP OF USING TCP******************************************************/
http 80
telnet 23
ftp 21

posted on 2011-12-13 06:40  _song  阅读(409)  评论(0编辑  收藏  举报