TCPIP协议格式

合集下载

TCPIP的知识梳理(按四层结构体系描述)

TCPIP的知识梳理(按四层结构体系描述)

TCPIP的知识梳理(按四层结构体系描述)TCP/IP协议TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/⽹际协议)是指能够在多个不同⽹络间实现信息传输的协议簇。

TCP/IP协议不仅仅指的是TCP 和IP两个协议,⽽是指⼀个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇,只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。

TCP/IP传输协议是严格来说是⼀个四层的体系结构,应⽤层、传输层、⽹络层和数据链路层都包含其中。

OSI参考模型与TCP/IP四层模型对⽐ ⼀、应⽤层协议该层存在的协议:HTTP,DNS,FTP,Telnet,SMTP,RIP,NFSHTTP协议:(后⾯专门⽤⼀篇⽂章详解HTTP和HTTPS)HTTP (HyperText Transfer Protocol 超⽂本传输协议) 基于 TCP,使⽤端⼝号 80 或 8080。

每当你在浏览器⾥输⼊⼀个⽹址或点击⼀个链接时,浏览器就通过 HTTP 协议将⽹页信息从服务器提取再显⽰出来,这是现在使⽤频率最⼤的应⽤层协议。

这个原理很简单:点击⼀个链接后,浏览器向服务器发起 TCP 连接;连接建⽴后浏览器发送 HTTP 请求报⽂,然后服务器回复响应报⽂;浏览器将收到的响应报⽂内容显⽰在⽹页上;报⽂收发结束,关闭 TCP 连接。

HTTP 报⽂会被传输层封装为 TCP 报⽂段,然后再被 IP 层封装为 IP 数据报。

HTTP 报⽂的结构:可见报⽂分为 3 部分:(1)开始⾏:⽤于区分是请求报⽂还是响应报⽂,请求报⽂中开始⾏叫做请求⾏,⽽响应报⽂中,开始⾏叫做状态⾏。

在开始⾏的三个字段之间都⽤空格分开,结尾处 CRLF 表⽰回车和换⾏。

(2)⾸部⾏:⽤于说明浏览器、服务器或报⽂主体的⼀些信息。

(3)实体主体:请求报⽂中通常不⽤实体主体。

常见网络协议报文格式汇总

常见网络协议报文格式汇总

常见网络协议报文格式汇总网络协议是计算机网络通信中,用于规定通信双方传输数据的格式和规则的标准化。

协议中的报文是通信双方之间进行数据交换的载体。

下面我将简单介绍一些常见的网络协议报文格式。

1. HTTP(Hypertext Transfer Protocol)报文格式:-请求报文格式:```<Method> <Request-URI> <HTTP-Version><Headers><Entity-Body>```-响应报文格式:```<HTTP-Version> <Status-Code> <Reason-Phrase><Headers><Entity-Body>```2. TCP(Transmission Control Protocol)报文格式:-TCP报文格式如下:```Source Port Destination PortSequence Number Acknowledgment NumberData Offset Reserved Control BitsWindow Checksum Urgent PointerOptions (if any)Data```3. UDP(User Datagram Protocol)报文格式:-UDP报文格式如下:```Source Port Destination PortLength ChecksumData```4. IP(Internet Protocol)报文格式:-IPv4报文格式如下:```Version IHL Type of Service Total LengthIdentification Flags Fragment Offset Time to Live Protocol Header Checksum Source IP AddressDestination IP AddressOptions (if any)Padding (if necessary)Data```-IPv6报文格式如下:```Version Traffic Class Flow Label Payload Length Next HeaderHop LimitSource IPv6 AddressDestination IPv6 AddressOptions (if any)Padding (if necessary)Data```5. ICMP(Internet Control Message Protocol)报文格式:-ICMP报文格式如下:```Type Code ChecksumIdentifier Sequence NumberData (Optional)```6. Ethernet报文格式:- Ethernet报文格式如下:```Destination MAC AddressSource MAC AddressEthernet TypePayload```7. DNS(Domain Name System)报文格式:-DNS报文格式如下:```DNS Message HeaderDNS Message Question SectionDNS Message Answer SectionDNS Message Authority SectionDNS Message Additional Section```8. FTP(File Transfer Protocol)报文格式:-FTP报文格式如下:```Arguments```9. SMTP(Simple Mail Transfer Protocol)报文格式:-SMTP报文格式如下:```Arguments```这些是常见的网络协议的报文格式,它们用于在计算机网络中进行数据传输和通信。

以太网帧格式、IP报文格式、TCPUDP报文格式

以太网帧格式、IP报文格式、TCPUDP报文格式

以太⽹帧格式、IP报⽂格式、TCPUDP报⽂格式1、ISO开放系统有以下⼏层:7应⽤层6表⽰层5会话层4传输层3⽹络层2数据链路层1物理层2、TCP/IP ⽹络协议栈分为应⽤层(Application)、传输层(Transport)、⽹络层(Network)和链路层(Link)四层。

通信过程中,每层协议都要加上⼀个数据⾸部(header),称为封装(Encapsulation),如下图所⽰不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在⽹络层叫做数据报(datagram),在链路层叫做帧(frame)。

数据封装成帧后发到传输介质上,到达⽬的主机后每层协议再剥掉相应的⾸部,最后将应⽤层数据交给应⽤程序处理。

其实在链路层之下还有物理层,指的是电信号的传递⽅式,⽐如现在以太⽹通⽤的⽹线(双绞线)、早期以太⽹采⽤的的同轴电缆(现在主要⽤于有线电视)、光纤等都属于物理层的概念。

3、集线器(Hub)是⼯作在物理层的⽹络设备,⽤于双绞线的连接和信号中继(将已衰减的信号再次放⼤使之传得更远)。

交换机是⼯作在链路层的⽹络设备,可以在不同的链路层⽹络之间转发数据帧(⽐如⼗兆以太⽹和百兆以太⽹之间、以太⽹和令牌环⽹之间),由于不同链路层的帧格式不同,交换机要将进来的数据包拆掉链路层⾸部重新封装之后再转发。

路由器是⼯作在第三层的⽹络设备,同时兼有交换机的功能,可以在不同的链路层接⼝之间转发数据包,因此路由器需要将进来的数据包拆掉⽹络层和链路层两层⾸部并重新封装。

4、⽹络层的IP 协议是构成Internet 的基础。

IP 协议不保证传输的可靠性,数据包在传输过程中可能丢失,可靠性可以在上层协议或应⽤程序中提供⽀持。

传输层可选择TCP 或UDP 协议。

TCP 是⼀种⾯向连接的、可靠的协议,有点像打电话,双⽅拿起电话互通⾝份之后就建⽴了连接,然后说话就⾏了,这边说的话那边保证听得到,并且是按说话的顺序听到的,说完话挂机断开连接。

TCPIP协议协议端口

TCPIP协议协议端口

TCPIP协议协议端口协议名称:TCP/IP协议协议端口一、引言TCP/IP协议是互联网中最常用的协议之一,它负责实现数据在网络中的传输。

协议端口是TCP/IP协议中的一个重要概念,它用于标识不同的网络应用程序或服务。

本协议旨在规定TCP/IP协议中常用的协议端口的标准格式和使用规范。

二、协议端口的定义协议端口是一个16位的整数,范围从0到65535。

其中,0到1023的端口号为"系统端口",用于标识一些常用的网络服务,如HTTP(端口号80)、FTP(端口号21)等。

1024到49151的端口号为"注册端口",用于标识一些非系统级别的网络应用程序。

49152到65535的端口号为"动态端口",用于临时分配给客户端应用程序。

三、协议端口的标准格式协议端口的标准格式为一个16位的整数,采用十进制表示。

例如,HTTP的端口号80可以表示为"80"。

对于一些常用的协议端口,可以使用其标准名称来代替端口号,如HTTP可以用"HTTP"代替"80"。

四、协议端口的使用规范1. 系统端口的使用规范系统端口是预先定义的端口号,用于标识一些常用的网络服务。

在使用系统端口时,应遵循以下规范:- 不得随意更改系统端口的用途,以免影响网络中已有的应用程序。

- 不得将系统端口用于非系统级别的应用程序。

- 在开发新的网络服务时,应优先考虑使用注册端口或动态端口。

2. 注册端口的使用规范注册端口是用于标识一些非系统级别的网络应用程序。

在使用注册端口时,应遵循以下规范:- 在开发新的网络应用程序时,应先查询已有的注册端口列表,避免与已有的应用程序冲突。

- 在申请注册端口时,应提供详细的应用程序信息,包括应用程序的名称、功能、所需端口号等。

- 注册端口的分配由互联网号码分配机构(IANA)负责,申请者应按照其规定的流程进行申请。

数据包报文格式(IP包TCP报头UDP报头)

数据包报文格式(IP包TCP报头UDP报头)

数据包报文格式(IP包TCP报头UDP报头)一、IP包格式IP数据包是一种可变长分组,它由首部和数据负载两部分组成。

首部长度一般为20-60字节(Byte),其中后40字节是可选的,长度不固定,前20字节格式为固定。

数据负载部分的长度一般可变,整个IP数据包的最大长度为65535B。

1、版本号(Version)长度为4位(bit),IP v4的值为0100,IP v6的值为0110。

2、首部长度指的是IP包头长度,用4位(bit)表示,十进制值就是[0,15],一个IP包前20个字节是必有的,后40个字节根据情况可能有可能没有。

如果IP包头是20个字节,则该位应是20/4=53、服务类型(Type of Service TOS)长度为8位(bit),其组成:前3位为优先级(Precedence),后4位标志位,最后1位保留未用。

优先级主要用于QoS,表示从0(普通级别)到7(网络控制分组)的优先级。

标志位可分别表示D(Delay更低的时延)、T(Throughput 更高的吞吐量)、R(Reliability更高的可靠性)、C(Cost 更低费用的路由)。

TOS只表示用户的请求,不具有强制性,实际应用中很少用,路由器通常忽略TOS字段。

4、总长度(Total Length)指IP包总长度,用16位(bit)表示,即IP包最大长度可以达216=65535字节。

在以太网中允许的最大包长为1500B,当超过网络允许的最大长度时需将过长的数据包分片。

5、标识符(Identifier)长度为16位,用于数据包在分段重组时标识其序列号。

将数据分段后,打包成IP 包,IP包因走的路由上不同,会产生不同的到达目地的时间,到达目地的后再根据标识符进行重新组装还原。

该字段要与标志、段偏移一起使用的才能达到分段组装的目标。

6、标志(Flags)长度为3位,三位从左到右分别是MF、DF、未用。

MF=1表示后面还有分段的数据包,MF=0表示没有更多分片(即最后一个分片)。

TCPIP协议族的体系结构数据格式及传输过程

TCPIP协议族的体系结构数据格式及传输过程

TCPIP协议族的体系结构数据格式及传输过程TCP/IP协议族描述了网络通信的基本原理和标准化规范,是互联网的核心协议。

它由两个重要的协议组成:TCP(Transmission Control Protocol,传输控制协议)和IP(Internet Protocol,互联网协议)。

TCP/IP协议族的体系结构:TCP/IP协议族采用分层的体系结构,分为四个层次:网络接口层(Network Interface Layer)、互联网层(Internet Layer)、传输层(Transport Layer)和应用层(Application Layer)。

1. 网络接口层(Network Interface Layer):负责在网络传输介质上发送和接收数据包。

它包含了物理连接的相关规范和数据链路层协议。

2. 互联网层(Internet Layer):负责在网络中寻址和路由数据包。

它的核心协议是IP(Internet Protocol),IP协议定义了数据包在网络中的传输规则和地址分配规则。

3. 传输层(Transport Layer):负责将数据可靠地传输到每个应用程序。

其中最重要的协议是TCP(Transmission Control Protocol),TCP提供了面向连接的、可靠的数据传输服务。

此外,还有UDP(User Datagram Protocol,用户数据报协议),它提供了无连接的、不可靠的数据传输服务。

4. 应用层(Application Layer):提供了各种常见的应用程序协议,如HTTP(Hypertext Transfer Protocol,超文本传输协议)、FTP(File Transfer Protocol,文件传输协议)、SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)等。

应用层协议通过TCP或UDP与传输层进行通信。

TCP/IP协议族的数据格式:TCP/IP协议族中的数据包称为"分组",即数据包被分割为多个较小的部分进行传输。

第3章 TCPIP协议

第3章 TCPIP协议

3.2 TCP/IP参考模型

超文本传输协议HTTP

用于Internet中的客户机与WWW服务器之间的数据传输;

文件传输协议FTP

实现主机之间的文件传送;

远程终端协议TELNET

本地主机作为仿真终端,登录到远程主机上运行应用程序;

动态主机配置协议DHCP

实现对主机的地址分配和配置工作。
给主机使用。
地址类型 网络地址 广播地址 网络号 主机号 网络号 全0 全1 全1 用途 标识一个网络 举例 202.117.179.0
在本地网络广播 255.255.255.255 在特定网络广播 202.117.179.255
直接广播地址 网络号 全1
本地网络地址 全0
环回地址 127
全0
任意
系统启动时使用 0.0.0.0
3.2 TCP/IP参考模型

2.网络互连层

网际协议IP (Internet Protocol)

对数据包进行相应的寻址和路由,并从一个网络转发到另一 个网络。 向上一层提供统一的IP数据报,屏蔽低层各物理数据帧的差 异性。


网际控制报文协议ICMP (Internet Control Message Protocol)
分配给一台主机可使用的有效C类IP地址范围
11000000 00000000 00000001 00000001 ~ 11011111 11111111 11111111 11111110 192. 0. 1. 1 223. 255. 255. 254
3.3 IP地址

二、 IP地址类型

IP地址的分类图

TCPIP协议三次握手与四次握手流程解析

TCPIP协议三次握手与四次握手流程解析

TCPIP协议三次握⼿与四次握⼿流程解析⼀、TCP报⽂格式TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。

下⾯是TCP报⽂格式图:图1 TCP报⽂格式上图中有⼏个字段需要重点介绍下:(1)序号:Seq序号,占32位,⽤来标识从TCP源端向⽬的端发送的字节流,发起⽅发送数据时对此进⾏标记。

(2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。

(3)标志位:共6个,即URG、ACK、PSH、RST、SYN、FIN等,具体含义如下:(A)URG:紧急指针(urgent pointer)有效。

(B)ACK:确认序号有效。

(C)PSH:接收⽅应该尽快将这个报⽂交给应⽤层。

(D)RST:重置连接。

(E)SYN:发起⼀个新连接。

(F)FIN:释放⼀个连接。

RST信息,则是client向server发送数据请求,但是server并没有运⾏.则client会收到来⾃对⽅主机发送的RST信息.11个状态中,除了ESTABLISHED外,还有2个⽐较重要的状态:CLOSED_WAIT和TIME_WAIT.CLOSE_WAIT状态时有对⽅主动调⽤close,向本地(这⾥本地,并不⼀定说的是client)发送FIN,本地接收到FIN,并向对⽅发送ACK之后,本地状态会变成CLOSE_WAIT状态.那么,本地如果需要从CLOSE_WAIT状态变成CLOSED状态,需要本地向对⽅发送FIN,也就是需要本地主动调⽤close,本地进⼊LAST_ACK,在本地接收到ACK之后,就进⼊CLOSED状态.需要注意的是:(A)不要将确认序号Ack与标志位中的ACK搞混了。

(B)确认⽅Ack=发起⽅Req+1,两端配对。

⼆、三次握⼿所谓三次握⼿(Three-Way Handshake)即建⽴TCP连接,就是指建⽴⼀个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建⽴。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

通过连接实例解读TCP/IP协议最近狂补基础,猛看TCP/IP协议。

不过,书上的东西太抽象了,没有什么数据实例,看了不久就忘了。

于是,搬来一个sniffer,抓了数据包来看,呵呵,结合书里面得讲解,理解得比较快。

我就来灌点基础知识。

开始吧,先介绍IP协议。

IP协议(Internet Protocol)是网络层协议,用在因特网上,TCP,UDP,ICMP,IGMP数据都是按照IP数据格式发送得。

IP协议提供的是不可靠无连接得服务。

IP数据包由一个头部和一个正文部分构成。

正文主要是传输的数据,我们主要来理解头部数据,可以从其理解到IP协议。

IP数据包头部格式(RFC791)Example Internet Datagram Header上面的就是IP数据的头部格式,这里大概地介绍一下。

IP头部由20字节的固定长度和一个可选任意长度部分构成,以大段点机次序传送,从左到右。

TCP协议TCP协议(TRANSMISSION CONTROL PROTOCOL)是传输层协议,为应用层提供服务,和UDP不同的是,TCP协议提供的可靠的面向连接的服务。

在RFC793中是基本的TCP描述。

关于TCP协议的头部格式内容的说明:TCP Header FORMatTCP Header FORMat跟IP头部差不多,基本的长度也是20字节。

TCP数据包是包含在一个IP数据报文中的。

好了,简单介绍到此为止。

来看看我捕获的例子吧。

这是一次FTP的连接,呵呵,是cuteftp默认的cuteftp的FTP站点,IP地址是:216.3.226.21。

我的IP地址假设为:192.168.1.1。

下面的数据就是TCO/IP连接过程中的数据传输。

我们可以分析TCP/IP协议数据格式以及TCP/IP连接的三次握手(ThreeWay-Handshake)情况。

下面的这些十六进制数据只是TCP/IP协议的数据,不是完整的网络通讯数据。

第一次,我向FTP站点发送连接请求(我把TCP数据的可选部分去掉了)192.168.1.1->216.3.226.21IP头部: 45 00 00 30 52 52 40 00 80 06 2c 23 c0 a8 01 01 d8 03 e2 15TCP头部:0d 28 00 15 50 5f a9 06 00 00 00 00 70 02 40 00 c0 29 00 00来看看IP头部的数据是些什么。

第一字节,“45”,其中“4”是IP协议的版本(Version),说明是IP4。

“5”是IHL位,表示IP头部的长度,是一个4bit字段,最大就是1111了,值为12,IP头部的最大长度就是60字节。

而这里为“5”,说明是20字节,这是标准的IP头部长度,头部报文中没有发送可选部分数据。

接下来的一个字节“00”是服务类型(Type of Service)。

这个8bit字段由3bit的优先权子字段(现在已经被忽略),4 bit的TOS子字段以及1 bit的未用字段(现在为0)构成.4 bit的TOS子字段包含:最小延时、最大吞吐量、最高可靠性以及最小费用构成,这四个1bit位最多只能有一个为1,本例中都为0,表示是一般服务。

接着的两个字节“00 30”是IP数据报文总长,包含头部以及数据,这里表示48字节。

这48字节由20字节的IP头部以及28字节的TCP头构成(本来截取的TCP头应该是28字节的,其中8字节为可选部分,被我省去了)。

因此目前最大的IP数据包长度是65535字节。

再是两个字节的标志位(Identification):“5252”,转换为十进制就是21074。

这个是让目的主机来判断新来的分段属于哪个分组。

下一个字节“40”,转换为二进制就是“0100 0000”,其中第一位是IP协议目前没有用上的,为0。

接着的是两个标志DF和MF。

DF为1表示不要分段,MF为1表示还有进一步的分段(本例为0)。

然后的“0 0000”是分段便移(Fragment Offset)。

“80”这个字节就是TTL(Time To Live)了,表示一个IP数据流的生命周期,用Ping显示的结果,能得到TTL的值,很多文章就说通过TTL位来判别主机类型。

因为一般主机都有默认的TTL值,不同系统的默认值不一样。

比如WINDOWS 为128。

不过,一般Ping得到的都不是默认值,这是因为每次IP数据包经过一个路由器的时候TTL就减一,当减到0时,这个数据包就消亡了。

这也时Tracert 的原理。

本例中为“80”,转换为十进制就是128了,我用的WIN2000。

继续下来的是“06”,这个字节表示传输层的协议类型(Protocol)。

在RFC790中有定义,6表示传输层是TCP协议。

“2c 23”这个16bit是头校验和(Header Checksum)。

接下来“c0 a8 01 01”,这个就是源地址(Source Address)了,也就是我的IP地址。

转换为十进制的IP地址就是:192.168.1.1,同样,继续下来的32位“d8 03 e2 15”是目标地址,216.3.226.21好了,真累啊,终于看完基本的20字节的IP数据报头了。

继续看TCP的头部吧,这个是作为IP数据包的数据部分传输的。

TCP头部:0d 28 00 15 50 5f a9 06 00 00 00 00 70 02 40 00 c0 29 00 00一来就是一个两字节段“0d 28”,表示本地端口号,转换为十进制就是3368。

第二个两字节段“00 15”表示目标端口,因为我是连接FTP站点,所以,这个就是21啦,十六进制当然就是“00 15”。

接下来的四个字节“50 5f a9 06”是顺序号(Sequence Number),简写为SEQ,SEQ=1348446470下面的四个字节“00 00 00 00”是确认号(Acknowledgment Number),简写为ACKNUM。

继续两个字节,“70 02”,转换为二进制吧,“0111 0000 0000 0010”。

这两个字节,总共16bit,有好多东西呢。

第一个4bit“0111”,是TCP头长,十进制为7,表示28个字节(刚才说了,我省略了8字节的option数据,所以你只看见了20字节)。

接着的6bit现在TCP协议没有用上,都为0。

最后的6bit“00 0010”是六个重要的标志。

这是两个计算机数据交流的信息标志。

接收和发送断根据这些标志来确定信息流的种类。

下面是一些介绍:URG:(Urgent Pointer field significant)紧急指针。

用到的时候值为1,用来处理避免TCP数据流中断ACK:(Acknowledgment fieldsignificant)置1时表示确认号(AcknowledgmentNumber)为合法,为0的时候表示数据段不包含确认信息,确认号被忽略。

PSH:(Push Function),PUSH标志的数据,置1时请求的数据段在接收方得到后就可直接送到应用程序,而不必等到缓冲区满时才传送。

RST:(Reset the connection)用于复位因某种原因引起出现的错误连接,也用来拒绝非法数据和请求。

如果接收到RST位时候,通常发生了某些错误。

SYN:(Synchronize sequence numbers)用来建立连接,在连接请求中,SYN=1,ACK=0,连接响应时,SYN=1,ACK=1。

即,SYN和ACK来区分Connection Request 和Connection Accepted。

FIN:(No more data from sender)用来释放连接,表明发送方已经没有数据发送了。

这6个标志位,你们自己对号入座吧。

本例中SYN=1,ACK=0,当然就是表示连接请求了。

我们可以注意下面两个过程的这两位的变换。

后面的“40 00 c0 29 00 00”不讲了,呵呵,偷懒了。

后面两次通讯的数据,自己分开看吧。

我们看看连接的过程,一些重要地方的变化。

第二次,FTP站点返回一个可以连接的信号。

216.3.226.21->192.168.1.1IP头部: 45 00 00 2c c6 be 40 00 6a 06 cd ba d8 03 e2 15 c0 a8 01 01TCP头部:00 15 0d 28 4b 4f 45 c1 50 5f a9 07 60 12 20 58 64 07 00 00第三次,我确认连接。

TCP连接建立起来。

192.168.1.1->216.3.226.21IP头部: 45 00 00 28 52 53 40 00 80 06 2c 2a c0 a8 01 01 d8 03 e2 15TCP头部:0d 28 00 15 50 5f a9 07 4b 4f 45 c2 50 10 40 b0 5b 1c 00 00好,我们看看整个Threeway_handshake过程。

第一步,我发出连接请求,TCP数据为:SEQ=50 5f a9 06,ACKNUM=00 00 00 00,SYN=1,ACK=0。

第二步,对方确认可以连接,TCP数据为:SEQ=4b 4f 45 c1,ACKNUM=50 5f a9 07,SYN=1,ACK=1。

第三步,我确认建立连接。

SEQ=50 5f a9 07, ACKNUM=4b 4f45c2,SYN=0,ACK=1。

可以看出什么变化么?正式建立连接了呢,这些东西是什么值?我接收从216.3.226.21->192.168.1.1的下一个数据包中:SEQ=4b 4f 45 c2,ACKNUM=50 5f a9 07,SYN=0,ACK=1这些都是很基础的东西,对于编写sniffer这样的东西是必须非常熟悉的。

这里只讲解了TCP/IP协议的一点点东西,主要是头部数据的格式。

一、Ethernet地址为了标识以太网上的每台主机,需要给每台主机上的网络适配器(网络接口卡)分配一个唯一的通信地址,即Ethernet地址或称为网卡的物理地址、MAC地址。

IEEE负责为网络适配器制造厂商分配Ethernet地址块,各厂商为自己生产的每块网络适配器分配一个唯一的Ethernet地址。

因为在每块网络适配器出厂时,其Ethernet地址就已被烧录到网络适配器中。

所以,有时我们也将此地址称为烧录地址(Burned-In-Address,BIA)。

Ethernet地址长度为48比特,共6个字节,如图1所示。

其中,前3字节为IEEE分配给厂商的厂商代码,后3字节为网络适配器编号。

图1Ethernet地址二、CSMA/CD在ISO的OSI参考模型中,数据链路层的功能相对简单。

相关文档
最新文档