计算机网络是将地理位置不同,且有独立功能的多个计算机系统利用通信设备和线路互相连接起来,且以功能完善的网络软件(包括网络通信协议、网络操作系统等)实现网络资源共享的系统
特点:
主要功能:
数据通信:例如电子邮件,发布新闻等等
资源共享:硬件资源共享:例如网络打印机等;软件资源共享:例如FTP,网上影院等
进行数据信息的集中和综合处理
负载均衡,相互协作:例如Client/Server模式,协同式计算等
提高了计算机的可靠性和可用性:资料备份,分布式存储等
分布式处理:大型问题协作求解等
按照分布范围划分,计算机网络分为:
按照信息交换方式划分:
按照通信介质划分:
按拓扑结构划分:
TCP/IP 模型的最低层,负责接收从网络层交来的 IP 数据报并将 IP 数据报通过底层物理网络发送出去,或者从底层物理网络上接收物理帧,抽出 IP 数据报,交给网络层
负责独立地将分组从源主机送往目的主机,涉及为分组提供最佳路径的选择和交换功能,并使这一过程与它们所经过的路径和网络无关
在源结点和目的结点的两个对等实体间提供可靠的端到端的数据通信。为保证数据传输的可靠性,传输层协议也提供了确认、差错控制和流量控制等机制。传输层从应用层接收数据,并且在必要的时候把它分成较小的单元,传递给网络层,并确保到达对方的各段信息正确无误
涉及为用户提供网络应用,并为这些应用提供网络支撑服务,把用户的数据发送到低层,为应用程序提供网络接口
有关物理设备通过物理媒体进行互连的描述和规定;
以比特流的方式传送数据,物理层识别 0 和 1;
定义了接口的机械特性、电气特性、功能特性和规程特性
负责通过物理层在两台计算机之间无差错地传输数据帧;
允许网络层通过网络连接进行虚拟无差错地传输;
实现点对点的连接
负责寻址,将 IP 地址转换为 MAC 地址;
选择合适的路径并转发数据包;
能协调发送、传输及接收设备的能力不平衡
保证不同子网的设备间数据包可靠、顺序、无错传输;
实现端到端的连接;
将收到的乱序数据包重新排序,并验证所有的分组是否都已收到
向表示层或会话用户提供会话服务;
在两结点间建立、维护和释放面向用户的连接;
对会话进行管理和控制,保证会话数据可靠传送
负责不同的数据格式之间进行转换;
负责数据的加密;
负责文件的压缩
提供各种网络服务
OSI 模型各层次对应的关系:
由此可以得出,TCP/IP 参考模型各层次对应的主要设备:
网络设备 | 对应层数 |
---|---|
中继器、hub、集线器 | 物理层 |
网桥、交换机 | 数据链路层 |
路由器 | 网络层 |
数据单位:
局域网(local area network),简称 LAN,是处于同一建筑、同一大学或者方圆几公里远地域内专用网络。局域网常被用于连接公司办公室或工厂里的个人计算机和工作站,以便共享资源(如打印机)和交换信息
有以下特征:
网络覆盖范围小
数据传输速率高,误码率低
结构简单
以中央节点为中心,把若干个外围节点连接起来的辐射是互连结构,中央结点对各设备间的通信和信息交换进行集中控制和管理
优点:
缺点:
各节点通过一条首尾相连的通信线路连接起来形成一个封闭的环
优点:
缺点:
用一根总线连接个节点的设备。网络中的各界点通过总线进行信息传输。作为总线的通信线路可以是同轴电缆,也可以是光纤等
优点:
缺点:
优点:
易于扩展
故障隔离方便
缺点:
优点:
故障诊断和隔离方便
易于扩展
安装电缆方便
缺点:
需要智能的集中器
安装不方便
优点:
结点间路径多
可靠性高
网络扩充比较灵活、简单
缺点:
网络关系复杂
建网和网络控制机制复杂
局域网 IEEE 802 标准:
IEEE 802 系列标准是 IEEE 802 LAN/MAN 标准委会制定的局域网、城域网技术标准。其中最广泛使用的有以太网、令牌环、无线局域网等。这一系列标准中的每一个子标准都由委员会中的一个专门工作组负责
IEEE 802 标准所描述的局域网参考模型只对应 OSI 参考模型的数据链路层与物理层,它将数据链路层划分为逻辑链路层 LLC 子层和介质访问控制 MAC 子层
数据链路层分为:
各自动能:
层数名 | 作用 |
---|---|
逻辑链路控制层 | LLC 层负责数据帧的封装和拆除。提供面向连接和非连接的服务 |
介质访问控制层 | MAC 层负责控制对传输介质的访问,帧的寻址,识别 |
物理层 | 以比特流的方式传送数据,物理层识别 0 和 1;定义了接口的机械特性、电气特性、功能特性和规程特性 |
以太网交换机(以下简称交换机)是工作在 OSI 参考模型数据链路层的设备,外表和集线器相似。它通过判断数据帧的目的 MAC 地址,从而将帧从合适的端口发送出去。交换机的冲突域仅局限于交换机的一个端口上。例如,一个站点向网络发送数据,集线器将会向所有端口转发,而交换机则通过对帧的识别,只将帧单点转发到目的地址对应的端口,而不是向所有端口转发,从而有效地提高了网络的可利用带宽。以太网交换机实现数据帧的单点转发是通过 MAC 地址的学习和维护更新机制实现的。以太网交换机的主要功能包括 MAC 地址的学习、帧的转发及过滤和避免回路
转发数据帧时遵循的规则(即规则):
ARP:Address Resolution Protocol,地址解析协议
功能:将 IP 地址转换为物理地址(MAC 地址)
RARP:Reverse Address Resolution Protocal,逆地址解析协议
功能:允许局域网的物理机器从网关服务器的 ARP 表或缓存上请求 IP 地址
ICMP是 Internet Control Message Protocol,因特网控制消息协议
功能:用来检测网络,发现路由、阻塞、服务质量等问题
应用实例:
ping
命令:通过发送数据包并接受应答信息,用来检测两台计算机之间的网络是否连通CSMA/CD 的中文翻译是"带冲突检测的载波监听多路访问"
其工作原理是:
简述工作原理:
先听后发,边听边发,冲突停止随机延时后重发
竞争机制,较轻负荷下效率高,不适用实时传输
工作示意图:
VLAN 的优点:
VLAN 的组网方式:
传统以太网的冲突域问题——采用了交换机来对网段进行逻辑划分。交换机虽然能解决冲突域问题,却不能克服广播域问题——虚拟局域网的出现
虚拟局域网(VLAN,Virtual Local Area Network)是以局域网交换机为基础,通过交换机软件实现根据功能、部门、应用等因素将设备或用户组成虚拟工作组或逻辑网段的技术
实验目的:通过两个交换机的VLAN划分分割同一子网的不同机器。
配置方法如下:
主机 | IP地址 | 子网掩码 | 网关 |
---|---|---|---|
PC0 | 192.168.1.10 | 255.255.255.0 | 不需要配置 |
PC1 | 192.168.1.20 | 255.255.255.0 | |
PC2 | 192.168.1.30 | 255.255.255.0 | |
PC3 | 192.168.1.40 | 255.255.255.0 |
默认情况下四台机器皆能连通
现在要实现 PC0 与 PC2 之间连通,PC1 与 PC3 之间连通,其余机器之间不连通,所以可配置 VLAN 如下:
交换机 | 端口 | VLAN号 |
---|---|---|
Switch0 | 0/0 | 10 |
Switch0 | 1/0 | 20 |
Switch1 | 0/0 | 10 |
Switch1 | 1/0 | 20 |
Switch0 | 2/0 | Trunk |
Switch1 | 2/0 | Trunk |
提前了解的知识
例如待发送的信息时 101001,生成多项式为 G(x) = x3 + x2 + 1,计算余数和发送的信息(包括冗余码):
接收方接受到信息为 101101001,生成多项式为 G(x) = x3 + x2 + 1,判断传输是否误码?
CRC 可以校验是否出错,但是不能校验哪个位置出错了
二进制除法是做异或操作,即相异为真
海明距离:两个码字不相同的位的个数
设置路由器的路由协议,实现不同子网之间的不同路由传输。
配置方法如下:
主机 | IP地址 | 子网掩码 | 网关 |
---|---|---|---|
PC1 | 192.168.1.10 | 255.255.255.0 | 192.168.1.1 |
PC2 | 192.168.1.20 | 255.255.255.0 | 192.168.1.1 |
PC3 | 192.168.2.10 | 255.255.255.0 | 192.168.2.1 |
PC4 | 192.168.2.20 | 255.255.255.0 | 192.168.2.1 |
Server0 | 192.168.3.20 | 255.255.255.0 | 192.168.3.1 |
Router0(0/0) | 192.168.1.1 | 255.255.255.0 | 通过指令配置或图形界面配置 |
Router0(2/0) | 10.0.0.1 | 255.255.255.0 | 通过指令配置或图形界面配置 |
Router0(3/0) | 10.0.1.1 | 255.255.255.0 | 通过指令配置或图形界面配置 |
Router1(0/0) | 192.168.2.1 | 255.255.255.0 | 通过指令配置或图形界面配置 |
Router1(2/0) | 10.0.0.2 | 255.255.255.0 | 通过指令配置或图形界面配置 |
Router1(3/0) | 10.0.2.2 | 255.255.255.0 | 通过指令配置或图形界面配置 |
Router2(0/0) | 192.168.3.1 | 255.255.255.0 | 通过指令配置或图形界面配置 |
Router2(2/0) | 10.0.1.3 | 255.255.255.0 | 通过指令配置或图形界面配置 |
Router2(3/0) | 10.0.2.3 | 255.255.255.0 | 通过指令配置或图形界面配置 |
如果要建立路由之间的连接,例如 router0 的数据包转发到 router1 和 router2,那么需要对 router0 添加静态路由:
考试根据题意记得把来回都写上,这里只是单向的一个例子
告诉一个拓扑结构,来判断设备怎么处理
各段作用:
段名 | 所占 bit | 作用 |
---|---|---|
版本号 | 4 bit | 指定 IP 协议版本(IPv4 还是 IPv6) |
首部长度 | 4 bit | 以 32 位(4B)长度为单位,不足需填充,最大长度是 60 字节。固定长度 20 字节 |
服务类型 | 8 bit | 为了获得更好的服务,但至今被没用过 |
总长度 | 16 bit | 首部和数据之和的长度,因此理论上数据报的最大长度为2^16-1=65535字节,总长度不能超过最大传送单元 MTU |
标识 | 16 bit | 让目的主机判断新来的分段属于哪个分组(分割段),所有属于同一分组的分段包含同样的标志值 |
标志 | 3 bit | 用来标志是否所有分段都已到达,用于由于网络最大分组不一致引起的分割段过程 |
分段偏移 | 13 bit | 较长数组在分片后某片在原分组中的相对位置 |
生命期 | 8 bit | TTL(Time To Live) |
协议 | 8 bit | 指出此数据报携带的数据使用何种协议,以便目的主机的IP 层将数据部分上交给哪个处理过程 |
报头检验和 | 16 bit | 只检验数据报的首部,不包括数据部分 |
源地址 | 4 bit | |
目的地址 | 4 bit | |
选择项 | 主要用于网络测试或调试,包括安全性、严格的路由选择、松散的源路由选择、记录路由、时间标记等 |
1 bit = 8 Byte
1 Byte = 8 位
在最终的目的主机上将接收到的所有分片进行重新组装的过程就是 IP 数据报重组
根据不同协议的 MTU 判断 Length 的最大长度
协议 | MTU/字节 |
---|---|
令牌环(16Mbps) | 17914 |
令牌环(4Mbps) | 4464 |
FDDI | 4352 |
以太网(主要) | 1500 |
X.25 | 576 |
PPP | 296 |
ipv4的地址是32位,ipv6 的地址是128位
连接两个不同的网络的设备都可以叫网关设备;网关的作用就是实现两个网络之间进行通讯与控制。
网关设备可以是 交互机(三层及以上才能跨网络)、路由器、启用了路由协议的服务器、代理服务器、防火墙等
网关地址就是网关设备的IP地址,用于实现不同网段设备之间的通讯
子网掩码(subnetmask)通常与 IP 地址配对出现,其功能是告知主机或路由设备,IP 地址的哪一部分代表网络号部分,哪一部分代表主机号部分
IP 地址为了适应不同规模的网络,将 IP 地址分类形成有类地址
IP 地址类别 | 适用范围 | 表示 | 地址表示 |
---|---|---|---|
A 类地址 | 拥有大量主机的网络编址 | 8bit 网络位,24bit 主机位 | 1.x.x.x - 127.x.x.x |
B 类地址 | 中等规模的网络编织 | 16bit 网络位,16bit 主机位 | 128.0.x.x - 191.255.x.x |
C 类地址 | 小型局域网编址 | 24bit 网络位,8bit 主机位 | 192.0.0.x - 223.255.255.x |
D 类地址 | 提供网络组播服务或作为网络测试 | ||
E 类地址 | 实验地址,保留给未来扩充使用 |
地址数 | 个数 |
---|---|
A 类地址 | 网络数:127,主机数:2^24 - 2 |
B 类地址 | 网络数:2^14,主机数:2^16 - 2 |
C 类地址 | 网络数:2^21,主机数:2^8 - 2 |
网络表示不能出现全 0 或全 1 的状态;
主机标识不能出现全 0 或全 1 的状态
当网络中的主机总数未超出所给定的某类网络可容纳的最大主机数,但内部又要划分成若干个分段(segment)进行管理时,就可以采用子网划分的方法
在划分子网时应遵循以下的基本规则:
同一个局域网上的 IP 主机,特别指出:在同一广播域内应该使用同一 IP 子网内的 IP 地址
通过点到点的租用线路直连的两个路由器接口地址应该在相同的 IP 子网内
被至少一台路由器分割开的不同局域网的主机,应该使用不同 IP 子网内的 IP 地址
互联网内的 IP 地址应该是唯一的
子网 IP 地址格式:
例如 C 类网络进行子网划分后的子网掩码:
划分位数 | 子网掩码 |
---|---|
2 | 255.255.255.192(<u>11</u>000000) |
3 | 255.255.255.224(<u>111</u>00000) |
4 | 255.255.255.240(<u>1111</u>0000) |
5 | 255.255.255.248(<u>11111</u>000) |
6 | 255.255.255.252(<u>111111</u>00) |
例题:
学校新建5个机房,每个房间有30台机器,如果给定一C类网络地址:192.168.1.0,问如何将其划分为5个子网,子网掩码该如何设置
机房号 | 子网掩码 | IP地址范围 |
---|---|---|
机房1 | 255.255.255.224 | 192.168.1.1 ~ 192.168.1.30 |
机房2 | 255.255.255.224 | 192.168.1.33 ~ 192.168.1.62 |
机房3 | 255.255.255.224 | 192.168.1.65 ~ 192.168.1.94 |
机房4 | 255.255.255.224 | 192.168.1.97 ~ 192.168.1.126 |
机房5 | 255.255.255.224 | 192.168.1.129 ~ 192.168.1.158 |
贪心算法
传输层是 TCP/IP 网络体系结构中至关重要的一层,它的主要作用就是保证端对端数据传输的可靠性。在 IP 互联网中,传输控制协议(TCP, Transport Control Protocol)和用户数据报协议(UDP, User Datagram Protocol)是传输层最重要的两种协议,它们为上层用户提供不同级别的通信可靠性
计算机中的不同进程可能同时进行通信,这时不同进程之间的通信可以通过网络地址和端口号的组合达到唯一标识目的,即套接字(Socket)
端口的作用就是让应用层的各种应用进程都能将其数据通过端口向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程。