计算机网络Computer Network

 

1.1 协议标准化的好处

  • 应用程序通信需要协议,分为服务端程序和客户端程序(甲方乙方),是对等实体。
  • 应用层协议:为了实现应用程序的功能,要定义的通信标准。(已经标准化了的多种应用层协议对应着多种应用多种服务)
  • 好处:使不同厂家开发的服务端程序和客户端程序能够通信。

1.1.1 以HTTP协议为例理解应用层协议(应用层 Application Layer、超文本传输协议 Hyper Text Transport Protocol)

  • HTTP协议的甲方乙方分别是web服务器和浏览器
  • 该协议规定了浏览器访问网站的方法和规则
  • 定义了客户端能够向服务器发送哪些请求
  • 定义了服务器能向客户端发送那些响应
  • 定义了请求和响应报文格式

1.1.2 计算机通信使用的协议三要素(网络通信协议 network communication protocol)

  • 语法:定义每种报文的格式
  • 语义:哪些请求(方法或命令)、哪些响应、状态代码的含义
  • 同步:具有顺序要求

1.1.3 TCP/IP协议(传输控制协议 Transmission Control Protocol、互联网协议 Internet Protocol)

  • 是互联网通信的工业标准,其实是一组协议,tcp和ip是这一组协议的代表。
  • 封装和解封
  • 这些协议按功能分为应用层协议、传输层协议、网络层协议、数据链路层协议。
  • 分层的好处:各层之间相互独立。灵活性好。结构上可以分开。易于实现和维护。能促进标准化工作

1.1.4 OSI参考模型和TCP/IP协议(开放式系统互联参考模型 Open System Interconnect Reference Model)

  • OSI参考模型定义计算机通信每层的功能,不是协议
  • TCP/IP协议是具体的协议实现了OSI参考模型规定的功能

 

一、计算机网络和协议(network protocol)

1.2 计算机网络

  • 网络就是使用集线器或交换机连接起来
  • 互联网就是使用路由器将多个网络连接起来
  • 1983年诞生的因特网是最大的网络,经历了三个阶段的演进
  • 一个家庭无线拨号路由器同时具有路由器(连接网络)交换机(扩展接口)的功能

1.3 OSI参考模型

  • 分层好处:层间相互独立但向上提供服务网络设备生产标准化
TCP/IPOSI    
应用层应用层 用户交互并产生流量的  
 表示层 使用何种编码方式,加密解密、压缩解压  
 会话层 应用程序之间建立、维护和释放面向用户连接  
传输层传输层    报文端到端计算机之间建立连接,实现可靠或不可靠的数据通信,能够实现发送端和接收端的丢包重传流量控制端口号差控、流控、拥塞、可靠
网际层网络层    分组主机到主机路由选择最佳路径,不可靠,丢了则传输层重传IP差控、流控、拥塞、路选
网络接口层数据链路层 帧结点到结点将数据封装成能够在不同网络传输的帧,能进行差错检查,但不纠错,检测出错误就丢掉该帧MAC差控、流控
 物理层    比特 规定网络设备接口标准、电压标准,尽可能的通过频分复用、时分复用技术在通信链路上更快的传输数据

网卡接口

 

 

1.4 TCP/IP协议通信过程

  • Mac地址决定了数据帧下一跳由哪个设备接收
  • 目标ip地址决定了数据包最终到达那个计算机
  • 不同的数据链路层使用不同的协议,帧格式也不相同,路由器在不同网络转发数据,需要将数据包重新封装

1.6 计算机网络性能指标

  • 速率(data rate或bit rate):每秒钟传输的比特数量
  • 带宽:网路的通信线路传输数据的能力,即最高速率
  • 吞吐量:表示在单位时间内通过某个网络或接口的数据量,包括全部上传和下载的流量
    • 最大吞吐量与带宽和通信模式有关,单工、半双工、全双工
  • 时延(delay或latency):数据(一个数据包或bit)从网络的一端传送到另一端所需要的时间,总时延=以下相加
    • 发送时延transmission delay
    • 传播时延propagation delay
    • 排队时延,两次排队
    • 处理时延
  • 时延带宽积:传播时延 X 带宽,可以用来计算通信线路上有多少比特
  • 往返时间RTT(round-trip time)
  • 网络利用率

1.7 计算机网络分类

地理范围分类

  • 局域网(local area network, LAN):自己花钱买设备,带宽固定
  • 广域网(wide area network, WAN):自己花钱租带宽,带宽与费用相关,覆盖范围大
  • 城域网(metropolitan area network, MAN):覆盖城市的网络,以太网技术
  • 个人区域网(personal area network, PAN):

网络使用者分类

  • 公用网(public network):
  • 专用网(private network):为本单位的特殊业务工作的需要建立的,如军队

 

二、物理层:定义了接口标准、信号、最高传输速率

2.1物理层的基本概念

  • 物理层定义了与传输媒体的接口有关的一些特性(电气特性:电压,功能特性:01,过程特性:顺序)

2.2数据通信基础

  • 数据通信模型:局域网通信模型(集线器交换机连接,传递数字比特流,短距离一般是100米)、广域网通信模型(调制解调器把比特流与模拟信号转化增长传输距离)(光电转换设备,数字比特流与光信号转换)
  • 通信常用术语:
    • message
    • data
    • signal
    • 模拟信号(也称连续信号,波形变形很难纠正)
    • 数字信号(也称离散信号,波形失真可以修复),模拟信号转换为数字信号:采样、量化、数字化编码

2.3信道和调制

  • 信道:一发一收就是信道,多个信道可以使用同一个物理链路(信道复用技术),信道极限容量:奈氏准则:计算码元的最高传输速率2W,香农公式计算信息的极限传输速率C=Wlog2(1+S/N) b/s,信噪比=10log10(S/N)
  • 调制:经过调制的信号可以传的更远,需要解调来还原信号
    • 信源信号(基带信号)
    • 调制分类:
      • 基带调制(基带信号调成数字信号)(差分曼彻斯特编码:0跳变1不变,中间位跳变)
      • 带通调制(基带信号调成模拟信号)
        • 调幅
        • 调频
        • 调相

2.4传输技术

2.5信道复用技术

  • 频分复用(Frequency Division Multiplexing)适合于模拟信号,不同频率的信号叠加后再接收处还可以分开
  • 时分复用 数字信号
  • 波分复用 光的频分复用
  • 码分复用

2.6宽带接入技术

  • 铜线接入技术
  • 光纤同轴混合网
  • 光纤接入
  • 移动互联网

数据链路层

  1. 不同的链路有不同的帧格式
  2. 研究的是点到点(一段一段的)传输、封装、检查
  3. 以太网

4.1数据链路层的三个基本问题

  • 链路:Link,是指从一个节点到相邻节点的一段物理线路(有线或无线),而中间没有任何其他的交换节点(集线器不是交换节点)
  • 数据链路:data link则是另一个概念,因为当需要在一条线路上传送数据时,除了必须有一条物理线路外,还必须有一些必要的通信协议来控制这些数据的传输(不同的数据链路,帧格式不同,需要重新封装

封装成帧

  • 封装成帧,就是在将网络层的IP 数据报的前后分别添加首部和尾部,这样就构成了一个帧。
  • 不同的数据链路层协议的帧的首部和尾部包含的信息有明确的规定,帧的首部和尾部有帧开始符和帧结束符,称为帧定界符。接收端收到物理层传过来的数字信号读取到帧开始字符一直到帧结束字符,就认为接收到了一个完整的帧。
  • 在数据传输中出现差错时,帧定界符的作用更加明显。
  • 每一种数据链路层协议都规定了所能够传送的帧的数据部分长度的上限--即最大传输单元MTU (Maximum Transfer Unit ),以太网的MTU 为1500 个字节
  • 为了提高帧的传输效率,应当使帧的数据部分长度尽量大于首部和尾部的长度。最大传输单元MTU(Maximum Transfer Unit):帧数据部分长度上限。

透明传输

  • 帧开始符和帧结束符最好是不会出现在帧的数据部分的字符,通常我们电脑键盘能够输入的字符是ASCII 字符代码表中的可打印字符,在ASCII 字符代码表中,还有非打印控制字符,在非打印字符中有两个字符专门用来做帧定界符,代码SOH (Start Of Header )作为帧开始定界符,对应的二进制编码为00000001 ,代码EOT (End Of Transmission )作为帧结束定界符
  • 可见不管从键盘上输入什么字符都可以放在这样的帧中传输过去,因此这样的传输就是透明传输。
  • 帧开始符和帧结束符最好是不会出现在帧的数据部分的字符,当数据部分是非ASCII字符代码表的文本文件时,若其中的某一段二进制代码正好和SOH或EOT帧定界符编码一样时,接收端会误认为这就是帧的边界。需要插入转义字符(在链路传输过程中(在链路上)加入转义字符,接收端又去掉了这些字符,称作透明)

差错检验

  • 现实的通信链路都不会是理想的。这就是说,比特在传输过程中可能会产生差错:1 可能会变成0 ,而0 也可能变成1 ,这就叫做比特差错。
  • 为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。目前在数据链路层广泛使用了循环冗余检验CRC(Cyclic Redundancy Check )的差错检验技术。
  • 要想让接收端能够判断帧在传输传输过程是否出现差错,需要在传输的帧中包含用于检测错误的信息,这部分信息就称为帧校验序列FCS (Frame Check Sequence )。
  • CRC循环冗余Cyclic Redundancy Check 
    • (要得到几位帧校验序列就在后面加几个0,除数比帧校验序列多一个0,得到的结果从后向前取所需位数,相同写0不同写1),若(商+余数)/帧校验序列 有余数表示出错了
    • 首先在要校验的二进制数据M=101001 后面添加n 位0 ,再除以收发双方事先商定好的n+1 位的除数P ,得出的商是Q ,而余数是R (n 位,比除数少一位),这个n 位余数R 就是计算出的FCS。 
    • 假如要得到3 位帧校验序列,就要在M 后面添加3 个0 ,就成为101001000 ,假定事先商定好的除数P=1101 (4 位),如图4-10 所示,做完除法运算后余数是001 ,001 将会添加到帧的尾部作为帧校验序列
      FCS ,得到商Q=110101

4.2点到点信道的数据链路

  • 一条链路上就一个发送端和接收端的信道(广域网)
  • ppp协议
    • 简单:不提供可靠传输
    • 封装成帧:首部和尾部 帧开始符结束符
    • 透明传输:加转义字符,收到后去掉转义字符
    • 差错检测:CRC计算FCS
    • 支持多种网络层协议:ipv4和ipv6网络层协议都可以封装到ppp帧中
    • 多种类型链路:光纤、铜线、同步异步传输、串行并行链路均可
    • 同步传输:以帧为单位传输(ppp协议使用0比特填充)异步传输:字节为单位传输(ppp协议使用字符填充

4.3广播信道的数据链路:使用这种机制的都是以太网

  • 广播信道局域网--总线型:在广播信道实现点到点通信需要给帧添加地址,并且要冲突检测
  • 广播信道的以太网:要使用CSMA/CD机制,且每个设备都要有Mac地址
  • 广播信道局域网--星型:(集线器连接的)

4.4扩展以太网

  • 以太网(Ethernet)是一种计算机局域网组网技术
  • 以太网最短帧与带宽和线长度(可求往返时间),RTT*带宽可求最短帧长
  • 以太网解决冲突:退避算法
    • 想要知道是否碰撞必须等待2τ(争用期)
    • 选随机数再开始(10与16为节点)

  • 使用网桥优化以太网,对于网络中的计算机是没有感觉的,也就是以太网中的计算机是不知道网络中有网桥存在,也不需要网络管理员配置网桥的MAC 地址表,因此我们称网桥是透明桥接。
  • 网桥接入以太网时,MAC 地址表示空的,网桥会在计算机通信过程中自动构建MAC 地址表,这称为“自学习”。
    • 自学习:网桥的接口收到一个帧,就要检查MAC 地址表中与收到的帧源MAC 地址有无匹配的项目,如果没有,就在MAC 地表中添加该接口和该帧的源MAC 地址对应关系以及进入接口的时间,如果有,则把原有的项目进行更新。
    • 转发帧:网桥接口收到一个帧,就检查MAC 地址表中有没有该帧目标MAC 地址对应端口,如果有,就会将该帧转发到对应的端口,如果没有,则将该帧转发到全部端口(接收端口除外)。 

  •  使用交换机组网与集线器组网相比有以下特点 :
    • 独享带宽:交换机的每个端口独享带宽,10M 交换机,则每个端口带宽是10M ,24 口10M 交换机,交换机的总体交换能力是240M ,这和集线器不同。
    • 安全:使用交换机组建的网络比集线器安全,比如计算机A 给计算机B 发送的帧,以及计算机D 给计算机C 发送的帧,交换机根据MAC 地址表只转发到目标端口,E 计算机根本收不到其他计算机的通信的数字信号,即便安装了抓包工具也没用。
    • 全双工通信:交换机接口和计算机直接相连,计算机和交换机之间的链路可以使用全双工通信。
    • 全双工不再使用CSMA/CD 协议:用交换机接口和计算机直接相连接,使用全双工通信数据链路层就不需要使用CSMA/CD 协议,但我们还是称交换机组建的网络是以太网,是因为帧格式和以太网一样。

4.5高速以太网

百兆网千兆网万兆网(10吉比特以太网)

 

网络层

IP地址与子网划分

  • mac地址的作用:决定了该数据包下一跳由哪个设备接收,不一定是终点
  • IP地址决定了数据包最终到达哪一个计算机(如果没有路由器只用交换机将所有计算机相连,要想得到远程计算机的mac地址需要通过ARP广播来得到,采用交换机相连是会造成非常大的广播流量,需要用路由器阻隔把广播限制在一定范围内,而路由器是基于ip地址来转发的,路由器的作用就是在不同网段转发数据包,路由器接口地址一般使用网关(本网段路由器的ip地址)中的第一个或最后一个地址,避免冲突

  •  IP地址的组成:一部分为网络标识,一部分为主机标识,同一网段的计算机网络部分相同,路由器连接不同网段,负责不同网段之间的数据转发,交换机连接的是同一网段的计算机。
  • 计算机在和其他计算机通信之前,首先要判断目标IP地地址和自己的IP 地址是否在一个网段,这决定了数据链层的目标MAC 地址是目标计算机的还是路由器接口的MAC地址。
  • 子网掩码:也称网络掩码、地址掩码,是一种用来指明一个IP地址的哪些位标识的是主机所在的子网以及哪些位标识的是主机的位掩码。子网掩码只有一个作用,就是将某个IP地址划分为网络地址和主机地址两部分(将IP地址与子网掩码做与运算可以得到自己所在的网段,若在同一网段则ARP广播可以找到mac否则需要通过路由器转发)
  • 同一个网段的中的计算机子网掩码相同,计算机的网关就就是到其他网段的出口,也就是路由器接口地址。路由器接口使用的地址可以是本网段中任何一个地址,不过通常使用该网段的第一个可用的地址或最后一个可用的地址,这是为了尽可能避免和网络中的计算机地址冲突。

  • IP地址分类:

A类地址:特点:32位中最高位为0,1-126(127作为保留网段,本地还回地址),默认前八位为网络号,256*256*256个IP地址可用,还要减去2(全0表示网段,全1代表广播地址)

B类地址:特点:32位中前两位为10,128-191,默认前十六位为网络地址,256*256-2个可用地址(全0全1不可用)

C类地址:特点:32位中前三位为110,192-223,默认前二十四位为网络地址,256-2个可用地址

D类地址:特点:1110,224-239,多播(也称组播)的地址,多播地址没有子网掩码

  • 保留的IP地址:

全0:特指某个网段

全1:特指该网段的全部主机

127.0.0.1:本地还回地址,指本机地址,一般用来测试

169.254.0.0:169.254.0.0-169.254.255.255是自动私有IP地址(临时地址)

0.0.0.0:如果本机IP地址与网络中其他主机地址冲突,使用ipconfig命令看到的就是0.0.0.0,子网掩码也是0.0.0.0

 

公网地址:统一安排的。

私网地址:访问Internet需要NAT或PAT,把私有转为公有

A类:10.0.0.0 255.0.0.0,保留了一个A类网络

B类:172.16.0.0 255.255.0.0 -- 172.31.0.0 255.255.0.0,保留了16个B类网络

C类:192.168.0.0 255.255.255.0 --192.168.255.0 255.255.255.0,保留了256个C类网络

  • 子网划分:
    • 原因:公网地址不够用了,避免浪费
    • 等长子网划分:将一个网段等分成多个网段,也就是等分成多个子网
      • 确定子网掩码的长度
      • 确定子网中第一个和最后一个可用的IP地址

 

 

变长子网划分

  • 点到点网络的子网掩码:255.255.255.252(2个地址)
  • 子网掩码另一种表示方法-CIDR(无类域间路由Classless Inter-Domain Routing)
  • 合并网段,子网掩码前移一位(划分子网,后移一位)
  • 判断连续的2 个网段是否能够合并,只要第一个网络号能被2 整除,就能够通过左移1位子网掩码合并。判断连续的4 个网段是否能够合并,只要最小的网络号能被4 整除,就能够通过左移2 位子网掩码合并将这4 个网段合并。依次类推,要想判断连续的8 个网段是否能够合并,只要最小网络号能被8 整除,这8 个连续的网段就能够通过左移3位子网掩码合并。
  • 判断一个网段到底是子网还是超网,就要看该网段是A 类网络、还是B 类网络、还是C 类网络,默认A 类子网掩码/8 ,B类 类子网掩码是/16 ,C 类子网掩码是/24。 如果该网段的子网掩码比默认子网掩码长,就是子网,如果该网段的子网掩码比默认子网掩码短,则是超网。

 

 

静态与动态路由

  •  网络层功能就是给传输层协议提供简单灵活的、无连接的、尽最大努力交付的数据包服务,网络层功能是网络中路由器来实现的,为每个IP数据包单独选择转发路径。通俗一点来讲,网络中的路由器为每一个数据包单独的选择转发路径,网络层不提供服务质量的承诺 。也就说路由器直接丢弃传输过程中出错的数据包,如果网络中待发的数据包太多,路由器处理不了就直接丢弃,路由器也不判断数据包是否重复,也不确保数据包按发送顺序到达终点。数据包在传输层排序重组重传保证可靠传输
  • 静态路由:要想实现全网通信,也就是网络中的任意两个节点都能通信,这就要求每个路由器的路由表中必须有到所有网段的路由。对于路由器来说,它只知道自己直连的网段,对于没有直连的网段,需要管理员人工添加到这些网段的路由。管理员人工添加到某个网段如何转发,就是静态路由。(路由器只关心到某个网段如何转发数据包,因此我们在路由器上添加路由,必须是到某个网段(子网)的路由,不能添加到某个特定地址的路由。以下命令试图添加到一个IP 地址的路由,路由器报错。R1(config)#ip route 192.168.1.3 255.255.255.0 172.16.0.2%Inconsistent address and mask -- 错误的地址和子网掩码如果你就想让路由器转发到一个IP 地址的路由,子网掩码要写成四个255 ,这就意味着IP 地址的32 位二进制是全部的网络位,该网段中就这一个地址。R1(config)#ip route 192.168.1.3 255.255.255.255 172.16.0.2
  • 路由汇总简化路由表:Internet 是全球最大的互联网,如果Internet 上的路由器把全球所有的网段都添加到路由表,那将是一个非常庞大的路由表。路由器每转发一个数据包,都要检查路由表为该数据包选择转发接口,庞大的路由表势必会增加处理时延。通过合理的地址规划,可以 通过路由汇总简化路由表 。将物理位置连续的网络分配地址连续的网段,就可以在边界路由器上将远程的网络合并成一条路由,这就是路由汇总。
  • 默认路由简化路由表:如果想让一个网段包括全部的IP 地址,这就要求子网掩码短到极限,最短就是0 ,子网掩码变成了0.0.0.0 ,这就意味着该网段的32
    位二进制的IP 地址都是主机位,任何一个地址都属于该网段。因此0.0.0.0  子网掩码0.0.0.0 网段包括了全球所有IPv4 地址,也就是全球最大的网段,换一种写法就是0.0.0.0/0。 在路由器上添加添加到0.0.0.0 0.0.0.0 网段的路由,就是默认路由。任何一个目标地址都与默认路由匹配,根据前面讲的“最长前缀
    匹配”算法,默认路由是在路由器没有为数据包找到更为精确匹配的路由,最后匹配的一条路由。
    默认路由可能造成往复转发。让默认路由代替大多数网段
  • 默认路由与路由汇总可以结合使用简化路由表
  • 计算机的网关其实就是默认路由,如果不设置网关,则只能和本网段的计算机通信
  • 动态路由
    • RIP:
      • 路由信息协议RIP (Routing Information Protocol )是一个真正
        距离矢量路由选择协议。
      • 每隔30 秒就送出自己完整的路由表所有激活的接口。
      • RIP 协议选择最佳路径的标准就是跳数,认为到达目标网络经过的路由器最少的路径就是最佳路径。
      • 默认它所允许的最大跳数为15 跳,也就是说16 跳的距离将被认为是不可达的。
      • 小型网络中,RIP 会运转良好,但是对于使用慢速WAN 连接的大型网络或者安装有大量路由器的网络来说,它的效率就很低了 
    • OSPF:
      • OSPF术语:
        • Router-ID:网络中运行OSPF 协议的路由器都要有一个唯一的标识,这就是Router-ID ,并且Router-ID 在网络中绝对不可以有重复 。
        • COST (开销):OSPF 协议选择最佳路径的标准是带宽,带宽越高计算出来的开销越低。到达目标网络的各个链路累计开销最低的,就是最佳路径。
        • 链路(Link) :就是路由器上的接口,在这里,应该指运行在OSPF 进程下的接口。
        • 链路状态(Link-State) : 链路状态(LSA)就是OSPF 接口上的描述信息,例如接口上的IP 地址,子网掩码,网络类型,Cost 值等等,OSPF 路由器之间交换的并不是路由表,而是链路状态(LSA)  。
        • 邻居(Neighbor) :OSPF 只有邻接状态才会交换LSA。 
      • 运行OSPF 协议的路由器有3 张表,(问候数据包)邻居表、(描述数据包和链路状态请求、更新、确认数据包)链路状态表和路由表。
      • OSPF支持多区域,划分区域的好处就是把利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个自治系统,这就减少了整个网络上的通信量。在一个区域内部的路由器只知道本区域的完整网络拓扑,而不需知道其他区域的网络拓扑的情况。
      • OSPF的5种报文:
        • 问候(Hello )数据包,发现并建立邻接关系。
        • 数据库描述(Database Description )数据包,向邻居给出自己的链路状态数据库中的所有链路状态项目的摘要信息
        • 链路状态请求(Link State Request ,LSR )数据包,向对方请求某些链路状态项目的完整信息
        • 链路状态更新(Link State Update ,LSU )数据包,用洪泛法全网更新链路状态。这种数据包是最复杂的,也是OSPF 协议最核心的部分。路由器使用这种数据包将其链路状态通知给相邻路由器。在OSPF 中,只有LSU 需要显示确认。
        • 链路状态确认(Link State Acknowledgement ,LSAck )数
          据包,对LSU做确认。

网络层协议

  • 网络层首部:
    • IP 数据包首部的格式能够说明IP协议都具有什么功能。由首部和数据两部分组成。前一部分是必须有的固定长度:20个字节,后面是可选字段,长度可变。
    • 区分服务: 占8 位,配置计算机给特定应用程序的数据包添加一个标志,然后再配置网络中的路由器优先转发这些带标志的数据包,在网络带宽比较紧张的情况下,也能确保这种应用的带宽有保障,这就是区分服务,为这种服务确保服务质量(Qualityof Service ,QoS )
    • 总长度:指IP 首部和数据之和,也就是数据包的长度,单位为字节。总长度字段为16 位,因此数据包的最大长度为2^16 -1=65535 字节。实际上传输这样长的数据包在现实中是极少遇到的。
    • 标识(identification) :占16 位。IP 软件在存储器中维持一个计数器,每产生一个数据包,计数器就加1 ,并将此值赋给标识字段。但这个“标识”并不是序号,因为IP 是无连接服务,数据包不存在按序接收的问题。当数据包由于长度超过网络的MTU 而必须分片时,同一个数据包被分成多个片,这些片的标识都一样,也就是数据包这个标识字段的值就被复制到所有的数据包分片的标识字段中。相同的标识字段的值使分片后的各数据包片最后能正确地重装成为原来的数据包。
    • 标志(flag) :占3 位,但目前只有两位有意义。标志字段中的最低位记为MF(More Fragment )。MF=1 即表示后面“还有分片”的数据包。MF=0 表示这己是若干数据包片中的最后一个。标志字段中间的一位记为DF(Don’t Fragment ),意思是“不能分片”。只有当DF=0 时才一允许分片。还有没有分片?不允许分片吗?
    • 片偏移:占13 位。片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。也就是说,相对于用户数据字段的起点,该片从何处开始。片偏移以8 个字节为偏移单位。这就是说,每个分片的长度一定是8 字节(64 位)的整数倍。
    • 生存时间  :生存时间字段常用的英文缩写是TTL (TimeTo Live ),表明是数据包在网络中的寿命。 现在TTL 字段的功能改为“跳数限制” 。一个路由器在转发数据包之前将该数据包的TTL 减1 ,如果减1 后TTL变为0 ,路由器就会丢弃该数据包,然后产生一个ICMP 响应数据包给发送者,说明TTL 耗尽。通过这种方式,你能够知道到达目标地址经过哪些路由器。
    • 协议 :占8 位,协议字段指出此数据包携带的数据是使用何种协议,以便使目的主机的网络层知道应将数据部分上交给哪个处理过程。
    • 首部检验和:16 位,这个字段只检验数据报的首部,但不包括数据部分。这是因为数据报每经过一个路由器,路由器都要重新计算一下首部检验和(一些字段,如生存时间、标志、片偏移等都可能发生变化)。不检验数据部分可减少计算的工作量。

 

  • ICMP协议
    •  ICMP 协议是TCP/IP 协议栈中的网络层的一个协议,ICMP (Internet Control Message Protocol )Internet 控制报文协议用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
    • ICMP 报文是在IP 数据报内部被传输的,它封装在IP 数据报内。ICMP 报文通常被IP 层或更层协议(TCP 或UDP )使用。一些ICMP报文把差错报文返回给用户进程。
    • ICMP报文分为:
      • ICMP请求报文
      • ICMP响应报文
      • ICMP差错报告报文
  • ARP协议:将计算机的IP地址解析成MAC地址(DNS把域名解析为ip地址)
    • (114.114.114.114
        114.114.114.114是国内移动、电信和联通通用的DNS,手机和电脑端都可以使用,干净无广告,解析成功率相对来说更高,国内用户使用的比较多,而且速度相对快、稳定,是国内用户上网常用的DNS
          8.8.8.8
        8.8.8.8是GOOGLE公司提供的DNS,该地址是全球通用的,相对来说,更适合国外以及访问国外网站的用户使用)
    • 在路由器上查看接口缓存的MAC地址:R1#show arp

  • D类:组播地址,范围是224.0.0.0-239.255.255.255,每一个D类地址标志一个多播组,使用UDP
    • 多播地址只能用于目的地址,不能用于源地址
    • D类地址中有一些不能随意使用,因为有的地址已经被指派为永久组地址了
    • 在发送多播视频时,目标IP地址是多播地址,目标MAC地址(组播MAC地址使用组播IP地址构造,可以相同)
    • IGMP组播管理协议:跨网段的话要运行IGMP协议,路由器要查看网络中有哪些计算机加入了某个组播地址,还有当计算机绑上了组播地址还要使用iGMP协议发一个数据包说明要加入哪一个组播,路由器收到后就会向上一个路由器要这个组播数据包。计算机加入组播时发一个包通告出去,离开组播也会发一个报告。

传输层

  • 介于网络层和应用层,实现计算机通讯的可靠传输。

8.1传输层的两个协议

  • TCP(transmission control protocol 传输控制协议)
  • UDP(user datagram protocol 用户数据报协议)
  • 传输层协议与应用层协议的关系:传输层协议+端口来区分应用层协议
  • 服务与端口的关系:通过数据包中的目标端口来定位(访问)某一个服务,每个服务侦听自己对应的端口
 应用场景
TCP传输内容需要分多个数据包传输(会分段编号,流控拥避可靠传输),客户端服务器端需要建立TCP连接(协商参数:是否选择性确认,支持的最大报文)通信结束需要释放连接
UDP传输内容不分段,不流控,传输成功与否由应用层判断,不需要建立连接,节省服务器资源。实时语音和视频、多播使用UDP协议

8.2用户数据报协议UDP 

  • 无连接,因此减少了时延
  • 不保证可靠交付,因此不需要维持复杂的连接状态表,通信两端不用保持连接,因此节省系统资源
  • 是面向报文的,UDP对应用层交下来的报文既不合并也不拆分而是保留报文的边界
  • 没有拥塞控制,强调实时性
  • UDP支持一对一,一对多(多播),多对一和多对多的交互通信
  • 首部开销小,只有8个字节,TCP有20个字节

8.3传输控制协议TCP

  1. 必须建立后释放TCP连接,每条TCP连接只能是点对点的
  2. 提供全双工通信,允许通信双方的应用进程在任何时候都能发送数据(TCP连接的两端都设有发送缓存和接收缓存)
  3. 面向字节流。TCP 中的“流”(steam )指的是流入到进程或从进程流出的字节序列。

  1. 源端口和目的端口各占2 个字节,分别写入源端口号和目的端口号。和前面图所示的UDP 的分用相似,TCP 的分用功能也是通过端口实现的。
  2. 序号占4 字节。序号范围是[0 ,2 32 -1] ,共2 32 (即4 294967 296 )个序号。序号增加到2 32 -1 后,下一个序号就又回到0 。TCP 是面向字节流的。在一个TCP 连接中传送的字节流中的每一个字节都按顺序编号
  3. 确认号 占 占4 字节,是期望收到对方下一个报文段的第一个数据字节的序号。
    1. TCP 协议能够实现可靠传输,接收方收到几个数据包后,就会给发送方一个确认数据包,告诉发送方下一个数据包该发第多少个字节了。
    2. 若确认号是N ,则表明:到序号N-1 为止的所有数据都已正确收到。
  4. 数据偏移占4 位,它指出TCP 报文段的数据起始处距离TCP报文段的起始处有多远。这个字段实际上是指出TCP 报文段的首部长度。由于首部中还有长度不确定的选项字段,因此数据偏移字段是必要的。但请注意,“数据偏移”的单位为4 字节,由于4位二进制数能够表示的最大十进制数字是15 ,因此数据偏移的最大值是60 字节,这也是TCP 首部的最大长度,这也就意味着选项长度不能超过40
  5. 保留占6 位,保留为今后使用,但目前应置为0。 
  6. 紧急URG (URGent) 当URG=l 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据 ) ,而不要按原来的排队顺序来传送。
  7. 确认ACK (ACKnowlegment) )  仅当ACK=1 时确认号字段才有效。当ACK=0 时,确认号无效。TCP 规定,在连接建立后所有传送的报文段都必须把ACK 置1。 
  8. 推送PSH (PuSH) )  当两个应用进程进行交互式的通信时,有时在一端的应用进程希望在键入一个命令后立即就能够收到对方的响应。
  9. 复位RST (ReSeT) ) 当 当RST=l 时,表明TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。
  10. 同步SYN (SYNchronization) )  在连接建立时用来同步序号。当SYN=1 而ACK=0 时,表明这是一个连接请求报文段。对方若同意建立连接,则应在响应的报文段中使SYN=1 和ACK=1 。因此,SYN置为1 就表示这是一个连接请求或连接接受报文。
  11. 终止FIN (FINish 意思是“完”、“终”)  用来释放一个连接。当FIN=1 时,表明此报文段的发送方的数据己发送完毕,并要求释放传输连接。
  12. 窗口 占2 字节。窗口值是[0 ,2 16 -1] 之间的整数。TCP 协议有流量控制功能,窗口值告诉对方:从本报文段首部中的确认号算起,接收方目前允许对方发送的数据量(单位是字节)。
  13. 检验和 占 占2 字节。检验和字段检验的范围包括首部和数据这两部分。和UDP 用户数据报一样,在计算检验和时,要在TCP报 报文段的前面加上12 字节的伪首部。
  14. 紧急指针 占 占2 字节。紧急指针仅在URG=1 时才有意义,它指出本报文段中的紧急数据的字节数(紧急数据结束后就是普通数据)。因此紧急指针指出了紧急数据的末尾在报文段中的位置。
  15. 选项  长度可变,最长可达40 个字节。当没有使用选项时,TCP 的首部长度是20 字节。TCP 最初只规定了一种选项,即最大报文段长度MSS (Maximum Segment Size)

8.4可靠传输

  1. 停止等待协议
  2. 改进的停等协议:连续ARQ协议和滑动窗口协议
  3. 改进的确认:选择确认(SACK)        TCP 通信时,如果发送序列中间某个数据包丢失,TCP 会通过重传最后确认的分组后续的分组,这样原先已经正确传输的分组也可能重复发送,降低了TCP 性能。为改善这种情况,发展出SACK (Selective Acknowledgment ,选择确认)技术,使TCP 只重新发送丢失的包,不用发送后续所有的分组,而且提供相应机制使接收方能告诉发送方哪些数据丢失,哪些数据已经提前收到等。

8.5流量控制

  1. 客户端建立TCP连接告诉发送方接收窗口
  2. 确认数据包中win用来调整发送端窗口大小

8.6拥塞控制

  • 拥塞控制算法:
    • 慢开始:速度指数增长
    • 拥塞避免算法:
    • 慢开始算法到慢开始门限初始值开始第一次拥塞避免:加法增大,出现网络拥塞(有丢包情况)慢开始门限值乘法减小(原门限值的一半作为新门限值),又慢开始指数增长直到新的门限值,开始第二次拥塞避免加法增大
  • 改进的拥塞控制
    • 快重传:首先要求接收方每收到一个失序的分组后就立即发出重复确认(为的是使发送方及早知道有分组没有到达对方)而不要等待自己发送数据时才进行捎带确认。快重传算法规定,发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段M3 ,而不必继续等待为M3 设置的重传计时器到期。
    • 快恢复
  • 发送方的窗口的上限值应当取为接收方窗口rwnd 和拥塞窗口cwnd 这两个变量中较小的一个,也就是说:发送方窗口的上限值 = Min [rwnd ,cwnd] 
    • 拥塞窗口设定发送端的发送窗口(拥塞控制)
    • 接收窗口设定发送端的发送窗口(流量控制)

8.7TCP连接管理

  • 三次握手才建立连接
    • tcp连接请求:SYN=1 ACK=0    tcp连接确认: SYN=1 ACK=0
    • 确认的确认、传输数据的tcp数据包的SYN都=0
  • 四次握手断开连接

 

应用层

9.1域名系统DNS(domain name system)

  • 作用:将域名解析成IP地址
  • 域名的结构:一个域名下可以有多个主机,域名全球唯一,主机名+ 域名肯定也是全球唯一的,主机名+ 域名称为完全限定域名(FQDN )。FQDN 是Fully Qualified Domain Name 的缩写,  含义是完整的域名。例如,一台机器主机名(hostname )是www,  域名后缀(domain )是51cto.com,  那么该主机的FQDN 应该是www.51cto.com
  • 域名的层次结构

 

 

  • 域名解析过程:
    • 情况1:权威应答:找对DNS服务器了
    • 情况2:非权威应答:询问的DNS服务器找不到,询问根(根据根提示),根服务器会返回一个地址,不断地找,本地不在的话就会返回一个地址。然后计算机和DNS服务器都会缓存下来这个地址,免得下次再费周折。
    • 找不到就找根

9.2动态主机配置协议DHCP

  • 静态地址使用场景:服务器静态地址、不怎么移动的台式机(机房)
  • 动态地址使用场景:移动设备、无线设备、ADSL拨号
  • DHCP租约:时间过一半时找原来的DHCP服务器续约,75%找原来的的续约,未成功则发广播请求地址,100%时释放地址生成169.254.0.0网段的一个地址

9.3Telnet协议:简单远程终端协议

9.4远程桌面协议RDP

9.5超级文本传输协议HTTP

9.6文件传输协议FTP

9.7电子邮件

 

网络安全

  • 安全包括:数据安全、应用程序安全、操作系统安全、网络安全、物理安全、用户安全教育

网络安全

 网络安全问题概述

  • 网络通信面临四种威胁
    • 截获:被动攻击,从网络上窃听他人的通信内容
    • 中断:有意中断他人在网络上的通信
    • 篡改:故意篡改网络上传送的报文
    • 伪造:伪造信息在网络上传送
  • 恶意程序:(rogue program)
    • 计算机病毒:会“传染”其他程序的程序,通过修改其他程序来把自身或其变种复制进去完成的
    • 计算机蠕虫:(消耗系统资源,cpu内存)通过网络的通信功能将自身从一个节点发送到另一个节点并启动运行
    • 特洛伊木马:一种程序,执行功能超出所声称的功能
    • 逻辑炸弹:一种当运行环境满足某种特定条件时执行其他特殊功能的程序

两类密码体制

  • 对称加密:优点:效率高   缺点:秘钥不适合在网上传输(不安全),秘钥维护麻烦
  • 非对称加密:加密秘钥和解密秘钥是不同的,秘钥对分为公钥和私钥,用法:公钥加密,私钥解密 或者反之。必须成对使用。公钥与私钥有联系,但不可相互推出。
    • 非对称加密细节:提高效率:用对称加密文件,用公钥解密对称加密的秘钥,可提高效率

数字签名

  • 防止抵赖,能够检查签名之后内容是否被更改 

因特网使用的安全协议

  • 安全套接字SSL:
  • 网络层安全IPSec

链路加密与端到端加密

防火墙

 

 

 

10 IPV6

为什么需要ipv6

  • 互联网技术迅猛发展,互联网出 现安全性不高、路由表过度膨胀,特别是ipv4地址匮乏的现象
  • 随着互联网的发展各种移动通信设备、未来电子电器设备对IP地址的巨大需求,ipv4的42亿个地址空间是根本无法满足要求的
  • 相对ipv4的改进
    • 扩展的地址空间和结构化的路由层次
    • 简化了报头格式
    • 即插即用
    • 安全性IPSec,提供IP层的安全性
    • QoS能力
    • 改进的多点寻址方案
    • 定义了一种新的群通信地址方式Anycast
    • 可移动性

ipv6地址体系

ipv6下的计算机IP地址配置方式

ipv6的静态路由和动态路由

ipv6和Ipv4的共存技术

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值