计算机网络概述
计算机网络主要由一些通用的、可编程的硬件互连而成,通过这些硬件,可以传送不同类型的数据,并且可以支持广泛和日益增长的应用
网络分类
按网络的作用范围:
- 广域网(WAN),几十到几千公里,跨省或者跨国
- 城域网(MAN),5KM-50KM,城市间
- 局域网(LAN),1KM以内,地区间
按使用者分类:
- 公用网络
- 专用网络
计算机网络概述
互联网发展史
第一阶段:单个网络(ARPANET)->第二阶段:三级结构互联网->第三阶段:多层次ISP互联网
其中单个网络(ARPANET)阶段,仅通过一个交换机连接有限的计算机设备,三级结构互联网包含主干网、地区网、校园网,第三阶段为ISP(Internet Service Provider)网络服务提供商,在中国的代表为:中国电信、中国移动、中国联通等
层次结构设计的基本原则
- 各层之间是相互独立的
- 每一层要有足够的灵活性
- 各层之间完全解耦
OSI七层模型
- 应用层,负责为计算机用户提供接口和服务
- 表示层,负责数据处理(编码解码,加密解密等)
- 会话层,负责管理(建立、维护、重连)通信会话
- 传输层,负责管理端到端的通信连接
- 网络层,数据路由(决定数据在网络的路径)
- 数据链路层,负责管理相邻节点之间的数据通信
- 物理层,数据通信的光电物理特性
TCP/IP四层模型
- 应用层,HTTP/FTP/SMTP/…等
- 传输层,TCP/UDP
- 网络层,IP/ICMP
- 网络接口层,Ethernet/ARP/RARP
计算机网络的性能指标
- 速率(bps=bit/s),100M光纤的峰值速度计算:100M/s = 100Mbps = 100Mbit/s = (100/8)MB/s = 12.5MB/s
- 时延,可以分为:发送时延、传播时延、排队时延、处理时延,发送时延=数据长度(bit)/发送速率(bit/s),传播时延=传输路径距离/传播速率(bit/s),排队时延为数据包在网络设备中等待被处理的时间,处理时延为数据包到达设备或者目的机器被处理所需要的时间
- RTT(Route-Trip Time)表示的是数据报文在端到端通信中的来回一次的时间,常见如
Ping
命令
物理层概述
物理层对应TCP/IP协议的网络接口层
物理层的作用
物理层主要是为了连接不同的物理设备,连接的介质有双绞线、同轴电缆、光纤除此之外还可以通过红外线、激光等方式无线传播,物理层传递的主要是比特流(高低电平)
信道的基本概念
信道是往一个方向传递信息的媒体,一个通信电路包含一个接收信道喝一个发送信道;通信信道分为:单工通信信道、半双工通信信道、全双工通信信道。
- 单工通信信道,只能有一个方向通信,没有反方向反馈的信道,比如有线电视,无线电收音机等。
- 半双工通信信道,双方都可以发送喝接收信息,不能双方同时发送,也不能同时接收。
- 全双工通信信道,双方都可以同时发送喝接收信息
分用-复用技术
复用技术分为频分复用、时分复用、波分复用、码分复用
数据链路层概述
数据链路层和物理层对应TCP/IP协议的网络接口层,数据链路层主要是为了解决封装成帧、透明传输、差错监测这三个问题
封装成帧
帧是数据链路层的基本单位,发送端在网络层的一段数据前后添加特定标记形成”帧”,接收端根据前后特定标记识别出”帧”
透明传输
透明在计算机领域是非常重要的一个术语,一种实际存在的事物却又看起来不存在一样,即控制字符在帧数据中,但是要当作不存在的去处理,如数据帧通常以SOH
开头以EOT
结尾,但是不排除数据中也有控制字符EOT
,这样就造成了错误帧,为了解决错误帧造成的影响,需要对数据中的控制字符进行转义处理,在数据帧中的控制字符EOT
前加一个ESC
差错监测
差错校验的方式有两种:
- 奇偶校验码,把数据流的所有位相加,奇数尾部为1,偶数尾部为0
- 循环冗余校验码CRC
一种根据传输或保存的数据而产生固定位数校验码的方法,检测数据传输或者保存后可能出现的错误,生成的数字计算出来并且附加到数据后面
最大传输单元MTU
因为数据链路层传输的数据帧也不是无限大的,而MTU(Maximum Transmission Unit)就是描述其最大能传输的数据帧,而整个链路中路径MTU由链路中MTU的最小值决定
网络层概述
网络层主要是为了解决设备之间跨多网络节点通信,在这中间起到主要作用的设备是路由器,按照IP协议,实现大规模、异构网络的互联互通
IP协议
IP协议使得复杂的实际网络变为一个虚拟互连的网络,IP协议使得网络层可以屏蔽底层细节而专注网络层的数据转发,解决了在虚拟网络中数据报传输路径的问题。IP设一个IP为:192.168.11.11
可以表示为:11000000.10101000.00001011.00001011
,这种表示方法称为点分十进制
,IP地址长度为32位,常分为4个8位,通常用点分十进制
来表示,每一位可以表示为0-255之间的数字,最大可以表示2^32(4294961296)
个IP地址。IP协议的格式:
4位版本 | 4位首部长度 | 8位服务类型(TOS) | 16位总长度(字节) |
---|---|---|---|
16位标识 | 3位标志 | 13位片偏移 | |
8位生存时间(TTL) | 8位协议 | 16位首部校验和 | |
32位源IP地址 | |||
32位目的IP地址 | |||
选项options(若有) | |||
IP数据 |
4位版本:占4位,指的是IP协议的版本,通信双方的版本必须一致,当前主流版本是4,即IPv4也有IPv6
首部位长度:占4位,最大数值为15,表示的是IP首部长度,单位是”32位字”(4个字节),也即是IP首部最大长度为60字节
总长度:占16位,最大数值为65535,表示的是IP数据报总长度(IP首部+IP数据)
TTL:占8位,表明IP数据报文在网络中的寿命,每经过一个设备,TTL减1,当TTL=0时,网络设备必须丢弃该报文
协议:占8位,表明IP数据所携带的具体数据是什么协议的(如:TCP、)比如:
| —— | —- | —- | – | — | — | —- |
| 字段值 | 1 | 2 | 4 | 6 | 17 | 89 |
首部校验和:占16位,校验IP首部是否有出错
源IP地址:发送数据报的源机器
目的IP地址:数据报要到达的地址
IP协议的转发流程
路由表:包含目的IP地址、下一跳IP地址