zoukankan      html  css  js  c++  java
  • 计算机网络基础

    一、协议是什么    
    1. 为进行网络中的数据交换而建立的规则、标准或规定称为网络协议
    2. 计算机网络体系结构
    (1)定义:计算机网络的各层及其协议的集合,有OSI(七层)、 TCP/IP(四层)
    (2)五层协议的体系结构:物理层、数据链路层、网络层、运输层、应用层
     
    二、物理层
    1.  任务:确定硬件接口特性,屏蔽硬件差异
    2.  常用名词:信道、码元、信噪比
    3. 信道复用技术
    (1) 频分(同时不同带宽)、时分(不同时同带宽)、统计时分(动态时分)
    (2)波分(光的频分复用)
    (3) 码分:对码元(0、1)进行编码组成码片,不同用户使用不同码片通信
    4. 宽带接入技术
    (1)非对称数字用户线ADSL
    (2) 改造电话线
    (3)上下行速度不一致
    (4)光纤同轴混合网HFC
    (5)改造有线电视网
    (6)两线混合
    (7)多种光纤接入方式FTTx
    (8)FTTH光纤到户
    (9)......
     
    三、数据链路层
    1. 任务:主机与主机之间的通信
    2. 数据单元:帧(首部+数据部分+尾部)
    3. 基本问题
    (1)封装成帧:帧定界、最大传送单元MTU(数据部分长度上限)
    (2)透明传输:区分数据和控制字符
    (3)差错检验(但可靠传输由上层协议(如TCP)完成)
            * 比特差错:循环冗余检验CRC
            * 帧丢失、帧重复、帧失序:帧编号、确认和重传机制(逐渐摒弃)
    4. 点对点协议PPP
    (1)需求:简单、封装成帧、透明性、多种网络层协议、多种类型链路、差错检测、检测连接状态、最大传送单元、网络层地址协商、数据压缩协商
    (2)组成:封装方法、链路控制协议LCP、网络控制协议NCP
    (3)帧格式:定界符0x7E+地址字段0xFF+控制字段0x03+协议字段(区分信息字段内容为IP数据报orLCPor网络层控制数据)+信息字段(最大1500字节)+帧检验序列FCS+定界符0x7E
    (4)透明传输实现
            * 字节填充:信息字段添加转义符0x7D
            * 零比特填充:五个连续1填充一个0
    (5)PPP协议工作状态
            * 链路静止:用户PC与ISP的路由器无物理层连接
            * 链路建立
                * 发送LCP的配置请求帧:协商最大帧长、鉴别协议、是否适用地址和控制字段
                * LCP链路建立,进入鉴别状态
                    * 鉴别发起方身份,此时只能传送LCP协议的分组、鉴别协议的分组、监测链路质量的分组
                * 鉴别成功,进入网络层协议状态
                    * PPP链路两端的NCP协议根据网络层协议的不同配置对应的控制协议(,是用来建立和配置不同的网络层协议的),如IP协议要使用NCP中的IP控制协议IPCP
                * 网络层配置完毕,进入链路打开状态
            * 链路打开
                * 进行数据通信
                * 检查链路状态
                * 回送请求LCP分组和回送送达LCP分组
            * 数据传输结束
                * 终止请求LCP分组和终止确认LCP分组
                * 进入链路终止状态
            * 链路终止
                * 调制解调器载波停止后,回到链路静止状态
    5. 使用广播信道的数据链路层
    (1)主要应用:局域网,以太网属于局域网
    (2)局域网的数据链路层分为两个子层
            * 逻辑链路控制LLC(逐渐消失)
            * 媒体介入控制MAC
    (3)通信适配器,旧称网卡
            * 处理器:串并行传输转换
            * 存储器:缓存数据
    (4)CSMA/CD协议,即载波监听多点接入/碰撞检测 (半双工通信)
            * 多点接入即多台计算机连接在一根总线上
            * 载波监听就是检测信道
            * 碰撞检测就是边发送边监听
                * 碰撞原因:电磁波在1km电缆的传播时延约为5微秒
                * 碰撞处理:截断二进制指数退避(以太网)
    6. 使用广播信道的以太网
    (1)以太网特点:无连接,不编号,不确认;曼彻斯特编码信号
    (2)组成
            * 星型拓扑
            * 集线器(多接口转发器)+双绞线
    (3) 以太网的MAC层
            * 硬件地址,即物理地址、MAC地址
                * 固化在适配器的ROM中的地址
                * 唯一标识符
                * IEEE的注册管理机构RA是局域网全球地址的法定管理机构
            * MAC帧格式(字段名称 长度)
                * 前同步码7+定界符1+目的地址6+源地址6+类型2+数据46~1500+FCS4
    (4)拓展的以太网
            * 物理层:使用光纤拓展主机与集线器之间的距离;多个集线器相连
            * 数据链路层
                * 使用网桥
                    * 任务:对MAC帧进行转发和过滤
                    * 内部结构:网桥连接多个以太网,每个以太网成为一个网段,在网桥中保存网段与接口对应关系(转发表)
                    * 好处:过滤通信,增大通信量;可连接不同物理层、不同MAC子层和不同速率;等
                * 透明网桥:透明指以太网上的站点看不见网桥;即插即用,自学习转发表
                * 源路由网桥:首先向目的站发送一个发现帧遍历以太网,并记录途经点返回信息;选择最佳路由;发送帧时,帧首部包含路由(源路由网桥)选择
                * 多接口网桥——以太网交换机
     
    四、 网络层
    1. 任务:多个网络通过路由器互连
    2.  网际协议IP
        * IP地址:={<网络号>,<主机号>}
    3.  地址解析协议ARP
        * IP地址解析到MAC地址
    4.  IP数据报的格式
        * 首部
        * 版本、首部长度、区分服务、总长度、标志、片偏移、生存时间、协议、首部校验和、源地址、目的地址(、可变部分)
    5.  IP层转发分组的流程
    (1)主机发送、路由转发
    (2)路由表(目的网络地址,下一跳地址):按主机所在的网络地址制作路由表
    6. 子网、超网(无分类编址CIDR)
    7. 网际控制报文协议ICMP
        * 提供差错和异常报告
        * 以IP数据报形式发送
        * 种类:ICMP差错报告报文;ICMP询问报文
    8.  路由选择算法
        * 内部网关协议
            * 路由信息协议RIP
                * 仅和相邻路由器固定时间间隔交换信息(路由表)
                * 路由表:目的网络、距离(跳数)、下一跳
                * 报文格式:首部+路由信息封装在UDP用户报中
                * 缺点:好消息传得快,坏消息传得慢
            * 开放路径优先OSPF
                * 使用链路状态协议
                * 洪泛法散播路由信息
                * 报文:封装在IP数据报中
        * 外部网关协议
            * 边界网关协议BGP
                * BGP发言人
                * 树形结构
                * 报文:封装在TCP报文中
    9. IP多播
        * 即一对多的通信
        * 主机发送一次,路由转发多次
        * 多播组的标识符:D类地址
        * 网际组管理协议IGMP
            * IGMP使多播路由器知道多播组成员信息
        * 多播路由选择协议
            * 洪泛与剪除
            * 隧道技术
            * 基于核心的发现技术
    10. 虚拟专用网VPN
        * 专用网络互连,因特网加密转发
    11. 网络地址转换NAT
        * 通过NAT路由器,专用网内的主机与因特网相连
     
    五、 运输层
    1. 任务:进程之间的通信
    2. 端口
        * 应用层各种协议进程与运输实体进行层间交互的一种地址
        * 分类:服务器端使用的端口号(熟知端口号0~1023、登记端口号1024~49151);客户端使用的端口号(49152~65535)
    3. 用户数据报协议UDP
        * 特点:无连接;尽最大努力交付(非可靠);面向报文;没有拥塞控制;首部开销小
        * 首部格式(源端口和目标端口、长度、校验和)
    4. 传输控制协议TCP
    (1)特点:面向连接;点到点;可靠交付;全双工通信;面向字节流
    (2)TCP的连接
        * TCP连接的端点:套接字socket=(IP地址:端口号)
        * TCP连接::={scoket1,socket2}
    (3)首部格式:源端口和目标端口、数据偏移、紧急URG、紧急指针、推送PSH(PuSH)、复位RST(ReSet)、(同步SYN、确认ACK、终止FIN)、窗口、校验和、选项
    (4)可靠交付的实现
        * 停止等待协议:超时重传;选择确认
        * 连续ARQ协议:滑动窗口
    (5)流量控制(发送速率控制)
        * 不要太快——窗口大小
        * 不要太慢——发送时机
    (6)拥塞控制
        * 慢开始和拥塞避免
        * 快重传和快恢复
        * 随即早期检测RED:队列最小门限;最大门限
    (7)连接管理
        * 连接建立——三次握手
        * 连接释放——四次挥手
     
    六、 应用层
    1. 任务:通信服务如何提供给应用进程
    2. 客户-服务器方式
    3. 域名系统DNS
        * 联机分布式数据库系统
        * 域名结构
        * 域名服务器:以“区”为单位
    4. 文件传输协议FTP
    5. 简单文件传输协议TFTP
    6. 远程终端协议TELNET
    7.  万维网WWW
    (1)URL:<协议>://<主机>:<端口>/<路径>
    (2)超文本传送协议HTTP
        * 默认端口号80
        * 代理服务器,万维网高速缓存
        * 报文结构
            * 分类
                * 请求报文
                    * 请求行的方法: OPTION、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT
                * 响应报文
                    * 状态行的状态码:1xx表示通知信息;2xx表示成功;3xx表示重定向;4xx表示客户差错;5xx表示服务器差错
            * 格式
                * 开始行:分为请求行、状态行
                * 首部行:说明浏览器、服务器或报文主体的信息
            * cookie
                * 记录了用户标识和用户操作
    (3)文档
        * HTML
        * 动态文档:服务器脚本
        * 活动文档:客户端脚本
    (4)信息检索
        * 全文检索
        * 分类目录
    8. 电子邮件:用户代理UA
    9. 动态主机配置协议DCHP
        * 发现报文
        * 提供报文
        * DCHP中继代理
        * 租用期
    10. 简单网络管理协议SNMP
    11. 系统调用和应用编程接口
        * 系统调用接口,又叫应用编程接口API
        * 应用程序和操作系统之间的接口
        * 应用程序启动系统调用,传递给操作系统控制执行具体任务
     
    七、网络安全
    1. 安全性威胁:被动攻击;流量分析;主动攻击;篡改、恶意程序、拒绝服务
    2. 数据加密
        * 密码编码、密码分析
        * 对称密钥密码体制:算法公开;密钥保密
        * 公钥密钥密码体制:加密密钥公开;解密密钥保密
    3. 数字签名
        * 目的:报文鉴别、报文的完整性、不可否认
    4. 鉴别
     (1) 报文鉴别
        * 每个报文都鉴别
        * 报文鉴别码MAC:已签名的报文摘要MD
    (2) 实体鉴别
        * 一次通信鉴别一次
    5. 密钥分配
        * 对称密钥的分配:密钥分配中心KDC
        * 公钥的分配:认证中心CA
     
    八、无线网络和移动网络
    九、新技术
        ### IPv6
        ### P2P
  • 相关阅读:
    使用gRPC搭建Server端与Client端
    Protocol Buffers 介绍
    测试指标
    linux命令 host-常用的分析域名查询工具
    hping3
    linux命令 iperf-网络性能测试工具
    linux命令 dig-域名查询工具
    linux arping-通过发送ARP协议报文测试网络
    linux nslookup-查询域名DNS信息的工具
    linux netstat-查看Linux中网络系统状态信息
  • 原文地址:https://www.cnblogs.com/wangxinwen/p/9519912.html
Copyright © 2011-2022 走看看