网络管理_lecture9.ppt

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

* * * * 1 、网络中通信的双方通过什么识别对方? 2、 一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢? * 网络通信解决的是不同主机上进程之间的通信。需要解决进程的标识问题,TCP/IP协议提出了端口的概念,用于标识通信的进程。 如果把IP地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536个。 端口 什么是socket? * 在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程,“IP地址+端口号”就称为socket. 套接字是应用程序访问下层网络协议的唯一方法。 进程A 进程B 套接字 套接字 网络 协议 网络 协议 * 套接字位于协议之上,屏蔽了不同网络协议之间的差异 在linux系统中,socket属于文件系统的一部分,网络通信可以看作是对文件的读取。 套接字提供了大量的系统调用,构成了网络程序的主体 * Application program Stream Socket Interface TCP Datagram Socket Interface Raw Socket Interface IP Physical and data link layers UDP Socket类型及所在层次示意图 * 使用TCP协议,提供了一个面向连接的、可靠的数据传输 流式套接字(SOCK_STREAM) 数据报式套接字(SOCK_DRAM) 使用UDP协议,提供了一个无连接服务 原始套接字(SOCK_RAW) 该接口允许对较低层次协议,如IP,ICMP直接访问 * struct sockaddr_in { short int      sin_family; /*套接字域*/ unsigned short int  sin_port; /*端口号,网络直接顺序*/ struct in_addr sin_addr; /*Internet 地址网络直接顺 序*/ unsigned char sin_zero[8]; /*没用*/ } 数据结构 struct in_addr { in_addr_t s_addr; /*存储32bit的IP地址*/ } * 机器内部对变量的字节存储顺序不同,分为: 字节顺序 大字节模式 小字节模式 网络传输的数据时一定要统一顺序! *00010111000001100001011100000110 Memory 低 高 大字节模式 字节的高位在内存中放在存储单元的低位置 小字节模式 字节的高位在内存中放在存储单元的高位置 * Host byte order( Little-Endian ) 16-bit 32-bit Network byte order(Big-Endian) 16-bit 32-bit htons() ntohs() htonl() ntohl() 大字节模式 小字节模式 * 客户/服务器模型 通信双方一方为客户端,另一方为服务器段。 发出请求 响应 socket通信模型 * 参数说明: domain:通信使用的协议族,对于TCP/IP来说是AF_INET type: SOCK_STREAM/SOCK_DGRAM protocol:通常设置为0 返回值:socket描述符 建立socket int socket (int domain, int type, int protocol) * 建立连接(TCP) serv_addr是包含远端主机IP地址和端口号的指针; addrlen是远端地址结构的长度 返回值: 成功则返回0,出现错误时返回-1 int connect( int sockfd, struct sockaddr_in *serv_addr,int addrlen) 参数说明: * * (同客户端) 参数: Sockfd是socket()返回的socket描述符; my_addr是指向包含本机IP地址及端口号等信息的sockaddr类型的指针; Addrlen一般被设置为sizeof(struct sockaddr_in) 返回值:成功被调用时返回0,调用错误时返回“-1” 建

文档评论(0)

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

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

1亿VIP精品文档

相关文档