计算机网络

2018-07-03  本文已影响0人  看看你的肥脸

内容大纲


1. OSI七层参考模型

从因特网的工作方式上看,可以划分为两大块:

边缘部分

处在因特网边缘的部分就是连接在因特网上的所有的主机。这些主机又称为端系统(end system)。
计算机之间的通信--“主机 A 和主机 B 进行通信”,实际上是指:“运行在主机 A 上的某个程序和运行在主机 B 上的另一个程序进行通信”。即“主机 A 的某个进程和主机 B 上的另一个进程进行通信”。

计算机网络的体系结构

计算机网络是个很复杂的系统,相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。

“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。

法律上的国际标准 OSI(开放系统互连参考模型OSI/RM )--没有得到市场的认可。

非国际标准 TCP/IP 现在获得了最广泛的应用。--TCP/IP 常被称为事实上的国际标准。

具有五层协议的体系结构

计算机网络的体系结构(architecture)是计算机网络的各层及其协议的集合。

image.png image.png

2. TCP/UDP 传输协议

image.png

运输层的主要功能

运输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)。
运输层还要对收到的报文进行差错检测。
运输层需要有两种不同的运输协议,即面向连接的 TCP 和无连接的 UDP。

image.png

运输层的两个主要协议

TCP 的连接

每一条 TCP 连接有两个端点。
TCP 连接的端点不是主机,不是主机的IP 地址,不是应用进程,也不是运输层的协议端口。TCP 连接的端点叫套接字(socket) 。
端口号拼接到IP 地址即构成了套接字socket = (IP地址: 端口号)
每一条 TCP 连接唯一地被通信两端的两个端点(即两个套接字)所确定。即:

  TCP 连接 ::= {socket1, socket2} 
           = {(IP1: port1), (IP2: port2)} 

TCP 报文段的首部格式

image.png
源端口目的端口——各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。
传输层和应用层之间的端口号可以有2^16个。
序号字段——占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。
确认号字段——占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。
数据偏移(即首部长度)——占 4 位,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。“数据偏移”的单位是 32 位字(以 4 字节为计算单位)。
保留字段——占 6 位,保留为今后使用,但目前应置为 0。
紧急 URG —— 当 URG = 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。
确认 ACK —— 只有当 ACK = 1 时确认号字段才有效。当 ACK = 0 时,确认号无效。
推送 PSH (PuSH) —— 接收 TCP 收到 PSH = 1 的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。
复位 RST (ReSeT) —— 当 RST = 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。
同步 SYN —— 同步 SYN = 1 表示这是一个连接请求或连接接受报文。
终止 FIN (FINis) —— 用来释放一个连接。FIN  1 表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。
窗口字段 ——占 2 字节,指发送本报文段一方的接收窗口,用来让对方设置发送窗口的依据,单位为字节。
检验和 —— 占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。
在计算检验和时,临时把“伪首部”和TCP 报文段连接在一起。伪首部仅仅是为了计算检验和。
image.png
紧急指针字段 —— 占 16 位,指出在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面)。
选项字段 —— 长度可变。TCP 最初只规定了一种选项,即最大报文段长度 MSS。MSS 告诉对方 TCP:“我的缓存所能接收的报文段的数据字段的最大长度是 MSS 个字节。”

TCP 的运输连接管理

TCP是面向连接的协议。每一次面向连接的通信都需要连接建立和释放的过程。
运输连接的三个阶段:连接建立数据传送连接释放

连接建立过程中要解决以下三个问题:

TCP的连接建立

image.png image.png image.png

用三次握手建立 TCP 连接的各状态

image.png

常见的应用层协议

1、域名系统 DNS

IP 地址既难记忆,又很难从键盘输入。
一个事实:
人不擅长于记忆长串数字,
但记忆名字却比较容易。
因此想到把 IP 地址变成名字。因特网设立专门的机构(ICANN)管理名字.

域名服务器
image.png
根域名服务器并不直接把域名转换成 IP 地址。在使用迭代查询时,根域名服务器把下一步应当找的顶级域名服务器的 IP 地址告诉本地域名服务器。
顶级域名服务器负责管理在该顶级域名服务器注册的所有二级域名。收到 DNS 查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器的 IP 地址)。
权限域名服务器负责一个区域的域名服务器。当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的 DNS 客户,下一步应当找哪一个权限域名服务器。
本地域名服务器对域名系统非常重要。
当一个主机发出 DNS 查询请求时,这个查询请求报文就发送给本地域名服务器。
每一个因特网服务提供者 ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器,
这种域名服务器有时也称为默认域名服务器。
image.png
Host文件

2、HTTP

URL 的一般形式
超文本传送协议HTTP
用户点击超链接后发生的事件

(1) 浏览器分析超链指向页面的 URL。
(2) 浏览器向 DNS 请求解析 www.jnshu.com 的 IP 。
(3) 域名系统 DNS 解析出技能树服务器的 IP 地址。
(4) 浏览器与服务器建立 TCP 连接
(5) 浏览器发出取文件命令:

GET /kcsz/index.htm。

(6) 服务器给出响应,把文件 index.htm 发给浏览器。
(7) TCP 连接释放。
(8) 浏览器显示“技能树课程设置”文件 index.htm 中的所有文本。

HTTP 的主要特点
请求一个万维网文档的所需的时间

用户点击鼠标链接到某个万维网文档时,HTTP协议首先和服务器建立TCP连接,需要三次握手,当三次握手的前两部分完成后,浏览器把HTTP请求报文作为三次握手的第三个报文的数据发送给万维网服务器,服务器收到后,就把请求的文档返回给客户。
RTT:往返时延。表示从发送端发送数据开始,到发送端收到来自接收端的确认。
时间 = 文档的传输时间+2RTT

image.png

代理服务器 (proxy server)

没有高速缓存的情况
image.png
使用高速缓存的情况

(1) 浏览器访问因特网的服务器时,要先与校园网的高速缓存建立 TCP 连接,并向高速缓存发出 HTTP 请求报文。


image.png

(2) 若高速缓存已经存放了所请求的对象,则将此对象放入 HTTP 响应报文中返回给浏览器。
(3) 否则,高速缓存就代表发出请求的用户浏览器,与因特网上的源点服务器建立 TCP 连接,并发送 HTTP 请求报文。


image.png

(4) 源点服务器将所请求的对象放在 HTTP 响应报文中返回给校园网的高速缓存。


image.png

(5) 高速缓存收到此对象后,先复制在其本地存储器中(为今后使用),然后再将该对象放在 HTTP 响应报文中,通过已建立的 TCP 连接,返回给请求该对象的浏览器。


image.png

在服务器存放用户信息

HTTP是无状态的,这样简化了服务器的设计,但在实际工作中,一些站点常常希望能够识别用户,或限制某些用户的访问。
万维网站点使用 Cookie 来跟踪用户。
Cookie 表示在 HTTP 服务器和客户之间传递的状态信息。

Cookie的工作过程:
万维网的文档

要使任何一台计算机都能显示出任何一个万维网服务器上的页面,必须解决页面制作的标准化问题。
超文本标记语言HTML(HyperText Markup Language)是一种制作万维网页面的标准语言,消除了计算机之间信息交流的障碍。
HTML 定义了许多用于排版的命令(即标签)。
HTML 把各种标签嵌入到万维网的页面中。这样就构成了所谓的 HTML 文档。HTML 文档是一种可以用任何文本编辑器创建的 ASCII 码文件。

3、HTTPS

HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)是HTTP的安全版。
默认使用TCP端口443
S 实际上是SSL协议。SSL是Netscape公司发明的一种用于Web的安全传输协议。能够加密数据防止数据中途被窃取;能维护数据的完整性,确保数据在传输过程中不被改变。
HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全 。

4、WebSocket

WebSocket协议是基于TCP的一种新的网络协议,是html5提出的一个协议规范 。它实现了浏览器与服务器全双工通信——允许服务器主动发送信息给客户端。其优点:

上一篇下一篇

猜你喜欢

热点阅读