近期把计算机网络的主要章节看了一下,整理出的知识点主要是TCP/IP四层模型每一层的具体细节等。
应用层,运输层,网络层,数据链路层等进行详解
- 应用层:通过应用程序间的交互来完成特定网络应用。应用层的协议定义是应用层序之间通信和交互的规则。
- 传输层:负责两台主机的进程之间通信提供通用的数据传输服务。(报文段(TCP)/用户数据报(UDP))
- 网络层:负责为分组交换网上的不同主机提供通信服务。分组也叫IP数据报。
- 数据链路层:两台主机之间的数据在链路上进行传输,就需要专门的链路层协议。在两个相邻节点之间传送数据时,数据链路将网络层交下来的IP数据报(简称为数据报,分组或包)封装成帧。每一帧包括数据和必要的控制信息(同步信息,地址信息,差错控制)
- 物理层:物理层传输的数据单位是比特。
一、物理层
在各种计算机的传输媒体上传输数据比特流。
二、数据链路层
1、点对点信道的数据链路
点对点信道的数据链路层的协议数据单元 — 帧。
数据链路层把网络层交下来的 IP 数据报构成帧发送到链路上,以及把接收到的帧中的数据取出并交给网络层。
点对点信道的数据链路进行通信时主要步骤:
- 结点A的数据链路层把网络层交下来的 IP 数据报添加首部和尾部封装成帧。
- 结点A把封装好的帧发给结点B的数据链路层
- 若结点B数据链路层收到的帧无差错,则从收到的帧中取出 IP 数据报交给上面的网络层,否则丢弃帧。
数据链路层协议的三个基本问题
封装成帧:在一段数据的前后添加首部和尾部,这样就构成了一个帧,接收端收到物理层上交的比特流后,就根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。首部和尾部的作用就是进行帧定界。并且首部和尾部还会包含一些重要的控制信息。
-
透明传输:表示无论什么样的比特组合的数据,都能按照原样没有差错的通过这个数据链路层。
帧的开始和结束标记使用专门指明的控制字符,任何 8 比特的组合一定不允许作为帧定界控制字符。
为解决透明传输问题,必须设法使数据中可能出现的控制字符【SOH】【EOT】在接收端不被解释为控制字符,具体办法(字节/符填充法):发送端的数据链路层在数据中出现控制字符【SOH】【EOT】的前面插入转义字符【ESC】,而在接收端的数据链路层把数据送往网络层之前删除插入的转义字符。
差错检测:比特差错是比特在数据传输过程中常见的差错,只是传输差错中的一种。具体解决办法(循环冗余检查CRC):每组 k 个比特,待传送的数据是 M,CRC 运算就是在数据 M 后面添加供差错检测用的 n 位冗余码。构成新的比特 (k+n)位,在所要发送的数据上添加 n 位冗余码,虽增大了传输开销,却可以进行差错检测。
2、广播信息的数据链路层
局域网最主要的特点:网络为一个单位所拥有,且地理范围和站点数目均有限。
局域网的优点
- 具有广播功能,从一个站点可很方便的访问全网,局域网上的主机可以共享连接在局域网上的各种硬件和软件资源。
- 便于系统的扩展和逐渐演变,各设备的位置可灵活调整和改变。
- 提高系统的可靠性,可用性,生存性。
局域网可按照网络拓扑进行分类:星形网,环形网,总线网。
三、网络层
网络层提供的两种服务
-
虚电路服务(适用于电话业务等非智能,无差错处理能力的传输)
- 两台计算机进行通信,首先建立连接(在分组交换中是建立的需电路)
- 为双方预留通信所需的一切网络资源
- 双方沿着已建立的虚拟电路发送分组(这样分组首部不需要添加完整的目的主机地址,只需要填写虚拟电路的编号,而减少分组的开销。)
虚电路服务使用 可靠传输的网络协议,可以使得所发送的分组无差错的按序列到达终点,当然也不丢失,不重复。 通信结束时释放建立的连接。
-
数据报服务(适用于计算机网络的端系统等智能的计算机)
网络层向上只提供简单灵活的,无连接的,尽最大努力交付的数据报服务。
网络层发送分组时不需要建立连接,每一个分组(IP 数据报)独立发送,其前后的分组无关(不编号),网络层不提供任何服务质量的承诺,锁传输的分组可能出错,丢失,重复和失序(不按序列到达终点),也不保证分组交付的时限。
好处:
网络造价大大降低,运行方式灵活,能适应多种应用。
对比的方面 | 虚电路服务 | 数据报服务 |
---|---|---|
思路 | 可靠通信应当由网络来保证 | 可靠通信应当由用户主机来保证 |
连接的建立 | 必须有 | 不需要 |
终点地址 | 仅在连接建立阶段使用,每个分组使用短的虚电路号 | 每个分组都有终点的完整地址 |
分组的转发 | 属于同一条虚电路的分组均按照同一路由进行转发 | 每个分组独立选择路由进行转发 |
当结点出故障时 | 所有通过出故障的结点的虚电路均不能工作 | 出故障的结点可能丢失分组,一些路由器可能发生变化 |
分组的顺序 | 总是按照顺序到达终点 | 到达终点的时间不按照发送顺序 |
端到端的差错处理和流量控制 | 可以由网络负责,也可以由用户主机负责 | 由用户主机负责 |
IP
IP 协议配套使用的还有三个协议
-
地址解析协议ARP(Address Resolution Protocol)
当主机A向本局域网上某台主机B发送 IP 数据报时,先在其ARP高速缓存中查找是否存在主机B的IP地址,如有,则在ARP高速缓存中查出对应的硬件地址,再把这个硬件地址写入MAC帧,然后通过局域网把该MAC帧发往此硬件地址。ARP高速缓存里存放着IP地址到硬件地址的映射表,这个表会经常动态更新(添加或删除)
网际控制报文协议ICMP(Internet Control Message Protocol)
网际组管理协议IGMP(Internet Group Management Protocol)
IP地址的编址方法共3个阶段。
- 分类的IP地址
- 划分子网
- 构成超网
分类的IP地址
两级的 IP 地址可记为: IP 地址 ::= {<网络号>,<主机号>}
IP 地址分为 5 类。
-
A 类,B 类,C 类为单播地址(一对一通信),
网络号字段分别为 1个,2个,3个字节长,在网络号字段最前面有1~3位类别位,数值分别规定为 0,10,110。
主机号字段分别为 3个,2个,1个字节长
D 类地址(前4位是1110)用于多播(一对多通信)。
E 类地址(前4位是1111)保留为今后使用。
IP 地址都是32位的二进制码,为提高可读性,将32位Ip地址每8位进行分段,中间用点隔开,并用点分十进制记法进行表示(如:128.11.3.31,表示B类地址)。
IP 地址具有的重要特点
- 每个 Ip 地址由网络号和主机号组成。
- IP 地址管理机构在分配 IP 地址时只分配网络号,剩下的主机号由得到网络号的单位自行分配。方便IP地址的管理。
- 路由器仅根据目的主机所连接的网络号来转发分组而不考虑主机号,使得路由器数目减少,从而减少路由表存储空间和查找路由表的时间。
- Ip 地址是标记一台主机(或路由器)和一条链路的接口。
- 网络是指具有相同网络号的主机集合。
划分子网
-
从两级IP地址升级到三级Ip地址
原因:
- 每个Ip地址利用率很低(1、一个B类地址本可以连接的主机数超过6万,某些单位申请到B类地址,但是连接的主机不多,造成浪费。2、给每个物理网络分配一个网络号会使路由表变得太大而使网络性能变差)
- 两级IP不够灵活。(若一个单位在新地方申请了新的网络,在没有申请到一个新的IP地址之前是不可使用的,希望有一种方法能使单位能灵活增加的网络,而不用向互联网管理机构去申请新的网络号,两级IP无法办到)
划分子网基本思路
划分子网属于单位内部的事情,本单位以外仍是一个网络。
-
划分子网是从网络的主机号借用若干位作为子网。
IP 地址 ::= {<网络号>,<子网号>,<主机号>}
从其他网络发送给单位的某主机的IP数据报,仍然是根据IP数据报的目的网络号找到连接在本单位网络上的路由器,但此路由器在收到IP数据报以后,再按照目的网络号和子网号找到目的子网,把IP数据报交给目的主机。
-
子网掩码
为使路由器(目的网络地址,子网掩码,下一跳地址)R能很方便的从数据报的目的IP地址提取出所要找的子网的网络地址,路由器R就要使用三级IP地址的子网掩码,子网掩码也是32位,有一串24位1和8位0组成,子网掩码中的1对应于IP地址原来二级地址的16位网络号新增加的8位子网号,而子网掩码中的8个0对应二级地址中的主机号。
子网的网络地址:三级地址的子网掩码和数据报的IP地址逐位相【与】运算可得。
子网掩码好处:不管网络有没有划分子网,只要把子网掩码和IP地址逐位相【与】就可以算出子网地址,便于查找路由表。
现在互联网规定:所有网络必须使用子网掩码,同时在路由器的路由表中也必须有子网掩码这一栏,如果不划分子网掩码,就使用默认的子网掩码。
- A类地址默认子网掩码:255.0.0.0
- B类地址默认子网掩码:255.255.0.0
- C类地址默认子网掩码:255.255.255.0
划分子网增加了网络灵活性,减少了能来连接到网络的主机数。
-
无分类编址CIDR(构造超网)
原因:
- B类地址在1992年已分配近一半,眼看很快就会分配完毕。
- 互联网主干网上的路由表中的项目急剧增长(从几千增长到几万个)
- 整个Ipv4地址空间最终将全部耗尽。(2011年2月3日,IANA宣布Ipv4地址已经耗尽)
特点:
-
CIDR消除了传统A类,B类和C类地址以及划分的子网概念。
IP 地址 ::= {<网络前缀>,<主机号>}
CIDR还使用 / 来标记,即 斜线记法/CIDR记法 — 在IP地址后面加 / ,然后写上网络前缀所占的位数。
-
CIDR把网络前缀都相同的连续IP地址组成一个CIDR地址块。
前20位是网络前缀 后12位是主机号
128.14.35.7/20 = 10000000 00001110 00100011 00000111
四、运输层
运输层向它的上层应用层提供通信服务。
从 网络层(IP 层)来说,通信的两端是两台主机,IP 数据报的首部明确标志了两台主机的 IP 地址,而真正进行通信的实体是主机中的进程,两台主机之间的通信实质上是主机中的进程间的通信。IP 协议虽然能把分组送到目的主机,但是这个分组还停留在网络层,并没有交付到主机中的应用进程。从运输层角度来看,通信的真正端点并不是主机而是主机中的进程,也就是说端到端的通信是应用进程间的通信。
运输层的一个很重要的功能:复用和分用
- 复用:发送方不同的应用进程都可以使用同一个运输层协议传送数据(需加上适当的首部)。
- 分用:接收方的运输层在剥去报文首部后能够把这些数据正确交付到目的应用进程。
网络层和运输层有明显的区别:
网络层为主机之间提供逻辑通信。
运输层为主机中的应用进程提供端到端的逻辑通信。
运输层的端口
-
服务器使用的端口号分为两种
-
熟知端口(系统端口):数值为0~1023
应用程序 FTP TELNET SMTP DNS TFTP HTTP SNMP SNMP(trap) HTTPS 熟知端口 21 23 25 53 69 80 161 162 443 登记端口:数值为1024~49151,这类端口为没有熟知端口的应用程序使用,这类端口必须在IANA按照规定手续登记,以防重复。
-
客户端使用的端口号:数值为49152~65535,这类端口仅在客户进程运行时才动态选择,因此也叫短暂端口号。
运输层的两种传输协议
传输控制协议 TCP(Transmission Control Protocol)— 面向连接
- TCP 是面向连接的运输层协议。
- 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的(一对一)
- TCP 提供可靠的交付服务。通过TCP连接传输数据,无差错,不丢失,不重复。
- TCP 提供全双工通信。TCP 允许通信双方的应用程序在任何时候都能发送数据。TCP连接两端都设有发送缓存和接收缓存,用来临时存放双向通信的数据。在发送时,应用程序在把数据传递给TCP的缓存后,就可以做自己的事情,而TCP在合适的时候把数据发送出去。在接收时,TCP把收到的数据放入缓存,上层应用进程在合适的时候读取缓存中的数据。
- 面向字节流。
TCP的连接
每条TCP有两个端点,那么TCP的端点叫套接字(Socket)或插口。
每条TCP连接唯一的被通信两端的两个端点(套接字)所确定。
套接字 socket = (IP地址:端口号)
TCP连接 ::= {socket1,socket2} = {(IP1:port1), (IP2:port2)}
可靠传输原理
一、停止等待协议
无差错情况:A发送分组M1,发送完暂停发送,等待B的确认,B收到了M1就向A发送确认,A收到M1的确认后,再发送下一个分组M2.
-
出现差错:出现差错使用超时重传机制。
超时重传:A发送M1以后暂停发送,等待B的确认,此时出现差错,B丢弃M1,什么也不做,A在等待一段时间之后还未收到确认,则认为发送的M1已经丢失,将刚发送的M1再次发送。
实现超时重传:在发送完一个分组时设置一个超时计时器,如果在超时计时器之前收到了对方的确认,就撤销已设置的超时计时器。否则重传发送的分组。
注意:
- A发送完一个分组后,必须暂时保留已发送的分组副本(在超时重传时使用),只有在收到确认后才能清除暂时保留的副本分组。
- 分组和确认分组都必须进行编号,这样才能明确是哪一个发送出去的分组收到了确认,哪一个没有收到确认。
- 超时计时器设置的重传时间应当比数据在分组传输的平均往返时间要长。
-
确认丢失和确认迟到
若B所发送的对M1的确认丢失了,那么A进行重传之后,B又收到了重传的M1。- 丢弃这个重复的M1,不向上层交付。
- 向A发送确认。不能因为已经发过就不发,A超时重发就表明A并未收到确认。
通过确认和重试机制,就可以在不可靠的穿传输网络上实现可靠的通信。
上述这种传输协议称为【自动重传请求ARQ(Automic Repeat Request)】
-
信道利用率
停止等待协议的优点是简单,但缺点是信道利用率太低。
停止等待协议的信道利用率 U = Td/(Td + RTT + Ta)
Td:A发送分组需要的时间 Ta:B发送确认分组时间 RTT:往返时间
停止等待协议中往返时间RTT远大于Td和Ta,因此利用率极低。
考虑采用流水线传输来提高信道利用率。流水线传输就是发送方可连续发送多个分组不必每发送一个分组就等到确认。当使用流水线传输时,就是连续的ARQ和滑动窗口协议。
二、连续ARO协议
滑动窗口协议比较复杂,是TCP协议的精髓所在。发送方维持发送窗口,它的意义在于:位于发送窗口的5个分组都可以连续发送而不用等待对方确认,这样信道利用率就提高了。对方每收到一个确认,发送窗口就向前滑动一个分组。
接受方采用累积确认方式,不必对收到的分组逐个发送确认,而是在收到几个分组后,对按序列到达的最后一个分组发送确认,这就表示:到这个分组位置的所有分组都已经正确收到。
TCP报文首部格式
-
首部字段
- 源端口和目的端口:2字节,分别写入源端口号和目的端口号
- 序号:4字节,TCP连接中传送的字节流中的每一个字节都按顺序编号。
- 确认号:4字节,是期望收到对方下一个报文段的第一个数据字节的序号。如确认号 = N,表明序号 N-1 为止所有数据都已经正确收到。
- 数据偏移:4位,指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。这个字段实际是指出TCP报文段首部长度。
- 保留:6位,保留为今后使用,目前置为0。
- 紧急URG:当URG=1时,表明紧急指针字段有效。
- 确认ACK:当ACK=1时确认号字段才有效。ACK=0时,确认号无效。
- 推送PSH:当两个应用进程进行交互式的通信时,有时在一端的应用程序希望在键入一个命令后立即就能够收到对方的相应。这时TCP就可以使用推送操作。
- 复位RST:当RST=1时,表明TCP连接中出现严重差错,必须释放连接。
- 同步SYN:在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文段。对方同意连接,则应在响应报文段中使SYN=1和ACK=1。
- 终止FIN:释放连接。当FIN=1时,表示此报文段已经发送完毕,并要求释放运输连接。
- 窗口:指发送本报文段的一方的接收窗口,窗口字段明确指出了现在允许对方发送的数据量,窗口值经常在动态变化。
- 检验和:2字节,检验的范围包括首部和数据两部分。
- 紧急指针:2字节,紧急指针仅在URG=1时有意义,指出本报文段中的紧急数据的字节数。
- 选项:长度可变,最长可达40字节,当没使用选项时,TCP首部长度是20字节。
-
数据字段
IP 数据报的数据部分
TCP流量控制
利用滑动窗口实现流量控制。发送方的发送窗口不能超过接收方给出的接收窗口的数值。
用户数据报协议 UDP(User Datagram Protocol)— 无连接
- DUP是面向无连接的,即发送数据之前不需要建立连接(当然发送结束也不需要释放),因此减少了开销和发送数据之前的时延。
- UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表。
- UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付 IP 层。UDP 对应用层交付下来的报文既不合并也不拆分,而是保留这些报文边界。即UDP将报文原样发送,因此需要考虑报文的大小,报文太长,IP 层传输可能要进行分片,会降低IP 层效率,报文太短,UDP 把它交给 IP 层后,会使 IP 数据报的首部的相对长度太大,也会降低 IP 层的效率。
- UDP 没有拥塞控制。因此网络上出现拥塞不会使源主机的发送频率速率降低。某些实时应用(IP 电话,实时视频会议)要求源主机以恒定的速率发送数据,并且允许在网络发生拥塞的时丢失一些数据,但不允许数据有太大的时延。
- UDP 支持一对一,一对多,多对一和多对多交互通信。
- UDP首部开销小,只有8个字节,比TCP的20个字节首部要短。
UDP 首部格式
- 首部字段
- 源端口:源端口号,在需要对方回信时选用,不需要时可以用0。
- 目的端口:目的端口号,这在终点交付报文时必须使用。
- 长度:UDP用户数据报的长度,其最小值是8(仅有首部)。
- 检验和:检测UDP用户数据报在传输中是否有差错,有错就丢弃。
- 数据字段:IP 数据报的数据部分
五、应用层
域名系统DNS
域名系统DNS能够把互联网上的主机名字转换成IP地址。
域名到IP地址的解析是由分布在互联网上的许多域名服务器程序共同完成,域名服务器程序在专设的节点上运行,人们常把运行域名服务器上次的机器称为域名服务器。
域名到IP地址解析过程要点:
当某个应用程序需要把主机名解析为IP地址时,该应用进程就调用解析程序,并称为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器(使用UDP是为了减少开销),本地域名服务器在查找到域名后,把对应的IP地址放在回答报文中返回,应用进程获取到目的主机的IP地址后即可进行通信。
域名结构
三级域名 . 二级域名 . 顶级域名
顶级域名
-
国家顶级域名
cn:中国 us:美国 uk:英国
-
通用顶级域名
com:公司企业 net:网络服务机构 org:非营利性组织 int:国际组织
edu:美国专用教育机构 gov:美国政府部门 mil:美国军事部门
-
基础结构域名
这种定义域名只有一个 — arpa。用于反向域名解析,又称为反向域名。
域名树可以清晰的表示互联网的域名系统。
域名服务器
域名服务器的实际管辖范围是区,区可能小于或等于域,但一定不大于域。
域名服务器被划分为4种不同类型
- 根域名服务器
- 顶级域名服务器
- 权限域名服务器
- 本地域名服务器
超文本传输协议 HTTP
HTTP协议定义了浏览器怎样向万维网服务器请求万维网文档以及服务器怎样把文档传送给浏览器。从层次角度来看,HTTP是面向事务的应用层协议。它是万维网上能够可靠交换文件(文本,声音,图像等各种多媒体文件)的重要基础。
HTTP报文结构
由于HTTP是面向文本的,因此在报文中的每一个字段都是一些ASCII码串。因而各个字段的长度是不确定的。
HTTP请求报文
-
请求行:请求方法,URL,HTTP版本,字段由空格分开,最后有回车换行
方法 意义 OPTIONS 请求一些选项信息 GET 请求读取由URL所标志的信息 HEAD 请求读取由URL所标志的信息的首部 POST 给服务器添加信息 PUT 在指明的URL下存储一个文档 DELETE 删除指定的URL所标志的资源 TRANCE 用来进行环回测试的请求报文 CONNECT 用于代理服务器 请求行格式
GET http://www.xyz.edu.cn/dir/index.html HTTP/1.1
首部行:用来说明浏览器、服务器或报文主体的一些信息。首部可以有好几行,也可以不是呀。每个首部行中都有首部字段名和值,每行结束地方都要有回车换行,还有一行空格用于区分请求实体和首部行。
-
请求实体:在请求行中一般不用这个字段
完整的HTTP请求报文 GET /dir/index/html HTTP/1.1 请求航使用了相对URL(首部行给出了主机域名,这里可以省略) Host:www.xyz.edu.cn 慈航是首部行的开始,这行给出主机的域名 Connection:close 告诉服务器发送完请求的文档后就可释放连接(不使用持续连接) User-Agent:Mozilla/5.0 表名用户代理是使用火狐浏览器 Firefox Accept-Language:cn 表示用户希望优先得到中文版本的文档 请求报文的最后还要一个空行
HTTP响应报文
-
状态行:HTTP版本,状态码,状态码描述信息,字段中有空格,结束有回车换行
状态码 描述 1xx 指示信息 — 表示请求已接收,继续处理 2xx 成功 — 表示请求已被接收,理解,接受 3xx 重定向 — 要完成请求必须进行进一步的操作 4xx 客户端错误 — 请求有语法错误或请求无法实现 5xx 服务端错误 — 服务器未能实现合法的请求 HTTP/1.1 202 Accepted 接受 HTTP/1.1 400 Bad Request 错误请求 HTTP/1.1 404 Not Found 找不到 //若请求网页转移到新地址,状态行和首部行为 HTTP/1.1 301 Moved Permsnently 永久地转移了 Location: http://www.xyz.edu.cn/ee.index.html 新的URL
首部行
响应实体
在服务器上存放用户信息
由于HTTP是无状态的,而当同一个用户想要保存其用户信息,就需要服务器记住该用户的信息,可以在HTTP中使用Cookie。Cookie表示在HTTP服务器和客户之间传递的状态信息。
Cookie是这样工作的。当用户A浏览某个使用Cookie的网站时,该网站的服务器就为A产生一个唯一的识别码,并以此作为索引在服务器的后端数据库中产生一个项目,接着在给A的HTTP响应报文中添加一个叫做Set-Cookie的首部行,这里的首部字段名就是 ‘Set-Cookie’,而后面的值就是赋予该用户的识别码。
Set-Cookie:44598a438y43b375
当A收到这个响应时,其浏览器就在它管理的特定Cookie文件中添加一行,其中包括这个服务器的主机名和Set-Cookie后面给出的识别码。当A继续浏览这个网站时,每发送一个HTTP请求报文,其浏览器就会从其Cookie文件中取出这个网站的识别码,并放到HTTP请求报文的Cookie首部航。
Cookie:44598a438y43b375
于是,这个网站就能跟踪用户 44598a438y43b375 在该网站的活动。需要注意,服务器并不需要知道这个用户的真实姓名以及其他信息,但服务器能知道用户44598a438y43b375在什么时候访问了哪些页面,以及访问这些页面的顺序。如果A是在网上购物,那么这个服务器可以为A维护一个所购物品的列表,使A结束这次购物时可以一起付账。
- Cookie可以收集用户在互联网上的行为。如果A在几天后再次访问这个网站,那么浏览器就会在其HTTP请求报文中继续用首部Cookie:44598a438y43b375,而这个网站服务器根据A的过去访问记录可以给A推荐商品。
- Cookie可以记录用户的基本信息。如果A在该网站上登记过和使用过信用卡消费,这个网站就已经保存了A的姓名,电子邮件,信用卡号码等信息,当A继续购物时,只要还使用同一台电脑,由于浏览器产生的HTTP请求报文中都携带了同样的Cookie首部行,服务器就可利用Cookie来验证出这是A,此后A在这个网站购物就不需要键入姓名,信用卡等信息。
- Cookie只是文本文件,并不是计算机可执行文件,因此不可能携带和传播计算机病毒,也不可能来获取用户计算机的硬盘中的信息。
- 可以设置是否使用Cookie,用于保护用户隐私。关于用户隐私保护问题,网站上保存的Cookie文件可以在浏览器中设置是否关闭。还有很多第三方明确声明会保护用户隐私,不会把用户的识别码或个人信息转移或出售给其他厂商。