计算机网络体系结构
计算机网络组成
一个完整的计算机网络主要由硬件、软件、协议。
- 硬件:计算机主机,端系统 、 通信链路、 交换设备(路由器、交换机) 和 通信处理机(如网卡)
- 软件:实现资源共享的各种软件,操作系统、邮件收发程序、聊天程序等等
- 协议:规定了网络传输数据时所遵循的规范
计算机网络功能
- 数据通信
- 资源共享
- 分布式处理
- 提高可靠性
- 负载均衡
计算机网络分类
按分布范围:
1. 广域网(WAN)
2. 城域网(MAN)
3. 局域网(LAN)
4. 个人区域网(PAN)
按拓扑结构:
1. 星形网络
2. 总线形网络
3. 环形网络
4. 网状形网络
OSI参考模型
国际化标准组织(ISO)提出的网络体系结构模型,称为开放系统互联网参考模型(OSI)。OSI共有七层:
1. 物理层(physical Layer): 物理层的传输单位是比特,任务是透明的传输比特流。物理层主要定义了数据终端设备(DTE)和数据通信设备(DCE)
2. 数据链路层(Data link Layer):传输单位是帧,任务是将网络层传输下来的Ip数据报组装成帧。数据链路层的功能可以概括为:成帧,差错校验,流量控制,传输管理。
3. 网络层(Network Layer):网络层传输的数据是数据报,关键问题是对分组进行路由选择,并实现流量控制,拥塞控制,差错控制和网际互联等功能。
4. 传输层(Transport Layer):传输单位是报文段(TCP)或用户数据报(UDP),主要任务是负责主机中两个进程之间的通信。功能是为端到端连接提供可靠的传输服务,为端到端连接提供流量控制,差错控制,服务质量,数据传输管理等。
5. 会话层(Session Layer):建立同步(SYN),端对端。
6. 表示层(Presentation Layer):采用抽象的标准方法定义数据结构,并采用标准的编码形式。数据压缩、加密、解密也是表示层可以提供的数据表示变换功能。
7. 应用层(Application Layer):因为用户的实际应用多种多样,这就要求应用层采用不同的应用协议来解决不同类型的应用要求,因此应用层是最复杂的一层,使用的协议也最多。典型的有文件传送的FTP,电子邮件SMTP、万维网HTTP等。
TCP/IP模型
- 网络接口层(物理层和数据链路层):
- 网络层:(IP)
- 传输层:(TCP、UDP)
- 应用层:(HTTP、SMTP、DNS)
TCP/IP和OSI的区别:
1. 层次不同
2. OSI在网络层支持无连接的UDP 和 面向连接的TCP,传输层仅支持TCP
3. TCP/IP在网络在网络层仅支持无连接的UDP ,在传输层支持TCP和IP
物理层
物理设备
中继器:
又称转发器,主要功能是将信号整形并放大再转发出去。注意与放大器的区别:放大器是放大的模拟信号,原理是将衰减的信号放大。中继器放大的是数字信号,原理是将衰减的信号整形在生。
集线器(Hub):
实质上是一个多端口的中继器。在Hub工作时,当一个端口接收到数据信号后,由于信号从端口到Hub的传输过程已有了衰减,所以Hub便将该信号进行整形放大,使之再生到发送时的状态,紧接着转发到其它所有处于工作状态的端口上。(如果同时又两个或多个端口输入,则输出时会发生冲突,致使这些数据都成为无效的),Hub解决的是从服务器连接到桌面。(Hub直接和交换机相连)
数据链路层
广域网
数据链路层设备
网桥
两个或多个以太网通过网桥连接起来,就成为一个覆盖范围更大的以太网,而原来的每个以太网就可称为一个网段。网桥工作在链路层的MAC子层。
网桥的基本特点:
1. 具备寻址和路径选择能力,以确定帧的传输方向。
2. 从源网络接收帧,以目的网络的介质访问控制协议向目的网络转发该帧。
3. 网桥对接收的帧不做修改,或只修改一点封装格式
局域网交换机
桥连接的主要限制是在任一时刻通常只能执行一个帧的转发操作。从本质上来说,以太网交换机就是一个多端口的网桥,工作在数据链路层。利用以太网交换机可以很方便的实现虚拟局域网(VLAN),VLAN不仅可以隔离冲突域,也可以隔离广播域。
两种交换模式:
1. 直通式:直通式交换机只检查帧的目的地址。这种方式速度很快,但缺乏智能性和安全性,也无法支持具有不同速率的端口的交换。
2. 存储转发式交换机,先将接收到的帧缓存到高速缓存器中,并检查数据是否正确。确认无误后通过查找表转换成输出端口将帧发送出去。可靠性高,但是延迟较大。
网络层
网络层的功能
中间设备又称为中间系统或中继系统。根据中继系统所在层次,有以下四种不同的中继系统:
1. 物理层:中继器、集线器(Hub)
2. 数据链路层:网桥或者交换机
3. 网络层: 路由器
4. 网络层以上: 网关
流量控制和拥塞控制的区别:
1. 流量控制往往是指在发送端和接收端之间的点对点通信量的控制。流量控制所要做的就是抑制发送端发送数据的速率,以便使接收端来得及接收。
2. 而拥塞控制主要是确保通信子网能够传送待传送的数据,是一个全局性的问题。
IPv4
IPV4, 现在普遍使用的IP协议(版本为4)。IP协议定义数据传送的基本单元 ————IP分组及其确切的数据格式。
IP数据报格式:
1. 首部的前一部分是固定长度,共20个字节。
IP数据报分片
一个链路层数据报能承载的最大数据量称为最大传送单元(MTU)。
IPv4地址与NAT
连接在Internet中每一台主机或者路由器都分配一个32比特的全球唯一的标识符,即IP地址。
其中:
1. 主机号全为0的表示本网络本身。
2. 主机号全为1的表示本网络的广播地址
3. 127.0.0.0网络保留作为环路自检。此地址表示任意主机本身,目的地址为环回地址的IP数据报永远不会出现在任何网络上。
NAT(Network Address Translation):
通过将专用网络地址转换为公用地址,从而对外隐藏了内部管理的IP地址。它使得整个专用网只需要一个全球IP地址就可以与Internet连通。NAT可以大大的节省IP地址的消耗。
子网划分与子网掩码
IP地址和对应的子网掩码逐位相“and”,就能得到相应的子网的网络地址。
无分类CIDR
ARP协议(地址解析协议 Address Resolution Protocol)
ARP解决的是一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。如果所要找的主机和源主机不再同一个局域网上,那么就要通过ARP协议找到一个位于本局域网上的某个路由器的硬件地址。
动态主机配置协议(DHCP,Dynamic Host Configuration Protocol)
常用于给主机动态的分配IP地址,它提供了即插即用联网的机制,这种机制允许一台计算机加入新的网络和获取IP地址不用手工参与。
网际控制报文协议(ICMP, Internet Control Message Protocol)
ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。ICMP协议是IP层协议。
网络层设备
路由器
路由器是一种具有多个输入输出端口的专用计算机,其任务是连接不同的网络并完成路由转发。
从模型的角度来看路由器是网络层设备,它实现了网络模型的下三层。即物理层、数据链路层、网络层。
路由选择部分:控制部分,其核心构件是路由选择处理机。其任务是根据所选定的路由选择协议构造出路由表。
分组转发部分:交换结构、一组输入端口和一组输出端口。
路由表和路由转发
传输层
它属于面向通信部分的最高层,同时也是用户功能中的最底层。
传输层的功能:
1. 传输层提供应用进程之间的逻辑通信(端到端的通信)。与网络层的区别是,网络层提供的是主机之间的逻辑通信。
2. 复用和分用。复用:指发送方不同的应用进程都可以使用同一个传输层协议传输数据。
3. 传输层还需要对收到的报文进行差错校验。而网络层只检查IP数据报的首部,不检验数据部分。
传输层的寻址和端口
常用的端口号:
1. FTP:21
2. SMTP:25 (Simple Mail Transfer Protocol)
3. HTTP:80
4. DNS:53
套接字:
套接字是一个通信端点(详细的包含主机端口号的通信端点)。
套接字 = (主机IP, 端口号)
无连接服务和面向连接服务
TCP:
面向连接服务。在传送数据之前必须先建立连接,数据传送后要释放连接。TCP不提供广播或组播服务。是一种可靠的传输服务。如:FTP、HTTP、远程登录(TELNET)
UDP:
无连接服务。比较简单,执行速度比较快,实时性好。应用主要有:DNS、简单网络管理协议(Simple Network Manage Protocol)SNMP、实时协议RTP
TCP连接管理
TCP连接有三个阶段:连接建立、数据传送和连接释放。
三次握手:
1. 第一步:客户机的TCP首先向服务器的TCP发送一个连接请求报文段。这个特殊的报文段中不含有应用层数据,其首部中SYN标志位被置为1。另外客户机会随机选择一个起始序号seq = x。
2. 服务器TCP收到连接请求报文段后,如同意建立连接,就像客户机发回确认,并为该TCP连接分配TCP缓存和变量。在确认报文段中,SYN和ACK位都被置为1,确认号字段的值为X+1。并且服务器随机产生起始序号seq = y。
3. 第三步:当客户机收到确认报文段后,还要向服务器给出确认,并且也要给该连接分配缓存和变量。这个报文段的ACK位置被置为1,序号字段为X+1,确认号字段ack = y+1。
TCP提供的是全双工通信。
四次握手:
1. 第一步:客户端打算关闭连接,就向其TCP发送一个连接释放报文段,并停止再发送数据,主动关闭TCP连接,终止位FIN被置为1,seq=u(前面序号+1)。
2. 第二步:服务器收到连接释放报文段后即发出确认,确认号是ack=u+1。此时,从客户机到服务器这个方向的连接就释放了,TCP连接处于半关闭状态。
3. 第三步:若服务器已经没有要向客户机发送的数据,就释放连接,此时发出FIN=1的连接释放报文段。seq = w,ack = u+1。
4. 第四步:客户机收到连接释放报文段后,必须发出确认。在确认报文段中,ACK字段被置为1,确认号ack = w+1, 序号 seq = u+1。
- FIN = 1, seq = u
- ACK = 1, seq = v, ack = u+1
- FIN = 1, ACK = 1, seq = w, ack = u+1
- ACK = 1, seq = u+1, ack = w+1
应用层
网络应用模型
Client/Server:
常见的使用的应用包括:FTP、Web、电子邮件、远程登录。
特点:
1. 网络中各计算机的地位不平等。
2. 客户机相互之间不直接通信。
3. 可扩展性。
P2P模型:
p2p的思想是整个网络中的传输内容不再被保存在中心服务器上,每个结点都同时具有下载、上传的功能。
DNS系统(Domain Name System)
DNS采用C/S工作方式,其协议运行在UDP上,使用端口号53号。
域名服务器
- 根域名服务器
- 顶级域名服务器
- 授权域名服务器
- 本地域名服务器
域名解析过程
把域名映射成为IP地址或把IP地址映射成为域名的过程。
- 主机向本地域名服务器的查询采用的是递归查询: 即如果本地主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向根域名服务器继续发出查询请求报文
- 本地域名服务器向根域名服务器的查询采用迭代查询:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器下一步该向哪个顶级域名服务器进行查询。
文件传输协议FTP(File Transfer Protocol)
FTP采用C/S的工作方式,它使用TCP可靠的传输服务。端口号21。
SMTP协议和POP3协议
SMTP协议(Simple Mail Transfer Protocol)
提供可靠且有效的电子邮件传输的协议。使用25号端口,建立TCP连接。三个主要的过程:
1. 连接建立
2. 邮件传送
3. 连接释放
POP3协议(Post Office Protocol)
POP也使用C/S的工作方式,在传输层使用TCP协议,端口号110.
万维网WWW
WWW的概念与组成结构
万维网的内核:
1. 统一的资源定位符(URL Uniform Resource Locator)
2. 超文本传输协议HTTP
3. 超文本标记语言HTML
超文本传输协议HTTP
用户点击鼠标后发生事件顺序:
1. 浏览器分析链接所指向的页面的URL(htttp://www.tsinghua.edu.cn/chn/index.html)
2. 浏览器向DNS请求解析www.tsinghua.edu.cn的IP地址
3. 域名系统DNS解析出清华大学服务器的IP地址
4. 浏览器和该服务器建立TCP连接
5. 浏览器发出HTTP请求:GET/chn/index.html
6. 服务器通过HTTP响应把文件index.html发送给浏览器
7. TCP连接释放
8. 浏览器将文件Index.html进行解释,并将web页面展示给用户。