电子科技大学网络编程课件第一讲——网络基础

上传人:mg****85 文档编号:55415767 上传时间:2018-09-29 格式:PPT 页数:71 大小:6.01MB
返回 下载 相关 举报
电子科技大学网络编程课件第一讲——网络基础_第1页
第1页 / 共71页
电子科技大学网络编程课件第一讲——网络基础_第2页
第2页 / 共71页
电子科技大学网络编程课件第一讲——网络基础_第3页
第3页 / 共71页
电子科技大学网络编程课件第一讲——网络基础_第4页
第4页 / 共71页
电子科技大学网络编程课件第一讲——网络基础_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《电子科技大学网络编程课件第一讲——网络基础》由会员分享,可在线阅读,更多相关《电子科技大学网络编程课件第一讲——网络基础(71页珍藏版)》请在金锄头文库上搜索。

1、计算机网络编程,第一讲 网络基础与基本概念电子科技大学计算机学院,目录,计算机网络概念 OSI/RM参考模型 TCP/IP模型及相关概念 构建分布式应用程序 客户/服务器模型及原理,计算机网络编程,电子科大计算机学院,计算机网络:把分布在不同地理位置上的,具有独立功能的多台计算机、终端及其附属设备,用通信设备和通信线路连接起来,再配以相应的网络软件,以实现计算机资源共享。,计算机 网络编程,电子科大计算机学院,计算机网络,网络的结构组成:,网络边缘部分: 主机/端系统,网络应用程序 网络核心部分: 路由器 由网络构成的网络 接入网络和物理介质: 通信链路,计算机网络编程,电子科大计算机学院,计

2、算机 网络编程,电子科大计算机学院,LAN物理拓扑结构,请画出OSI和TCP/IP的参考模型,并加以比较?,计算机 网络编程,电子科大计算机学院,目录,计算机网络概念 OSI/RM参考模型 TCP/IP模型及相关概念 构建分布式应用程序 客户/服务器模型及原理,计算机网络编程,电子科大计算机学院,OSI/RM Layer Model,OSI Reference Model,Application,Presentation,Session,Transport,Network,Data Link,Physical,Application,Presentation,Session,Transport

3、,Network,Data Link,Physical,Network,计算机网络编程,电子科大计算机学院,目录,计算机网络概念 OSI/RM参考模型 TCP/IP模型及相关概念 构建分布式应用程序 客户/服务器模型及原理,计算机网络编程,电子科大计算机学院,OSI vs TCP/IP,应用层,表示层,会话层,传输层,网络层,数据链路层,物理层,应用层,IPv4, IPv6,网络介质层,TCP,UDP,OSI模型,TCP/IP模型,计算机网络编程,电子科大计算机学院,11,应用层,电子邮件 Web 即时讯息 远程登陆 P2P文件共享 在两台计算机之间的两个帐户之间的文件传输,多用户网络游戏 流

4、式存储视频片段 因特网电话 实时视频会议,计算机网络编程,电子科大计算机学院,12,应用需要什么样的服务?,数据丢失率 一些应用 (如:实时音频)能容忍一定程度的数据丢失 另一些应用(如:文件传输,telnet)需要100可靠的数据传输,定时 一些应用(如:因特网电话、多方游戏)要求低时延,带宽 一些应用(如:多媒体)必须要达到所需带宽 另一些应用(弹性应用)根据需要充分利用可供使用的带宽,计算机网络编程,电子科大计算机学院,在两个不同的主机上运行的应用程序之间提供 逻辑通信 传输层协议运行在端系统 发送方: 将应用程序报文分成数据段传递给网络层, 接收方: 将数据段重新组装成报文传递到应用层

5、 传输层协议: 因特网: TCP 和 UDP,传输层服务和协议,计算机网络编程,电子科大计算机学院,UDP提供无连接服务 UDP缺乏可靠性支持,应用程序必须实现:确认、超时、重传、流控等 UDP面向记录服务,计算机网络编程,电子科大计算机学院,UDP:用户数据报协议,UDP: 用户数据报协议 RFC 768,“无修饰” “不加渲染的” 因特网传输层协议 “尽最大努力”服务, UDP 数据段可能: 丢失 会传递失序的报文到应用程序 无连接: 在UDP接收者发送者之间没有握手 每个UDP 数据段的处理独立于其他数据段,为什么有 UDP? 不需要建立连接 (减少延迟) 简单: 在发送者接受者之间不需

6、要连接状态 很小的数据段首部 没有拥塞控制: UDP 能够用想象的快的速度传递,计算机网络编程,电子科大计算机学院,计算机网络编程,电子科大计算机学院,UDP数据报格式,源端口,目的端口,长度,校验和,数据,0,15,31,struct udphdr u_int16_t uh_sport; /* source port */u_int16_t uh_dport; /* destination port */u_int16_t uh_ulen; /* udp length */u_int16_t uh_sum; /* udp checksum */ ;,TCP是面向连接的。 TCP提供可靠性,实

7、现了丢失重传。RTT的估算。 TCP通过给所发送数据的每一个段管理一个序列号进行排序。 TCP提供流量控制和拥塞控制:通告窗口、拥塞窗口。 TCP的连接是全双工的。,计算机网络编程,电子科大计算机学院,TCP:传输控制协议,TCP: 概述 RFCs: 793, 1122, 1323, 2018, 2581,点到点: 一个发送者,一个接收者 可靠按序的字节流: 没有“信息边界” 收发缓冲区,全双工数据: 同一个连接上的双向数据流 MSS: 最大报文段长 面向连接: 在数据交换前握手(交换控制信息) 初始化发送方和接收方的状态 流量控制: 发送方不会淹没接收方,计算机网络编程,电子科大计算机学院,

8、TCP: 概述 RFCs: 793, 1122, 1323, 2018, 2581,收发缓冲区,计算机网络编程,电子科大计算机学院,计算机网络编程,电子科大计算机学院,TCP协议数据段格式,HLEN,窗口,序号,确认号,源端口,目的端口,保留,码位,校验和,紧急指针,选项,填充字节,数据,U R G,A C K,P S H,R S T,S Y N,F I N,0,15,31,7,首部,数据区,TCP 序号和确认,序号: 数据段中第一个字节在数据流中的位置编号 确认: 期望从另外一边收到的下一个字节的序号 累计ACK,Host A,Host B,Seq=42, ACK=79, data = C,

9、Seq=79, ACK=43, data = C,Seq=43, ACK=80,User types C,host ACKs receipt of echoed C,host ACKs receipt of C, echoes back C,simple telnet scenario,计算机网络编程,电子科大计算机学院,struct tcphdr WORD SourPort; WORD DestPort; DWORD SeqNo; DWORD AckNo; BYTE HLen; BYTE Flag; WORD Window; WORD ChkSum; WORD UrgPtr; /* Put

10、options here. */ ;,计算机网络编程,电子科大计算机学院,TCP协议数据段格式(续),请画出TCP连接建立和关闭的过程?,计算机网络编程,电子科大计算机学院,TCP连接的过程: 服务器必须准备好接受外来的连接。通过调用socket, bind, listen函数完成。称为被动打开。 客户通过调用connect进行主动打开。这引起客户TCP发送一个SYN分节,告诉服务器客户将在连接中发送的数据的初始序列号。 服务器必须确认客户的SYN,同时自己也得发送一个SYN。服务器以单个分节向客户发送SYN和对客户的SYN的ACK。 客户必须确认服务器的SYN。,计算机网络编程,电子科大计算

11、机学院,TCP连接的建立,计算机网络编程,电子科大计算机学院,TCP三次握手建立连接,客户,服务器,Socket Connect(阻塞) (主动打开),Socket,bind,listen (被动打开),SYN J,SYN K, ack J+1,ack K+1,Accept返回 Read阻塞,Connect返回,Accept,TCP一般用四个分节终止一个连接: 某个进程首先调用close, 这一端的TCP于是发送一个FIN分节,表示数据发送完毕。主动关闭。 另一端称为被动关闭。TCP对接收的FIN分节进行确认,并以文件结束标志传递给应用程序。 一段时间后,接收到文件结束标志的应用程序调用clo

12、se,这也导致向对方发送一个FIN分节。 接收到这个FIN分节的原发送方TCP对它进行确认。,计算机网络编程,电子科大计算机学院,TCP连接终止,计算机网络编程,电子科大计算机学院,TCP连接关闭,客户,服务器,Close 主动关闭,被动关闭 Read返回0,FIN M,ack N+1,Close,ack M+1,FIN N,网络层,将分组从发送方主机传送到接收方主机 发送方将数据段封装成分组 接收方将分组解封装后将数据段递交给传输层 网络层协议存在于每台主机和路由器上 路由器检查所有经过它的IP分组的分组头,计算机网络编程,电子科大计算机学院,网络层的重要功能,转发: 路由器将收到的分组移动

13、到适当的输出链路。 选路: 决定分组从源端到目的端所经过的路径。 选路算法,术语: forwarding: 将分组从一个输入链路接口转移到适当输出链路接口的过程。 routing: 决定分组从源端到目的端所经过路径的过程。,计算机网络编程,电子科大计算机学院,计算机 网络编程,电子科大计算机学院,通过路由器连接的两个网络,FTP 客户,TCP,IP,以太网驱 动程序,FTP 服务器,TCP,IP,令牌环驱 动程序,令牌环,以太网驱 动程序,令牌环驱 动程序,IP,FTP协议,TCP协议,IP协议,IP协议,以太网,客户,服务器,计算机网络编程,电子科大计算机学院,数据进入协议栈时的封装,用户数

14、据,用户数据,App头部,用户数据,TCP头部,用户数据,TCP头部,IP头部,用户数据,TCP头部,IP头部,以太网 头部,以太网 尾部,以太网帧,401500字节,FTP 客户,TCP,IP,以太网驱 动程序,TCP段,IP分组,计算机网络编程,电子科大计算机学院,说出你所知道的网络中的几类地址?,网络中的几类地址,物理地址:即MAC地址 逻辑地址:即IP地址 端口地址:端口号 域名地址:,计算机网络编程,电子科大计算机学院,48位:24位OUI,24位由厂商分配 平面地址,无结构 全球唯一 局部范围寻址 存在于数据链路层,计算机网络编程,电子科大计算机学院,物理地址,5-35,局域网地址

15、,在局域网中的每一个适配器都有一个唯一的LAN地址,广播地址 = FF-FF-FF-FF-FF-FF,= 适配器(网卡),计算机网络编程,电子科大计算机学院,5-36,局域网地址,MAC地址由IEEE统一分配 厂商购买一块MAC地址空间 (要保证唯一性) 比较:(a) MAC地址: 好像身份证号码(b) IP地址: 好像邮政地址MAC平面地址 = 可移动 能从一个LAN移动到另一个LAN IP层次地址依赖节点所依附的IP网络 应用层的主机名,网络层IP地址,链路层MAC地址。 有利于保持各层独立的原则。,计算机网络编程,电子科大计算机学院,IP地址标识着网络一个主机的位置。每个IP地址都是由32位(或128位)组成,分成两部分:网络号、主机号。 全球唯一,寻址容易 两种表示形式:二进制(计算机内部)、点分十进制(便于记忆),计算机网络编程,电子科大计算机学院,IP地址,计算机网络编程,电子科大计算机学院,请你列举IP地址的分类?,计算机网络编程,电子科大计算机学院,IP地址分类,0,NetID,10,110,NetID,1110,Multicast Address,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号