计算机网络
计算机网络
开放互连参考模型
OSI/RM 七层模型:
- 应用层
- 主要功能:实现具体的应用功能
- 主要设备及协议 POP3、FTP、HTTP、Telnet、SMTP、DHCP、TFTP、SNMP、DNS
- 表示层
- 主要功能:数据的格式与表达、加密、压缩
- 主要设备及协议 POP3、FTP、HTTP、Telnet、SMTP、DHCP、TFTP、SNMP、DNS
- 会话层
- 主要功能:建立、管理和终止会话
- 主要设备及协议 POP3、FTP、HTTP、Telnet、SMTP、DHCP、TFTP、SNMP、DNS
- 传输层
- 主要功能:端到端的连接
- 主要设备及协议:协议(TCP、UDP)
- 网络层
- 主要功能:分组传输和路由选择
- 主要设备及协议:三层交换器、路由器,协议:ARP、RARP、IP、ICMP
- 数据链路层
- 主要功能:传送以桢为单位的信息
- 主要设备及协议:网桥、交换机、网卡,协议 PPTP、L2TP、SLIP、PPP
- 物理层
- 主要功能:二进制传输
- 主要设备及协议:中断器、集线器(多端口中继器)

传输时一层层在数据前添加头信息,解析时一层层删除头信息,从而获取数据
例题:网桥与集线器的区别是什么?
- 网桥和集线器都不能检测冲突,只能隔离冲突
- 集线器是物理层设备,网桥是数据链路层设备
- 网桥只有两个端口,两端分别对应 mac 地址,集线器是一种多端口中继器,交换机是多端口网桥。
TCP-IP 协议簇(重点)
常见协议基础
TCP/IP 模型(4 层模型):
- 应用层:对应 7 层模型中的应用层+表示层+会话层
- 主要协议 如图
- DNS:域名解析,将域名转为 IP 地址
- 传输层:对应 7 层模型中的传输层
- 主要协议:TCP、UDP
- 网络层(网际层):对应 7 层模型中的网络层
- 主要协议:IP、ICMP、IGMP、ARP(ip 转 mac)、RARP(mac 转 ip)
- 网络接口层:对应 7 层模型中的数据链路层+物理层
- 主要协议:CSMA/CD、TokingRing
端口 0 ~ 1023 为共用端口,一般不建议占用。

TCP/IP 协议族
- POP3:默认 110 端口,邮件收取
- SMTP:默认 25 端口,邮件发送
- FTP:默认 20/21 端口,文件传输协议,21 为控制端口 20 为上传端口
- HTTP:默认 80 端口,超文本传输协议、网页传输
- DHCP:默认 67 端口,IP 地址自动获取
- SNMP:默认 161 端口,简单网络管理协议
- DNS:默认 53 端口,域名解析协议,记录域名与 IP 的映射关系
- TCP:可靠但不安全的传输层协议
- UDP:不可靠的传输层协议
- ICMP:因特网控制协议,ping 命令来自于此
- IGMP:组播协议,组播地址范围:224.0.0.0-239.255.255.255
- ARP:地址解析协议,将 IP 地址转换为 MAC 地址
- RARP:反向地址解析协议,将 MAC 地址转换为 IP 地址
TCP 与 UDP
共同点:
都是基于IP协议的传输层协议,可以通过端口寻址
不同点:
TCP:面向连接(连接管理)、三次握手、流量控制、差错校验和重传、IP数据报按序接收不丢失不重复、可靠性强、但是牺牲通信量,通信效率低。
UDP:不可靠、无连接,错误检测功能弱、无流量控制,有助于提高传输的高速率性。不对无序IP数据报重新排序、不负责重传、不消除重复IP数据报、不对已收到的数据报进行确认、不负责建立或终止连接,这些操作通常由UDP进行通信的应用程序进行处理。
协议应用提升


例题:在浏览器输入一个正确的网址后,本地主机将首先在本机 hosts 文件中查找有没有该网址对应的 IP 地址。
网络诊断命令
- ping:用于检查网络是否连通,例如:
ping www.baidu.com - tracert(linux:traceroute):用于确定 IP 数据包访问目标所采取的路径,若网络不通,能定位到具体哪个结点不通。
- ipconfig(linux:ifconfig):显示 TCP/IP 配置信息,例如 mac 地址、网关地址等。
- nslookup:查询 DNS 记录
- Netstat:用于显示网络连接、路由表和网络接口信息;
LISTEN:侦听来自远方的 TCP 端口的连接请求;
SYN-SENT:在发送连接请求后等待匹配的连接请求;
SYN-RECEIVED:在收到和发送一个连接请求后等待对方对连接请求的确认;
ESTABLISHED:连接已经建立,可以进行数据传输;
FIN-WAIT-1:等待对方发送一个中断请求(FIN 包),表示即将关闭连接;
FIN-WAIT-2:从远程 TCP 等待连接中断请求;
CLOSE-WAIT:等待从本地用户发起的连接中断请求;
LAST-ACK:等待原来的发向远程 TCP 的连接中断请求的确认;
TIME-WAIT:等待足够的时间以确保远程 TCP 接收到连接中断请求。
CLOSING:已关闭,没有任何连接状态。
例题 1:在 Windows 系统中,想获取某个网络开放端口所对应的应用程序信息,可以使用 Netstat。
例题 2:使用 ipconfig/release 可以释放当前主机自动获取的 IP 地址。
IP 地址与子网划分
IP 地址分类及特殊的 IP 地址
IP 地址分类
IPv4 地址由 32 位组成,每 8 位表示一个字节,共 4 字节,即 32 位。
- A 类地址前 8 位是网络,主机号是后 24 位,私有网络范围 1.0.0.1 到 126.255.255.254
- B 类地址前 16 位是网络,主机号是后 16 位,私有网络范围 128.0.0.1 到 191.255.255.254
- C 类地址前 24 位是网络,主机号是后 8 位,私有网络范围 192.0.0.1 到 223.255.255.254
特殊的 IP 地址
| IP | 说明 |
|---|---|
| 127 网段 | 回播地址,本地环回地址,用于本机之间进行数据传输 |
| 主机号非全 0 和非全 1 | 可作为子网中的主机号使用 |
| 主机号全 0 地址 | 代表这个网络本身,可作为子网地址使用 |
| 主机号全 1 地址 | 特定子网的广播地址 |
| 169.254.0.0/16 | 保留地址,用于 DHCP 失效(Windows 中) |
| 0.0.0.0 | 保留地址,用于 DHCP 失效(Linux 中) |
子网划分与路由汇聚
子网划分
将一个网络划分成多个子网(取部分主机号当子网号)。子网IP = 原网络号 + 子网号 + 主机号
例:将B类IP地址168.195.0.0划分成27个子网,其子网掩码多少?
- B类IP,其网络号16位
- 划分为27个子网,至少需要5位二进制数字()
- 子网掩码:原网络号(1111 1111 1111 1111) 子网所需(1111 1000) 主机号(0000 0000) = 255.255.248.0
扩展:其能表示的主机个数为多少?
- 32 - 16 - 5 = 11;
- 主机数::排除全0和全1的情况
例题2:将B类IP地址168.195.0.0划分成若干个子网,每个子网内有主机700台,则子网掩码为多少?
- 主机有700台,,则主机位需要10个。
- 子网号则有32 - 16 - 10 = 6位。
- 子网掩码:11111111 11111111 11111100 00000000 = 255.255.252.0
路由汇聚
将多个网络合并成一个大网络(取部分网络号当主机号)。ip = 网络号(大网络 + 子网号) + 主机号
例题:设有两个子网202.118.133.0/24和202.118.130.0/24,如果进行路由汇聚,得到的网络地址为?
- 202.118相同,先取出
- 133转二进制为1000 0101,130转二进制为1000 0010,找出其相似位置1000 0补全(000)
- 得到的网络地址为:202.118.128.0/21(为什么是21:相似位置为16 + 5 = 21位)

IPv6
IPv4的地址长度为32位,最大地址差不多40亿左右,现在属于不够用。
IPv6是设计用于替代现行版本IP协议(IPv4)的下一大协议。
- IPv6的长度为128位,地址空间增大了倍。
- 灵活的IP报文头部格式。使用一系列固定格式的扩展头部取代了IPv4中的可变长度的选项字段。IPv6中选项部分的出现方式也有所变化,使路由器可以简单路由选项不做任何处理,加快了报文处理速度。
- IPv6简化了报文头部格式,字段只有8个,加快报文转发,提高了吞吐量。
- 提高安全性。身份认证和隐私权是IPv6的关键特性。
- 支持更多的服务类型。
- 允许协议继续演变,增加新的功能。
IPv4到IPv6的过渡技术有:
- 双协议栈技术:通过节点对IPv4和IPv6双协议栈的支持,从而支持两种业务并存。
- 隧道技术:通过在IPv4中部署隧道,实现在IPv4网络上对IPv6业务的承载,保证业务的共存和过渡。
- NAT-PT技术:NAT-PT使用网关设备连接IPv4和IPv6网络。当其互相访问时,NAT-PT网关实现两种协议的转换翻译和地址映射。
网络规划与设计


网络接入技术

网络接入分为有限接入和无线接入。

www服务
URL
internet地址:域名格式和IP地址格式。
URL:统一资源定位符,是指在互联网上标准资源的地址。互联网上的每一个文件都有唯一的URL,它包含的信息指出文件的位置以及浏览器应该如何处理它。
URL格式:协议名://主机名.组名.最高层域名。例如http://www.baidu.com
URL格式:protocol://hostname[:port]/path/filename
protocol指定使用的传输协议,最常见的为http或https。也有其他的,例如ftp、file等。
hostname为主机名,可以是IP地址,也可以是域名。
port为所使用的端口号,可以为默认值。
path指路径,使用一个或多个"/",表示文件在主机的一个目录或文件地址。
filename是指要打开的文件名。
HTML
省略...
