350 likes | 516 Views
计算机网络 计算机网络分层结构概述. Dr Sandra I. Woolley Translated by D. Shang. 课程内容. 介绍计算机网络 分层结构 OSI 和 TCP/IP 层次模型 TCP/IP 概述 应用协议和 TCP/IP 使用 OSI – Open Systems Interconnection (开放式系统互联) TCP/IP - Transmission Control Protocol/Internet Protocol( 传输控制协议 / 互联网协议 ). 8P8C (RJ45) network connectors
E N D
计算机网络计算机网络分层结构概述 Dr Sandra I. Woolley Translated by D. Shang
课程内容 • 介绍计算机网络 • 分层结构 • OSI 和TCP/IP 层次模型 • TCP/IP概述 • 应用协议和TCP/IP使用 OSI – Open Systems Interconnection(开放式系统互联) TCP/IP - Transmission Control Protocol/Internet Protocol(传输控制协议/互联网协议) 8P8C (RJ45) network connectors http://www.flickr.com/photos/kluzz/1694878799/
什么是通信网络? • 通信网络是一组提供通信服务的仪器和设备。 • 通信仪器举例:路由器,服务器,交换机,多路器,集线器,调制解调器等。 • 通信设备举例:铜导线,同轴电缆,光纤,热管,导电管等。 云状图标一般用来指代一个计算机网。
网络协议 • 计算机间的通信需要明确、具体、没有歧义的规则。 • 协议是一系列控制各各通信模块相互作用的规则。 比如: • 互联网协议Internet Protocol (IP) • 传输控制协议Transmission Control Protocol (TCP) • 超文本传输协议HyperText Transfer Protocol (HTTP) • 简单邮件传输协议Simple Mail Transfer Protocol (SMTP) http://www.flickr.com/photos/kairin/68086104/
标准制定团体 • 互联网工程任务组( IETF) • 制定互联网相关技术规范。 • Request for Comments (RFCs): www.ietf.org • 国际电信联盟‘International Telecommunications Union’(ITU) • 制定国际通信规范 • 电气电子工程师学会802委员会(IEEE 802 Committee) • 局域网和城域网规范 • 工业组织(Industry Organizations) • MPLS论坛, WiFi联盟,万维网联盟(w3c)
封包交換vs.电路交换 • 随着时间的推移,技术结构更新换代。 • 电报(电报交换) • 电话(电路交换) • 互联网(封包交换) • 封包交换是现今的发展趋势 • 封包技术为基础的系统实例:蜂窝无线通信系统 • 但是,大量的数据包流用电路方法更容易控制。
计算机网络的发展 • 20世纪50年代:电报通信技术和计算机技术得到结合。 • 20世纪60年代:共用主机的哑终端访问 • SABRE航空预订系统SABRE airline reservation system • 20世纪70年代:实现计算机之间的互联 • ARPANET 封包交换网络 • 以太网局域网络 • TCP/IP 互联网协议 • 20世纪80,90年代: 新型应用和因特网诞生 • 因特网商业化 • E-mail, file transfer, web, P2P, . . . • 因特网流量超过电话通信流量。
ARPANET • 由美国国防部开发的ARPANET网络(The Advanced Research Projects Agency Network ) 是第一个运营的封包交换网络。它是全球因特网的先驱。 • 之前的数据通信都使用电路交换技术,这种技术需要特定的电路来保持每一次通信的持续。 • 使用封包交换技术,不同的通信可以公用链接,封包可以独立进行。 Heart, F., McKenzie, A., McQuillian, J., and Walden, D., ARPANET Completion Report, Bolt, Beranek and Newman, Burlington, MA, January 4, 1978.
以太网局域网络 • 20世界80年代,可购性工作站得以推广。 • 低成本,高速网络需求增加 • 用于联接本地工作站 • 用于使各个用户均可使用本地共享资源(打印机,存储空间,服务器等) • 共轴电缆的使用使得低成本、高速度、低出错率的通信成为可能。 • 以太网成为了计算机高速无线网络的标准。 Category 5 Ethernet cable http://www.flickr.com/photos/zinkwazi/474203018/
以太网介质访问控制 收发机 • 网络接口控制器 (NIC 网卡)把工作站联接到本地局域网。 • 每一快网卡都拥有全球唯一的地址。 • 数据帧在网络中以广播的形式传播。 • 网卡以他们的地址标识监听每个传输结构的中段信息. • 交换机(Transmitting NICs是指某个局域网与外界连接的接口)监听来自各个工作站的传输冲突,并中止和重新安排传输.
网络 1 网络 2 路由器 互联网 • 互联网是一种链接各各网络的网络. • Internet 第一个字母‘I’大写(见右面注释) • 路由(gateways)将不同的网络链接。 • 主机准备好网络协议(IP)封包并把它们传送到附属的网络。 • 路由在网络间传递IP封包。 • 网络协议提供了一个“最有效”的服务。 08:14 AM Aug. 16, 2004 PT 新闻网站Wired News使用internet这个词时不再大写首字母‘I’。同时,Web, Net等单词的首字母也将不再大写。( http://www.wired.com/culture/lifestyle/news/2004/08/64596 )
H G H Net 3 G Net 1 G G G Net 5 Net 4 Net 2 G H H 互联网寻址和路由 • 网络协议中使用了一种分等级的地址:网络ID+主机ID。 • 网络协议封包(数据报)根据网络ID寻址。 • 路由器根据路径选择表确定每个封包的传输去向。
互联网名和IP地址 • 数据传输基于IP地址。IPv4技术使用32位地址。IPv6技术我们将在以后涉及。 • 点分十进制表示法 • 128.100.11.1 • 主机同样依照名字来识别 • 更方便记忆。 • 主机名结构依然是分级的形式:如www.eee.bham.ac.uk. • 域名服务系统(DNS)实现了我们容易记忆的网址域名与不容易记忆的IP地址作自动解析互换。 • 域名可以购买。例如从 uk2.net 网站。
传输协议 互联网 互联网传输协议 • 主机在IP层之上,应用层之下的中间层运行两种传输协议以实现进程间通讯 • 用户数据包协议:确保最高效的传输。 • 传输控制协议:确保可靠的数据传输。 • 所有的网络应用都运行在TCP层和UDP层之上。比如: • TCP层上: HTTP (网页); SMTP (e-mail); FTP (文件传输) • UDP层上: DNS, RTP (传送音频和视频)
书中的实例 ACK ACK, TCP Connection Request From: 64.15.247.200 Port 80 To:128.100.11.13 Port 1127 TCP Connection Request From: 128.100.11.13 Port 1127 To: 64.15.247.200 Port 80 • 在推荐的材料中,有一个实例讲解了当用户点击了一个统一资源定位符(URL)后,会发生什么。 • 注意:DNS域名服务使用了UDP协议,HTTP使用了TCP协议。同时端口号的使用也要留意(临时端口号和知名端口号) • 浏览器软件使用超文本传输协议(HTTP)发送文本请求。 • HTTP服务器时时监听知名端口等待请求。(HTTP使用80号) • HTTP客户机通过临时端口发送请求信息(比如1127) • HTTP需要传输控制协议(TCP)链接客户机和HTTP服务器以保证信息传输可靠、稳定。
网络层,服务和协议 • 多台相连机器间的跨网通信是一个很复杂的过程。 • 网络层将相同的通信功能放入一个方便管理的群组中。 • 每一层都为上层提供一种服务。 • 每一层都依照一种协议工作。
开放系统互联模型(OSI) *Open Systems Interconnection • 网络结构: • 定义网络层。 • 为每层设计网络协议。 • 到20世纪70年代,每个计算机厂商都开发出了独有的网络层结构。 • 不同厂商的计算机不能互联。 • 开放系统互联(OSI)是国际标准组织(ISO)努力的结果。它使得了不同厂商计算机的互联成为可能。
开放系统互联模型 应用B 应用A 应用层 应用层 7 表示层 表示层 6 会话层 会话层 6 传输层 传输层 4 通信网络 网络层 网络层 网络层 网络层 3 数据链路层 数据链路层 数据链路层 数据链路层 2 物理层 物理层 物理层 物理层 1
OSI层 • 应用层: e-mail, 文件传输, 网络管理等 • 表示层: 独立显示数据。 • 会话层: 会话控制。 • 传输层: 端对端数据传输,错误控制,流控制,建立和接触链接。 • 网络层:网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。 路由关键方面。 • 数据链路层: 在网络节点间传送帧。功能有物理地址寻址、数据的成帧、流量控制、数据的检错、重发等等。 • 物理层:为数据端设备提供传送数据的通路并传输数据(单位为bit)。建立和拆除物理链接。
点对点通信技术 n-PDUs n 层实体 n 层实体 • 在网络层n(7层中的任意一层)中,所运行的进程称为网络层n的实体。 • 通过称为层服务访问点(SAP)的软件端口,第N+1层实体使用第n层的服务 • 实体间交换协议数据单元(PDU)。 • 协议数据单元包含一个头文件(header)(含有协议控制信息)和服务数据单元(SDU)(包含所需通信的信息)。
网络层服务 N+1层实体 N+1层实体 n-SDU n-SDU n-SAP n-SAP n-SDU H N层实体 N层实体 n-SDU H n-PDU • 第n层的SDU是第n+1层的PDU,同时也囊括在第n层的PDU中。 • 网络层所提供的服务可以进行面向连接或无连接。
Headers and Trailers 应用 B 应用 A 数据 应用层 应用层 ah 表示层 表示层 ph 会话层 会话层 sh 传输层 传输层 th 网络层 网络层 nh 数据链路层 数据链路层 dt dh 物理层 物理层 以比特为单位的数据 H表示headers。t表示trailers。a,p,s等字母代表相应的层
分割和重组 • 在每一层中,数据单元大小都有限制,以保证数据可以传输并被读取或用于其他用途。 • 因此,有时网络层n的SDU可能过于庞大,导致n-1层不能将其以一个单独数据单元处理。 • 为防止上述情况发生,在发送端,SDU被分割成多个PDU。 • 在接收端,PDU序列重新组合,得到了分割前的SDU。、 (a) 分割 n-SDU n-PDU n-PDU n-PDU 重组 (b) n-SDU n-PDU n-PDU n-PDU
TCP/IP 网络结构 • 当OSI标准提出时, TCP/IP (传输控制协议/互联网协议)网络结构出现了。 • 作为伯克利UNIX系统的一部分,TCP/IP 被免费发放。 • 大量的应用程序被各个大学开发出来。最终网络软件市场形成。 • 这引导了全球网络形成并使TCP/IP网络结构成为了最通用的网络结构、 • IP 提供了一个无连接的,最高效的信息封包服务。
TCP/IP 网络结构 • TCP/IP 不需要绝对的层结构。 • 比如应用程序可直接在网络层上运行。 应用层 应用层 传输层 传输层 网络层 网络层 网络界面 网络界面
各各网络层层是怎么协调工作的?(封装实例) HTTP 请求 HTTP 请求 HTTP 请求 HTTP 请求 TCP 头文件 TCP 头文件 TCP 头文件 IP 头文件 IP 头文件 FCS* TCP 头文件包含源端口号和目的端口号。 IP 头文件包含源ip地址,目的ip地址和传输协议种类。 以太头文件包含源MAC地址,目的MAC地址和网络协议类型。 以太header *FCS – 数据帧检测序列
TCP/IP 网络结构 应用层 传输层 网络层 网络界面 • TCP/IP网络结构式一组允许在多重不同网络进行通信的网络协议。 • 此结构含有4个网络层。TCP/IP应用层结合了OSI模型前三层的功能。 • 应用层程序(email,文件传输等)可直接在传输层运行。 • 在传输层中,两种基本服务被提供: • 传输控制协议(TCP)-可靠的面向连接传输。 • 用户数据包协议(UDP) – 最高效的无连接传输。 • 网络层处理多网络间的信息传输(比如路由和阻塞控制)。网络层的一个关键方面是为机器定义一个全球唯一的地址。同时,网络层提供了一个单独的最高效的无连接分包传输服务。 • 网络界面层确保了不同网络间的IP通信。
网络协议作用方式。 主机B 主机A 应用层 应用层 路由/网关 传输层 传输层 网络层 网络层 网络层 网络界面层 网络界面层 网络界面层 网络1 网络2 • IP封包在网络间传输信息。 • 主机A IP → 路由→ 路由→ 路由→ 主机 B IP • 每个路由中的IP层决定了下一个路由方向。 • 网络界面在各个网络间传输IP封包。
TCP/IP 网络协议 IP 网络界面1 网络界面3 网络界面2 HTTP DNS RTP SMTP 可靠的流服务 TCP UDP 最高效的无连接封包传输 (ICMP, ARP)
IP Utilities • PING – 一个用来检测主机是否可以连接的基本应用程序。 • 使用控制报文协议(ICMP)。控制报文协议作用是将接端收主机和路由遇到的错误告知发送端服务器。 • Traceroute - 显示信息从计算机到互联网另一端的主机是走的什么路径。 • 使用ICMP和UDP协议。发送端向目标主机送出一个TTL为1的(生存时间为1)UDP数据包和一个无效的端口号。第一个路由将TTL置0(减少1),并丢弃数据包,之后向发送端发出 ICMP 超时信息。这样就检测到了数据传输路径中的第一个设备。发送端所发出的数据包的TTL会逐个增加,直到到达接收端。之后接收端会返回ICMP端口不能连接的信息(因为发送的是无效的端口号)。 • Netstat – 提供网络状态的信息。 • Tcpdump – 捕捉和观察线路中的数据包交换。
自学推荐Private Study Recommendations • 阅读第一章和第二章(章节2.4 sockets协议没有涉及)Read chapters 1 and 2 (Section 2.4 on sockets is NOT assessed). • 思考书中关于“nytimes”的例子。 • 尝试使用Wireshark软件(以前名为“Ethereal”)。 • 练习使用Experiment with utilities, for example: • Ping 命令-在运行框中输入“command”然后输入“ping”,命令的帮助提示将出现。 • traceroute – 在www.snapfiles.com 有相关visual traceroute 或者3D traceroute 应用程序的信息。(在命令提示符中输入“tracert”同样会出现帮助信息) • 关于“VisualRoute ”和 “Myspeed”软件的信息,访问www.mycooltools.com