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

转载于:https://www.cnblogs.com/-song/archive/2011/12/13/3331901.html

network packet相关推荐

  1. Cisco Packet Tracer Student抓取协议包简介

    Cisco Packet Tracer Student抓取协议包简介 ORGANIZATIONS Edit Filters ARP地址解析协议(Address Resolution Protocol) ...

  2. Reading Fast Packet Processing A Survey

    COMST 2018 主要内容 这是一篇有关快速包转发的综述,先介绍了包转发的有关基础知识和背景,具体介绍了包转发的主流方法,对这些方法进行了细致详尽的比较,最后介绍了最新的方法和未来的研究方向. 包 ...

  3. network system

    When it comes to networking,there is probably nothing that cannot be done with Linux.Linux is used t ...

  4. 重新编译iptables

    重新编译iptables 一.重新编译后的内核版本为:<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:offi ...

  5. 玩转高性能超猛防火墙nf-HiPAC

    中华国学,用英文讲的,稀里糊涂听了个大概,不得不佩服西方人的缜密的逻辑思维,竟然把玄之又玄的道家思想说的跟牛顿定律一般,佩服.归家,又收到了邮件,还是关于nf-hipac的,不知不觉就想彻底整理一篇文 ...

  6. Big Data Security Part One: Introducing PacketPig

    Series Introduction Packetloop CTO Michael Baker (@cloudjunky) made a big splash when he presented ' ...

  7. 什么是动态DNS 动态DNS有什么用

    1.核心思想 配置动态DNS服务器的核心思想是:在DNS服务器上运行多个BIND,每个BIND为来自不同区域的用户提供解析,因此每个BIND都应具有不同的配置文件和域文件,并且分别监听在不同的端口.在 ...

  8. centos6.5下系统编译定制iptables防火墙扩展layer7应用层访问控制功能及应用限制QQ2016上网...

    iptables防火墙扩展之layer7应用层访问控制 概述: iptables防火墙是工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙.以基于网络层的数据包过滤机制为主,同 ...

  9. sql2000 的bcp命令

    bcp是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据.bcp可以将数据库的表或视图直接导出,也能通过SELECT ...

最新文章

  1. 记录一下,以后学Python
  2. 计算机基础1模拟题,计算机基础模拟题1(有答案).doc
  3. iOS高级-RunLooper
  4. php 数据集转换树、递归重组节点信息多维数组(转)
  5. ssl1125-集合【哈希表二分查找+快排】
  6. 计算机操作员初级 第1单元0202微型计算机基本操作 教学大纲,计算机操作员教学大纲...
  7. 不同操作系统上屏蔽oracle的操作系统认证方式
  8. IDEA(2018)连接MySQL数据库失败的解决方法(报错08001)
  9. react学习系列3 使用koa-router模拟后台接口
  10. nodeJS之TCP模块net
  11. 关于suitescript 无法读取Item Number Field
  12. EventUtil——跨浏览器的事件对象
  13. ps去水印教程_叫板 PS!去水印、抠图、加滤镜,这款超强修图应用到底什么来头...
  14. Modifying a Dynamic Library Without Changing the Source Code
  15. 《Android框架揭秘》——2.2节搭建Android平台编译环境
  16. Nachos编译与使用--Nachos配置
  17. 会议一体机_多媒体会议系统方案
  18. CentOS7 开启路由转发
  19. Dissect HTTP3
  20. 免费的股票成交额查询接口要到哪里找?

热门文章

  1. jquery背景自动切换特效
  2. 出生日期,看出你的天赋
  3. 小谈RTMP中AMF3类型的Command message
  4. android ImageSwitcher的使用
  5. DLmalloc 内存分配算法
  6. C++和Java中成员数据名和成员函数名的冲突问题
  7. mysql之调优概论
  8. RabbitMQ,Springboot整合RabbitMQ实现 消息可靠性投递,Consumer ACK,TTL,死信队列,使用TTL+死信队列=延迟队列
  9. DDD领域驱动实践记录
  10. WPF控件自定义样式(FasControls)