Linux网络开发基础

Linux网络开发基础

ID:45756687

大小:164.02 KB

页数:29页

时间:2019-11-17

Linux网络开发基础_第1页
Linux网络开发基础_第2页
Linux网络开发基础_第3页
Linux网络开发基础_第4页
Linux网络开发基础_第5页
资源描述:

《Linux网络开发基础》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Linux网络协议开发基础第1节基于BSD的Linux网络体系结构BSD是UNIX系统中通用的网络接口,支持多种网络协议类型,也是一种内部进程的通信机制。Linux系统实现BSDsocket的标准,支持多种网络协议。常用的协议如下表所示PF」NE1scKkctsPF.PAC'KETsocketsPF.NEILINKsockets协议名称描述UNIXUNIX域套接口1NETInternet地址族TCP/IP协议支持通信IPXNovellIPXPPLETALKAppletalkDDPTALKAppletalkDDPTALKAppletalkDDPLinux内核网络协议架构SOCK_SC

2、X'K.S1REAMIXiRAMS(X'K_RAWUSERS(XKIIRIWALLARH)ROlJTEbIP6.FWl)NRIMS(iTAPBASENETLINKROUTENEILINKSKIPNETLINKNETLINKNi11」NKNEILINKrn」nkNEILINKNEILINKNetworkdeviceLinux内核网络协议的架构模式基于服务器/客户机的通信模式bsdsocket采用服务器/客户机的通信模式服务器可以同时与多个客户机建立连接,但每—•吋刻只能处理一个客八机的请求。由于tep和udp协议的不同特点,在通倍方式上也有一定的不同.Tcp/ip协议的体系结构Tc

3、p/ip协议是Linux内核所支持协议屮的重要纟fl成部分,是目前主流的网络协议,在Internet中得到广泛应用。Tcp/ip协议分为四个层次。分别为数据链路层、网络层、传输层和应用层。数据链路层包括网络设备驱动程序和网卡;网络协议用于处理数据包的路由;传输层为上层应用提供可靠的面向字符流接口;应用层处理特定的网络应用,例如:ftp、文木和ngs等.Tcp/ip协议的体系结构如卜-图所示.Tcp/ip协议的体系结构Tcp/ip协议中数据包的封装过程数据在从上层逐层发送至下层的过程,每经过一层次,都需要在数据前封装协议头,其中儿率了与该层功能和管理相关的信息,在从卜-层协议向上层传

4、送的而过程,正好相反,讲逐层去除协议头,将数据最终传送至接受者,其过程如下图所示。TCPsegmentorudppacketTCP/UDPheaderApplicationlayerTransportlayeripheaderNetworklayerDataTCP/UDPheaderipdataqramytesIPyrp.iheadeiheaderData4BvlesFrametrailerPhysicalnetworkNetworkframe数据包的封装过程第2节BSDsocket的编程模式与借口Tcp/ipI办议向应用程序提供了两利啖型的服务访问接口,即血向连接的Tcp协议和无

5、连接的Udp协议.基于tcp协议的服务器/客户机通信模式同城瓶协议是一种面向连接的字符流协议,为上层应用提供可靠的通信服务。服务器接收到客户机发送的连接请求,在与客户机建立连接后,双方便可进行数据收发,其通信模式如下图所示。基丁・tcp协议的服务器/客八机通信模式基于udp协议的服务器/客户机通信模式udp协议是一种面向无连接的通信协议,发送方不能保证数据一定到达对方,因此,udpI办议是一•种不可靠的通信协议,但在可靠性较高的网络中貝有很高的可靠性,同时,udp协议所占用的系统开销比较小,因此在很多场合,udp协议也得到了广发应用。其服务器/客户机通信模式如下图所示、Server

6、Client基于udp协议的服务器/客户机通信模式字节序当某数据类型的值需要多个字节时,例如,对于占用两个字节的整数类型。将涉及带字节在内存中的存放次序,这和处理器有关,不同的处理器所采用的存储模式未必相同,但不外乎两种方式,即:小端模式和大端模式。小端模式小端模式是将最小的数据字节存放在內存的低地址处,Intel80x86处理器就采用这种字节序模式。大端模式大端模式正好■小端模式相反,将表高数据位的字节存放在内存的低字节处,Motorola处理器就采用这种模式,网络字节序就采用大端模式,这三者的关系如下图所示小端模式High-orderbyteLow-orderbyte地址增长的

7、方向AddressA+lAddressAMSBLSB大端模式Low-orderbyteHigh-orderbyteAddressA+lAddressAIncreasingmemoiyaddress字节序的存储模式由于进行通信的两端采用不同的处理器,因此为了保证数据传送的正确性,在传输时,树妖将数据转换为网络序,当数据传送至某端,在转换为本地的字节序模式。地址存取備换1.structhostent*gethostbyname(constchar*hostname);将主

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。