网络
就是用通信线路和通信设备把很多个“主机/端设备“相互联系。然后按照某种沟通方式,专业术语叫“协议”,共享信息。
**(
计算机网络:节点和边构成的系统
节点:
主机节点:主机/端设备(手机,电脑,汽车,操作系统,一些app……)
只要可以支持产生和接受数据的系统,主机/端系统只是这种集合体的抽象。
都是数据的源,也是目标。还有web服务器(web就是网页,web服务器就是浏览器)。
数据交换节点:中继器,交换机,路由器……
既不是源也不是目标,来个分组,从一个端口进来,按照一定的工作方式,转发数据。配合主机结点。
中继器(物理层):
对信号进行再生和放大,以延长网络的传输距离
想象一下,您在一个长长的走廊这头向那头喊话,声音传得越远就越微弱。中继器的作用就类似于在中间加了一个扩音器,把您已经变弱的声音接收过来,放大后再传出去,让更远的人也能清楚地听到。
交换机(数据链路层):
一个局域网的设备交互工具
每个设备有自己的身份证号(MAC,可以修改),比如手机向电脑发数据:手机会检查自己的ARP(地址解析协议),看和电脑的MAC以及IP是不是有关系;如果没有,手机会发送一个ARP广播,问局域网中谁有具有特定的IP,并请求对方MAC,然后这个局域网所有设备接受广播,但是只有电脑响应,然后手机知道电脑的MAC,然后把数据帧(数据帧就是数据在网络传输的基本单位,它包含源MAC,目标MAC,数据,控制信息)和双方MAC通过交换机发送到电脑的端口,完成交互。
路由器(网络层):
用于连接不同网络;局域网之间,局域网和互联网,广域网等,根据IP地址决定数据包转发路径,实现具体和哪个网络交互,避免瞎连
比如我和同学发微信,就是路由器的应用,因为是不同网络的交互;除非同学和我在一个局域网中,这时通过交换机
边
节点连接(主机和交换节点,交换节点和交换节点,然后形成网络进行相互通信)
接入网链路:
主机通过以太网网线接到最近的交换机,连接到互联网
主干链路:
交换节点间的连接;
协议:
类比人们的沟通方式
设备间,出身不同,可以通过某种约定产生联系和交互
)**
TCP面向连接,可靠,在传输数据前会先建立连接;会确认,重传,流量控制,阻塞控制,适用对数据准确性和顺序高的应用(电子邮件,网页浏览);
UDP无连接,不可靠,效率高,可以容忍一些数据丢失(适用视频通话,游戏);
internet(计算机网络)
遵循TCP/IP的。只是众多网络中的一个,但是他很特殊,是全球最大,开放,由众多网络相互交织的“集合体”
intranet:某个企业自己的,不和internet连接
众多网络怎么连接?
两个公司A和B,都有自己的局域网,这个局域网里有很多“主机/端设备”通过交换机连接在一起,进行数据传输共享。
现在A,B想连接,首先要向互联网服务供应商ISP提出申请,ISP为他们各自分配ip地址段,通过路由器把他们连接到更大的网络中
分组:
发送端将数据分段,然后给每段加上首部字节
每个分组会按照网络中的路由规则和链路状态来选择路径,到达接受端。可能会问:不会乱套吗,比如123,2最快,最后接收端变成213。不会的,因为首部字节会在接收端对数据排序或者重组
数据分段:
数据分段就是把数据切块,目的是为了,1适应不同网络的MTU(最大传输单元)2防止在传输过程中发生以外,导致需要一整个重传。
首部字节:
可以理解为一些基本信息和标识:包含源地址和目标地址;网络拥塞情况,调整发送速率;流量控制,接收端告诉发送端自己还可以接收多少数据。
ISP:
互联网接入服务,我们的设备可以通过很多很多方式接入,比如有线,wifi(wifi是一种实现无线局域网的手段(WLAN)),每个ISP都是独立管理,遵循ip协议
协议:《”对等层“的实体》
TCP实体:实现TCP协议的软件/硬件,也要遵守规则,不同厂商/应用的TCP实体不一样的。比如安卓和linux(也可能tcp一样)
协议定义两个及以上通信实体间交换的pdu(不同层叫法不一样):报文格式(语法,语义),次序(某个动作之后进行,比如收到请求再发,而不是想发就发)和动作(收到报文后进行的动作,比如特定发送cpp文件)。
网络总结:
网络间通过很多网络交换节点互联互通,一个网络下可以有很多小网络,小网络又和别的很多网络互通
互联网标准是IETF发布的RFC文档形式
从服务角度看internet:
互联网是分布式应用进程;以及为其提供通信服务的基础设置(应用层一下所有的《协议实体》,以及网络整体)基础设置提供服务方式:网络API(面向连接(TCP),无连接(UDP))
分布式的应用也正是—“网络存在的理由”
分布式:
在计算机网络中,分布式应用进程指的是运行在多个通过网络连接的计算机(这个计算机是一种抽象,也可以是服务器啊等端系统,满足通信发送接受信号即可)上,并协同完成特定任务的应用程序的各个部分。
服务器:
可以理解为一种专门设计用于提供特定服务和功能的计算机系统。(例如为网站提供支持的 Web 服务器、为企业内部存储数据的数据库服务器等。)