计算机网络1
子网掩码的作用
划分网络:
把一个大的网络分成多个小的子网,避免广播风暴。
比如:192.168.0.0/16 可以分成 192.168.1.0/24、192.168.2.0/24 …
确定主机范围:
在 192.168.1.0/24 里,可用主机地址是 192.168.1.1 ~ 1
为什么计算机网络采用分层次的结构?
保持层与层之间的独立性
1. 分层结构的典型模型
OSI 七层模型(理论):
物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
TCP/IP 四层模型(实际应用):
网络接口层、网际层、传输层、应用层
2. 分层带来的好处
简化设计:每层职责单一,逻辑清晰。
例如:传输层保证可靠性,应用层不用操心重传问题。
模块化实现:不同厂商或团队可以独立开发不同层。
例如:思科做路由器的网络层,微软写应用层软件,依然能互通。
标准化接口:只要遵循标准协议,不同系统/设备就能通信。
例如:你用 Linux 发的 HTTP 请求,照样能访问 Windows 服务器。
可扩展性:修改或替换某一层,不会影响整体。
例如:物理层从铜线换成光纤,上层应用不用改。
故障排查方便:分层定位问题。
例如:能 ping 通但不能打开网页,说明问题在应用层而不是网络层
对等实体
协议:对等实体、对应层之间需要遵守的规则;
不同层有不同协议;每层可以有多个协议;但实现通信,对应层之间要用同一个协议。
水平方向不能交叉
上下层方向:下层为上层提供服务
接口:连接相邻上下层
服务:上下层之间的,不能交叉
物理/逻辑线路:
逻辑链路:水平方向协议,信息通过底层链路传输,没有直接联系
物理链路:上下传输
网络体系结构:层和协议的结合
协议栈:一组按照层次结构组织起来的网络协议的集合
协议栈的典型例子
(1) OSI 七层模型(理论框架)
应用层(HTTP、FTP)
表示层(SSL/TLS、加密编码)
会话层(RPC、NetBIOS)
传输层(TCP、UDP)
网络层(IP、ICMP)
数据链路层(以太网、PPP)
物理层(光纤、WiFi、铜线)
(2) TCP/IP 四层协议栈(实际互联网用的)
应用层(HTTP、SMTP、DNS)
传输层(TCP、UDP)
网际层(IP、ICMP、ARP)
网络接口层(Ethernet、WiFi、PPP)
protocol hierarchies协议层次结构
M
H4M
H3H4M1, H3M2
H2H3H4M1T2
如何确定头尾?协议
M1M2如何合成信息?标识
如何确定接收端?
ip地址能不能唯一标识网络上的主机?不行,MAC地址可以
MAC地址:由网卡硬件决定
单工通信:单向
半双工:双向,但不能同时
全双工:双向,且可同时
差错控制:检错,纠错,策略
奇偶校验法:在发送的数据中增加一个 校验位(Parity Bit),用来保证数据中 1 的数量是 奇数 或 偶数。
接收方检查校验位,如果不符合规定,就说明数据可能发生了错误
海明码
流量控制:协调收发双方的速率
报文的分割和组合
保序:保持顺序,发送顺序
多路服用:设置干线,都要用这个信道,如何指定发送规则
路由选择:不同路线
QoS:服务质量
security
Connection-Oriented and Connectionless Service 面向连接和无连接服务
面向连接的服务,建立连接数据传输连接释放,需要预留资源
不携带目的节点的地址,丢包率低
通信效率低
无连接的服务,收邮件,不可靠,不需要先建立好连接
需要携带目的节点地址
接收数据可能乱序重复或丢失
协议简单,效率高
Service服务原语
一个服务由一组原语操作描述
服务和协议的关系
服务:做什么
协议:如何做,需要定义具体细节