下载此文档

linux网络基础知识.doc


文档分类:IT计算机 | 页数:约13页 举报非法文档有奖
1/13
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/13 下载此文档
文档列表 文档介绍
Linux 网络基础知识 TCP/IP 通讯协议采用了 4 层的层级结构, 每一层都呼叫它的下一层所提供的网络来完成自己的需求。这 4 层分别为: 应用层: 应用程序间沟通的层, 如简单电子邮件传输( SMTP )、文件传输协议( FTP )、网络远程访问协议( )等。传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议( TCP )、用户数据报协议( UDP )等, TCP 和 UDP 给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收) ,如网际协议( IP )。网络接口层( 网络接口层例如以太网设备驱动程序): 对实际的网络媒体的管理, 定义如何使用实际网络(如 、 Serial Line 等)来传送数据。网络接口层在发送端将上层的 IP 数据报封装成帧后发送到网络上; 数据帧通过网络到达接收端时,该结点的网络接口层对数据帧拆封,并检查帧中包含的 MAC 地址。如果该地址就是本机的 MAC 地址或者是广播地址,则上传到网络层,否则丢弃该帧。网络接口层可细分为数据链路层和物理层,数据链路层实际上就是网卡的驱动程序,物理层实际上就是布线、光纤、网卡和其它用来把两台网络通信设备连接在一起的东西。链路层, 有时也称作数据链路层或网络接口层, 通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆( 或其他任何传输媒介) 的物理接口细节。网卡驱动程序主要实现发送数据帧与接受数据帧的功能,发送数据帧采用内核函数 hard_start_xmit(); if_rx(); 网卡驱动程序主要是分配设_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 来回复,所以将按照发送方的方式发送回去。组播协议中没有提供用户认证的支持, 用户可以随意加入一个组播组, 并可以任意地离开。组播源无法知道用户何时加入、何时退出, 无法统计出某个时间网络上共有多少个用户在接收组播数据。组播源也缺少有效的手段控制组播信息在网络上的传送方向和范围。组播技术的优势: (1) 带宽资源的有效利用以及 CPU 资源的有效利用; (2) 减少数据的冗余; (3) 数据传输的实时性好。组播技术的劣势: (1) IP 组播的安全性网络数据包封包与拆包过程: TCP 层包头: IP 层包头: 链路层包头: netif_start_queue(_device* dev) 该函数用于告诉上层网络驱动层驱动空间有缓冲区可用,开始发送数据包到驱动层; netif_wake_queue(_device* dev) if_stop_queue(dev) 是数据发送流程中要调用的两个非常重要的函数,分别用于唤醒和阻止上层向下传送数据包。网络设备接收数据的主要方法是由中断引发设备的中断处理函数,中断处理函数判断中断类型,如果为接收中断,则读取接收到的数据,分配 sk_buff 数据结构和数据缓冲区,将接收到的数据复制到数据缓冲区,if_rx() 函数将 sk

linux网络基础知识 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数13
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xxj16588
  • 文件大小0 KB
  • 时间2016-06-28