• 计算机网络核心基础知识总览


    第一章——概述

    计算机网络性能指标
    1、速率,传输数据速率,也叫数据率、比特率,单位有:b/s、kb/s、Mb/s、Gb/s、Tb/s
    2、带宽,最高传输速率,即为速率最高值,单位与速率相同
    3、吞吐量,单位时间通过某个网络信道或接口的数据量,单位b、kb、Mb、Gb、Tb
    4、时延,发送时延(主机或路由器发送数据所需时间)、传播时延(电磁波在信道中传输所需时间)、处理时延、排队时延
    5、时延带宽积=传播时延*带宽
    6、往返时间RTT
    7、利用率有信道利用率与网络利用率

    计算机网络体系结构
    OSI:开放系统互联基本参考模型,Open Systems Interconnection Reference Model
    协议:为了进行网络中的数据交换而建立的规则、标准或约定称为网络协议。
    分层带来的好处:
    1、各层独立,将大问题分解成多个独立的小问题
    2、灵活性好,只要保证接口不变,内部实现可以修改并不影响上下层
    3、结构上易于分开
    4、易于实现与维护
    5、促进标准化工作

    五层结构(七层结构是在应用层下增加表示层与会话层,更多是一种理论的结构,实际多以五层结构表示)
    1、应用层
    2、传输层
    3、网络层
    4、数据链路层
    5、物理层

     
    第二章——物理层

    物理层的主要任务就是确定与传输媒体接口有关的一些特性,包括:
    1、机械特性
    2、电气特性
    3、功能特性
    4、过程特性

    信息交互方式
    1、单工通信
    2、半双工通信
    3、全双工通信

    信道复用技术
    1、频分服用——用户在同样时间占用不同资源
    2、时分复用——所用用户在不同时间占用相同资源
    3、波分复用——光的频分复用
    4、码分复用——用一组包含互相正交的码字的码组携带多路信号

     
    第三章——数据链路层

    数据链路层信道两种类型:
    1、点对点信道
    2、广播信道

    数据链路:除了代表物理层的一条物理线路外,还包括一些控制数据传输的通信协议,二者结合起来就是数据链路
    网络适配器:数据链路层协议一般是由网络适配器实现的,它实现了数据链路层与物理层两层的功能。它的主要作用是实现计算机与外界局域网通信。
    数据链路层的协议数据单元:帧

    点对点的数据链路通信步骤(点对点的数据链路、使用广播信道的数据链路是两种主要的数据链路):
    1、节点A把该节点网络层交下来的IP数据报添加首部与尾部封装成帧
    2、节点A把封装好的帧通过物理层链路发送给节点B
    3、节点B在检查接收到的帧无差错时,上交给B节点的网络层,否则,丢弃此帧

    数据链路层协议要解决的三个基本问题:
    1、封装成帧——帧开始符SOH,结束符EOT
    2、透明传输——防止传输文本出现SOH或EOT,造成错误开始或错误结束
    3、差错检测——广泛使用CRC循环冗余检测

    PPP点对点协议是数据链路层使用最多的协议,他提供不可靠的数据报服务;因为数据链路层不必要提供比网络层IP协议更多的功能,所以PPP协议不需要纠错,不需要序号,不需要流量控制,简单就是PPP协议首要的要求与最大特点

    以太网:当今使用最广泛的局域网规范,使用CSMA/CD技术,并以10M/S的速率运行在各种电缆上
    CSMA/CD协议:载波监听多点接入/碰撞检测
    CSMA/CD核心要点:
    1、“多点接入”,许多计算机以多点接入方式互联到一条总线上,同一时刻只有一台计算机可以占用总线传输数据
    2、“载波监听”,每个站(计算机)都必须不停检测信道是否在传输数据,没有被占用才能获得发送权
    3、“碰撞检测”,边发送边监听,如果检测到有总线有两个站同时传输数据,立即停止传输
    MAC地址:以太网的物理地址
    网桥:可转发、过滤帧,可连接不同物理层、MAC子层与不同以太网,可在数据链路层扩展以太网,缺点是增加时延。
    集线器:可转发比特流,工作在物理层,在物理层扩展以太网

     
    第四章——网络层


    地址解析协议ARP:将主机和路由器的IP地址解析到硬件地址。
    ARP机制:每个主机都有一个ARP高速缓存,里面有本局域网中各主机、路由器的IP地址到硬件地址的映射表,而且这个映射表还经常动态更新。

    网际控制报文协议ICMP:提供主机或路由器询问情况、报告差错或异常情况。
    ICMP报文类型:1、差错报告报文2、询问报文
    ICMP应用:使用ping命令,在应用层越过传输层直接使用ICMP协议回送请求与回送回答报文,测试主机之间连通性。

    路由器分组转发算法(网络层操作):
    从数据报首部提取出目的主机的IP地址,根据IP地址类别(A、B、C、D类),提取出网络地址
         1、若网络地址N就是与路由器相连的网络地址,则直接将数据报交付给该网络的目的主机。(这里包括了网络接口软件通过ARP协议将IP地址转化为MAC地址,将数据报封装成链路层MAC帧,通过物理层线路发送此帧到目的主机的过程)
         2、若网络地址不是与路由器相连的网络地址,则查询路由表
                 2.1、若路由表中有目的地址为数据报IP地址的特定主机路由,则将数据报发送给路由表指定的下一跳路由
                 2.2、若路由表中有到达目标网络地址为N的路由,则将数据报发送给路由表指定的下一跳路由
                 2.3、若路由表中有一个默认路由,则将数据报发送给路由表中的默认路由
                 2.4、报告分组转发错误

     
    第五章——运输层

    概述:虽然IP层将分组数据送到目的主机,但严格讲,计算机网络中的两个主机通信其实是两个主机上的应用进程通信,通信的端点不是主机而是主机上的应用进程。网络层提供主机间的逻辑通信,运输层提供端口间的逻辑通信。

    UDP的主要特点:
    1、UDP是面向无连接的运输层协议,发送数据前不用建立连接,可靠性降低但提高效率
    2、UDP是提供最大努力的交付服务
    3、UDP是面向报文的,即一次发送一个报文,不合并、不拆分,但如果数据过长会在网络层IP分片传输,影响网络层效率
    4、UDP无法避免网路拥塞时的数据丢失,但保证了发送数据的稳定速率
    5、UDP支持一对一、一对多、多对多的通信
    6、UDP首部较短只有8字节,较TCP的20字节(只包括固定字段长度)减小了开销。
    UDP首部字段:
    1、源端口
    2、目的端口
    3、长度,数据报的长度
    4、校验和,验证传输信息是否有错,有错就丢弃

    TCP的主要特点:
    1、TCP是面向连接的运输层协议。使用TCP之前必须建立TCP连接,就跟打电话一样,接通后才能通话
    2、TCP连接是点对点的,只能有两个端口
    3、TCP提供可靠的服务,无差错、不丢失、不重复、按序到达,而运输层以下都是不可靠的尽力提供最大努力的服务。
    4、TCP提供全双工通信,通信两端都设有发送缓存与接收缓存,可在空闲时发送或接受
    5、TCP面向字节流
    套接字(Socket)= IP地址:端口号
    TCP报文首部字段:
    主要首部字段解释:
    1、序号:该报文段的数据段第一个字节占整条报文数据段的位置
    2、确认号:期望收到的下一个报文段的序号(如:上一个报文段序号位600,数据段长度为100,在正确接收后,这次期望接受的数据序号为700)
    3、窗口大小:指出允许对方发送的数据量,可动态变化
    4、校验和:验证数据完整性与正确性
    5、紧急指针:指出本报文字段中紧急数据的尾部位置,注意:当窗口为0时也可以发送紧急数据
    6个控制位解释:
    1、ACK起应答作用,占1位;仅当ACK=1时,确认号字段才有效,ACK=0时,确认号无效
    2、SYN起同步作用;当SYN=1,ACK=0时表示:这是一个连接请求报文段。若同意连接,则在响应报文段中使得SYN=1,ACK=1。因此,SYN=1表示这是一个连接请求,或连接接受报文
    3、FIN用来释放一个连接;FIN=1表示:此报文段的发送方的数据已经发送完毕,并要求释放TCP连接
    4、PSH表示接收方应将报文交给应用层
    5、RST表示连接重置
    6、URG表示紧急指针,URG=1表示有紧急数据

    三次握手:
    A:“喂,你听得到吗?”A->SYN_SEND
    
    B:“我听得到呀,你听得到我吗?”应答与请求同时发出 B->SYN_RCVD | A->ESTABLISHED
    
    A:“我能听到你,今天balabala……”B->ESTABLISHED
    
    四次挥手:
    A:“喂,我不说了。”A->FIN_WAIT1
    
    B:“我知道了。等下,上一句还没说完。Balabala…..”B->CLOSE_WAIT | A->FIN_WAIT2
    
    B:”好了,说完了,我也不说了。”B->LAST_ACK
    
    A:”我知道了。”A->TIME_WAIT | B->CLOSED
    
    A等待2MSL,保证B收到了消息,否则重说一次”我知道了”,A->CLOSED

    TCP可靠传输机制
    1、流量控制,滑动窗口机制——让发送方发送速率不太快,接收方来得及接收,通过滑动窗口机制实现,即接受方多次发出响应报文修改首部字段的窗口值以控制发送方数据发送速率
    2、拥塞控制,慢开始、拥塞避免、快重传、快恢复机制

     
    第六章——应用层

    DNS:域名系统
    DNS域名解析:将域名解析成对应IP地址
    DNS域名服务器类型:
    1、根域名服务器
    2、顶级域名服务器
    3、权限域名服务器
    4、本地域名服务器
    DNS服务器域名解析流程:
    1、用户在浏览器输入要访问的网站的域名,如果操作系统检查到本地hosts文件中缓存着这个域名的映射关系,则直接调用,完成域名解析。 
    2、如果hosts文件中没有,则浏览器向本地DNS请求解析,如果缓存着映射关系,则返回结果,完成解析; 
    3、如果本地DNS没有,则将请求发往RootDNS(根DNS服务器),根DNS服务器会告知本地服务器去查询网站授权的DNS服务器,即把网站授权DNS服务器的IP地址发送给本地DNS服务器(网站授权的DNS服务器即为顶级、权限域名服务器); 
    4、网站授权DNS服务器将解析得到的IP地址发回本地DNS,本地DNS缓存映射关系并将IP地址发回给用户; 
    5、浏览器在得到IP地址后,向其发出HTTP请求。

    FTP:文件传送协议,基于TCP,要求建立两个并行的TCP连接,“控制连接”与“数据连接”

    万维网(WWW):一个大规模的、联机式的信息储藏所。浏览器就是万维网的客户端程序,客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所需要的万维网文档,也成为页面
    万维网与互联网、以太网关系及区别:万维网就是我们常说的互联网,而以太网是万维网的一种组网类型,是局域网采用的通用规范标准。
    URL:统一资源标识符,万维网用URL来唯一标识万维网文档
    HTML:超文本标记语言
    HTTP:万维网中客户端与服务端严格遵守的超文本传输协议,它本身是一种无状态、无连接协议,但它依赖于TCP实现数据传输,而TCP是有状态、有连接的,关于HTTP可参看HTTP必知必会http://blog.csdn.net/zhangliangzi/article/details/51336564

    SMTP:简单邮件传送协议,同样依赖于TCP实现邮件传输
    POP3:邮局协议
    POP3特点:采用客户-服务器工作方式,接收邮件的用户必须运行POP客户程序,与接收方的ISP的邮件服务器必须运行SMTP与POP服务器程序;优点是非常简单,缺点是只要用户从POP服务器中读取了邮件之后,POP服务器就将邮件删除
    IMAP:网际报文存取协议
    IMAP特点:用户PC运行IMAP客户端程序,然后与接收方的邮件服务器上的IMAP服务器建立TCP连接,使用户可以直接操作邮件服务器的邮箱;IMAP最大好处就是用户可以在不同地方使用不同计算机处理邮件,缺点就是多次查看就需要多次建立TCP连接
    基于万维网的电子邮件:163、GMAIL、新浪都使用这种邮件服务;浏览器编写邮件,然后通过HTTP协议把邮件发送到该网站的邮件服务器上,然后通过SMTP将邮件发送到接收方网站的邮件服务器上,再通过HTTP把邮件发送到对应用户的浏览器邮箱中。
    MIME:通用互联网邮件扩充,旧标准规定邮件文本不能包含7为ASCII代表的字符集以外的字符,MIME定义了许多邮件内容的格式,规定了各种格式的传送编码,可对任何内容格式进行转换。可通过邮件首部字段定义,如Content-Type=text/html;charset=utf-8

    DHCP:动态主机配置协议。提供了一种“即插即用连网”,这种机制允许一台计算机自动加入新的网络并获取IP地址。当客户程序移植到一个新的网络时,就可以使用DHCP自动获取配置信息。
  • 相关阅读:
    「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)
    「日常训练」Ice Cave(Codeforces Round 301 Div.2 C)
    「日常训练」School Marks(Codeforces Round 301 Div.2 B)
    「知识学习」二分图的最大匹配、完美匹配和匈牙利算法(HDU-2063)
    「日常训练」 Counting Cliques(HDU-5952)
    「日常训练」Maximum Multiple(HDU-6298)
    「日常训练」 Yukari's Birthday(ZOJ-3665)
    「Python」Numpy equivalent of MATLAB's cell array
    「Python」Convert map object to numpy array in python 3
    「Python」matplotlib备忘录
  • 原文地址:https://www.cnblogs.com/huangjinyong/p/8778802.html
Copyright © 2020-2023  润新知