Linux:网络(网络编程基础)

打印 上一主题 下一主题

主题 977|帖子 977|积分 2931

目录

一、网络的概念
1.认识网络
2.网络的发展
二、协议
1.网络问题的产生
2.什么是协议
3.网络协议
三、协议分层
1.协议分层的概念
2.OSI七层模子
3.TCP/IP四层(五层)模子
(1)物理层
(2)数据链路层(网卡层)
(3)网络层
(4)传输层
(5)应用层
4.TCP/IP四层模子图解
四、局域网络通信
1.协议报头
2.MAC地点
3.局域网通信原理
​编辑
4.局域网通信的过程
5.一些局域网的先容
五、跨网络通信
1.IP协议的作用
2.IP地点与MAC地点
3.跨网络通信的大致流程


一、网络的概念

我们天天都需要上网,在你看博客的时候就正在使用互联网。
那网络这个我们既认识又陌生的东西到底是什么呢?
1.认识网络

在我们的印象中网络应当是计算机间沟通的东西,其实计算机本身就是一种小型的网络布局。
在计算机的内部存在很多模块,比如CPU,显卡,磁盘,网卡等硬件资源。这些模块只有协同工作,才气保证一台计算机正常运行。
而为了保证模块之间的和谐运作,模块间必定存在信息的传送。在计算机中有很多的线(物理上的电线之类的),信息就是通过各模块之间的线传送的。
这些实际存在的线与被毗连的硬件模块构成了一个网状布局,这种布局就被叫做网络。
那么我们不妨将视野放大一点,我们假设毗连硬件装备的线可以无穷远。假如我们移除一台计算机的硬盘,再准备一些储存能力很强的计算机与该计算机毗连起来,这些专门用于存储的计算机也可以叫做存储集群。
所以当该计算机需要存储数据时,就可以直接通过线向数据传送到存储集群,需要用到硬盘数据时,也可以通过线获取数据。
那假如我们将计算机的各个硬件全部门散开来,并通过线毗连起来,它们也就构成了一个网络,但所有的装备还是一台计算机。只要我们的网络传输够快,所有的硬件都可以单独设置一个集群,集群间通过网络传送数据,这也是很多大型计算机的实现思路。
所以最终我们认识到:计算机体系布局中有网络,网络中也有计算机的体系布局。
2.网络的发展

(1)在网络发展的早期计算机间处于独立模式,也就是计算机之间会保持相互独立。
比如说下面的三台计算机,由于它们之间相互独立,所以只能自己干自己的事变。小松、小竹、小梅想要获取对方的数据就必须使用硬盘等存储介质举行转移,很不方便。

那我们假如再拿一台计算机作为服务器并将其与三个人的电脑毗连起来,三个人处理好数据就可以发送到服务器上,三个人需要数据也可以从服务器中拿。
(2)网络继续发展,实现了网络互连,小范围内的多个计算机可以共享数据。

(3)后来,想要共享数据的计算机数目变得更多了,各人都有数据互换的需求。这些计算机就会通过互换机和路由器彼此毗连起来,此时就构成了一个局域网(LAN)。
接入局域网的计算机之间可以之间传送数据。

(4)再后来,全世界的局域网越来越多,人们也不再满足于局域网的一定地域范围的计算机间通信,此时就出现了能将各个局域网互相毗连的广域网(WAN)。

如图所示,将每个都会的局域网通过路由器相连,如许就形成了一个大的“局域网”,我们就称之为广域网。

广域网实现了局域网间的数据传送,远隔千里的计算机此时也能毗连在一起了。比如说,从天津到上海开车需要走1000多公里,但通过广域网,天津和上海的计算机就可以举行数据传输。
“局域网”和“广域网”只是一个相对的概念。你可以将一个国家的单个都会差别地域局域网构成的广域网,看做是这个国家的局域网。而差别国家的广域网,又可以看作环球通信的局域网。
留意,上面我们说路由器就可以毗连起各个局域网,但是实际广域网的毗连方式是很复杂的,这种网络的构建者是各大通信运营商,在中国就是中国移动、中国联通和中国电信。通信运行商在中心起到的作用我们以后会说到。
二、协议

1.网络问题的产生

我们人与人之间面对面沟通的时候,通过语言或者面部表情等都能很快明白到对方的信息,也就是说短间隔沟通的停滞是很小的。
假如二人隔了很远的间隔语言,一方面,你语言的时候对方大概听不清,也大概对方没听清一部门,而且你也很难知道对方到底听懂没听懂。而对于网络而言,更多的都是长间隔的数据传输,所以网络传输一方面停滞很多,另一方面,大概引入新的问题(比如面对面对方一个眼神你就知道对方听懂没听懂了,而远间隔你乃至都看不到对方,这就是引入新的问题)。
所以我们得到以下结论:所有的网络问题本质都是通信间隔变长导致的。
2.什么是协议

其实在我们的生活中就有协议,比如说我跟同学约好了去水上公园玩,我告诉他,只要我给你打电话了,你下楼来找我就可以了。
在这里,虽然我打电话只是一个行为,但是我们二人早就商量好了,只要我打电话他就下楼,这是我们之间不需要解释共识。
所以,协议的本质就是约定。
在计算机中也是一样,比如说两台计算机举行通信。两台计算机约定好,其中一台计算机给另一台计算机发送一个整形数字,每个整形数字代表的操作差别。
比如 ,一台计算机给另一台计算机发送整型数字1,而数字1代表重启电脑,那另一台计算机收到数字1后就会直接重新启动。
有了如许的协议就减少了计算机通信的阻碍。
3.网络协议

在计算机制造中,计算机生产厂商有很多,生产计算机硬件的厂商更多,生产网络传输相关硬件的厂商也很多。每一个厂商都有自己的协议,每一种硬件支持的协议都不一样。到最后,差别协议间的硬件无法有效传输信息,各人的计算机还是不能通信。
既然如许,就必须出现一个统一的标准,各人根据一样的标准才气通信,现在如许的标准就叫做网络协议。
三、协议分层

1.协议分层的概念

协议实质上还是计算机的软件部门,由于协议的使用必须依靠一定的数据布局。
那协议分层又从何谈起呢?我们以打电话为例。

如上图所示,两个人通过座机打电话,当电话买通时:


  • A先对着电话语言,电话将A的语音信息采集到。
  • 座机再将采集到的信息传给C的电话。
  • C的座机再将从A的电话传过来的信息放给C听。
对于A和C来说,他们都以为自己在直接与对方通话。
对于两台电话机来说,它们也以为是它们之间在互相传递信息。
如许一来,整个通话的信息传递就分为了两层:


  • 语言层,A和C交流。
  • 通信装备层,A的电话机和C的电话机交流。
两层每层都有各自的协议:


  • 语言层,A和C使用汉语交流。
  • 通信装备层,A的电话机和C的电话机使用电话机协议交流。
假如A和C使用英语交流,只是语言层的协议从汉语变成了英语,电话机协议不需要改变,两人同样可以正常通话。

假如A和C使用无线电来通话,此时仅是通信装备层的协议从电话机协议变成了无线电协议,语言层仍然使用汉语协议。

也就是说,两层中的某一层协议发生改变时,不影响另一层。
在实际的网络通信中,分的层数会更多,环境也更复杂,但同样符合这一特点。
那如许的分层有什么优势呢?


  • 低耦合,某一层发生变化并不影响其他层。
  • 高内聚,功能比较会合,耦合度比较高的模块都会分在同一层。
协议分层的一个重大原因就是,每一层都需要办理特定的问题,这些问题紧张表现为以下四点:
(1)如何把数据交付给和自己直接相连的下一台主机。
比如,我要从太原开车去天津,我第一站肯定是先去阳泉,我假如开到阳泉的能力都没有,那又何谈去天津呢?
(2)要有路径选择的能力,由于网络通信过程中存在很多节点。
太原到天津假如我们东南西北分不清,也没有导航。那我们走着走着就不知道自己到哪了,所以网络通信必须也要有选择到达最终接收呆板路径的能力。
(3)容错纠错的能力,当通信信息发送错误时,可以大概处理。
我想从太原到天津,应该向东北方向走。假如我走着走着忽然发现自己到西安了,那我就知道我往西南方向走了,需要折回去。网络通信也是一样,比如说发送的数据送错位置了,下一台主机没有收到(很像加快器上说的丢包),那就需要重新发送一份数据,这就是一种纠错能力。
(4)当信息递达以后,具体的应用问题。
我到天津之后,我总要干一些具体的事变,比如我是回家,还是海河边遛遛弯之类的。网络通信也是一样,数据到了目标主机上,目标主机总是要用这些数据办事变的,传输数据只是手段,办理问题才是目的。
2.OSI七层模子

OSI(Open System Interconnection,开放系统互连)模子将网络通信分为七层,它也叫开放式系统互联参考模子,是一个网络通信逻辑上的界说和规范。

物理层:标识一些硬件规定,比如高电压表现1,低电压表现0。
数据链路层:负责将数据传输到与该装备直接相连的下一台主机。
网络层:确定数据传输的路径选择。
传输层:假如将路由器和主机都看作一个节点,则网络是图状布局,这一层就负责不直接相联的节点间数据的传输。
会话层、表现层、应用层:由于这部门的代码是步伐员自己实现的,所以这三层的协议各不相同。我们常常把这三层直接压成一层。
留意,会话层、表现层、应用层都是各司其职的,我举一个例子。比如说,你在参加社团运动时认识了一个女孩子,你想跟她加微信,她也同意了。
此时,你们之间就建立了接洽。建立接洽,就是会话层常做的工作。
你们聊天后发现,二人语言都喜欢刀切斧砍,如许你们就建立了两个人的语言风格。确定通信风格,就是表现层的工作。
最后,你们二人开始试着交往,那两个人就可以去影戏院、游乐土之类的地方。根据实际举行实际问题操作,就是应用层的工作。
由于这三层的代码是步伐员自己实现的,所以根据实现差别,它们的工作协议也会有所变化,上面只是一个简朴的例子,不代表全部。
3.TCP/IP四层(五层)模子

TCP/IP模子也遵循OSI规则,它将上三层合并成了一层,叫做应用层。所以还剩下五层,再加上物理层也不会被考虑,最后剩下四层。
在以后的学习中,假如没有特别说明物理层,TCP/IP模子就只有四层。

(1)物理层

负责光/电信号的传递方式.。比如现在以太网通用的网线(双绞线)、早期以太网采用的的同轴电缆(现在紧张用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输间隔、抗干扰性等。集线器(Hub)也工作在物理层。
这里需要说一下集线器,集线器是增强信号的呆板。假如我们需要把一条信息从天津送到上海,两地间隔1000多公里,数据就需要长间隔传输。而信息必须使用一定的物理介质传播,比如光信号等。在传递过程中信息的强度就会逐步减弱,当信号将要衰减至无法识别前,集线器就会将该信号增强,以到达远间隔传输的目的。
我们加一个小插曲,各人看没看过家里的光猫和路由器。有没有好奇过,这两个小玩意是怎么帮我们上网的?


实际上,光猫的学名叫做调制解调器。它会与光纤(或网线)举行毗连,并通过光纤(或网线)继承和发送信息。
在网络通信中我们有两种常用的信号,一种叫数字信号,一种叫模仿信号。模仿信号类似于波,更得当远间隔传播,而数字信号就是我们二进制的01组合,得当小范围局域网内传播。

所以,调制解调器会先从光纤中获取模仿信号信息,然后在其内部将模仿信号转换为数字信号并传输给路由器。
路由器可以构建局域网,它接收数字信号后将数据再发给我们的手机、电脑和电视等装备。
我们发送的数据也可以反方向输送到光纤远间隔传输。

还有一点就是什么是双绞线。你大概不知道双绞线是什么,但下面这个插头你一定见过。

这个就是双绞线的水晶头,双绞线跟我们所说的网线没什么区别。比如我们的房间里大概墙上就伸出来这么一个水晶头,将该水晶头插上电脑就能实现上网。
最后一点,网卡也属于物理层,它也可以接收网络传递来的信息。比如说,网卡接收到信息后,就会解析数据并对它的寄存器举行充电,数据的01序列就被放到寄存器里。然后操作系统就能将数据读走使用。
所以说,寄存器只存在于CPU的说法是不对的,实际上硬件还有外设都有自己的寄存器,我们看上去是将数据写到了某个装备上,其实是先写入寄存器,然后再颠末硬件处理。所以,这些差别硬件与外设的寄存器也被称作端口。
上面这些知识大部门属于硬件,不在我们学习的范围内,了解即可。
(2)数据链路层(网卡层)

数据链路层: 负责装备之间的数据帧的传送和识别。比方网卡装备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(假如检测到冲突就主动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 互换机(Switch)工作在数据链路层。
我们以后会具体报告互换机的工作方式,但现在我们只需要记住数据链路层负责将数据传输到与该装备直接相连的下一台主机即可。
(3)网络层

负责地点管理和路由选择. 比方在IP协议中, 通过IP地点来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层。
我们记住网络层能提供路径选择能力,而且很多以后要学习的传输协议还有路由器都工作在这一层。
(4)传输层

负责两台主机之间的数据传输. 如传输控制协议 (TCP), 可以大概确保数据可靠的从源主机发送到目标主机。
我们记住传输层提供纠错能力就可以了。
(5)应用层

负责应用步伐间沟通,如简朴电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等. 我们的网络编程紧张就是针对应用层。
应用层就是利用发来的数据办理一些实际的问题了,比如说识别出是关照就给用户发过来之类的。
4.TCP/IP四层模子图解

这个图片也很紧张,我们还是需要解读它的信息,我们从下往上开始说。

其实这个图是有一些问题的,假如根据我们之前学过的计算机体系层次来看的话。
物理层对应硬件,这里也是唯一属于计算机硬件的一层。
数据链路层(网卡层)对应计算机的硬件驱动,从这里开始向上就全都属于软件了。
传输层和网络层是操作系统自己实现的,不管我们使用的是Windows、Linux还是MacOS,只要计算性能入网,这里的实现就完全一样。
岂论是我们的手机、电脑还是其他电子装备,只要入网大部门会在传输层使用TCP协议,在网络层使用IP协议,所以我们管这个模子叫做TCP/IP四层模子。
由于操作系统不相信任何人,所以在传输层和应用层之间会存在系统调用接口。
还记得之前的进程间通信吗?进程间的管道通信本质使用了文件操作,而网络通信实质上就是跨主机的进程间通信。所以,网络接口就被整合进了文件操作里,如许使得学习过系统编程的人学习网络接口的效率会大大提高。
每一个呆板都有自己的工作层,对于一台主机, 它的操作系统内核实现了从传输层到物理层的内容。对于一台路由器, 它实现了从网络层到物理层。对于一台互换机, 它实现了从数据链路层到物理层。对于集线器, 它只实现了物理层。
但是现在随着科技的发展,上面的这些呆板都已经可以在多个层内工作,比如路由器就已经变成了一台小型计算机,它可以实现更多的操作。所以上面的表述只是教科书的表达,很多呆板都已经在多个层内工作。
四、局域网络通信

1.协议报头

各人肯定都有网购的经历,比如说我在网上买了一个保温杯。首先,商家会把现货交给快递公司。快递公司会用盒子包装好并贴上快递单,然后送到离我们最近的快递点。
当我拿到保温杯的时候,它不仅有一个水杯,还会多出来一些东西,比如包装盒和贴着的快递单。理论上我们从驿站取快递时应当打开查抄后再将物品拿回,快递盒和快递单不应该被我们拿走,只不外直接拿走更方便更有效率,这一步就被省略了。
快递单上的信息对于我们而言没什么用,但对快递站则是一种协议,这些信息可以帮助快递员转运快件。站在网络的角度,快递单的数据就是协议。
快递单上的信息需要一个快递单来填写并贴在便于运输的纸盒上。站在网络的角度,信息需要空间生存,所以包装盒和快递单就对应了协议报头。
所以,我们能得到以下结论:


  • 每一层都有协议,每一个协议的最终表现就是协议都要有报头。
  • 协议通常是通过协议报头举行表达的
  • 每一份数据最终在被发送或者在差别的协议层中,都要有自己的报头。
2.MAC地点

两台同属一个局域网的装备可以直接通信,比如说我们的手机wifi热点原理也是局域网。那局域网是怎么让装备间举行通信的?为了搞清这个问题,我们首先要认识MAC地点。
我们每一个人都有自己的身份证号,对于网卡也是一样。每个人的身份证号都不一样,同样网卡也需要一个可以标识自己唯一性的名字,这个名字就是MAC地点。在局域网中每台电脑的MAC地点是唯一的。
我们可以通过ifconfig指令查看Linux呆板的网络信息。
第五行ether(以太)后面的的52:54:00:9c:e6:65就是MAC地点。

我们也可以点击Windows+r输入cmd,用ipconfig /all指令查看Windows呆板网络的所有信息。
其中我链接的是无线局域网,物理地点98-8D-46-55-AC-99就是MAC地点。


每个MAC地点大小为6个字节,48个比特位。
实际上,像硬盘等硬件也有自己的专有的序列号。只不外标识网卡唯一性的MAC地点需要参与网络通信,它太特殊了,所以其他硬件的序列号我们都不关心。
3.局域网通信原理

所有的主机都接入了同一个局域网,所以每一个主机都以为它在与其他主机举行通信。
但是我们不妨想象如许一个场景,在一个班级中有小明、小红、小刚等几十个同学。老师正在前面讲课,讲到一半说:“小明,上来把这个题做一下。”此时,小明就站起来走到黑板前拿粉笔并开始写。
首先,老师讲课,弟子听课就可以看作老师向弟子传递信息。弟子之间有事变也会互相交谈,所以弟子之间也可以传递信息。弟子也可以向老师问问题,所以弟子也可以向老师传递信息。假如把每个人都看作一台计算机,那就可以将这个教室看作局域网,各人可以相互通信。
然后,老师叫小明上黑板做题。这句话其实班级内的所有人都听到了,但是由于老师叫的是小明,所以只有小明做出了反应。小红、小刚等其他人知道老师叫的不是自己,就直接忽略了。
这些放到局域网中也一样,局域网中的所有主机都在相互通信。假如一个主机发送了一条信息,所有的主机也都能收到。只是需要该数据的计算时机处理该数据,其他不需要该数据的计算机虽然接收数据,但不会处理它。


我们上面说到的通信方式就是以太网的通信原则。实际上局域网的通信准则有很多,最常见的就是以太网、令牌环网还有无线LAN。正由于最早网络通信局限于局域网,所以差别地域的通信标准会有所差别。
4.局域网通信的过程

我们举一个例子,用户A和用户B用QQ聊天,A用户给B用户发了一句你好,B用户也接收到了。那这个你好是怎么发送到B用户的电脑上的呢?
首先,我们先向应用层发送你好,这是一个字符串。
这个字符串到达应用层后就需要在前面加上应用层的协议报头,这个报头我们用圆圈表现。
应用层再将加了报头的报文交给传输层,传输层会在前面再加一个传输层的协议报头,我们用四角星表现。
传输层再将加了报头的报文交给网络层,网络层会在前面再加一个网络层的协议报头,我们用六角星表现。
网络层再将加了报头的报文交给数据链路层,数据链路层会在前面再加一个数据链路层的协议报头,我们用云朵表现。
数据链路层再将加了报头的报文交给物理层,此时数据就能交给网络了。
在用户B的电脑接收到的数据会生存物理层中。此时,数据需要传递到应用层。物理层去掉自己的报头(云朵)向数据链路层传递数据,数据链路层去掉自己的报头(六角星)数据向网络层传递数据……
就如许数据不断向上传递,到应用层时,应用层将自己的报头(圆圈)去掉,就将你好显示在了聊天框内。

所以,我们需要知道以下结论:


  • 在同一层内,二者在宏观上都使用相同的协议传递信息。
  • 数据从模子上层向下不断加报头的过程叫做封装,从下层不断去掉报头的过程叫做接包。下面是封装的过程的图示:



  • 在每一层的报头信息中,一定生存了两个内容,即报头和有效载荷在那里,还有自己的有效载荷应当传递给上层的哪一个协议。
5.一些局域网的先容

我们常用的局域网通信标准有以太网、令牌环网和无线LAN。
以太网的通信逻辑上面说过了,同一时候只答应局域网内的一个主机发送信息。
以太网这个名字的来历还是有个小故事,各人假如上过大学物理大概会对以太这个词有印象。以太最早由亚里士多德提出,它被以为是布满世界的五大元素之一。
后来18世纪,笛卡尔、惠更斯和牛顿都以为以太是存在的,一方面是他们以为光声等的传播需要介质,物质也需要以太举行相互作用。
到了19世纪,由于杨氏干涉的提出,以太论又开始火热。此时的以太不光作为介质,也作为绝对静止的物体存在。所以当时各个科学家就都开始研究这个东西是否存在,也包罗爱因斯坦。但研究了半天,他们并没有找不到以太存在的证据,反而找到了一些不存在的证据。所以,直到现在我们都以为以太是不存在的。
到了计算机网络发展的年代,新的科学家们发明出了上面如许的局域网,他们想到物理学家研究以太的各种故事,就把这种局域网起名为以太网。本来这只是玩个物理学家的梗,没想到这个名字不停传播到了现在。
令牌环网就是在某个计算机内发送一个数据,这个数据只能被一个电脑接收到。接收到这个数据的计算机就可以大概发送数据到网络,而拿不到这个数据的主机就不能发送数据。到这里我们也能认识到,令牌环网的实现和我们学过的锁很像,确实云云,我们学到的知识都是相通的。
无线LAN是以太网的一个变种,用的相对少一些。
五、跨网络通信

1.IP协议的作用

所谓跨网络通信就是两个需要通信的主机不在同一个局域网里,一旦需要跨网络,那就需要路由器发挥作用了。
我们看下面这张图,依旧是用户A给用户B发送数据。

用户A发送的你好字符串会不断封装至驱动部门,也就是数据链路层。
由于路由器和用户A的主机属于同一个局域网,所以数据封装到数据链路层就可以传输到路由器上。
路由器必定有两个接口毗连用户A和用户B所在的局域网,而此时由于这两个局域网数据链路层协议不一致,再加上路由器工作在网络层,所以路由器会把原来以太网的的报头(以云彩表现)删掉。
然后路由器会再给数据加上令牌环网的报头(以圆对话框表现),此时数据就符合了用户B所在局域网的数据链路层协议,数据就可以一层层向上解包,最终B用户收到”你好“的信息。
打个比方就是,你在冬天从天津去三亚旅游,在冬天的天津你必须穿羽绒服,而在冬天的三亚你只需要穿短袖。所以在上飞机时你穿着羽绒服,而下飞机就要换成短袖。数据在路由器中也要颠末脱一件衣服,再穿一件衣服的过程。
正是IP如许的通信方式,可以大概保证在数据链路层协议差别,或者说局域网配置差别的环境下,让各种局域网链接为广域网。
2.IP地点与MAC地点

我们之前使用ifconfig指令看到了Linux呆板的MAC地点,ether表现以太,在它后面的由冒号隔开的6个16进制数就是MAC地点。



  • MAC地点总共6个字节,48个比特位,一般用16进制数字加上冒号的情势表现,通常用于局域网。
  • MAC地点在网卡出厂时就已经确定,不能修改,通常是唯一的。(假造机中的mac地点不是真实的mac地点, 大概会冲突)
  • 计算机的MAC地点需要保证在局域网中的唯一性。
同样在上面的图片中,inet后面的由点隔开的4个10进制数就是IP地点。


  • P地点是在IP协议中,,用来标识网络中差别主机的地点,通常用于广域网和局域网。
  • IP协议有两个版本, IPv4和IPv6。IPv4在全世界都广泛使用,IPv6只在中国使用较多。后面凡是提到IP协议,默认都是指IPv4。
  • 对于IP协议(IPv4)来说,IP地点是一个4字节,32位的整数。
  • 我们也称IP地点为“点分十进制”字符串,比方10.0.8.7,用点分割的每一个数字都表现一个字节,数据范围是 0 - 255。
那二者又有什么关系呢?
我可以举个例子,比如说我要从天津市武清区杨村到天津市和平区的劝业场,那我就需要从高德地图等软件上查找可选择的路线。
比如说,我先去创意米兰公交站等749路公交,坐公交到北辰道地铁站。那我的上一站就是家,下一站就是北辰道地铁站。
我到达地铁站后,我要从北辰道站坐地铁转运到和平路站,此时我的上一站就是创意米兰公交站,下一站就是和平路地铁站。
从和平路地铁站出来后,我要沿着和平路走350米到劝业场.此时我的上一站就是北辰道地铁站,下一站就是天津劝业场。
最后我走到劝业场就可以了,但在这其中我的起始地点家和最终地点天津劝业场始终没有发生改变,而上一站和下一站的地点不停在变。
其实对于跨网络的通信也是一样的,最早发送数据的主机IP叫做源IP,最终数据的目的主机IP叫目的IP。
由于主机大部门都不在一个局域网内,所以主机需要在广域网中标识自己的唯一性。源IP与目的IP大部门都使用IP地点,这两个地点可以为我们将来每一个阶段提供方向目标,方便传输的路径选择。
而对于网络传输的上一站,下一站而言,它们不停在不断变化,而且更多的都在局域网内传输。所以这类地点常用MAC地点,为当前的路径选择提供可行性。
3.跨网络通信的大致流程

跨网络通信的过程大致如下图:

一个用户的数据会被封装到物理层,然后发送给目的IP决定的下一个节点。在下一个节点,数据会被解包至网络层,此时根据目的IP,该节点的装备又会将数据封装至物理层再次发送至下个节点……直到最后发送到目的IP的主机,该主机将数据完全去除报头展现给用户。
上面便是我们网络基础的全部内容了,此时我们可以大概开端认识网络的运行逻辑并开始接触socket套接字。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

乌市泽哥

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表