标签:双绞线 系统 发送 技术分享 三层 浏览器 pre 服务器 以太网
#软件开发的架构 # 第一种是应用类:qq、微信、网盘、优酷这一类是属于需要安装的桌面应用 # 第二种是web类:比如百度、知乎、博客园等使用浏览器访问就可以直接使用的应用 #这些应用的本质其实都是两个程序之间的通讯,而这两个分类又对应了两个软件开发的架构 # 1.C/S架构(client/server) # 客户端与服务器架构,客户端一般泛指客户端应用程序EXE,程序需要先安装后,才能运行在用户的电脑上 # 2.B/S架构(browser/server) # 浏览器端与服务器端架构,这种架构是从用户层面来划分的。 # Browser浏览器,其实也是一种Client客户端,只是这个客户端不需要大家去安装什么应用程序,只需要有一个浏览器 # 统一入口 # b/s和c/s架构是什么关系 # b/s架构其实也是一种c/s架构,只是c/s架构中的客户端变成了浏览器,就变为b/s架构 # 网络编程 # 现在讲的都是C/S架构,但是未来用的其实都是B/S架构,等学完前端、为学B/S架构做了准备,就开始B/S架构 # 想要实现网络通信,需要网卡和网线,网卡上需要有全球唯一的mac地址,其实两台机器通信是需要知道对方mac地址的,mac地址才是关键。 # 通过ip地址 就能找到对应的mac地址 ,通过arp协议使ip地址找到mac地址。本质是需要知道mac地址才能进行通信的。 # ip地址与ip协议 # 规定网络地址的协议叫ip协议,它定义的地址称为ip地址,广泛采用ipv4,它规定网络地址由32位二进制表示。 #ip协议的作用主要有两个,一个是为每一台机器分配ip地址,另一个是通过子网掩码确定哪些地址是在一个子网络的 # ipv6: 跨大ip范围: 0.0.0.0.0.0 ~ 255.255.255.255.255.255 # ip地址保留字段 192.168.xx.xx 保留给内网。 127.0.0.1本地的回环地址(自己找自己这台机器) # 交换机 # 解决多台机器之间通信的问题,交换机的通信基本靠吼,一个机器A找机器B,交换机会广播一下给所有的机器,这是弊端。 # ARP协议 # 一台机器A,通过交换机想要找10.0.0.1为IP地址的机器B,数据包中带了目的IP地址,给了交换机广播后,机器B响应并将自己的mac地址 # 回复给了交换机,交换机给了机器A,此时机器A就知道了10.0.0.1对应的mac地址,当下次机器A又想与机器B通信时,就直接像机器B的mac地址发送信息就行了,这就是ARP协议的。 # 路由器 # 为了解决交换机的通信基本靠吼,一个机器A找机器B,交换机会广播一下给所有的机器,这是弊端。所以出现了局域网。 # 一个局域网里有一个交换机,多个局域网之间通信,通过一个路由器将多个交换机连起来。每个交换机连到路由器都有一个网关(在统一个局域网下) # 通过子网掩码和IP地址进行按位与后(得到一个网段地址)就能知道是否在同一个局域网下,局域网中的机器想要访问局域网外的机器需要通过网关访问。 # 端口 # 通过ip地址找到机器后,通过端口找到程序。在计算机上,每一个需要网络通信的程序,都需要开一个端口,找到了端口后,才能找到服务 # 在同一时间只会有一个程序占用一个端口,不可能在同一时间,有两个程序占用同一个端口 # 端口的范围是0~65535,其中有一些端口号是系统已经用了的,一般情况下我们应该用8000之间后的端口 # 因此有了ip后,通过ARP协议,就能确定机器,有了端口后,就能找到那台机器上的唯一的一个程序 # 计算机之间的网络通信 # tcp协议和udp协议 # tcp长连接,有重发重传等机制, 三次握手建立全双工链接,四次挥手断开全双工链接。你要关闭你的嘴,我同意,但是我的嘴你不能强制我关闭,我要关闭我的嘴时我来问你,你同意 # udp 无连接,QQ用的就是udp。QQ能检测到数据是否成功发出,并不是基于UDP协议完成的,而是基于UDP协议自己实现的协议完成的 # 互联网协议 # 互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层 # 开发来说,关注与5层应该就可以了:分别是应用层、传输层、网络层、数据链路层、物理层 # 应用层是我们开发的app # 传输层是tcp协议、udp协议。包tcp、udp # 网络层是包ip协议 # 数据链路层是arp协议,包mac地址 # 物理层是通过网线等传输01010101 # 每层运行常见的物理设备,几层几层表示的是OSI的层数 # 传输层:四层交换机、四层的路由器 # 网络层:路由器、三层交换机 # 数据链路层:网桥、以太网交换机、网卡 # 物理层:中继器、双绞线、集线器
OSI(五层的)
标签:双绞线 系统 发送 技术分享 三层 浏览器 pre 服务器 以太网
原文地址:https://www.cnblogs.com/whylinux/p/9742034.html