Net Basic
一、网络分层
1. OSI七层模型
-
物理层:确保原始数据在各种物理媒介上的传输。
有两个重要设备:中继器(放大器)和集线器
-
数据链路层:为网络层提供数据传输服务;基本数据单位是帧;以太网协议
重要设备:网桥和交换机
-
网络层:路径选择、路由和逻辑寻址;基本数据单位是IP数据报
协议:IP协议(因特网互联协议)、ICMP协议(因特网控制报文协议)、ARP和RARP协议(地址解析和逆地址解析协议)
重要设备:路由器
-
传输层:负责将上层数据提供端到端(即主机到主机)、可靠或者不可靠的传输以及端到端的差错和流量控制
协议:TCP(传输控制协议)、UDP(用户数据报协议)
重要设备:网关
网关:亦称为网间连接器和协议转换器,实现机器之间的网络互联和信息的打包处理转化,是一个网络连接到另一个网络的关口
默认网关:一台主机可以有多个网关,默认网关是一台主机如果找不到可用的网关,就把数据包发给默认网关
-
会话层:管理主机之间的回话进程(即负责建立、管理、终止进程之间的会话)
-
表示层:进行数据的转换,包括压缩、加密、格式转换等
-
应用层:为操作系统或者应用程序提供访问网络服务的接口;数据传输的基本单位是报文
协议:ftp(文件传输协议)、Telnet(远程登录协议)、DNS、SMTP、HTTP、pop3协议(邮局协议)
2. TCP/IP四/五层模型
二、IP地址
IP地址是一种逻辑地址,用来标识网络上的一个个主机,IP地址具有唯一性;
IP地址 = 网络地址 + 主机地址;比如:192.168.100.0(相当于街道地址),主机地址:0.0.0.1(相当于各户的门牌号),二者相加:192.168.100.1(相当于用户地址)
三、子网掩码
用来判断任意两台计算机的IP地址是否属于同一个子网的根据;处于同一子网,可以直接通信
四、TCP/IP协议
1. TCP/IP各层包含的协议
- TCP/IP是互联网相关的各种协议的总称,是互联网的基础
-
协议背景:
计算机与网络设备要相互通信,双方必须基于相同的方法;比如如何探测到通信模板、由哪一边先发起通信、使用哪一种语言进行通信、怎样结束通信等规则都需要实现确定。不同的硬件、操作系统之间的通信,所有的这一切需要一种规则,这种规则称之为协议
2. IP协议
-
简介
IP是整个TCP/IP协议族的核心,也是构成互联网的基础。IP位于TCP/IP模型的网络层(相当于OSI模型的网络层),它可以向传输层提供各种协议的信息,例如TCP、UDP等;对下可将IP信息包放到链路层,通过以太网、令牌环网络等各种技术来传送。
-
特点
IP协议为上层协议提供无状态、无连接、不可靠的服务;
-
其他
①IP地址是一张接入互联网的身份证,存在于电脑、手机、摄像头、汽车等任何需要联网的设备;
②互联网通信里数据包会被嵌入IP源目地址,类似快递收发过程中的"快递单",通过IP地址的唯一性,保证了正常的通信。
③IP协议不仅只有IP地址这个寻址功能,它还能防止数据包环路、实现流量控制、能验证数据包完整性、能实现数据包分片和组装。
3. 三次握手
-
指建立TCP连接时,需要客户端和服务端总共发送3个包。
-
标记位&序列号&确认号
-
常用的三个标志位:
SYN–创建连接
FIN–终结连接
ACK–确认收到(数据)
PSH–push传送
RST–重置
URG–紧急
-
序列号:seq(小写)
-
确认号:ack(小写)
-
-
握手之前:主动打开连接的客户端结束CLOSED阶段,被动打开的服务器端也结束CLOSED阶段,并进入LISTEN阶段,随后开始“三次握手”
-
第一次握手:客户端向服务端发送一段TCP报文
其中:标记位为SYN=1,表示"新建连接";序列号seq = x;随后客户端进入SYN_SENT阶段
-
第二次握手:服务器接收到来自客户端的报文之后,结束LISTEN阶段;并返回一段TCP报文
其中:标志位为SYN=1,ACK=1,表示"确认客户端的报文seq有效,服务端能正常接收客户端发送的数据;并新建连接"
序列号seq = y;确认号ack = x +1,表示"收到客户端的序列号seq并将其加一作为自己的确认号的值",随后服务端进入SYN_RCVD阶段
-
第三次握手:客户端接收到来自服务端的确认TCP报文之后,知道了从客户端到服务端的数据传输的是正常的;返回最后一段TCP报文
其中:标志位ACK,表示"确认收到服务端同一连接的信号";序列号为seq = x +1,表示"收到服务端的确认号ack,并将其值作为自己的序列号";确认号ack=y + 1,表示”收到服务端的序列号seq,并将其加一作为自己的确认号ack的值“,随后客户端进入ESTABLISHED阶段
服务端收到来自客户端的“确认收到服务器数据”的TCP报文之后,知道了数据传输是正常的,结束SYN_RCVD 阶段,进入ESTABLISHED阶段
-
为什么要三次握手,而不是两次:为了防止出现失效的连接请求报文段被服务端接收的情况,从而产生错误。
4. 四次挥手
- 所谓的四次挥手即 TCP 连接的释放(解除)。连接的释放必须是一方主动释放,另一方被动释放
-
挥手之前:挥手之前主动解除连接的客户端结束ESTABLISHED 阶段;随后开始“四次挥手”
-
第一次挥手:客户端想要解除连接,向服务端发送一段TCP报文
其中:标志位为FIN,表示“请求解除连接”;序列号为seq = u
随后客户端进入FIN_WAIT_1阶段;并且停止客户端向服务端发送数据(此处停止发送的是连接时传送的数据,非一切数据,客户端仍可发送ACK确认报文),但是仍可以接收服务端的数据
-
第二次挥手:服务端接收到客户端的TCP报文之后,随后结束ESTABLISHED阶段,进入CLOSE_WAIT阶段,并返回一段TCP报文
其中:标记位为ACK,表示“确认接收到客户端的断连请求”;
序列号为seq = v,确认号为ack = u + 1,表示“在收到客户端报文后,将其序号 Seq 值加 1 作为本段报文确认号 Ack 的值;随后服务器端开始准备释放连接”
客户端收到服务端发出的TCP报文之后,随后客户端结束FIN_WAIT_1阶段,进入FIN_WAIT_2阶段
前两次挥手“既然服务端知道了客户端想要解除连接,也让客户端知道了服务端了解了自己想要解除连接的请求”
-
第三次挥手:服务端发出ACK确认报文之后,经过了CLOSED_WAIT阶段,做好了解除连接的准备,再次向客户端发出一段TCP报文
其中:标记位为FIN、ACK,,表示“解除连接”;此处的ACK并不是确认接收报文的意思;
序列号seq = w,确认号ack=u + 1,表示"在收到客户端报文后,将其序号 Seq 值加 1 作为本段报文确认号 Ack 的值。"
随后服务器端结束 CLOSE-WAIT 阶段,进入 LAST-ACK 阶段。并且停止在服务器端到客户端的方向上发送数据,但是服务器端仍然能够接收从客户端传输过来的数据
-
第四次挥手:客户端收到服务端发出的TCP报文后,确认了服务端已经做好了解除连接的准备,结束FIN_WAIT_2阶段,进入TIME_WAIT阶段,并向服务端发送一段报文
其中:标记位为ACK,表示“确认收到服务端解除连接的信号”;
序列号seq=u+1,“表示是在收到了服务器端报文的基础上,将其确认号 Ack 值作为本段报文序号的值”;
确认号ack = w +1,表示“在收到了服务器端报文的基础上,将其序号 Seq 值作为本段报文确认号的值”
随后客户端开始在TIME_WAIT阶段等待2MSL;
服务器端收到从客户端发出的 TCP 报文之后结束 LAST-ACK 阶段,进入 CLOSED 阶段。由此正式确认关闭服务器端到客户端方向上的连接;
客户端等待完 2MSL 之后,结束 TIME-WAIT 阶段,进入 CLOSED 阶段,由此完成“四次挥手”。
五、TCP&UDP
1. TCP协议概念
( Transmission Control Protocol ):传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议。
2. TCP协议特点&应用场景
特点:
- 面向连接:是指发送数据之前必须要先建立连接,方式是“三次握手”
- 仅支持单播传输:每个TCP传输连接只能是两个端点,即只能进行点对点传输,不支持多播和广播
- 面向字节流:不像UDP一样一个个报文独立的传输,而是在不保留报文边界的情况下以字节流的方式进行传输
- 可靠传输:序列号和确认标记以及超时重传等机制保证传输的可靠
- 提供拥塞控制:当出现拥塞的时候,TCP能够减小注入的数据速率和数量,环境拥塞
- 支持全双工通信:TCP 支持全双工服务器,既可以当接收者,也可以当发送者。它以点对点的客户端/服务器方式运行。
应用场景:
- TCP适合对传输效率要求不高,但是对准确率和传输质量要求高的应用场景;
- 比如金融等领域、比如万维网(HTTP、HTTPS)、邮件传输(SMTP、POP)、文件传输(TELNET)、QQ文件传输
3. UDP协议概念
User Datagram Protocol :用户数据报协议(UDP),在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议;UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。
4. UDP协议特点&应用场景
特点
-
面向无连接
udp不需要和TCP一样三次握手建立连接,想发送数据就开发送了;并且只是数据的搬运工,不会对数据报文进行任何的拆分和拼接操作
在发送端,应用层将数据传递给传输层的 UDP 协议,UDP 只会给数据增加一个 UDP 头标识下是 UDP 协议,然后就传递给网络层了
在接收端,网络层将数据传递给传输层,UDP 只去除 IP 报文头就传递给应用层,不会任何拼接操作 -
有单播、多播、广播的功能
不止一对一,可以一对多,多对一、多对多
-
是面向报文的
发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界
-
不可靠性
首先,UDP是无连接的,想法就发
其次,收到什么数据就传递什么数据,不会备份,也不关心对方是否接收
再次,由于网络时好时坏,UDP没有拥塞控制,一直恒定速率发送,可能丢包;但也适合实时性要求高的场景,比如电话会议
-
头部开销小,传输报文时高效
UDP 的头部开销小,只有八字节,相比 TCP 的至少二十字节要少得多,在传输数据报文时是很高效的
应用场景
- UDP适合对传输效率要求高,但是准确率和传输质量没那么高的场景;
- 比如域名转换(DNS)、视频传输、即时通讯(QQ语言、QQ视频),适合游戏和娱乐场景
5. 联系与区别
-
TCP和UDP是tcp/ip协议簇的两个具有代表性的传输层协议,均用于处理数据包
-
区别(对比)
6. 为什么TCP是可靠传输
-
确认和重传机制
建立连接的时三次握手同步双方的“序列号+确认号+窗口大小信息”,是确认重传、流控的基础;
传输过程中,如果出现校验失败、丢包或延时,发送端重传
-
数据排序
每段TCP报文有ack标记、序列号
-
流量控制
滑动窗口(避免低效)和计时器的使用;同时,TCP窗口中会指明双方能够发送接收的最大数据量
-
拥塞控制
TCP的拥塞控制由4个算法组成:
慢启动(slow start)
拥塞避免(congestion avoidance)
快速重传(fast retransmit)
快速恢复(fast recovery)
7. TCP的缺点
- 三次握手四次挥手,传输更多包,浪费一些带宽
- 为了进行可靠通信,双方都要维持在线,通信过程中服务器server可能出现非常大的并发连接,浪费了系统资源,甚至会出现宕机
- 确认重传也会浪费一些带宽,且在不好的网络中,会不断的断开和连接,降低了传输效率
六、http协议
1. 简介
Hyper Text Transfer Protocol(超文本传输协议),是万维网服务器传输超文本到本地浏览器的的传输协议;
是运行在TCP/IP协议之上的,属于应用层的面向对象的协议,默认端口号80,工作于客户端-服务器架构上;
HTTPS默认端口是443;
在请求URL中默认端口可以不写
2. 特点
- 简单快速–因为发送请求的时候只需要路径和方法即可
- 灵活–http允许传输任意类型的数据对象
- 无连接–限制每次连接只处理一个请求,这种方式有利于节省传输时间
- 无状态–即对于事务处理没有记忆能力,每次客户端和服务端会话完成时,服务端不会保存任何会话信息
- 支持C/S、B/S模式
3. URL
-
概念
全称是UniformResourceLocator, 中文叫统一资源定位符,用来标记资源的地址
-
组成部分
举例说明:http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name
一个完整的URL包含一下的部分:
- 协议部分–“http:”,“//”为分隔符
- 域名部分–“www.aspxfans.com”,也可以使用IP地址作为域名使用
- 端口部分–在域名之后,使用“:”作为分隔符。端口不是一个URL必须的,若省略端口,将采用默认端口
- 资源路径部分–域名后第一个“/”开始到“?”部分
- 锚部分–从“#”开始到最后,都是锚部分。本例中的锚部分是“name”。锚部分也不是一个URL必须的部分
- 参数部分–从“?”开始到“#”为止之间的部分为参数部分,又称搜索部分、查询部分。本例中的参数部分为“boardID=5&ID=24618&page=1”。参数可以允许有多个参数,参数与参数之间用“&”作为分隔符。
4. URL&URI
URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源;
URI是以一种抽象的,高层次概念定义统一资源标识,而URL和URN则是具体的资源标识的方式。URL和URN都是一种URI。
5. http请求
-
常用请求方法get(获取资源)、post(新建资源)、put(修改跟新资源)、delete(删除资源)
-
客户端发送一个HTTP请求到服务器的请求消息包括以下格式:
请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。
-
举例Get请求,使用Charles抓取的request:
GET /562f25980001b1b106000338.jpg HTTP/1.1 Host img.mukewang.com User-Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36 Accept image/webp,image/*,*/*;q=0.8 Referer http://www.imooc.com/ Accept-Encoding gzip, deflate, sdch Accept-Language zh-CN,zh;q=0.8
-
第一部分:请求行,在第一行;内容:请求类型+URL+协议及版本.
请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本。
GET说明请求类型为GET,[/562f25980001b1b106000338.jpg]为要访问的资源,该行的最后一部分说明使用的是HTTP1.1版本。
-
第二部分:请求头部,从第二行起为请求头部到空行部分,用来说明服务器要使用的附加信息;
-
HOST:请求的服务器域名和端口;
-
User-Agent:发请求的浏览器类型
-
accept:客户端可以接受的内容类型
-
Content-Type:请求体的数据类型,用于描述客户端向服务端提交数据的格式,常见的类型有
text/html:HTML格式
text/plain:纯文本格式
image/jpeg:jpg图片格式
application/json:json数据格式
application/x-www-form-urlencoded:form表单格式
multipart/form-data:上传文件时的格式
-
-
第三部分:空行,请求头部后面的空行是必须的
即使第四部分的请求数据为空,也必须有空行。 -
第四部分:请求数据也叫主体,可以添加任意的其他数据。
这个例子的请求数据为空。get请求的参数一般在url上面,所以一般没有请求体!!!
-
-
POST请求例子,使用Charles抓取的request:
POST / HTTP1.1 Host:www.wrox.com User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022) Content-Type:application/x-www-form-urlencoded Content-Length:40 Connection: Keep-Alivename=Professional%20Ajax&publisher=Wiley
- 第一部分:请求行,第一行明了是post请求,以及http1.1版本。
- 第二部分:请求头部,第二行至第六行。
- 第三部分:空行,第七行的空行。
- 第四部分:请求数据,第八行。
6. http响应
-
一般情况下,服务器接收并处理客户端发过来的请求后会返回一个HTTP的响应消息。
HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。
-
举例
HTTP/1.1 200 OK Date: Fri, 22 May 2009 06:07:21 GMT Content-Type: text/html; charset=UTF-8<html><head></head><body><!--body goes here--></body> </html>
- 第一部分:状态行,由HTTP协议版本号, 状态码, 状态消息 三部分组成。
- 第二部分:消息报头,用来说明客户端要使用的一些附加信息
第二行和第三行为消息报头,
Date:生成响应的日期和时间;Content-Type:指定了MIME类型的HTML(text/html),编码类型是UTF-8 - 第三部分:空行,消息报头后面的空行是必须的
- 第四部分:响应正文,服务器返回给客户端的文本信息。
空行后面的html部分为响应正文。
7. 状态码
状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别:
1xx:指示信息–表示请求已接收,继续处理
2xx:成功–表示请求已被成功接收、理解、接受
3xx:重定向–要完成请求必须进行更进一步的操作
4xx:客户端错误–请求有语法错误或请求无法实现
5xx:服务器端错误–服务器未能实现合法的请求
8. http工作原理
-
简介
HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。
-
HTTP 请求/响应的步骤:
- 客户端连接到Web服务器
一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。例如,http://www.oakcms.cn。 - 发送HTTP请求
通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。 - 服务器接受请求并返回HTTP响应
Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。 - 释放连接TCP连接
若connection 模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;若connection 模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求; - 客户端浏览器解析HTML内容
客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示。
- 客户端连接到Web服务器
-
举例说明:在浏览器地址栏键入URL,按下回车之后会经历以下流程:
- 浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址;
- 解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立TCP连接;
- 浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP 三次握手的第三个报文的数据发送给服务器;
- 服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器;
- 释放 TCP连接;
- 浏览器将该 html 文本解析并显示内容;
9. get和post的区别
(可以参考https://www.zhihu.com/question/28586791)
- get和post请求是http发送请求的两种方法,本质上都是TCP连接,是无差别的;但是,由于http的规定和浏览器/服务器的限制,导致在应用过程中体现出一些区别
- 字面意思:Get 是用来从服务器上获得数据,就可以缓存数据,是无副作用的(即幂等的),可以收藏为书签;而 Post 是用来向服务器上传递数据,就不可以缓存,是有副作用(即非幂等)的。
- 参数位置:通常约定get请求的参数是在url上的,用?&符连接;而post请求的参数时在body中;但是这并不是http的规范
- 参数长度:get请求的参数由于浏览器和服务器的限制,导致传参长度有限制;post是没有的
- 安全:get请求因为参数是在url上,在地址栏课件,相对于post请求的参数在body上没那么安全;其实,http是明文传输,只要在网络节点抓包,就能获取到报文,使用https的加密才安全
- 数据包:有的浏览器为了节省资源,部分浏览器的在发送post请求的时候先发送header进行校验(权限、格式等),服务器响应100continue的时候再发送data;对于get请求则是head和data一起发送;但是并不是所有的浏览器都这样,比如firefox
10. RESTful风格接口
1)传统风格(了解)
特点:
- 请求方法,只使用get和post即可
- URL不唯一,同一个操作可以对应不同的URL
- 状态码的使用较单一,200最常见
2)RESTful风格
严格RESTful风格:请求方式多样化,而且返回状态码要有针对性!!!
比如:员工查询用get方法,查询成功是状态码好似200;新增和修改用post和put方法,新增和修改成功返回状态码201;删除方法是delete,删除成功是状态码是204
定义:
- 一种软件架构风格,设计风格,而不是标准,只是提供了一组设计原则和约束条件,不是强制性的,有的接口不一定严格RESTful风格
- 如果一个架构符合REST原则,就称它为RESTful架构。
特点:
-
资源:互联网所有的事务都可以被抽象为资源,例如:.txt .html .jpg .mp3 .mp4等
-
接口统一:RESTful 架构风格是围绕资源展开的,资源操作都是统一接口的
通过四个HTTP动词实现
GET:从服务器获取资源(一项或多项)
POST:在服务器新建一个资源
PUT:在服务器更新资源(客户端提供改变后的完整资源)
DELETE:从服务器删除资源
-
URI:每一个URI(统一资源定位符)指向一个特定的资源。通过URI来访问资源。最典型的URI就是URL。每一个URL代表一种资源
-
无状态:所有的资源,都可以通过URI定位,无需登录就可以通过URL查看,就是无状态
七、DNS协议
域名服务器,域名和IP地址一一对应,域名方便记忆,但是机器只能识别IP地址,域名和IP地址之间的转换称为域名解析,域名解析需要专门的服务器来完成即DNS服务器
八、在浏览器中输入 http://www.baidu.com/ 后执行的全部过程
-
域名解析
-
浏览器搜索自己的DNS缓存(维护一张域名与IP的对应表),若没有,则搜索操作系统的DNS缓存(维护一张域名与IP的对应表),若没有,则搜索操作系统的hosts文件(维护一张域名与IP的对应表)
-
若都没有,则找tcp/ip参数设置中的首选DNS服务器,即本地的DNS服务器(递归查询),本地域名服务器查询自己的DNS缓存,若没有,则进行下面的迭代查询:
- 本地DNS服务器向根域名服务器发起请求,根域名服务器放回com域的顶级域名服务器的地址
- 本地DNS服务器向com域顶级域名服务器发起请求,放回baidu.com权限域名服务器地址
- 本地DNS服务器向baidu.com权限域名服务器发起请求,得到www.baidu.com的IP地址
-
本地DNS服务器将IP地址返回给操作系统,同时缓存IP
-
操作系统将IP返回给浏览器,同时缓存IP
-
-
发起TCP的三次握手,建立TCP连接
浏览器会以一个随机端口(1024~65535)向服务端web程序80端口发起TCP连接;这个请求(原始的http请求,经过原始的tcp/ip模型层层封装),到达服务端后,进入网卡,然后进入内核的协议栈(一层层扒开),然后到达web应用程序,最终建立起TCP连接
-
建立TCP连接后发起http请求
-
服务器响应http请求,客户端得到HTML代码
-
浏览器解析HTML代码,并请求HTML代码中的资源(如js/css/图片等)
-
浏览器对页面进行渲染,并呈现给用户
涉及到的协议:
-
应用层:http(www访问协议),DNS(域名解析服务)
DNS域名解析得到IP地址,通过IP找到服务器的路径,客户端向服务器发起http会话,然后通过传输层TCP协议封装数据包,在TCP协议基础上进行传输
-
传输层:TCP(为http提供可靠的数据传输),UDP(DNS传输使用UDP),http会话会被分成报文段,添加源、目的端口;TCP协议进行主要工作
-
网络层:IP(IP数据包传输和路由选择),ICMP(提供网络传输过程中的差错检测),ARP(将本机的默认网关IP地址映射成物理MAC地址)为数据包选择路由,IP协议进行主要工作,相邻结点的可靠传输,ARP协议将IP地址转成MAC地址
CS/BS架构
-
系统架构
browser-sever
client-sever
-
客户端环境(设备)要求
-
软件安装
-
升级维护
-
成本&安全