| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 【牛客网C++服务器项目学习】-Day09-网络模型个人总结 -> 正文阅读 |
|
[网络协议]【牛客网C++服务器项目学习】-Day09-网络模型个人总结 |
day09项目学习进入了第四章——网络编程。这一章的学习,前半段是对计算机网络体系进行一个大致的讲解。我自己在今年4月份系统性的看了《计算机网络自顶向下》以及中科大郑诠老师的视频。可是,碍于计网的学习主要以知识概念为主,很多知识学过一遍后就忘记了,在脑子中根本就记不住。现在项目既然复习到了这,我觉得有必要自己在文档中,用自己的语言,有条理的归纳一些计网的知识概念。这样做的好处有两个,一是可以帮助自己梳理知识、二是可以加深对某些知识的记忆。 知识点的总结按照老师上课讲得顺序,涉及到某些比较重要的我会进行拓展补充。
1.网络模型 谈到网络模型,大家脑子里先要对计算机网络体系有一个大致的认识:网络的存在是为了满足计算机之间远距离通信的需求,而为了保证通信能够高效、有序、正确的进行下去,诞生了一系列的协议。至今已经诞生了太多了的协议,为了更好的管理和组织各种类型的协议,提出了网络模型的概念。 在网络模型中,对协议进行了分层,按照每一种协议所实现的功能、所依赖的服务进行分层。目前我们熟知的OSI 7层协议、TCP/IP 4层协议以及5层的因特网协议。
网络模型将众多纷繁复杂的网络协议有序的管理了起来,就好比一家庞大的公司,势必要是设置不同等级的职位,有层次的、有组织的才能管理好。 下面依次介绍各层协议的作用:
2.键入URL网址到浏览器显示页面的过程阐述 上面我理了一下网络模型各层次的含义以及作用,并分别介绍了各层次常见的一些协议。我觉得学计网应该从全局出发,用真实例子串起来各个分散的知识,一个比较全面和唾手可得的例子就是:在浏览器中输入网址,到浏览器显示对应的画面,计算机背后都做了哪些事情? 应用层: 在应用层会涉及到两个协议:HTTP和DNS协议。
使用http协议,能够将我们客户端的主机名称、请求资源的时间、请求资源等信息封装到http的报文中,http的报文是该协议的标准规范内容之一,内容太长,这里就不具体阐述了。你只需要记住,向服务器发出的请求和服务器返还的资源都是通过http报文传输的
至此,在应用层的任务便告一段落。通过http协议我们生成了一个请求资源的报文,报文作为我们应用层承载信息的载体,在后面的旅程(网络层次的逐层递减过程中)会发生一些改变。更具体地讲,就是下一层的协议获取到上一层传递下来的数据报后,会进行一个封装的操作,封装会在原有的数据报的头部或者尾部加上本层的信息。 传输层: 从传输层开始,后面的几层都是在系统的内核区完成的,应用层是在操作系统的用户区完成的。
网络层: 网络层接收到了来自传输层的段之后,会加上网络层的头部信息,形成在网络层传输的包
网络层的路由器通过路由算法在内部维护了一张路由表(有静态的、动态变化的)。从源IP开始,通过路由表,数据包能够被正确的转发到下一个路由器,经过多次转发,最后转发到目的IP所在的路由器那里去。 在 Linux 操作系统,我们可以使用 route -n 命令查看当前系统的路由表。 链路层: 链路层提供的是点对点的传输服务。不过,在链路层进行寻址通信采用的地址是MAC地址,这时ARP协议便开始发挥作用。ARP协议能够在一个子网中通过广播问询的方式,得到一个IP地址对应的MAC地址。 在 Linux 系统中,我们可以使用 arp -a 命令来查看 ARP 缓存的内容。 IP地址10.0.12.1对应的MAC地址为fe:ee:5e:4d:d7:bb 此外,在链路层我们需要对从网络层获取到的包进行本层信息的封装,在包的头部添加MAC头部信息形成帧 至此,我们已经将需要发送的数据打包好,形成了能够发送的帧,接下来就是将数据发送出去 传输过程: 第一步:网卡: 网络包只是存放在内存中的一串二进制数字信息,没有办法直接发送给对方。因此,我们需要将数字信息转换为电 信号,才能在网线上传输,也就是说,这才是真正的数据发送过程。 负责执行这一操作的是网卡。 第二步:交换机: 交换机的设计是将网络包原样转发到目的地。交换机工作在 MAC 层,也称 为二层网络设备。 交换机根据 MAC 地址表查找 MAC 地址,然后将信号发送到相应的端口。 第三步:路由器: 网络包经过交换机之后,现在到达了路由器,并在此被转发到下一个路由器或目标设备。 这一步转发的工作原理和交换机类似,也是通过查表判断包转发的目标。 不过在具体的操作过程上,路由器和交换机是有区别的。
网络包通过路由器后就正式进入了网络核心中,通过多次的路由和转发,最后顺利抵达服务器所在的位置。 数据到达服务器后,服务器会对数据包进行分用。将沿着协议栈自底向上依次传递。各层协议依次处理帧中本层负责的头部数据, 以获取所需的信息,并最终将处理后的帧交给目标应用程序。这个过程称为分用(demultiplexing)。 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/9 1:53:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |