- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
Linux网络根底知识
TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:
应用层:应用程序间沟通的层,如简单电子邮件传输〔SMTP〕、文件传输协议〔FTP〕、网络远程访问协议〔Telnet〕等。
传输层:在此层中,它提供了节点间的数据传送效劳,如传输控制协议〔TCP〕、用户数据报协议〔UDP〕等,TCP和UDP给数据包参加传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。
网络层:负责提供根本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议〔IP〕。
网络接口层〔网络接口层例如以太网设备驱动程序〕:对实际的网络媒体的管理,定义如何使用实际网络〔如Ethernet、SerialLine等〕来传送数据。
网络接口层在发送端将上层的IP数据报封装成帧后发送到网络上;数据帧通过网络到达接收端时,该结点的网络接口层对数据帧拆封,并检查帧中包含的MAC地址。如果该地址就是本机的MAC地址或者是播送地址,那么上传到网络层,否那么丢弃该帧。
网络接口层可细分为数据链路层和物理层,数据链路层实际上就是网卡的驱动程序,物理层实际上就是布线、光纤、网卡和其它用来把两台网络通信设备连接在一起的东西。
链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆〔或其他任何传输媒介〕的物理接口细节。
网卡驱动程序主要实现发送数据帧与接受数据帧的功能,发送数据帧采用内核函数
hard_start_xmit();接收数据帧采用内核函数netif_rx();网卡驱动程序主要是分配设置及注册net_dev结构体;数据帧的载体采用sk-buff结构体。
用浏览网页为例:
发送方:
1.输入,按了回车键,电脑使用应用层用IE浏览器将数据从80端口发出,给了下一层协议——传输层。
2.传输层将数据前面加上了TCP标记,标记这是80端口发出的哦,将这个数据段给了下一层——网络层。
3.网络层在使这个数据段前面加上了自己机器的IP和目的IP,这时这个段被称为IP数据包〔也可以称为报文〕,然后将这个IP数据包给了下一层协议——网络接口层。
4.网络接口层,网络接口层先将IP数据包前面加上自己机器的MAC地址,以及目的MAC地址,这时加上MAC地址的数据称为帧,网络接口层最后用对应的物理设备——网卡,将这个帧以比特流的方式发送到网络上。
互联网上有路由器,它会读取比特流中的IP地址进行选路,到达正确的网段,之后这个网段的交换机读取比特流中的MAC地址,找到对应要接收的机器。
接收方:
1.网络接口层用网卡接收到了比特流,读取比特流中的帧,将帧中的MAC地址去掉,就成了IP数据包,传递给了上一层网络层。
2.网络层接收了下层传上来的IP数据包,将IP从包的前面拿掉,取出带有TCP的数据〔数据段〕交给了传输层。
3.传输层拿到了这个数据段,看到TCP标记的是80端口发送的嘛,那就是HTTP协议咯,之后将TCP头去掉并将数据交给应用层,告诉应用层对方要求的是HTTP的数据。
4.应用层知道了这个是发送方以端口80发送过来的数据,知道TCP端口80是HTTP协议,要用IE来回复,所以将的网址按照发送方的方式发送回去。
组播协议中没有提供用户认证的支持,用户可以随意参加一个组播组,并可以任意地离开。组播源无法知道用户何时参加、何时退出,无法统计出某个时间网络上共有多少个用户在接收组播数据。组播源也缺少有效的手段控制组播信息在网络上的传送方向和范围。
组播技术的优势:
带宽资源的有效利用以及CPU资源的有效利用;
减少数据的冗余;
数据传输的实时性好。
组播技术的劣势:
IP组播的平安性
网络数据包封包与拆包过程:
TCP层包头:
IP层包头:
链路层包头:
netif_start_queue(structnet_device*dev)该函数用于告诉上层网络驱动层驱动空间有缓冲区可用,开始发送数据包到驱动层;
netif_wake_queue(structnet_device*dev)和netif_stop_queue(dev)是数据发送流程中要调用的两个非常重要的函数,分别用于唤醒和阻止上层向下传送数据包。
网络设备接收数据的主要方法是由中断引发设备的中断处理函数,中断处理函数判断中断类型,如果为接收中断,那么读取接收到的数据,分配sk_buff数据结构和数据缓冲区,将接收到的数据复制到数据缓冲区,并调用netif_rx()函数将sk_buff传递给上层协议。
Linux网络设备驱动程序的体系结从上到下可以划分为4层,依次为
您可能关注的文档
最近下载
- 植保无人机飞行作业服务设备维护及调试方案.doc VIP
- 海迪克新材料科技有限公司年产聚-3,4-乙烯二氧噻(PEDOT)精品 47.7 吨新建项目环评报告表.docx VIP
- 2025年西师版三年级上册数学全册教案(完整) .pdf VIP
- 急救技能—心肺复苏(2024版).pptx VIP
- T_ZNZ 094—2024(滨海盐碱地生物改良技术规范).pdf VIP
- 数学北师大课标版八年级上册综合与实践 创新作业设计模板.docx VIP
- 甲状腺危象病人的护理.pptx VIP
- 2021年咸阳经开城市发展集团有限公司招聘试题及答案解析.docx VIP
- 2024年人教版七年级英语上册单词 .pdf VIP
- 化工总控工培训.pptx VIP
文档评论(0)