网站大量收购闲置独家精品文档,联系QQ:2885784924

linux网络基本知识点.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linux网络基本知识点

Linux网络基础知识 TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为: 应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。 传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。 网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。 网络接口层(网络接口层例如以太网设备驱动程序):对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。 网络接口层在发送端将上层的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(struct net_device* dev)该函数用于告诉上层网络驱动层驱动空间有缓冲区可用,开始发送数据包到驱动层; netif_wake_queue(struct net_device* dev)和netif_stop_queue(dev)是数据发送流程中要调用的两个非常重要的函数,分别用于唤醒和阻止上层向下传送数据包。 网络设备接收数据的主要方法是由中断引发设备的中断处理函数,中断处理函数判断中断类型,如果为接收中断,则读取接收到的数据,分配sk_buff数据结构和数据缓冲区,将接收到的数据复制到数据缓冲区,并调用netif_rx()函数将s

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档