因特网的五层协议栈
由物理层 链路层 网络层 运输层 应用层 五个层次组成
应用层想发一个请求头 先告诉内核要建立一个连接 接着传输控制层创建一个握手的包 再问网络层怎么发(下一跳是什么) 再找下一跳的MAC地址 在链路层(是一张表)能看到映射关系 往外发 不能的话触发ARP协议 在局域网请求下一跳 返回一个MAC地址
最后在进行三次握手 数据传输 四次分手
- 应用层 所有能产生网络流量的程序
是网络应用程序及他们的应用层协议存留的地方 因特网的应用层包括许多协议 例如HTTP(提供了Web文档的请求和传送) SMTP(提供了电子邮件报文的传输) FTP(提供了两个端系统之间的文件传送)
应用层协议分布在多个端系统上 而一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息分组 把这种位于应用层的信息分组称为报文
- 运输层
在应用程序端点之间传送应用层报文 在因特网中有两种运输协议 TCP和UDP 利用任一个都能运输应用层报文
TCP向它的应用程序提供了面向连接的服务 这种服务包括了应用层报文向目的地的确保传递和流量控制(即发送方/接收方速率匹配) TCP也将长报文划分为短报文 并提供拥塞控制机制 因此当网络拥塞时 源抑制其传输速率
UDP协议向他的应用程序提供无连接服务 这是一种不提供不必要服务的服务 没有可靠性 流量控制 也没有拥塞控制
运输层的分组称为报文段
- 网络层
也称IP层
因特网的网络层负责将其称为数据报的网络层分组从一台主机移动到另一台主机 在一台源主机中的因特网运输层协议(TCP 或UDP) 向网络层递交运输层报文段和目的地址(就像通过邮政服务寄信件时提供一个地址)
因特网的网络层包括著名的网际协议IP 该协议定义了在数据报中的各个字段以及端系统和路由器如何作用于这些字段
IP仅有一个 所有具有网络层的因特网组件必须运行IP
也包括决定路由的路由选择协议
ICMP 通过ping命令测试网络通不通 如果不同 可以进行故障排查
IGMP 多播(比如直播 会议等)跨多网段多路由器 IGMP配置在路由器接口上 周期性扫描本网段中有哪些计算机需要多播数据包
- 链路层
网络层通过源和目的地之间的一系列路由器路由数据报 为了将分组从一个节点(主机或路由器) 移动到路径的下一个节点 网络层必须依靠链路层的服务
网络层将数据报传给链路层 链路层沿着路径将数据报传递给下一个节点 在该下一个节点 链路层将数据报上传给网络层
由链路层提供的服务取决于应用于该链路的特定链路层协议 数据报从源到目的地传送通常需要几层链路 一个数据报可能被不同链路的不同链路层协议处理
把链路层分组称为帧
数据链路层基本概念和基本问题
数据链路层信道类型
- 点到点信道
- 广播信道
链路和数据链路
数据链路层解决的三个基本问题,
1.封装成帧(帧 帧头 帧尾 物理层地址 校验值)
2.诱明传输(转义字符、数播中的控制享符当做透明的)
广域网 使用点到点的PPP协议
局域网
1. 多点接入表示许多计算机以多点接入的方式连接在一根总线上。
2. 载波监听是指每一个站在发送数据之前先要检测一下总线上是否有
其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。载波监听 就是用电子技术检测总线上有没有其他计算机发送的数据信号。
- 物理层
链路层的任务是将整个帧从一个网络元素移动到邻近的网络元素 而物理层的任务是将帧中的一个个比特从一个节点移动到下一个节点
这层中的协议仍然是链路相关的 并且进一步与该链路的实际传输媒体有关
OSI七层模型
国际标准化组织(ISO)提出计算机网络围绕七层来组织 称为开放系统互联(OSI)模型
七层:应用层 表示层 会话层 运输层 网络层 数据链路层 物理层
相对因特网的五层协议 多了表示层与会话层 其他五层与其功能大致相同
- 表示层 在传输之前是否进行加密或压缩处理二进制 ASCII (如果网页出现乱码 则是表示层问题)
作用是使通信的应用程序能够解释交换数据的涵义
这些服务包括数据压缩和数据加密(自解释的)以及数据描述(使应用程序不必担心在各台计算机中表示/存储的内部格式不同的问题) - 会话层 提供了数据交换的定界和t同步功能 包括了建立检查点和恢复方案的方法