UNIX网络环境_第1页
UNIX网络环境_第2页
UNIX网络环境_第3页
UNIX网络环境_第4页
UNIX网络环境_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第十三第十三章章 Unix网络网络特性特性及及支撑环境支撑环境1 13.1 3.1 计算机网络基本知识计算机网络基本知识 网络是一批独立的计算机互连的集合体 网络具有任务负载转移功能 网络具有软、硬件资源共享功能 网络具有多个计算机完成一个大型任务的功能1、通信子网1) 传输控制 等待发送传输控制 连续发送传输控制 2) 流量控制 为使信息流量与传输能力相匹配3)路径控制 减少传输时延 平衡传输线路中的信息流量2、资源子网1)软件和数据共享计算机A计算机B请求处理的信息处理结果 远程 本地计算机A计算机B请求处理的信息数据和软件2)硬件资源共享 控制管理系统中特殊设备的共同使用3)负载均衡 当

2、网络中某主机负载过重时,可移出部分工作到其它主机上 当某一主机发生故障时,将任务转入其它主机,增强系统可靠性和容错性3、网络分类1)按网络覆盖范围分为: 局域网(LAN) 计算机之间的距离较近,传输速度较快 广域网 (WAN)计算机之间的距离可以很远,相对传输速度较慢通常广域网是局域网的互连。2) 按网络配置分为: 同类网 单服务器网 混合型网络3) 按通信传播方式分为: 点对点传播网 广播式传播网4. 计算机网络体系结构1) ISO的开放系统互连参考模型OSI应用层表示层会话层传输层网络层数据链路层物理层2) 网络协议和网络拓扑结构常用协议有: ETHERNET-总线型网络协议 NETBEU

3、I-小型局域网协议 IPS/SPX -NETWAER网络协议 TCP/IP-传输控制/网间网协议网络连接网络拓扑结构: 总线型 星型 综合型不同的拓扑结构其信道访问技术、性能、设备开销不同。总体可分为:a) 点到点信道 两台转发部件(IMP)之间有线路相连b) 广播信道 所有主机共享一条通信线路,某一主机发送的数据其它主机都可收到。5. 网络操作系统网络操作系统不同的网络操作系统决定了网络的应用领域和网络发展方向不同的网络操作系统决定了网络的应用领域和网络发展方向 。 UNIX UNIX系统系统有完善的安全特性和网络特性有完善的安全特性和网络特性 ,对对TCP/IPTCP/IP协议支协议支持较

4、好。持较好。 NetwareNetware系统系统有很好的局域网支持性能,并配备完善的网络有很好的局域网支持性能,并配备完善的网络工具,与其他网络协议兼容性不好。工具,与其他网络协议兼容性不好。 WindowsNTWindowsNT以后的系统以后的系统是网络操作系统的后起之秀,集成了是网络操作系统的后起之秀,集成了许多网络操作系统的优点。许多网络操作系统的优点。 13.2 UNIX网络结构及支持协议网络结构及支持协议1. Linux 网络分层结构1) TCP/IP的协议结构-是一个四层网络协议模型2. UNIX中使用的TCP/IP协议应用层应用层传输层传输层网间网层网络接口网间网层网络接口物理

5、网络主机A主机B相同报文相同分组相同数据报相同桢各层的基本功能各层的基本功能 应用层提供一组常用的应用程序:FTP,TELNET,SMTP,NFS。包括了OSI中的前三层部分内容。 传输层提供应用程序间的通信、信息流格式化、可靠传输、传输协议分组,包括传输控制协议(TCP)、用户数据报协议(UDP)。相当于OSI的传输层。 网间网层完成源到目的机间数据传送,提供IP协议。 网络接口层负责接收、发送或提取IP数据报向网络层传递。3. TCP/IP 的运行机制采用Clinte/Server方式工作。与工作方式有关的问题: 互连网-网络类型可以不同但必须采用相同的网络通信协议; 节点-链入网络的各种

6、设备,在网络中有唯一的IP地址; IP地址-由32位的二进制数构成,IP址与主机名一一对应,分成四个字节两部分内容:网址主机A类B类C类 路由器-是网络中的一台特殊设备,负责两网络间或多网间的连接。 面向连接和面向非连接-下层向上层提供的服务方式。 连接服务:是电话系统模式的抽象,收发数据内容相同顺序一致。 非连接服务:是邮政系统模式的抽象,每个分组信息带着完整的信宿地址,在系统中独立传送。 Unix的TCP/IP运行方式 用户命令 服务进程(命令名+d)4. UUCP协议1) Unix可以使用内部网络连接完成网络通信,使用的协议是UUCP。工作方式为: 与某个系统建立连接 传递数据 断开连接

7、2) UUCP寻址方式按系统连接,用路径寻址格式为:系统名!登录名$ mail nkrs6000!zhangdatafile3) UUCP的命令UUCP的命令仅用于UUCP网络,受访问权限限制 文件发送命令 uuto 文件接收命令 uupick 文件拷贝命令 uucp 远程执行命令 uux13.3 网络间进程通信网络间进程通信1. 套接字要解决的问题: Socket是UNIX提供的网络应用程序接口 用一组socket函数建立本地系统和远程系统之间的通信信道 源于单机通信技术,解决通信进程间标识问题还要解决网间进程通信中的多重协议识别问题2. 套接字通信基本知识1)端口 端口是一种抽象的软件结构

8、,包括一些数据结构和I/O缓冲区。 进程通过系统调用与某端口建立连接(binding)后,传输层传给该端口的数据都被相应进程所接收,相应进程发给传输层的数据都通过该端口输出。 在TCP/IP协议中,端口操作类似于一般的I/O操作,进程获取一个端口,相当于获取本地唯一的I/O文件,可以用一般的读写原语进行访问。2)地址 因网络通信中通信的两个进程分别在不同的机器上,在互连网络中,两台机器可能位于不同的网络,这些网络通过网络互连设备(网关,网桥,路由器等)连接。因此需要三级寻址: - 主机可与多个网络相连,必须指定一特定网络地址; - 网络上每一台主机应有其唯一的地址; - 主机上的每一进程应有在

9、该主机上的唯一标识符。因此网络中主机地址是由网络因此网络中主机地址是由网络ID和主机和主机ID组成。组成。3) 连接两个进程间的通信链路称为连接。连接在内部表现为一些缓冲区和一组协议机制,在外部表现出比无连接更高的可靠性。4) 半相关网络中用一个三元组可以在全局唯一标志一个进程:(协议,本地地址,本地端口号)这样一个三元组,叫做一个半相关(half-association),它用来指定连接的每半部分。 5) 全相关一个完整的网间进程通信操作需要由两个进程组成,并且只能使用同一种高层协议。也就是说,不可能通信的一端用TCP协议,而另一端用UDP协议。因此一个完整的网间通信需要一个五元组来标识:(

10、协议,本地地址,本地端口号,远地地址,远地端口号)这样一个五元组,叫做一个相关(association),即两个协议相同的半相关才能组合成一个合适的全相关。3. 套接字和套接字地址套接字Socket是通信信道上的端点Socket函数完成通信中的操作与管理客户socket网络1服务器socket网络2信道 创建套接字时返回所用的socket文件描述符 可生成一个或一对套接字 可支持虚电路服务和数据报服务 套接字地址地址因传输提供者(TCP、UDP)不同而不同。BSD中TCP/IP地址:Struct sockaddr_in u_short sin_family; /*协议标识 TCP/IP=2 u

11、_short sin_port; /*服务端口号 struct in_addr sin_addr; /*服务器IP地址 chat sin_zero8; 4. Socket在虚电路服务中的应用类似于电话传递客户Socket( )产生套接字bind( )地址与套接字连connect( )申请一个连接请求网上信息服务器Socket( )产生套接字bind( )地址与套接字连listen( )进入listen态网上信息accept( )等待接收请求5. Socket在数据报服务中的应用类似于邮件传递客户Socket( )产生套接字bind( )地址与套接字连send( )发送数据报网上信息服务器Soc

12、ket( )产生套接字bind( )地址与套接字连recvfrom( )等数据报到达网上信息sendto( )发送数据报recvfrom( )等数据报到达6. 协议族 网络进程通信中遵照的规则是协议,传输层和网络层的协议组构成了协议族。已有的协议族包括: SNA: IBM的系统网络架构 UUCP:UNIX到UNIX的拷贝 XNS: 施乐网络系统 NETBIO:IBM网络基本输入/输出系统 TCP/IP:DARPA的因特网协议(*) 在TCP/IP协议族中主要关注TCP和UDP协议7 . 套接字类型 进程在网络环境通信时要进行数据的传递,因此会关连到有数据传递的方式。 创建套接字的类型将决定通信

13、如何利用套接字完成进程通信。两种类型:1)stream sockets可靠的,数据传送和发送顺序一致,支持全双向通信,并面向连接;数据作为字节流被传送。2)datagram sockets不可靠的,传送和发送数据顺序不一致,支持双向通信,面向无连接;数据按数据报传送。8. Socket函数1)socket( )功能:产生套接字,指明使用协议;返回文件描述符。 调用失败返回-1引用:# include # include int socket ( int family, int type, int protocol);创建套接字时允许没有名字和地址的关联,使用时再绑定该套接字。2)socketp

14、air( )功能:产生一个套接字对,并做连接,返回两个文件描述符。失败时返回-1引用: #include #include int socketpair(int family, int type, int protocol, int fd_array2);其中第4个参数是一个整数数组基址,调用成功时指向两个新产生的套接字文件描述符。3)bind( )功能:将一个本地地址/端口对与一个套接字关连起来。引用: #include #include int bind(int fd, struct sockaddr *addressp, int addrlen);其中 fd:套接字文件描述符 addre

15、ssp:指向协议传送地址的指针,是对sockaddr结构的引用 addrlen:地址结构的字节数4 ) connect( )功能:客户进程将已创建的套接字与服务器进程套接字连接起来。引用: #include #include int connect(int fd, struct sockaddr *addressp, int addrlen);其中 fd:套接字文件描述符 addressp:由引用面向连接和面向非连接含义不同,面向连接:与之通信的套接字地址;非连接:数据报传送到的地址。 addrlen:地址结构的字节数5)listen( )功能:在面向连接服务器中,用该函数指明它愿意接收的连接

16、。引用: #include #include int listen(int fd,int qlen);其中fd:套接字的文件描述符 qlen:连接请求队列的最大长度为不拒绝服务请求,服务器用listen( )将请求安排在一个请求队列,直到程序处理这些请求为止。6) accept( )功能:在面向连接的服务器上执行完listen后,执行accept等待来自某一客户进程的实际连接请求。引用: #include #include int accept(int fd, sockaddr *addressp, int *addrlen);其中 fd:一个被bind调用绑定了地址的套接字描述符 addre

17、ssp:指向协议传送地址的指针,是对sockaddr结构的引用 addrlen:地址结构的字节数7)send( )及sendto( )功能:使用信道发送数据,send( )用于虚电路或数据报;使用sendto( )时需指出数据要发送到的目标地址。引用:int send(int fd, const char *msg, int len, int flags); int sendto(int fd, const char *msg, int len, int flags const struct sockaddr *to, int tolen);Send( )只能与已连接的套接字连用;而sendt

18、o 可用于两种套接字的类型,但主要用于数据报套接字。其中fd:类同 *msg:指向要发送消息的指针 len:发送消息的长度 flags:标志位8)recv( )及recvfrom( )功能:从连接的套接字上读数据引用: #include #include #include int recv( int fd,char *buffer, int len, int flags); int recvfrom(int fd, char *buffer, int len, int flags,const struct sockaddr *from, int *fromlen);其中 *buffer:被接收

19、消息将要存储的地址 其它类同 9) sendmsg( )及recvmsg( )功能: sendmsg( )用来发送数据。具有sendto( )的功能,同时还可完成规格化发送的数据及发送被中断了的数据。 recvmsg( )用于接收sendmsg发送的数据。引用: int sendmsg(int fd, const struct msghdr *msg, int flags); int recvmag(int fd,const struct msghdr *msg, int flags);其中*msg:指针,指向有关寻址/消息信息的结构msghdr.13.4 用UNIX构建Internet网络环

20、境1. 主机址和域名服务 主机址=IP址 域名(Domain Name)便于记忆址 域名与IP形成对应关系 域名结构是树状结构Gov net com edu uk cn . (顶级域名) com edu mil pku tsinghuaWhite house2. Unix中的TCP/IP配置信息UNIX对TCP/IP的配置文件存放在 /etc中 主机名标识文件 /etc/hosts 包括IP址和对应的全域名称,格式为: .localhost . 另: 有关IP址中的特殊字符 127 , 0,

21、 255 - 回送地址,用于网络软件测试及本地机进 程间的通信255-广播地址, IP址中任一部分出现255,表示该层上 的所有节点 如: 550 -如果网络址为零表示本地网, 如: 是指本地网上的第五台主机. 网络名文件 /etc/networks 包含IP址及对应的网络域名,针对上面的主机有: .localhost 主机名文件 /etc/hostname存放本系统中的所有主机名称,由管理员维护,可使用命令 $hostname查阅 域名服务文件

22、/etc/host.conf及/etc/resolv.conf 它们是域名解析器调用的参数文件, /etc/host.conf-存放域名解析程序使用的参数,用于 控制解析过程的执行,如order,hosts等 /etc/resolv.conf-存放指明本地系统访问的域名服 务器清单.以三种类型表示: a) domain b) search c) nameserver文件 /etc/resolv.conf 的样例: domain search nameserver nameserver 多种邮件程序:mailx, Elm,

23、MH, Pine。mailx程序具有多种功能,可完成发信、收信、写信等.可使用命令: mail mailx subject: * * D EOT $3 . 电子邮件 服务 使用文件和重定向方式发送邮件$ mailx mail地址 myfile$ mailx -s “comput” mail地址 N 1 Justin Mon May 11 11:31:19 5/44 “car” N 2 Larisa Tue May 12 9:14:05 28/537 “Homework” N 3 Chris Fri May 15 10:43:51 4/76 “Game” 无信:$ mailxSorry, no

24、mail$4. 远程文件传输服务FTP 使用FTP协议可完成远程主机的访问或上传; 已学过的FTP命令都适应于远程主机 Internet上提供匿名FTP访问,如: ftp Unix 的FTP提供专用的命令界面,命令提示为: ftp 进入FTP后的命令是远程命令,发送本地命令须加 !号5.远程登录服务telnetTelnet协议可实现远程用户终端仿真,且登录的主机可以是异种操作系统。 telnet 的连接$ telnettelnet open mygamsconnected to mygameslogin:或指定用户登录名:$ telnet mygams -l zhangtelnet open mygams -l zhang Telnet 命令在Telnet命令界面可输入Telnet命令。 1) open host -l user -port2) close3) list 4) ?5) quit6) send code7) set variable value8) uset variable9) toggle toggle-list10) mode type Telnet 中代码传送 信息中的控制信号是以代码方式传送的,例如在Unix中有:ctrl-c:中断信号ctrl-h:擦除信号ctrl-d:文件结束等T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论