朝花夕拾,简要回顾一下计算机网络课程。html
美国国防部 -> ARPANET -> MILNET(军事), ARPANET -> NSFNET数据库
远程联机系统 50s -> 60s
前端处理机FEP,调制解调器M,终端控制器TC,主机,终端T
服务器
计算机-计算机 网络 60s ->70s
通讯子网(路由器和线路),资源子网(服务器和主机) 缺点:没法任意互联,拓展性差
网络
开放式标准化网络 80s -> now
统一的网络体系结构:OSI,CCITT,TCP/IP架构
参考定义:将若干台具备独立功能的计算机 系统,用某种或多种通讯介质链接起来,经过完善的网络协议, 在数据交换的基础上,实现网络资源共享的系统称为计算机网络。socket
一整套通讯规程,包括规定要交换的数据格式、 控制信息的格式和控制功能、通讯过程当中事件执行的次序等。可能涉及到:tcp
真正的物理通讯老是发生在除物理层。除物理层外,其他各对等层实体间都是进行虚拟通讯。
通讯必须在对等层进行,不容许交差通讯。
虚拟通讯是一种逻辑通讯,其意义在于:
n-1层为n层提供服务。n层直接使用n-1层提供的服务,间接 使用n-2, n-3, …… 层提供的服务。
OSI参考模型各层功能
网络通讯↑ 数据处理↓
两个核心协议:TCP和IP,故此模型也称为TCP/IP协议。
(Internet和OSI的参考模型比较)
应用层对应OSI的应用层,表示层和会话层。主要包括:FTP, SMTP, TELNET, DNS, HTTP 等
传输层:TCP(传输控制协议Transmission control protocol)
, UDP(用户数据报协议User Datagram protocol )
互联网层大致对应OSI的网络层,为IP协议。将IP分组以数据报方式从源主机发送到目的主机。
子网层对应物理层和数据链路层:802.3, PPP, 802.5, 千兆百兆以太网等
模拟通讯与数字通讯
信道, 两个重要参数:带宽(Hz),误码率(bps)
带宽与数据率的关系
1.奈奎斯特(无噪声信道)C = 2Hlog2L
2.香农定理(有噪声信道,L不受限)C =Hlog2(1+S/N)
(C:数据率,H:带宽,L:数字信号的离散取值数,S/N:信噪比)
波特率:每秒传输的码元的数目 C=Blog2L (B为波特率)
误码率:P = Ne/N
信道通讯方向:单工,半双工,双工
数字信号的编码 e.g. 非归零,曼切斯特,差分曼切斯特
调制(调幅,调频,调相),解调(采样,量化,编码)。
数据同步方式:字符同步和位同步
多路复用:频分复用,时分复用
物理层协议实质上是通讯接口标准
涉及内容:机械,功能,规格,电气特性
数据帧是传送单位
做用:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
停-等协议:发一帧后等应答
滑动窗口协议:连续发送若干后再等待应答
顺序接受管道协议(回退N):接受窗口尺寸为1的滑动窗口协议,某帧丢失后其后所有丢弃并返回否定。
选择接收管道协议
上述协议均可看做滑动窗口协议,差异在于窗口尺寸的不一样
窗口尺寸的限制:
Wt>=Wr, Wt+Wr<=2^m (帧序号的位数为m)
实现两个主机系统之间的数据透明传送,具体功能包括寻址和路由选择、链接的创建、保持和终止等
虚电路
通讯前发送方和接收方之间必须创建链接(虚电 路),因此虚电路是面向链接的网络服务。
虚电路只是一种逻辑电路,而不是真正的物理电 路。报文分组在虚电路上传输不像再物理线路上 那样中畅通无阻。而是要中间节点的存储转发。
一条链路上容许创建多个虚电路。
一旦虚电路创建完毕,本地通讯的全部分组必须 通过该虚电路进行。所以,虚电路可以保证分组 的顺序接收。
仅当创建虚电路时须要源/目的结点地址,数据分 组需分配一个虚电路号而无须源/目的结点地址。
数据报
数据报无需创建链接,每一个报文分组携带完整的源/目的地址,独立的选择路径,经过 同的路径到达目的主机
数据报子网 | 虚电路子网 | |
---|---|---|
延时 | 分组传输延时 | 电路创建,分组传输延时 |
路由选择 | 每一个分组单独选择路由 | 创建虚电路时选择路由,之后 全部分组都使用该路由 |
状态信息 | 子网无需保存状态信息 | 每一个结点要保存一张虚电路表 |
地址 | 每一个分组包括源和目的的完 整地址 | 每一个分组含有一个短的虚电路 号 |
结点失败 的影响 | 除了在崩溃时正在该结点处 理的分组都丢失外,无其余 影响 | 全部通过失效结点的虚电路都 要被终止 |
拥塞控制 | 难 | 若是有足够的缓冲区分配给已 经创建的虚电路,则容易控制 |
路由选择:根据某种策略(静态、动态),选择一条最佳的路径到达目的主机,对路由器而言, 路由选择实质上是选择最佳 输出端口。
虚电路:一次路由选择
数据报:每一个分组要进行路由选择
扩散法(洪泛法)
当结点收到一个分组后,把该分组向除进来的链 路外的全部其余链路转发,结果至少有一个分组 以最快的速度到达目的结点。
问题:产生大量重复分组 解决:设置下一跳字段每次减小
固定式路由选择
每一个结点保存一张固定的路由表,当某一分组到达时, 根据分组的目的结点,在路由表中找到其对应的输出 链路,而后来分组从该链路转发出去。
最佳路由选择算法
孤立路由算法
集中路由算法
分布路由算法
D-V | L-S | |
---|---|---|
交换路由信息 | 按期 | 网络拓扑结构发生 改变(或按期) |
路由更新 | 缓慢 | 迅速 |
适用范围 | 小规模,变化缓慢 的网络 | 大规模,变化较激 烈的网络 |
IP协议是Internet体系结构的核心协议,已成 为链接异构网络的工业标准。
IP提供无链接的数据报服务,每一个IP分组长 度≤64K字节,不能保证分组可靠的,按序到 达,这些留给高层协议解决。
IP协议须要路由协议ICMP,ARP,RARP等 协议支持
ARP: 根据IP地址获取物理地址
地址
子网的规模与借用主机字段的位数有关。借用位数越多,子网规模越大。
采用子网掩码来分离网络号和主机号
ip寻址:每一个路由器中都保存一张路由表(不管是静态仍是动态)。路由表 的主要项目有两个:网络号、下一跳地址(最佳输出链路)。
网际控制报文协议 ICMP
差错报告,询问报文 ping TTL
地址解析协议ARP
是将IP地址转化成MAC,有存则发送,没有则发送ARP请求找相应的MAC地址。
RARP与ARP相反,知道MAC不知道IP。
在计算机网络中,传输层处于很是重要的位置。传输 层,也称为运输层,不管在OIS仍是在TCP/IP模型中 ,传输层都处于面向应用部分的最低层和面向通讯部分的最高层。(承上启下)进程间通讯
网络边缘:主机、存储、服务器、数据库
网络核心:路由器、链路
主要功能:为运行在网络边缘的不 同主机上的各应用程序之间提供通讯服务;在应用层和网络层之间充当复用器的做用。各类各样的网络应用,经过传输层的端口被提交统一的网络层,并由IP协议用统一的方式将它们发送到网络中。
端口与地址
进程标识符X,利用协议端口(软件端口)。
熟知端口:0~1023
登记端口号:1024~49151
客户端口号,短暂端口号:49152~65535
传输服务访问点:当两个不一样主机的两个进程须要通讯时 ,必须指明对方是哪个进程,这个标记称为传输层地 址,也称为传输服务访问点(TSAP)
传输层地址(TSAP) = 主机IP地址+端口号
e.g. 192.168.10.1:80
套接字:为了使应用程序可以方便地使用 协议栈软件进行通讯的一种方法。{协议,本地地址,本地端口,远程地址,远程端口}
上联应用,下联网络协议栈。
流式套接字(stream socket):提供面向链接、可靠的数据传输服务,数据无差错、无重复 的发送,且按发送顺序接收。内设流量控制,避免数据流超 限;数据被看做是字节流,无长度限制。
数据报式套接字(Datagram socket):提供无链接服务。数据包以独立包形式发送,不提供无差错 保证,数据可能丢失或重复,而且接收顺序混乱。
原始套接字(Raw Socket):字容许对较低层次的协议,如IP、ICMP直接访 问,用于检验新的协议的实现。
UDP 只在 IP 的数据报服务之上增长了不多一点的功能 ,即端口的功能和差错检测的功能。
是一种面向链接的、可靠的、基于字节流的传输层通讯协议。
TCP的链接
为什么要进行三次握手和三次挥手
链接须要三次握手
链接的释放 四次挥手
客户端要等待2MSL(最大报文生命)后才能够释放
TCP计时器:至少应该有四种计时器:重传计时器、持久计时器、保活计时器和时间等待计时器
拥塞控制:慢开始 和 拥塞避免
在TCP/IP中,应用层对应OSI/RM中的会话层、表示层 和应用层,是应用程序与网络传输的接口,是面向应用 需求的通讯协议中的最高端。
应用层协议不是应用程序,也不解决用户的具体应用需 求,而是为应用程序进程的网络通讯提供服务的第一层 协议,是为用户的应用需求提供通讯服务。
规定了运行在不一样端系统上的应用程序进程相互传递报文的规范:
体系架构
TCP/IP中的应用层协议:域名,超文本传输,电子邮件,会话发起,文件传输,远程访问
主机向本地域名服务器的查询通常都是采用递归查询。 若是主机所询问的本地域名服务器不知道被查询域名 的IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其余根域名服务器继续发出查询请求报文。
** 解析过程**
发送:SMTP
读取:POP3 IMAP(不须要所有下载 交互式)
MIME 邮件中传输数据