计算机网络的网络层介绍
来源:互联网 发布:java cova spank bang 编辑:程序博客网 时间:2024/06/01 20:29
- 网络层概念
网络层负责在不同网络之间转发数据包。基于数据包的ip地址转发。不负责数据包的顺序和丢失数据的情况。只关心数据包的目标IP地址,选择下一个路径。路由器工作在网络层。
- 当一个电脑向另一个电脑发送文件时整个过程:
发送端 应用层:应用程序准备要发送的文件 传输层:将文件进行分段并编号 网络层:将每一段数据加上目标IP地址和源IP地址,将其封装为数据包。 数据链路层:将数据包加上下一个mac地址和源mac地址封装为数据帧。如果是同一个网段,下一个mac地址就是接收端的mac地址,如果是不同的网段,数据链路层要进行规划路径,选出下一个路由器的mac地址。 物理层:在物理层传输的数据本质是传输的是二进制的数字信号。传递数据帧的本质就是传输比特流。 传输过程: 比特流从发送端发出后经过集线器起到信号放大的作用,集线器只负责接收比特流不进行任何判断。 接下来比特流会经过交换机,交换机会接收存储比特流,任何根据数据帧的mac地址为数据帧选择传输路径。 当数据帧传输到路由器时,也就是传递到数据帧的目标mac地址后,路由器会根据目标IP地址为数据帧分配新的mac地址,将数据帧往 下一个mac地址传递,这一帧的传递到此结束,开始下一帧的传递。 接收端: 物理层:数据帧以比特流的形式先传到目标计算机的物理层。 数据链路:接收端的数据链路层接收到来自物理层的数据帧后,链路层先检验数据帧的目标mac地址,没有问题就接收。 网络层:网络层接收到来自数据链路层的数据帧后,会去掉数据帧的mac地址,将其还原为数据包。 传输层:传输层再将接收的数据包给应用层。 应用层:应用层把接收的所有数据包根据编号还原成整个文件,文件的接收过程结束。
- 网络层协议有:IP ARP ICMP IGMP
IP协议: 负责把数据包从一个网段转到另一个网段。 ARP协议: 用于网络传递数据时解析目标IP地址的mac地址,只有知道数据帧的目标mac地址在哪,路由器才直到把数据帧往哪传。ARP协议为IP协议提供服务。 ICMP协议:用于检测故障。 IGMP协议:点到点通信 多播 广播 ARP欺骗: ARP协议是通过再本网段通过广播方式发送数据包来解析mac地址的,目标IP地址电脑收到广播数据包发现数据包是给自己的就把自己的mac地址告诉对方,这是正常的通信。如果一台电脑安装了流氓软件,它收到一个不是给自己的广播数据包后同样把自己的mac地址告诉对方。当源ip地址发送数据时就不会给目标电脑而是给了流氓电脑。 网络执法官:网络执法官的原理就是利用ARP欺骗来控制计算机之间的通信。 ARP防火墙: 可以用来防止ARP欺骗。
- IP数据包结构:
数据包由首部和数据部分组成。首部由版本 首部长度 标识 标志 生存时间 协议等信息和源IP地址目标IP地址组成。数据包的生存时间: 数据包的生存时间由TTL标志,数据包每经过一个路由器TTL值会减一,如果TTL值为0数据包就会丢弃。数据包的协议号: 数据包的协议号决定了包中的数据交给传输层的哪个进程处理。
- 网络畅通的条件: 数据包有去有回 计算机要配网关 沿途的路由器必须知道数据包的下一站应该给谁
- 静态路由: 需要管理员告诉路由器所有没有直连的网络下一跳给谁。要给每个路由器手动配路由表。不能够自动调整网络路径。
动态路由: 如果网络比较复杂网络规模比较大使用静态路由特别麻烦,就要使用动态路由。动态路由可以根据网络的变化自动选择最佳路径。
数据包分片:
如果网络层一个数据包过大,那么再传到数据链路层时就会把数据包分片,给每一片分别加IP地址和mac地址,将数据包封装成多个数据帧。 在接收端的网络层再将数据分片合成完整的包。
阅读全文
0 0
- 计算机网络的网络层介绍
- 大话计算机网络网络层的概念
- 计算机网络传输层介绍
- 计算机网络 --- osi网络层
- 计算机网络体系网络层
- 《计算机网络 2》 网络层
- 《计算机网络》之网络层
- 《计算机网络 2》 网络层
- 【计算机网络】网络层
- 计算机网络基础--网络层
- 计算机网络--网络层
- 计算机网络学习-网络层
- 计算机网络之网络层
- 计算机网络笔记---网络层
- 计算机网络之 网络层
- 计算机网络网络层
- 计算机网络读书笔记-----网络层
- 计算机网络 - 网络层
- Linux安装——git服务器搭建
- 10.获取网卡信息
- 【系统学习SpringBoot】SpringBoot读取Property配置
- [StackExchange]Redis 发布订阅
- 踩了new char的坑
- 计算机网络的网络层介绍
- android高级之旅 (十二) 修改greendao数据库框架的储存路径
- angular的post请求,SpringMVC后台接收不到参数值的解决办法(参考加自创)
- QChart应用
- Android开发之~java.lang.ClassNotFoundException: Didn't find class "android.view.x" on path: ...
- dijkstra算法代码实现
- Java —— static 关键字、static 内部类、枚举类
- spring系列(三)——springAOP原理探究(CGLIB代理机制)
- 锁