鹤壁集团网站建设,gps建站步骤,推荐网站在线看兄弟们,阿里云上传的网站 服务器路径TCP与UDP
介绍
HTTP#xff1a;#xff08;HyperText Transport Protocol#xff09;是超文本传输协议的缩写#xff0c;它用于传送WWW方式的数据#xff0c;关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。
TCP:#xff08;Transmission Contro…TCP与UDP
介绍
HTTPHyperText Transport Protocol是超文本传输协议的缩写它用于传送WWW方式的数据关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。
TCP:Transmission Control Protocol 传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议由IETF的RFC 793定义。在简化的计算机网络OSI模型中它完成第四层传输层所指定的功能用户数据报协议UDP是同一层内 [1] 另一个重要的传输协议。
IP网络之间互连的协议IP是Internet Protocol的外语缩写
网络之间互连的协议也就是为计算机网络相互连接进行通信而设计的协议
如今的IP网络使用32位地址以点分十进制表示如192.168.0.1。
地址格式为IP地址网络地址主机地址或 IP地址网络地址子网地址主机地址。
区别
1TCP面向连接可靠的速度慢效率低。 2UDP无连接、不可靠、速度快、效率高。
当进程需要传输可靠的数据时应使用TCP当进程需要高效传输数据可以忽略可靠性时应使用UDP协议。TCP协议是有连接的有连接的意思是开始传输实际数据之前TCP的客户端和服务器端必须通过三次握手建立连接会话结束之后也要结束连接。而UDP是无连接的。TCP协议保证数据按序发送按序到达提供超时重传来保证可靠性但是UDP不保证按序到达甚至不保证到达只是努力交付即便是按序发送的序列也不保证按序送到。TCP协议所需资源多TCP首部需20个字节不算可选项UDP首部字段只需8个字节。TCP有流量控制和拥塞控制UDP没有网络拥堵不会影响发送端的发送速率。TCP是一对一的连接而UDP则可以支持一对一多对多一对多的通信。TCP面向的是字节流的服务UDP面向的是报文的服务。
用途
TCP文件传输、邮件发送接收、远程登录、网页加载(HTTP使用TCP而不是UDP的原因是打开网页必须传输大量数据并且TCP协议提供传输控制按顺序组织数据并纠正错误)UDP: QQ语音、视频、直播UDP多用于传输数据较大时
如何防止UDP丢包
接收端处理时间过长导致丢包调用recv方法接收端收到数据后处理数据花了一些时间处理完后再次调用recv方法在这二次调用间隔里发过来的包可能丢失。对于这种情况可以修改接收端将包接收后存入一个缓冲区然后迅速返回继续recv。缓冲区的作用发送的包巨大丢包虽然send方法会帮你做大包切割成小包发送的事情但包太大也不行。例如超过50K的一个udp包不切割直接通过send方法发送也会导致这个包丢失。这种情况需要切割成小包再逐个send。**发送的包较大超过接受者缓存导致丢包**包超过mtu size数倍几个大的udp包可能会超过接收者的缓冲导致丢包。这种情况可以设置socket接收缓冲。以前遇到过这种问题我把接收缓冲设置成64K就解决了。发送的包频率太快虽然每个包的大小都小于mtu size 但是频率太快例如40多个mut size的包连续发送中间不sleep也有可能导致丢包。这种情况也有时可以通过设置socket接收缓冲解决但有时解决不了。所以在发送频率过快的时候还是考虑sleep一下吧。
TCP粘包的原因及解决方法
如果客户端不断向服务端发送数据包时服务端接收的数据会出现两个数据包黏在一起的情况这就是TCP协议中的粘包以及拆包问题。 UDP不会发生粘包现象。因为UDP是基于报文发送的从UDP的帧结构可以看出在UDP首部采用了16bit2字节来指示UDP数据报文的长度因此在应用层能很好的将不同的数据报文区分开从而避免粘包和拆包的问题 粘包 拆包原因
要发送的数据小于TCP发送缓冲区大小TCP将多次写入缓冲区的数据一次发送出去将发生粘包。接收端的应用层没有及时读取接收缓冲区中的数据将发生粘包。要发送的数据大于TCP发送缓冲区的剩余空间将会发生拆包待发送数据大于最大报文长度TCP将在传输前进行拆包。
解决办法
发送端给每个数据包添加包首部首部中应该至少包含数据包的长度这样接收端在接收到数据后通过读取包首部的长度字段便知道每一个数据包的实际长度了。发送端将每个数据包封装为固定长度不够的可以通过补0填充这样接收端每次从接收缓冲区中读取固定长度的数据就自然而然的把每个数据包拆分开来。固定长度可以在数据包之间设置边界如添加特殊符号这样接收端通过这个边界就可以将不同的数据包拆分开。 添加特殊符号\n\r
三次握手
三次握手的目的是连接服务器指定端口建立TCP连接并同步连接双方的序列号和确认号并交换 TCP 窗口大小信息。在socket编程中客户端执行connect()时将触发三次握手。
(1) 第一次握手建立连接时客户端A发送SYN包(SYNj)到服务器B并进入SYN_SEND状态等待服务器B确认。
(2) 第二次握手服务器B收到SYN包必须确认客户A的SYN(ackj1)同时自己也发送一个SYN包(SYNk)即SYNACK包此时服务器B进入SYN_RECV状态。
(3) 第三次握手客户端A收到服务器B的SYNACK包向服务器B发送确认包ACK(ACKk1)此包发送完毕客户端A和服务器B进入ESTABLISHED状态完成三次握手。
完成三次握手客户端与服务器开始传送数据。
简而言之A与B建立TCP连接时首先A向B发SYN同步请求然后B回复SYNACK同步请求应答最后A回复ACK确认这样TCP的一次连接三次握手的过程就建立了
ACK起应答作用而SYN起同步作用。
四次挥手
第一次挥手由客户端向服务端发起的这时客户端完成了数据发送会发起一个包去进行连接断开的请求这个数据包中的FIN位为1.第二次挥手由服务器发送给客户端的是用来确认客户端断开连接请求的一个数据包所以是一个ACK数据包第三次挥手由服务器发送给客户端的这个时候如果服务端也发送完毕的话也会向客户端发起一个断开连接的申请这个请求中的FIN位同样会被标记为1 第四次挥手由客户端发送给服务器的是用来确认服务端上一次的请求断开连接。发送出一个ACK标志为1的报文。最后一次挥手 客户端接收到来自服务器端的关闭请求发送一个确认包并进入 TIME_WAIT状态等待可能出现的要求重传的 ACK 包。服务器端接收到这个确认包之后关闭连接进入CLOSED状态。客户端等待了某个固定时间两个最大段生命周期2MSL2 Maximum Segment Lifetime之后没有收到服务器端的ACK认为服务器端已经正常关闭连接于是自己也关闭连接进入 CLOSED 状态。 原因1为了保证客户端发送的最后一个ack报文段能够到达服务器。因为这最后一个ack确认包可能会丢失然后服务器就会超时重传第三次挥手的fin信息报然后客户端再重传一次第四次挥手的ack报文。如果没有这2msl客户端发送完最后一个ack数据报后直接关闭连接那么就接收不到服务器超时重传的fin信息报(此处应该是客户端收到一个非法的报文段而返回一个RST的数据报表明拒绝此次通信然后双方就产生异常而不是收不到。)那么服务器就不能按正常步骤进入close状态。那么就会耗费服务器的资源。当网络中存在大量的timewait状态那么服务器的压力可想而知。 原因2在第四次挥手后经过2msl的时间足以让本次连接产生的所有报文段都从网络中消失这样下一次新的连接中就肯定不会出现旧连接的报文段了。也就是防止我们上一篇文章 为什么tcp是三次握手而不是两次握手 中说的已经失效的连接请求报文段出现在本次连接中。如果没有的话就可能这样这次连接一挥手完马上就结束了没有timewait。这次连接中有个迷失在网络中的syn包然后下次连接又马上开始下个连接发送syn包迷失的syn包忽然又到达了对面所以对面可能同时收到或者不同时间收到请求连接的syn包然后就出现问题了。
TCP协议如何保证可靠传输
1、应用数据被分割成 TCP 认为最适合发送的数据块。 2、TCP 给发送的每一个包进行编号接收方对数据包进行排序把有序数据传送给应用层。 3、校验和 TCP 将保持它首部和数据的检验和。这是一个端到端的检验和目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错TCP 将丢弃这个报文段和不确认收到此报文段。 4、TCP 的接收端会丢弃重复的数据。 5、流量控制 TCP 连接的每一方都有固定大小的缓冲空间TCP的接收端只允许发送端发送接收端缓冲区能接纳的数据。当接收方来不及处理发送方的数据能提示发送方降低发送的速率防止包丢失。TCP 使用的流量控制协议是可变大小的滑动窗口协议。 TCP 利用滑动窗口实现流量控制 6、拥塞控制 当网络拥塞时减少数据的发送。 7、ARQ协议 为了实现可靠传输的它的基本原理就是每发完一个分组就停止发送等待对方确认。在收到确认后再发下一个分组。 8、超时重传 当 TCP 发出一个段后它启动一个定时器等待目的端确认收到这个报文段。如果不能及时收到一个确认将重发这个报文段。
滑动窗口和流量控制
TCP 利用滑动窗口实现流量控制。流量控制是为了控制发送方发送速率保证接收方来得及接收。 窗口是缓存的一部分用来暂时存放字节流。发送方和接收方各有一个窗口接收方通过TCP首部中的窗口字段告诉发送方自己的缓冲区大小还剩下多少可以接受数据于是发送方就可以根据这个值来调整自己发送窗口的大小从而影响发送方的发送速率而不会导致接收方处理不过来。如果窗口字段值为0则发送方不能发送数据。
拥塞控制
如果网络出现拥塞分组将会丢失此时发送方会继续重传导致网络拥塞程度更高。因此当出现拥塞时应当控制发送方的速率。这一点和流量控制很像但是出发点不同。流量控制是为了让接收方能来得及接收而拥塞控制是为了降低整个网络的拥塞程度。
TCP 主要通过四个算法来进行拥塞控制慢开始、拥塞避免、快重传、快恢复。 发送方需要维护一个叫做拥塞窗口cwnd的状态变量注意拥塞窗口与发送方窗口的区别拥塞窗口只是一个状态变量实际决定发送方能发送多少数据的是发送方窗口。 慢开始与拥塞避免 发送的最初执行慢开始令 cwnd 1发送方只能发送 1 个报文段当收到确认后将 cwnd 加倍因此之后发送方能够发送的报文段数量为2、4、8 … 注意到慢开始每个轮次都将 cwnd 加倍这样会让 cwnd 增长速度非常快从而使得发送方发送的速度增长速度过快网络拥塞的可能性也就更高。设置一个慢开始门限 ssthresh当 cwnd ssthresh 时进入拥塞避免每个轮次只将 cwnd 加 1。 如果出现了超时则令 ssthresh cwnd / 2然后重新执行慢开始。
快重传与快恢复
在接收方要求每次接收到报文段都应该对最后一个已收到的有序报文段进行确认。例如已经接收到 M1 和 M2此时收到 M4应当发送对 M2 的确认。 **在发送方如果收到三个重复确认那么可以知道下一个报文段丢失此时执行快重传立即重传下一个报文段。**例如收到三个 M2则 M3 丢失立即重传 M3。 在这种情况下只是丢失个别报文段而不是网络拥塞。因此执行快恢复令 ssthresh cwnd / 2 cwnd ssthresh注意到此时直接进入拥塞避免。 慢开始和快恢复的快慢指的是 cwnd 的设定值而不是 cwnd 的增长速率。慢开始 cwnd 设定为 1而快恢复 cwnd 设定为 ssthresh。 TCP、UDP、IP、以太网报文格式以及重要字段
TCP 上图中有几个字段需要重点介绍下
1序号Seq序号占32位用来标识从TCP源端向目的端发送的字节流发起方发送数据时对此进行标记。
2确认序号Ack序号占32位只有ACK标志位为1时确认序号字段才有效AckSeq1。
3标志位共6个即URG、ACK、PSH、RST、SYN、FIN等具体含义如下
AURG紧急指针urgent pointer有效。BACK确认序号有效。CPSH接收方应该尽快将这个报文交给应用层。DRST重置连接。ESYN发起一个新连接。FFIN释放一个连接。需要注意的是
A不要将确认序号Ack与标志位中的ACK搞混了。
B确认方Ack发起方Req1两端配对。
UDP IP 以太网
以太网格式 报文格式 请求报文HTTP 请求由 3 个部分构成分别是状态行请求头(Request Header)请求正文。 状态行由请求方式路径、协议等构成各元素之间以空格分隔。 请求头提供一些参数比如Cookie用户代理信息主机名等等。(图中即从第二行到最后一行) 请求正文就放一些发送的数据一般 GET 请求会将参数放在 URL 中也就是在请求头中而请求正文一般为空而 POST 请求将参数放在请求正文中。请求正文可以传一些 json 数据或者字符串等等。 响应报文状态行响应头(Response Header)响应正文。
HTTP
HTTP报文传递过程 Http与Https区别
HTTP协议传输的数据都是未加密的也就是明文的因此使用HTTP协议传输隐私信息非常不安全为了保证这些隐私数据能加密传输于是网景公司设计了SSLSecure Sockets Layer协议用于对HTTP协议传输的数据进行加密从而就诞生了HTTPS。
简单来说HTTPS协议是由SSLHTTP协议构建的可进行加密传输、身份认证的网络协议要比http协议安全。
HTTPS和HTTP的区别主要如下
https协议需要到ca申请证书一般免费证书较少因而需要一定费用。http是超文本传输协议信息是明文传输https则是具有安全性的ssl加密传输协议。http和https使用的是完全不同的连接方式用的端口也不一样前者是80后者是443。http的连接很简单是无状态的HTTPS协议是由SSLHTTP协议构建的可进行加密传输、身份认证的网络协议比http协议安全。
http1.0与http1.1的区别
HTTP 1.0中浏览器与服务器只保持短暂的连接浏览器的每次请求都与服务器建立一个TCP连接服务器完成请求处理后立即断开TCP连接服务器不跟踪每个客户也不记录过去的请求。http1.1提供永久性连接即1.0使用非持久连接HTTP1.0没有host的字段)。HTTP 1.1中增加Host请求头字段后实现了在一台WEB服务器上可以在同一个IP地址和端口号上使用不同的主机名来创建多个虚拟WEB站点。http1.1提供身份认证HTTP1.1提供一个基于口令的基本认证方式
HTTP建立链接过程 HTTP请求有哪些
OPTIONS返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送’*的请求来测试服务器的功能性。HEAD向服务器索要与GET请求相一致的响应只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下就可以获取包含在响应消息头中的元信息。GET向特定的资源发出请求。POST向指定资源提交数据进行处理请求例如提交表单或者上传文件。数据被包含在请求体中。POST请求可能会导致新的资源的创建和/或已有资源的修改。PUT向指定资源位置上传其最新内容。DELETE请求服务器删除Request-URI所标识的资源。TRACE回显服务器收到的请求主要用于测试或诊断。CONNECTHTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
虽然HTTP的请求方式有8种但是我们在实际应用中常用的也就是get和post其他请求方式也都可以通过这两种方式间接的来实现。
GET和POST区别
get请求他的请求数据一般都拼接在URL地址的后面是明文显示的而且他的长度有限制他的安全性不如post高但是他的执行速度会高于post请求一般用于数据查询。Post请求他的请求数据一般放在http的请求体中就是我们说的body体中他的数据长度是不受限制的而且它可以是明文显示也可以是密文显示数据安全性会比较高所以这种方式一般用在提交数据或者修改数据场景中。
PUT和POST的区别
PUT请求如果两个请求相同后一个请求会把第一个请求覆盖掉。所以PUT用来改资源Post请求后一个请求不会把第一个请求覆盖掉。所以Post用来增资源
HTTP请求格式 请求首行分析
请求方式GET和POST区别
GET请求地址栏访问、超链接访问都是get请求方式get请求方式 不安全地址栏大小有限。POST请求内容在请求体中数据安全内容无限。
请求地址访问服务器的哪个目录。 请求协议 HTTP版本有1.0和1.1两个版本, 1.0版本建立连接后立即断开,下次访问需要再次建立连接, 1.1版本 建立连接后可以不用断开,直到不发送信息后 才断开节约了资源
请求头分析
Accept: text/html,application/xhtmlxml,application/xml;q0.9,/;q0.8 表示客户端可以接受的内容类型, 多个值使用;分号隔开 q0.9 表示权重优先级,/表示可以接受任意类型内容。Accept-Language: zh-CN,zh;q0.8,en-US;q0.5,en;q0.3 表示客户端可以接受的语言User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; 浏览器信息,例如使用的是网井的内核, windows64位系统;Accept-Encoding: gzip, deflate–支持的压缩格式Host: localhost:8888访问地址Connection: keep-alive —保持连接 和HTTP1.1版本有关,默认保持3sContent-Type: application/x-www-form-urlencoded 表单提交时才有可能出现,表示表单的数据类型,使用url编码,url编码 % 16位数Content-Length: 7 —post请求 请求体长度Upgrade-Insecure-Requests: 1–告诉服务器浏览器可以处理https协议、
请求空行分析: 就是一个分隔符,用来区分请求头和请求体的;
请求体分析: 只有POST请求才有请求体, 因此 POST请求 请求体中存放的是表单提交的键值对。 name’zs’age10
Session与Cookie的区别
浏览器和服务器之间的通信是通过HTTP协议进行通信的而HTTP是无状态的协议不能保存客户的信息即一次响应完成后就断开了下一次的请求就需要重新连接这样就需要判断是否是同一个客户所以才需要Cookie和Session这种会话跟踪技术。 区别 cookie数据存放在客户的浏览器上Session数据放在服务器上。 简单的说当你登录一个网站的时候如果web服务器端使用的是session那么所有的数据都保存在服务器上面客户端每次请求服务器的时候会发送当前会话的session_id服务器根据当前session_id判断相应的用户数据标志以确定用户是否登录或具有某种权限。由于数据是存储在服务器上面所以不能伪造但是如果能够获取某个登录用户的session_id用特殊的浏览器伪造该用户的请求也是能够成功的。session_id是服务器和客户端链接时候随机分配的一般来说是不会有重复但如果有大量的并发请求也不是没有重复的可能性。 Session是由应用服务器维持的一个服务器端的存储空间用户在连接服务器时会由服务器生成一个唯一的SessionID用该SessionID为标识符来存取服务器端的Session存储空间。而SessionID这一数据则是保存到客户端用Cookie保存的用户提交页面时会将这一SessionID提交到服务器端来存取Session数据。这一过程是不用开发人员干预的。所以一旦客户端禁用Cookie那么Session也会失效。
cookie不是很安全别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。session会在一定时间内保存在服务器上。当访问增多会比较占用服务器的性能考虑到减轻服务器性能方面应当使用cookie。设置cookie时间可以使cookie过期。但是使用session-destory()我们将会销毁会话。单个cookie保存的数据不能超过4K很多浏览器都限制一个站点最多保存20个cookie。(Session对象没有对存储的数据量的限制其中可以保存更为复杂的数据类型)
两者最大的区别在于生存周期一个是IE启动到IE关闭.(浏览器页面一关 session就消失了)一个是预先设置的生存周期或永久的保存于本地的文件。(cookie) Session判断是否为同一个用户的常用方法核心使用的是SessionID Cookie这个Cookie是服务器向客户端浏览器发送一个名为SESSIONID的Cookie客户端请求时可以读取该信息发送给服务器端进而进行用户的识别对于客户端的每次请求服务器都会将 Cookie 发送到客户端客户端保存下来以便下次使用。
URL重写URL 重写技术就是在 URL 结尾添加一个附加数据以标识该会话把会话ID通过URL的信息传递过去以便在服务器进行识别不同的用户。 隐藏表单域将会话ID添加到HTML表单元素中提交到服务器此表单元素并不在客户端显示。
状态码
1**信息服务器收到请求需要请求者继续执行操作2**成功操作被成功接收并处理3**重定向需要进一步的操作以完成请求4**客户端错误请求包含语法错误或无法完成请求5**服务器错误服务器在处理请求的过程中发生了错误
常见状态码
● 200成功。 ● 204请求已经成功处理但是返回的响应报文不包含实体的主体部分。一般在只需要从客户端往服务器发送信息而不需要返回数据时使用。 ● 206表示客户端进行了范围请求响应报文包含由 Content-Range 指定范围的实体内容。 ● 301内容已经移动。永久性重定向 ● 302临时性重定向 ● 400请求不能被服务器理解。请求报文中存在语法错误。 ● 401该状态码表示发送的请求需要有认证信息BASIC 认证、DIGEST 认证。如果之前已进行过一次请求则表示用户认证失败。 ● 403无权访问该文件。请求被拒绝。 ● 404不能找到请求文件。 ● 500服务器内部错误。 ● 501服务器不支持请求的方法。 ● 505服务器不支持请求的版本。
OSI七层模型和TCP/IP五层模型
OSI七层模型 应用层
网络服务与最终用户的一个接口。
协议有HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP
表示层
数据的表示、安全、压缩。在五层模型里面已经合并到了应用层
格式有JPEG、ASCll、DECOIC、加密格式等
会话层
建立、管理、终止会话。在五层模型里面已经合并到了应用层
对应主机进程指本地主机与远程主机正在进行的会话
传输层
定义传输数据的协议端口号以及流控和差错校验。
协议有TCP UDP数据包一旦离开网卡即进入网络传输层
网络层
进行逻辑地址寻址实现不同网络之间的路径选择。
协议有ICMP IGMP IPIPV4 IPV6 ARP RARP
数据链路层
建立逻辑连接、进行硬件地址寻址、差错校验等功能。由底层网络定义协议
将比特组合成字节进而组合成帧用MAC地址访问介质错误发现但不能纠正。
物理层
建立、维护、断开物理连接。由底层网络定义协议
TCP/IP五层模型 多路I/O复用
其他
转发与重定向区别
重定向时浏览器上的网址改变转发是浏览器上的网址不变重定向实际上产生了两次请求转发只有一次请求
重定向发送请求 --服务器运行–响应请求返回给浏览器一个新的地址与响应码–浏览器根据响应码判定该响应为重定向自动发送一个新的请求给服务器请求地址为之前返回的地址–服务器运行–响应请求给浏览器 转发发送请求 --服务器运行–进行请求的重新设置例如通过request.setAttribute(name,value)–根据转发的地址获取该地址的网页–响应请求给浏览器
重定向时的网址可以是任何网址转发的网址必须是本站点的网址
ABCDE类IP地址
IP地址分为A,B,C,D,E五类。
网络号用于识别主机所在的网络 主机号用于识别该网络中的主机。
其中A类分配给政府机关使用B类地址给大中型企业使用C类地址给个人使用。这三种是主要的。
IP地址分为五类A类保留给政府机构B类分配给中等规模的公司C类分配给任何需要的人D类用于组播E类用于实验各类可容纳的地址数目不同。
其中A类、B类、和C类这三类地址用于TCP/IP节点其它两类D类和E类被用于特殊用途。 A、B、C三类IP地址的特征当将IP地址写成二进制形式时A类地址的第一位总是OB类地址的前两位总是10C类地址的前三位总是110。
A类地址
⑴ A类地址第1字节为网络地址其它3个字节为主机地址。 ⑵ A类地址范围1.0.0.1—126.155.255.254 ⑶ A类地址中的私有地址和保留地址 ① 10.X.X.X是私有地址所谓的私有地址就是在互联网上不使用而被用在局域网络中的地址。 ② 127.X.X.X是保留地址用做循环测试用的。
B类地址
⑴ B类地址第1字节和第2字节为网络地址其它2个字节为主机地址。 ⑵ B类地址范围128.0.0.1—191.255.255.254。 ⑶ B类地址的私有地址和保留地址 ① 172.16.0.0—172.31.255.255是私有地址 ② 169.254.X.X是保留地址。如果你的IP地址是自动获取IP地址而你在网络上又没有找到可用的DHCP服务器。就会得到其中一个IP。
C类地址
⑴ C类地址第1字节、第2字节和第3个字节为网络地址第4个个字节为主机地址。另外第1个字节的前三位固定为110。 ⑵ C类地址范围192.0.0.1—223.255.255.254。 ⑶ C类地址中的私有地址 192.168.X.X是私有地址。
D类地址
⑴ D类地址不分网络地址和主机地址它的第1个字节的前四位固定为1110。 ⑵ D类地址范围**224.0.0.1—239.255.255.254 **
E类地址
⑴ E类地址也不分网络地址和主机地址它的第1个字节的前五位固定为11110。 ⑵ E类地址范围240.0.0.1—255.255.255.254
浏览器输入URL并回车的过程以及相关协议DNS查询过程 域名解析: 对域名解析就是把域名转换为IP地址的过程主要使用了DNS协议 DNS查询过程: 1浏览器查看自己的DNS缓存看是否能找到与域名相对应的IP地址如果没找到则进行2查看操作系统的DNS缓存如果还是没找到进行3 3访问本地域名服务器若无进行4 需要注意的是1-3过程是递归查询过程意思是浏览器找操作系统操作系统找本地域名服务器依次递归下去而不是浏览器找完操作系统后再自己去找本地域名服务器流程图为 浏览器-操作系统-本地域名服务器 4本地域名服务器向根域名服务器发起DNS请求若无则5 5本地域名服务器向com域的顶级域名服务器发起DNS请求若无则6 6本地域名服务器向权限域名服务器发起DNS请求得到IP地址 4-6过程为迭代过程意思是本地域名服务器找根域名服务器根域名服务器说我没有你去找com域的顶级域名服务器吧我不帮你找然后本地域名服务器自己去找com域的顶级域名服务器……流程图为 本地域名服务器-根域名服务器 本地域名服务器-com域的顶级域名服务器 本地域名服务器-权限域名服务器 经过以上某些步骤之后浏览器便可得到域名对应的IP地址
浏览器封装HTTP报文向服务器发起HTTP请求这个过程使用了HTTP协议进行三次握手建立TCP连接这个过程使用了TCP协议服务端处理请求并返回HTTP报文这个过程中网络层用IP协议对报文进行封装并使用RIP、OSPF等路由协议进行路由选择。浏览器接受响应渲染页面断开连接