首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
链路层输出 -qdisc
】的更多相关文章
链路层输出 -qdisc
二层发送中,实现qdisc的主要函数是__dev_xmit_skb和net_tx_action,本篇将分析qdisc实现的原理,仅对框架进行分析. 其框架如下图所示 qdisc初始化 pktsched_init注册了几个系统算法,register_qdisc只是添加算法到一个全局的链表中注册设备驱动的时候会调用register_netdevice(), register_netdevice()会调用dev_init_scheduler来初始化默认的qidsc为noop_qdisc,noop_qd…
Go中链路层套接字的实践
1. 介绍 2. 服务端 3. 协议头部 4. 客户端 5. 总结 1. 介绍 接上次的博客,按照约定的划分,还有一层链路层socket.这一层就可以自定义链路层的协议头部(header)了,下面是目前主流的Ethernet 2(以太网)标准的头部: 相比IP和TCP的头部,以太网的头部要简单些,仅有目标MAC地址,源MAC地址,数据协议类型(比如常见的IP和ARP协议). 但多了尾部的FCS(帧校验序列),用的是CRC校验法.如果校验错误,直接丢弃掉,不会送到上层的协议栈中,链路层只保证数据帧…
TCP/IP 笔记 - 链路层
链路层的目的是为IP模块发送和接收IP数据报. 以太网和IEEE 802局域网标准 以太网指的是一套标准,有DEC.Intel公司和Xerox公司在1980年首次发布,并在1982年加以修订.第一个常见格式的以太网被称为"10Mb/s以太网"或"共享以太网",它被IEEE采纳为802.3标准. 其网络格式如下: 上图共享以太网包含一个或多个站(工作站.计算机等),它们共享一段电缆.当(传输)介质被确定为空闲时,链路层PDU可用从一个站发送到其他站.如果多个站点同时发…
TCP/IP详解 卷一(第二章 链路层)
在TCP/IP协议族中,链路层主要有三个目的: 1.为IP模块发送和接收IP数据报 2.为ARP模块发送ARP请求和接收ARP应答 3.为RARP请求和接收RARP应答 TCP/IP支持多种不同的链路层协议,本文主要讨论以太网链路层协议.PPP协议以及大多数实现都包含的环回(loopback)驱动程序. 使用ifconfig命令查看本机的网络接口 其中eth0就是以太网接口,lo是环回接口. 1.以太网IP数据包的封装 链路层使用了48bit的MAC地址来标识一台主机,该地址是唯一的. 2.PP…
USB 3.0规范中译本 第7章 链路层
本文为CoryXie原创译文,转载及有任何问题请联系cory.xie#gmail.com. 链路层具有维持链路连接性的责任,从而确保在两个链路伙伴之间的成功数据传输.基于包(packets)和链路命令(link commands)定义了健壮的链路流程控制.数据包在链路层被准备好,携带数据和不同的信息在主机和设备之间传输.链路命令的定义是为了链路伙伴两者之间的通信.包帧(Packet frame)有序集(ordered sets)和链路命令有序集也被构造得可以容忍一个符号错误.此外,错误检测也被融…
TCP/IP中链路层的附加数据(Trailer数据)和作用
1.TCP/IP中链路层的附加数据是什么 在用wireshark打开报文时,链路层显示的Trailer数据就是附加数据,如图 2.如何产生 1.例如以太网自动对小于64字节大小的报文进行填充(未实验). 2.使用链路层套接字写数据时,实际数据大小 > (ip头标示报文大小 + 链路层头部) 3.生存周期 测试:使用套接字发送带Trailerr数据的报文,看收端是否可以收到. IP层SOCK_RAW套接字 1.内网 可以携带Trailerr数据 2.外网 丢包(路由器所为?) 链路层SOCK_PA…
TCP/IP——链路层
链路层主要有三个目的: (1)为IP模块发送和接收IP数据报; (2)为ARP模块发送 ARP请求和接收 ARP应答; (3)为RARP发送RARP请求和接收RARP应答. TCP / IP支持多种不同的链路层协议,这取决于网络所使用的硬件,如以太网.令牌环网. FDDI(光纤分布式数据接口)及 RS-232串行线路等. RFC 1042(IEEE802)帧格式 RFC 894(以太网)帧格式…
TCP/IP协议学习(六) 链路层详解
学习知识很简单,但坚持不懈却又是如此的困难,即使一直对自己说"努力,不能停下"的我也慢慢懈怠了... 闲话不多说,本篇将讲述TCP/IP协议栈的链路层.在本系列第一篇我讲到,TCP/IP协议栈每一层都有特定的功能, 那么链路层的功能如下: (1). 为IP模块发送和接收数据包 (2). 为ARP模块发送ARP请求和接收ARP应答 (3). 为RARP发送RARP请求和接收RARP应答 1.ARP, RARP协议概述 ARP协议即地址解析协议, 通过该协议应用层可以通过IP地址查询到目的…
Linux内核--网络栈实现分析(三)--驱动程序层+链路层(上)
本文分析基于Linux Kernel 1.2.13 原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7497260 更多请看专栏,地址http://blog.csdn.net/column/details/linux-kernel-net.html 作者:闫明 注:标题中的”(上)“,”(下)“表示分析过程基于数据包的传递方向:”(上)“表示分析是从底层向上分析.”(下)“表示分析是从上向下分析. 经过前面两篇博文的分析,已经对L…
链路层的简介和MTU
链路层杂谈(凭个人理解瞎说的,欢迎拍砖) 链路层,说白了就是把网络层的IP数据处理一下,加点东西,放到物理层上去. 加的东西:源.目的地址和CRC校验值,有的还有类型这个字段,用来区分协议. 处理的部分:就是数据,就是把IP数据报,用指定的方法打个包: 打包的方法有以下几种: 尾部封装:把变长字段都放到最后(CRC之前),主要是为了前面的512整字节的数据整体直接复制到内核中而减小复制次数. SLIP协议:串行线路IP,就是用END字符作为分隔符,分割数据报.为了防止干扰…