网络协议概述(一)

article/2025/9/19 14:05:23

目录

一、协议三要素

二、常用的网络协议

2.1 由url确定目标ip地址(DNS协议)

2.2 打包需要发送的信息(http/https协议)

2.3 有应用层到传输层(TCP协议保证应用层包一定送达)

2.4 有传输层到达网络层(进行包的外地传送)

2.5 目标服务器接收包后进行拆包和回复


        

协议:允许人类与计算机,计算机与计算机之间进行沟通的一种语言。英文释义是:a computer language allowing computers that are connected to each other to communicate。只有通过协议,计算机才能知道我们想让它做什么

一、协议三要素

        计算机语言作为程序员控制计算机工作的协议,具备了协议的三要素:语法、语义、顺序

(1)语法:一段内容要符合一定的规则和格式。例如括号要成对等。

(2)语义:一段内容要代表某种意义。例如数字减数字是有意义的,而数字减文本则一般无意义。

(3)顺序:就是这段内容中先要做什么后腰做什么是由顺序的。

        想要打通互联网世界,需要大片机器之间相互协作,这就需要网络协议:通过网络协议,让才能使一大片机器相互协作、共同完成一件事。

二、常用的网络协议

2.1 由url确定目标ip地址(DNS协议)

        这里以浏览器访问网页为例,我们在浏览器中输入https://www.baidu.com,这是一个url。浏览器此时只知道这个url不知道需要访问的资源的具体地点。于是浏览器打开“地址簿”去查找,可以使用一般的DNS去查找,也可以使用另一种更加精准的地址簿查找协议:HTTPDNS

        无论通过哪种查找方式最终都会得到一个ip地址:互联网世界的门牌号

2.2 打包需要发送的信息(http/https协议)

        知道了目标地址后,浏览器就会开始打包它的请求。对于普通的请求会使用http协议,而对于加密传输的请求则会使用https请求,无论是什么请求方式,协议中都会写明需要发送的信息。(ip-->http/https请求)

        DNS、http、https称为应用层,经过应用层封装后,浏览器会将应用层的包交给下一层去完成,这通过socket编程实现下一层是传输层。(http/https-->传输层)

2.3 有应用层到传输层(TCP协议保证应用层包一定送达)

        传输层有两种协议:无连接的协议UDP,面向连接的协议TCP。对于支付(较为重要的业务)来说,往往使用tcp协议。所谓面向连接就是:TCP会保证这个包能够到达目的地,如果不能到达,就会重新发送直至到达。TCP协议有两个端口:一个是浏览器监听端口。另一个则是目标地址服务器的监听端口,用于tcp三次握手。

        这里用写信的例子来简述上面的过程:

            这个过程就像是一份信你写好了,装进信封,根据收信人的名字(网址)从地址簿(DNS)里面查到了目的地的地址邮编(IP),然后交给邮局(传输层)传输,当然这个过程可能还有些波折。 1.你在信里面说: 亲爱的某某,我们以后写信联系吧(SYN=1发起一个新的连接),我有不能说的秘密跟你讲,但是我不确定收到信的是不是你,如果是你自己就请给我回信,我就跟你分享我的秘密(seq=x)。 2.收信人收到你的信后给你回信: 亲爱的某某某我也想跟你写信(SYN=1发起一个新的连接),我是我自己你可以接着给我写信了(ACK=1确认序列号有效)你可以从不能说的秘密开始接着往下讲(ack=x+1),另外我也有话对你讲(seq=y) 3.你收到信后很高兴,立刻回信: 我们终于联系上了(ACK=1确认序列号有效),我们接着说我的秘密......(seq=x+1),你有什么话跟我说下次写信告诉我(seq=y+1) 这就是TCP三次握手的过程。

        传输层封装完毕后,浏览器会将包交给操作系统的网络层(传输层-->网络层),网络层的协议是ip协议:ip协议中会有源ip地址和目标ip地址。

2.4 有传输层到达网络层(进行包的外地传送)

        操作系统根据门牌号找到目标机器:(网络层-->目标服务器),操作系统会根据ip地址判断这个目标是在本地还是外地。

        如果目标地址位于外地,则需要先去网关,而操作系统启动的时候,就会被 DHCP 协议配置 IP 地址,以及默认的网关的 IP 地址 192.168.1.1。操作系统会在本地通过大吼(我个人理解是广泛的在本地发送信号询问谁是网关)。网关得知有人找他后便会回应自己的地址,这个地址就是MAC地址(网关所处的地址是MAC地址),大吼则是ARP协议。(网络层ip-->MAC)

        当ip包到达MAC层(MAC层中包含客户端电脑的MAC和网关的MAC),网卡会将包发送出去到达网关。网关收到包后会判断下一步怎么走。网关往往是一个路由器,到某个ip地址怎么走叫作路由表。网关依照路由表一步步到达目标ip地址。

        路由器(网关)有点像玄奘西行路过的一个个国家的一个个城关。每个城关都连着两个国家,每个国家相当于一个局域网,在每个国家内部,都可以使用本地的地址 MAC 进行通信。(在局域网内部通过MAC地址通信

        一旦跨越城关,就需要拿出 IP 头来,里面写着贫僧来自东土大唐(就是源 IP 地址),欲往西天拜佛求经(指的是目标 IP 地址)。路过宝地,借宿一晚,明日启程,请问接下来该怎么走啊?

        上文说到网关收到包后会判断下一步该怎么走,是因为网关会与邻近的下一个网关进行沟通来判断应该怎么走。这种沟通的协议为路由协议(路由协议构成了路由表??)常用的有OSFP和BGP

        OSPF和BGP均为网络层协议。 内部网关协议 -- OSPF(Open Shortest Path First)开放最短路径优先, 最主要的特征就是使用分布式的链路状态协议。主要特点为:1. 向本自治系统中所有路由器发送信息。 2. 发送的信息就是与本路由器相邻的所有的路由器的链路状态,但这只是路由器所知道的部分信息。 3. 只有当链路层状态发生变化时,路由器才向所有的路由器用 洪泛法 发送此信息。 外部网关协议 -- 边界网关协议BGP BGP只能是力求寻找一条能够到达目的网络且比较好的路由,而非要寻找一条最佳路由。

        城关与城关之间是一个国家,当网络包知道了下一步去哪个城关,还是要使用国家内部MAC 地址(即利用当前所在的城关MAC地址去访问该国家的下一个城关,可以理解为一个城关用于入城,另一个用于出城,入城时城关会给你一个通行证),通过下一个城关的 MAC 地址,找到下一个城关,然后再问下一步的路怎么走,一直到走出最后一个城关。

        最后一个城关(目标ip所位于的国家的城关)知道这个网络包要去的地方。于是,对着这个国家吼一声,谁是目标 IP 啊?目标服务器就会回复一个 MAC 地址。网络包过关后,通过这个 MAC 地址就能找到目标服务器。(ip相当于告诉城关目标地址,MAC则是城关根据目标地址放入包中的对应城内通行证。

2.5 目标服务器接收包后进行拆包和回复

        目标服务器得到包后会进行拆包:目标服务器发现 MAC 地址对上了,取下 MAC 头来,发送给操作系统的网络层。发现 IP 也对上了,就取下 IP 头。IP 头里会写上一层封装的是 TCP 协议,然后将其交给传输层,即 TCP 层。TCP协议会保证包内的信息一定被目标服务器接收到,否则会一直进行重试。

        最终目标服务器得到http/https请求内容并对内容进行处理,处理完毕后会回复源ip地址一个https包告知处理的结果。

        


http://chatgpt.dhexx.cn/article/8O2pM4dk.shtml

相关文章

推荐:大视频免费压缩成指定大小的小视频的解决方法

给大家推荐一款好用的视频压缩软件MOO0视频压缩器,免费压缩,可选压缩画质,小巧便捷,这款软件不像某捷、某云这些软件,不花钱的话你是没办法压缩大文件的 云盘下载: 链接: https://pan.baidu.com/s/1ZUOi7…

如何下载网页中的小视频

想要下载页面中的视频,但是页面中却没有下载选项?教你一招 具体步骤: 一、打开开发者工具。 二、打开网络窗口。 三、刷新页面。 四、右键链接在新标签页中打开。 五、在右下角找到下载选项。 一、开发者工具是用于审查网页元素和查看网页源代…

视频观看小站

[在此处输入文章标题] 这种网站,永远不嫌多~ 视频小站,一次性满足所有观影需求! 低端影视:https://ddrk.me/ 优点:1080P全高清均可观看,无广告,支持站内搜索,观影体验不错。 http:/…

如何压缩视频?教你几个简单的视频压缩方法

怎么将视频给压缩一下呢?通过压缩视频,可以减小视频的大小,从而减少需要存储的视频体积,节省存储空间。虽然视频压缩可能会降低视频的清晰度,但是如果压缩比例得当,仍然可以保持较好的视频观看质量&#xf…

爬取福利吧论坛所有的福利汇总文(视频标题链接、图片)

目录 items.py flhz.py pipelines.py 目标:爬取 福利吧论坛 里的 福利汇总 文,将所有 福利汇总 文里的热门视频标题、链接以json格式保存,所有 福利汇总 文里面的图片按目录(目录名为当前图片所在页url中的7位数字&#xff0…

iPhone上5款视频压缩工具推荐,学会轻松压缩视频

随着技术的不断进步,现在移动端设备已经能够轻松地拍摄高清视频,然而这也带来了存储压力的增大。苹果手机更新换代频繁,但内存空间却没有跟着变大,因此如何压缩视频成为了一个重要的问题。 苹果手机怎么压缩视频?有什…

社区短视频影视appH5小视频

该源码为网站源码,自适应站 可适应多端,例如pc phone等。不含app, 可自行封装成app 主要功能: 1. 视频、图片、音乐、文章一网打尽。多广告系统,精美设计,适应所有终端设备。 2. 广告系统可针对每个模块…

宅男福利!20行Python代码,一网打尽B站小姐姐的直播信号源!

大家好,我是菜鸟哥! 今天我们又用Python来玩一个好玩的程序。随着收看直播的用户激增,越来越多的小姐姐们都在通过直播的方式和粉丝们交流互动。但是直播的界面中总是充斥着各种各样的广告推荐和弹幕信息,让我不能专注于欣赏小姐姐…

推荐几个小视频

公众号推文规则变了,点击上方 "数据社", 设为星标 后台回复【加群】,申请加入数据学习交流群 大家好,我是一哥,今天是假期的第一天,国内疫情有所缓和,大家应该都忙着到处逛吃吧。有小伙伴私聊我&…

视频怎么压缩大小?教你几个压缩视频小技巧

视频怎么压缩一下呢?在现代数字生活中,视频已经成为了一种非常普遍的媒体形式。然而,随着高清、超高清视频的普及,视频文件的大小也越来越大,给存储和传输带来了很大的负担。如果电脑或移动设备的存储空间有限&#xf…

粉丝福利来袭

** 🔥粉丝福利来袭❤️ CSDN资源免费下载!❤️ ** 本文三连加评论下载地址!粉丝可以免费下载!真实有效,顶上去!!! -----------------------------------------------------------…

【福利】Python抖音小视频无水印下载工具助手exe

本渣渣的一个老哥要的抖音小视频无水印下载,我觉得他是一个LSP,因为抖音上的小姐姐实在是太多,太好看了! 可是他就是不发好看的小姐姐抖音号给我... 难道我的肾没有他强?! 不可能啊,本渣渣经常吃…

搭建nginx rtmp流媒体服务器(超详细)

阿里云搭建rtmp流媒体服务器,中间踩过一些坑,过程一步步纪录的很详细,以及碰到的一些问题。 一.工具下载 下载Nginx wget http://nginx.org/download/nginx-1.12.1.tar.gz 下载 OpenSl https://github.com/openssl/openssl/archive/Open…

Windows上搭建rtsp-simple-server流媒体服务器实现rtsp、rtmp等推流以及转流、前端html与Vue中播放hls(m3u8)视频流

场景 Nginx-http-flv-module流媒体服务器搭建模拟推流flv.js在前端html和Vue中播放HTTP-FLV视频流: Nginx-http-flv-module流媒体服务器搭建模拟推流flv.js在前端html和Vue中播放HTTP-FLV视频流_霸道流氓气质的博客-CSDN博客 上面讲了Nginx-http-flv-moduleflv.j…

直播平台流媒体服务器搭建(Linux+Nginx+RTMP)

写在前面: 实践出真知学习编程最好的语言不是PHP,是English 近年来各大视频直播平台兴起,直播技术也愈发成熟,作为一个程序员,秉着“折腾”精神自己搭建了一个直播用的流媒体服务器,现在来和大家分享一下搭…

个人流媒体服务搭建

简介 主要是个人的流媒体服务器的创建的方式分享 Centos7自建基于HLS的私人直播服务器 相关资源下载 链接:https://pan.baidu.com/s/1zhWFpFRy2v0_lyjA0-AfAg 提取码:yyds 入门操作 实现方法基于nginx和nginx的一个rtmp模块。因为epel源和nginx官…

搭建RTSP流媒体服务器的三种方式

主要用于测试目的,系统是windows,使用的是docker desktop 3.5.1 1. rtsp-simple-server 官网:https://github.com/aler9/rtsp-simple-server (1)下载解压缩 Centos7下载压缩包,然后启动rtsp服务器 tar zx…

一分钟内搭建高性能免费流媒体服务器---导航

本博文件是为了方便大家寻找资源更加方便而写, 这样大家可以以此为入口,看到所有关于流媒体服务的相关内容,所有资源都附在了相关博文中。 在服务器系列博文中有服务器的知识群二维码,大家可以通过二维码加群讨论。 流媒体服务器…

流媒体之从零实现搭建简单流媒体服务器,推流,拉流播放全景视频

一、直播与点播 直播:在我的理解中是实时录制的内容,类似各个晚会的实时直播过程,在现场采集图像的同时传输影像到网络上。点播:是提前录制完成的内容,类似某些直播平台上根据观众的需求播放某些电影或经典电视剧。终…