第八讲Linux网络编程(UDP).pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八讲Linux网络编程(UDP)

Linux网络编程UDP 李杰聪 计算机网络 计算机网络:把分布在不同地理位置上的,具有独立功能的多台计算机、终端及其附属设备,用通信设备和通信线路连接起来,再配以相应的网络软件,以实现计算机资源共享。 LAN物理拓扑结构 OSI 参考模型 字节序 不同的处理器会使用不同的方式来解释多字节数字。 32bit 整数——0网络字节序就是指大端 如何写程序确定当前计算机是大端还是小端机器? OSI vs TCP/IP 通过路由器连接的两个网络 数据进入协议栈时的封装 TCP/IP协议族概貌 UDP:用户数据报协议 RFC 768是UDP协议的描述 UDP提供无连接服务 UDP缺乏可靠性支持,应用程序必须实现:确认、超时、重传、流控等 经UDP发送的报文会出现重复、丢失现象。 UDP面向记录服务 UDP数据报格式 网络中的几类地址 物理地址:即MAC地址 逻辑地址:即IP地址 端口地址:区分同一台计算机上不同进程。 域名地址:方便人类记忆,最终会转换成IP地址。 物理地址 48位:24位OUI,24位由厂商分配 平面地址,无结构 全球唯一 局部范围寻址 存在于数据链路层 IP地址 IP地址标识着网络一个主机的位置。每个IP地址都是由32位(或128位)组成,分成两部分:网络号、主机号。 全球唯一,寻址容易 两种表示形式:二进制(计算机内部)、点分十进制(便于记忆) IP地址分类 端口地址 端口地址(cont.) TCP和UDP使用16位的端口号(用无符号整型表示) 为防止端口使用的混乱,将端口分为以下三类: 知名/周知端口:0~1023,由IANA统一控制 注册的端口:1024~49151,这些端口虽不由IANA控制,但IANA登记这些端口的使用 动态或私有的端口:49152~65535 在Linux中使用周知端口需要root权限。 网络中通信双方 需要知道对端IP地址 对端哪个进程处理需要由端口来确定 网络中通信双方由以下四元组唯一确定: (本地IP地址、本地端口号、远程IP地址、远程端口号) DNS:域名地址 层次名字空间 便于记忆和使用 计算机通信时无法使用 域名地址解析: 名字到IP地址的解析(gethostbyname) IP地址到域名的解析(gethostbyaddr) 客户/服务器例子——WWW服务 无连接和面向连接的服务器 UDP: 无连接交互 没有可靠保证 依赖下层系统保证 程序中应该有相应保障措施 选用UDP的情况 下层系统可靠性(例如在局域网环境) 应用要求 广播或者组播 并发的概念 并发有真正的并发(并行: Parallelism )和表面上的并发(并发:Concurrency)(一般采用分时机制) 网络中的并发 单个网络各个机器之间许多成对进程好像独立使用网络资源(通道,机器等) 一个计算机系统中存在并发(分时) 一组机器上所有的客户之间存在并发 服务器中的并发 单个服务器必须并发处理多个传入请求 并发服务器可以让多个远程用户同时使用服务,实现起来比较复杂 其余部分主要介绍术语和概念;涉及其它问题:算法,设计,运行规则等在后面介绍 客户软件的并发 要使客户软件并发执行,一般并不需要程序员为此特别花功夫。(因此现代操作系统一般允许用户并发地执行客户程序) 程序员可专注于业务逻辑层面 操作系统的并发功能 多进程操作系统 进程的概念:进程定义了一个计算的基本单元,它是一个执行某一个特定程序的实体,它拥有独立的地址空间、执行堆栈、文件描述符等。 操作系统原生支持多线程操作 多线程之间更容易共享数据,调高效率。 并发和异步I/O 某些OS允许单个线程控制并发的输入输出操作 使用select询问操作系统I/O设备的情况 例子: 用户从UDP接收数据并且显示,还允许用户从键盘输入命令控制显示。 两个输入:UDP, 键盘 总是等着一个输入,会阻塞 使用select询问输入是否就绪 什么是套接字 TCP/IP协议族存在于OS中,网络服务通过OS提供 在OS中增加支持TCP/IP的系统调用——Berkeley套接字 如socket,connect,send,recv等 套接字API 来自UNIX系统 Berkeley套接字 ARPA要求伯克利分校将TCP/IP移植到UNIX中 需要创建一个接口,便于应用程序使用这个接口 进行网络通信 尽可能使用现有的系统调用,同时添加新的系统调用支持TCP/IP。 这个系统被称为BSD UNIX 套接字,成为事实上的标准 指明一个协议接口 考虑:接口是专门针对TCP/IP, 还是可以为其它协议所用呢? 方法一:定义专门支持TCP/IP通信的一些函数 方法二:定义支持一般网络通信的函数,用参数是TCP/IP通信作为一种特例 Berkeley套接字使用第二种

文档评论(0)

wyjy + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档