精华内容
参与话题
问答
  • 数据的获取与分析利用————WinShark抓取数据后(TCP、数据链路层、IP层)UDP层分析 WinShark抓取数据后(TCP、数据链路层、IP层)UDP层分析 1、安装WireShark 2、访问网站主页,并使用工具获取数据包。 图1...

    数据的获取与分析利用————WireShark抓取数据后(TCP、数据链路层、IP层)UDP层分析

    WinShark抓取数据后(TCP、数据链路层、IP层)UDP层分析

    1、安装WireShark
    2、访问网站主页,并使用工具获取数据包。
    在这里插入图片描述

    图1. 图中256 及·260为:TCP第一次握手的PDU和HTTP协议向网站请求时的PDU

    访问网站放时产生的HTTP协议数据报;
    在这里插入图片描述
    找到上述HTTP访问过程中的TCP连接过程(三次握手)
    在这里插入图片描述
    图2 第一次握手时的数据包(图中256-259处可以看到“三次握手”过程)

     客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接
    

    在这里插入图片描述
    图3 第二次握手时的数据包

    服务器发回确认包, 标志位为 SYN,ACK. 将确认序号设置为客户的I S N加1以.即1
    

    在这里插入图片描述
    图4 第三次握手时的数据包

    客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1,
    

    关闭连接 (四次挥手)
    在这里插入图片描述
    图5 四次挥手

    TCP UDP分析在这里插入图片描述

    图6 TCP报文描述

    Transmission Control Protocol, Src Port: 80, Dst Port: 56130, Seq: 1, Ack: 524, Len: 0 Source Port: 80 Destination Port: 56130
    [Stream index: 40]
    数据序号:40

    [TCP Segment Len: 0]
    #TCP段长度

    Sequence number: 1 (relative sequence number)
    Sequence number (raw): 3344445676
    #报文段中的的第一个数据字节在数据流中的序号;

    [Next sequence number: 1 (relative sequence number)]
    #下一个数据字节序号

    Acknowledgment number: 524 (relative ack number)
    Acknowledgment number (raw): 1987028714
    #确认序列号包含发送确认的一端所期望收到的下一个序号

    0101 … = Header Length: 20 bytes (5)
    #头部长度:4位,20字节

    Flags: 0x010 (ACK)
    #ACK-确认序号有效

    Window size value: 123
    #TCP窗口尺寸

    [Calculated window size: 15744]
    [Window size scaling factor: 128]
    #校验和:源机器基于数据内容计算一个数值,收信息机要与源机器数值 结果完全一样,从而证明数据的有效性

    Checksum: 0x483b [unverified]
    [Checksum Status: Unverified]
    #检验和

    数据链路层UDP
    在这里插入图片描述
    Frame 601: 54 bytes on wire (432 bits), 54 bytes captured (432 bits) on interface \Device\NPF_{CFDEE561-1FC4-4504-81E7-D68B7D8698B6}, id 0
    #601号帧,线路432字节,实际捕获432字节 接口id

    Interface id: 0 (\Device\NPF_{CFDEE561-1FC4-4504-81E7-D68B7D8698B6})
    #接口id
    Interface name: \Device\NPF_{CFDEE561-1FC4-4504-81E7-D68B7D8698B6}
    Interface description: WLAN
    #接口名 、接口描述
    Encapsulation type: Ethernet (1)
    #封装类型
    Arrival Time: Nov 29, 2019 11:15:52.603491000中国标准时间
    #捕获日期和时间

    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1574997352.603491000 seconds
    [Time delta from previous captured frame: 0.025257000 seconds]
    [Time delta from previous displayed frame: 0.032047000 seconds]
    #此包与前一包的时间间隔

    [Time since reference or first frame: 7.447963000 seconds]
    #此包与第一帧的时间间隔

    Frame Number: 601 #帧序号

    Frame Length: 54 bytes (432 bits) #帧长度

    Capture Length: 554 bytes (432 bits) #捕获长度

    [Frame is marked: False] #此帧是否做了标记:否

    [Frame is ignored: False] #此帧是否被忽略:否

    [Protocols in frame: eth:ehertype:ip:tcp] #帧内封装的协议层次结构

    [Coloring Rule Name: HTTP] #着色标记的协议名称

    [Coloring Rule String: http || tcp.port == 80|| http2] #着色规则显示的字符串

    IP层UDP

    在这里插入图片描述

    Internet Protocol Version 4, Src: 111.7.68.182, Dst: 192.168.1.135
    #IPV4 源地址IP 目标地址IP
    0100 … = Version: 4
    #IPV版本
    … 0101 = Header Length: 20 bytes (5)
    #IP数据报 头部长度20字节=5*4
    Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
    。 # DS:区分服务 代码点
    Total Length: 40
    #总长度 40
    Identification: 0x1515 (5397)
    #标识 16位
    Flags: 0x4000, Don’t fragment
    …0 0000 0000 0000 = Fragment offset: 0
    Time to live: 50
    #生存期TTL
    Protocol: TCP (6)
    #协议
    Header checksum: 0xbdce [validation disabled]
    [Header checksum status: Unverified]
    #头部校验和
    Source: 111.7.68.182
    Destination: 192.168.1.135
    .# 源地址 目标地址

    展开全文
  • TCP,UDP,IP,数据链路层头部详解

    千次阅读 2019-06-21 20:57:39
    UDP头部 可以看到UDP头部由(源端口)、(目的端口)、(长度)跟(校验和)组成,总共8字节。 源端口:发送方的端口号,16位,即2字节。...UDP数据部分最小长度:即无数据的情况下,0字节。 UDP最大...

    UDP头部

    可以看到UDP头部由(源端口)、(目的端口)、(长度)跟(校验和)组成,总共8字节。

    源端口:发送方的端口号,16位,即2字节。
    目的端口:接收方的端口号,16位,即2字节。
    长度:头部+数据的字节数,16位,即2字节。
    校验和:此字段用来校验数据是否出错。

    UDP最小长度:即无数据的情况下,仅首部长度8字节。
    UDP数据部分最小长度:即无数据的情况下,0字节。
    UDP最大长度:因长度字段16位限制,所以最大长度为216-1=65535字节。
    UDP数据部分最大长度:即UDP最大长度-IP最小头部-UDP头部,216-1-20-8=65507字节

    TCP头部

    TCP为保证数据的可靠传输,自然多了很多东西。

    源端口:16位,2字节。
    目的端口:16位,2字节。
    序号:此报文的序号[1],可用于确认。
    确认号:用于确认序号[1]
    数据偏移:

    数据部分往后偏移,这是TCP的头部长度字段,代表有多少个32bit,即1代表32bit,2代表64bit。
    一共4位最大为15,15×32=480b=60B。所以头部最大为60个字节,最小为20字节。
    (此字段与图中选项字段相关联)

    接下来是保留字段,未使用。
    下面是6位用于TCP通信的字段,相应位置1表示特殊的信号。比如典型的SYN、FIN和ACK用于三次握手和四次挥手[2]
    窗口:用于拥塞控制,接收方可以控制发送方发送数据报文的吞吐量,防止自己太忙来不及接收。
    校验和:此字段用来校验数据是否出错。
    紧急指针:用于发送紧急数据的情况。
    选项与填充:

    TCP头部的长度可以变化,因此可以承载更多的数据。
    注意这里必须使用32位的数据,用来快速定位数据部分的位置,所以没有那么多数据的话需要在后面进行填充。
    这里与数据偏移字段相关联,这样就可以知道头部的长度以及数据部分的准确位置。

    [1]:关于序号和确认号,不是简简单单为数据随意编号,确认号也不是确认数据报文的序号。可以点击这里看我关于TCP序号和确认号的博客
    [2]:关于三次握手和四次挥手的细节,可以点击这里看我关于三次握手和四次挥手的博客

    IP头部

    版本:IP的版本,IPv4或IPv6,4bit。
    首部长度:跟TCP头部中的数据偏移意义一致。
    区分服务:这是Tos字段,用于Oos服务质量中,这个一两句话也说不完。
    总长度:顾名思义,指整个数据报的长度(以字节为单位)。占16bit,最大长度为65535字节。
    标识:用来唯一地标识主机发送的每一份数据报。通常每发一份报文,它的值会加1。
    标志:占3比特。标志一份数据报是否要求分段。详细可以看这里:https://blog.csdn.net/NetRookieX/article/details/80640383
    片偏移:占13比特。如果一份数据报要求分段的话,此字段指明该段偏移距原始数据报开始的位置。
    生存时间:即TTL。可用于防止环路占用带宽,每经过一跳路由器则TTL减1,减为0则丢弃数据包。
    协议:标识了上层所使用的协议
    	01    ICMP
    	02    IGMP
    	06    TCP
    	17    UDP
    	88    IGRP
    	89    OSPF
    首部校验和:用来做IP头部的正确性检测,但不包含数据部分。 因为每个路由器要改变TTL的值,所以路由器会为每个通过的数据包重新计算这个值。
    源地址:发送方的IP地址
    目的地址:接收方的目的地址
    可选字段与填充:与TCP中选项与字段意义一致。
    

    数据链路层头部

    这里指出图中缺点:CRC应改为FCS,FCS才是字段,CRC为校验方式。

    目的地址:接收方MAC地址,因为此地址是局部链路地址,局域网中所有设备都需查看是否发送给自己,所以排在第一位。
    源地址:发送方MAC地址。
    长度/类型:指定长度/指定网络层所用的协议类型,通常是IP协议,0x0800。
    接下来是数据部分,注意:如果有LLC子层,那么LLC子层占用的是数据部分的空间
    

    最小帧:64字节,这是根据CSMA/CD的标准推导出。
    帧头部:14字节,6字节目的地址+6字节源地址+2字节长度/类型=14字节。
    帧中最小数据:64字节-6字节目的地址-6字节源地址-2字节长度/类型-4字节FCS字段(CRC)=46字节。
    最大数据:即MTU=1500字节。
    最大帧:MTU+帧头部14字节+FCS4字节=1518字节。
    以上均未考虑前导码。


    展开全文
  • 这篇文章主要是来做(da)推(guang)介(gao)的!由于这两年接触到了比较多的这方面的知识,不想忘了,我决定把他们记录下来,所以决定在GitBook用半年时间上面写下来,这是目前写的一节,后面会在gitbook上不断更新,...

    这篇文章主要是来做(da)推(guang)介(gao)的!由于这两年接触到了比较多的这方面的知识,不想忘了,我决定把他们记录下来,所以决定在GitBook用半年时间上面写下来,这是目前写的一节,后面会在gitbook上不断更新,欢迎大家star,主要是在写完之前欢迎各位给出指正的意见。最最重要的,地址在这里:https://www.gitbook.com/book/rogerzhu/-tcp-udp-ip/,或者在gitbook上搜索“三十天学不会TCP,UDP/IP编程”。

    MAC 地址

    到了数据链路层,就开始有了数据的整合管理了。如何标识发送数据的两个端点,应该是网络的第一个问题,不能说连对方的地址都不知道你就敢寄信(不过也有例外的,就是广播,在后面再详述)。可以看到在物理层只有一个接口的物理信息,一般是标识厂家的ID和批次等等,先不说这些东西很大概率会是重复,而且这玩意儿又是不定长字母加不定长数字的也不好管理,所以产生一种便于统一管理且不会重复的唯一标识符就很必要了。于是ISO,IEEE等等机构就定义了这么一个玩意儿,称之为MAC地址,全名Media Access Control Address,这个MAC比现在最流行的mac要早很多年。

    一个MAC地址有48位,一般在表示的时候分为6个组,每个组用两个16进制的数字组成。前24位是由IEEE决定如何分配,一般是需要的公司向IEEE申请,基本上前面的24位就可以保证唯一性了,因为IEEE会进行管理和分配,后面24位由生产厂家自行决定。一个网卡只能有一个MAC地址,如果需要在一个设备上需要多个MAC地址,那么就需要多个网卡。

    关于MAC地址还有一个重要的概念是单播MAC地址,广播MAC地址,多播MAC地址的概念,我想放在网络层描述比较自然,不过可以简单的这样理解,单播嘛就是和一个定点通信,广播就是大声的喧哗,小喇叭看看谁会回复,多播就是在这个组内每个人都能看到别人说话,但是组外就看不到了。

    在windows上,使用ipconfg /all就可以看到你的网卡MAC地址,在linux上,使用ifconfig就可以查看。这里我觉得,从命令的名字上,linux的更接近于原意,interface config,毕竟MAC地址不能说是ip,这些信息应该属于一个接口信息。

    帧格式

    还是结合那个SMB包,让我们展开第二层看看具体有什么。

     

     

    在这个包的第一行最前面是Ethernet II,Ethernet翻译成中文就是以太网,以太这个词是亚里士多德设想的一种物质,在当时用于描述摸不到看不着却又能真实感受到存在的东西,当然,后来科学证明了没有这种东西,但是我觉得用在这里形容网络真是再恰当不过了。再说回Ethernet II,这是链路层的一种帧格式,另外一种是IEEE802.3。这种编号方式的规范本身没什么好记忆的,事实上IEEE802定义了一系列网络通信的帧格式,其中IEEE802.11就是和现在每个人都息息相关的无线网标准了,IEEE802.11ac不也是苹果的卖点之一嘛。

    那么Ethernet II 的帧格式到底是什么样的呢?我从wiki上复制了一张组成部分图,可以很清晰的看到,主要分为三大部分五小部分,其中MAC header包含了源MAC地址和目的MAC地址,Ether Type是标识了data的类型,从上面的抓包截图上看到了一个Type:IPv4(0x0800),就是填在这个字段的。再往下就是Data,也就是真实的数据包,比如IP数据等等。后面是一个CRC检验码,目的是为了检查这个包有没有出错。如果出错,就会丢弃这个包。其算法一两句话很难描述清楚,在你完全不知道的情况下,可以认为他是一个可以标识出一段二进制数有没有被篡改的方法。这个CRC码在这个帧里面是4个字节的,所以用的是CRC32算法。

     

    下面来看一看我们这个包里面的MAC header如何和这个对应的,对比第一个图我们可以很兴奋的看到,前6字节是dest mac,接着6个是src mac,然后就是0800的类型标识了,果然诚不欺我。

     

    那么另外一种IEEE802.3到底是什么样子的呢?其实大部分和具体展开介绍的差不多,但是这种格式多了在链路层的控制,这些控制字段会占用掉一些Data字段的空间,所以会牺牲运送的数的大小。一般在交换机之间会采用这种帧格式,有兴趣的话其实可以了解一下。

    Ethernet II有个最小长度和最大长度,其实任何一个帧格式都会定义最小长度和最大长度的,原因是为什么呢?这个我放在这一节的最后再介绍好了。从图一中还可以验证我上面不是扯淡的就是两个MAC地址前24位都显示的是VMware,这就是IEEE分配给VMware的,wireshark会显示友好的名称,接下来的24位就厂商编码的了。那么图中显示的LG bit和IG bit又是什么意思呢?LG 为0表示这是一个厂家默认的MAC地址,如果是1那么就是用户自己设置的MAC地址,你会说MAC地址不是出厂前设置好的吗?还能改呢,其实如果有特殊的方法,确实能改,我以前就通过BootLoader改过MAC地址。那么IG bit是什么意思呢?IG bit为0表示这是一个单播地址,至于什么是单播,组播和广播,到网络层的时候再详尽说明会比较自然一点。

    如果你用wireshark抓包的话,你会发现,不会有最后四个检验和字段的,这是为什么呢?因为硬件在传上来的时候回丢弃这个字段,所以wireshark也不能抓到这个包,但是既然wireshark显示了这个包,说明这个CRC肯定是正确的。因为不正确的已经被网卡驱动丢弃了,更不会抓到这个包了。

    为什么会有长度的限制?

    上面提到过,Ethernet 的帧会有长度限制,既有最小限制,也有最大限制。最大限制简单的理解就是,万事万物都有个最大的能承载的极限,限制帧的最大长度是为了避免一台设备长时间占用信道。在遥远的时期,只能有这么长的上限,但是现在普遍都可以通过配置来使得最大长度大于1518个字节了。我第一看到这个长度限制的时候,我最疑惑的是为什么还有最小长度限制,下面我尽力阐述一下我所理解的这个限制的由来。

    首先要说的一个概念叫CSMA/CD,中文是载波多路复用/冲突检测,这个名词看完之后更疑惑了。但是这个概念很简单,在很多并发编程里面都用到了这个简单而又有效的技术。因为网络是共享的,所有的主机端在发送自己的数据前第一件事是检测下线路上是不是空闲的,就是说路有没有被占用,路上有没有车。如果有车还开车上去,那么必然就出事故了。网卡检测到线路上有数据,这个时候不能发车怎么办呢,这里设计者们采用了一个最原始却最有效的办法——等一会儿再发,回头再看看这个技术的名词,是不是有些理解了?

    这样考虑上面说的CSMA/CD一个极限情况,如果主机发送的帧很小,而两台冲突主机相距很远。如果在一个主机发送的帧恰好要刚刚到达对方的时候,对方这个时候发送一个帧,因为这个时候对方检测信道是空闲的,他可以发送数据。而这时发送方的数据到达了,对方开始发送帧,一下子就碰撞了。这时候对方会发出一个冲突信号企图告诉发送方方有冲突了,但偏偏发送方的帧已经发送完毕,那么发送方将检测不到冲突而误认为已发送成功。由于电信号毕竟不能突破基本物理定律,传播是有时延的,因此检测冲突也需要一定的时间。这也是为什么必须有个最小帧长的限制。

    那么最小限制怎么算出来的呢,这是因为在标准中,10Mbps的以太网采用中继器进行连接的时候,最大长度是2500米,最多就只能经过4个中继器。因此规定对10Mbps以太网一帧的最小发送时间为51.2微秒。这段时间所能传输的数据为512位,因此也称该时间为512位时。这个时间定义为以太网时隙,或冲突时槽。512位=64字节,这就是以太网帧最小64字节的原因。

    也许这么说可能还是过于抽象了,简单的理解可以认为最大长度限制是避免一个帧占用信道太长时间导致别的主机没有机会发送,最小的长度限制是避免了由于传播实时延的问题,冲突检测无法成功。

    交换机

    我遇到太多人分不清交换机和路由器的区别,其实我觉得记住一句话就好,交换机是一种工作在数据链路层的设备,可以识别MAC地址但是不知道IP地址的。

    三十天学不会TCP,UDP/IP编程

    展开全文
  • 数据链路层

    2020-02-23 13:36:17
    1.MAC地址 1.1为什么需要MAC地址? 1.2什么是MAC地址? 1.3对比MAC地址和IP地址 2.ARP协议(数据链路层/网络层) IP地址-->MAC地址 3.MTU 3.1MTU对网络层(IP协议)的影响? 3.2MTU对传输层(TCP/UDP协议)的影响?

    认识以太网

    • “以太网” 不是一种具体的网络, 而是一种技术标准; 既包含了数据链路层的内容, 也包含了一些物理层的内容. 例如: 规定了网络拓扑结构, 访问控制方式, 传输速率等;
    • 例如以太网中的网线必须使用双绞线; 传输速率有10M, 100M, 1000M等;
    • 以太网是当前应用最广泛的局域网技术; 和以太网并列的还有令牌环网, 无线LAN等。

    以太网帧格式

    在这里插入图片描述

    • 源地址和目的地址是指网卡的硬件地址(也叫MAC地址), 长度是48位,是在网卡出厂时固化的;
    • 帧协议类型字段有三种值,分别对应IP、ARP、RARP;
    • 帧末尾是CRC校验码。

    1.MAC地址

    1.1为什么需要MAC地址?

    答:局域网内通信,最终识别的不是IP地址,而是MAC地址。因为MAC地址是固定在网卡上的,物理上通信的时候,需要MAC地址。

    1.2什么是MAC地址?

    • MAC地址用来识别数据链路层中相连的节点
    • 长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)。
    • 在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址)。

    1.3对比MAC地址和IP地址

    • IP地址描述的是路途总体的 起点和终点。
    • MAC地址描述的是路途上的每一个区间的起点和终点。

    2.ARP协议(数据链路层/网络层)

    怎么把IP地址转换成MAC地址?

    答:ARP协议。

    • 注意:ARP(Address Resolution Protocol)不是一个单纯的数据链路层的协议, 而是一个介于数据链路层和网络层之间的协议。

    • ARP协议建立了主机 IP地址 和 MAC地址 的映射关系
      eg:1> 源主机发出ARP请求,询问“IP地址是172.20.1.2的主机的硬件地址是多少”, 并将这个请求广播到本地网段;
      2> 目的主机接收到广播的ARP请求,发现其中的IP地址与本机相符,则发送一个ARP应答数据包给源主机,将自己的硬件地址填写在应答包中。
      在这里插入图片描述

    • 解释ARP协议:
      1.每台结点内部有一张表,ARP 表,根据 IP 转换成 MAC 地址。理解为Map<IP地址,MAC地址>。
      2.ARP表怎么生成的?答:在局域网内互相询问来的
      3.讯问时机?答:I.发送数据时;II.定期讯问,更新ARP表。
      4.每台主机都维护一个 ARP 缓存表,可以用 arp -a (Windows)命令查看。
      在这里插入图片描述

    3.MTU

    • MTU(Maximum Transmission Unit),不同的数据链路层标准的 MTU 是不同的;如果一个数据包从以太网路由到拨号链路上,数据包长度大于拨号链路的MTU了,则需要对数据包进行分片(fragmentation)。
    • 理解:MTU相当于发快递时对包裹尺寸的限制。最终数据一定要经过物理介质传输(双轴网线、光纤、电磁波),所以传输都是有限制的。即这个限制是不同的数据链路对应的物理层, 产生的限制。

    3.1MTU对网络层(IP协议)的影响?

    由于数据链路层MTU的限制, 对于较大的IP数据包要进行分包

    • 将较大的IP包分成多个小包,并给每个小包打上标签。
    • 每个小包IP协议头的 16位标识(id) 都是相同的。
    • 每个小包的IP协议头的3位标志字段中, 第2位置为0, 表示允许分片, 第3位来表示结束标记(当前是否是最后一个小包, 是的话置为1, 否则置为0)。
    • 到达对端时再将这些小包,会按顺序重组(根据13位片偏移), 拼装到一起返回给传输层。
    • 一旦这些小包中任意一个小包丢失, 接收端的重组就会失败。 但是IP层不会负责重新传输数据
    • IP标志位变化:
      在这里插入图片描述
    • 图解:
      在这里插入图片描述

    3.2MTU对传输层(TCP/UDP协议)的影响?

    一、UDP

    对UDP影响 —— 应用层需要根据 MTU 分出合适大小的数据包。

    • 一旦UDP携带的数据超过1472(1500 - 20(IP首部) - 8(UDP首部)), 那么就会在网络层分成多个IP数据报
    • 这多个IP数据报有任意一个丢失,都会引起接收端网络层重组失败。 那么这就意味着,如果UDP数据报在网络层被分片,整个数据被丢失的概率就大大增加了。

    二、TCP

    对 TCP 影响 —— MSS(Maximum Segment Size)

    • TCP 的一个数据报也不能无限大, 还是受制于MTU. TCP的单个数据报的最大消息长度, 称为MSS(Max Segment Size)。TCP在建立连接的过程中,通信双方会进行 MSS 协商
    • MSS 一定程度保证了可靠性,尽可能选择合适大小的进行数据发送,保证成功率。
    • 最理想的情况下, MSS 的值正好是在 IP 不会被分片处理的最大长度(这个长度仍然是受制于数据链路层的MTU).
    • 双方在发送 SYN 的时候会在 TCP 头部写入自己能支持的MSS值;然后双方得知对方的MSS值之后,选择较小的作为最终 MSS 。
    • MSS的值就是在TCP首部的40字节变长选项中(kind=2);
    展开全文
  • 数据链路层详解

    2019-01-21 22:29:29
    文章目录数据链路的目的认识以太网以太网帧格式理解MAC地址和IP地址认识MTUMTU对IP协议的影响MTU对UDP协议的影响MTU对于TCP协议的影响ARP协议ARP协议的作用ARP通信的过程查看ARP缓存表 (这样就不用再次请求IP地址...
  • 物理层&数据链路层

    2020-01-11 14:24:29
    我们掌握的核心应该是运输层和应用层的几个重要协议,即TCP,UDP,HTTP。其他层也听该了解下,有助我们对知识点的掌握。 物理层知识点 数据链路层知识点 待续 ...
  • 数据链路层VS网络层

    2020-10-14 17:12:41
    数据链路层的标识是MAC地址 网络层的标识是IP地址 传输层的标识就是UDP或者TCP的端口号 MAC地址 什么是MAC地址 MAC地址也称为局域网地址(LAN Address),MAC位址,以太网地址(Ethernet Address)或物理地址...
  • 一、分析传输协议(TCP、UDP)的报文格式,TCP协议的连接管理 1.1 TCP报文格式 1、端口号:用来标识同一台计算机的不同的应用进程。 1)源端口:源端口和IP地址的作用是标识报文的返回地址。 2)目的端口...
  • 1. 传输层协议UDP,书上说不必事先建立连接,是无连接的不可靠的协议,只是尽最大努力交付,但UDP仅是传输层协议,下面还有数据链路层协议啊,该层中有超时重传,差错重传的ARQ协议,这样,原始的数据帧就能可靠通信...
  • 传输层协议UDP,书上说不必事先建立连接,是无连接的不可靠的协议,只是尽最大努力交付,但UDP仅是传输层协议,下面还有数据链路层协议啊,该层中有超时重传,差错重传的ARQ协议,这样,原始的数据帧就能可靠通信了...
  • 数据链路与链路的区别;CRC校验;ARP工作原理;MTU对IP/TCP/UDP的影响;MTU和MSS的关系;
  • 数据链路层和传输层可靠传输的超级困惑

    千次阅读 多人点赞 2015-07-23 14:34:03
    传输层协议UDP,书上说不必事先建立连接,是无连接的不可靠的协议,只是尽最大努力交付,但UDP仅是传输层协议,下面还有数据链路层协议啊,该层中有超时重传,差错重传的ARQ协议,这样,原始的数据帧就能可靠通信了...
  • TCP-IPの数据链路层

    2020-10-25 22:11:48
    TCP-IPの数据链路层 数据链路层在TCP-IP协议簇中位于第二层,是除物理层外第一个需要了解的层。 数据链路层的传输单位是帧 ,有没有觉得熟悉呢?如果你看了我的TCP-IP5层协议的话,我在这篇博客里用了数据帧的说法...
  • 博主在学习数据链路层才知道,原来上层的数据最终都封装成数据链路层的帧数据。而数据链路层有CRC校验,ARQ重传等协议来做差错控制,可以保证数据的可靠性。那为什么UDP时不可靠的呢?与TCP的差错控制是否重复了呢?...
  • 【发表评论】【查看原文】【网络技术讨论...比如传输层协议UDP,书上说不必事先建立连接,是无连接的不可靠的协议,只是尽最大努力交付,但UDP仅是传输层协议,下面还有数据链路层协议啊,该层中有超时重传,差错...
  • raw socket中文叫原始套接字,它和其他的套接字的不同之处在于它工作在网络层或数据链路层,而其他类型的套接字工作在传输层,只能进行传输层数据操作。 raw socket的工作规则 因为工作在网络层上的rawsocket不使用...
  • “以太网” 不是一种具体的网络,而是一种技术标准,既包含了数据链路层的内容,也包含了一些物理层的内容。例如:规定了网络拓扑结构,访问控制方式,传输速率等 以太网帧格式: 源地址和目的地址是指网卡的硬件...
  • 起序:本文摘录于《计算机网络(第七版)- 谢希仁》,里面也有...数据链路层 frame(帧) 物理层 bit(比特流) 一、MAC 层的硬件地址 在局域网中,硬件地址 又称为 物理地址 或 MAC地址。也就是咱们口中 网卡地址
  • 原始套接字提供普通的TCP和UDP套接字所不能提供的以下3种能力: 有了原始套接字,进程可以读写ICMP, IGMP等分组。比如ping程序就是使用原始套接字发送ICMP回射请求并接收ICMP回射应答。 有了原始套接字,进程可以...
  • 引:众所周知,JAVA语言虽然在TCP/UDP传输方面给予了良好的定义,但对于网络层以下的控制,却是无能为力的.JPCAP扩展包弥补了这一点.... JPCAP实际上并非一个真正去实现对数据链路层的控制,而是一个中间件,JPCAP调用win...
  • 实例 下面的代码创建一个直接读取链路层数据包的原始套接字,并从中分析出源MAC地址和目的MAC地址,源IP和目的IP,以及对应的传输层协议,...其中需要掌握数据链路层、网络层、传输层数据包头格式,格式如下: MAC帧格...
  • JPCAP——JAVA中的数据链路层控制 一.JPCAP简介 众所周知,JAVA语言虽然在TCP/UDP传输方面给予了良好的定义,但对于网络层以下的控制,却是无能为力的。JPCAP扩展包弥补了这一点。 JPCAP实际上并非一个真正...

空空如也

1 2 3 4 5 ... 20
收藏数 2,410
精华内容 964
关键字:

udp 数据链路层