TCP/IP协议哪一年问世
1983年1月1日,在互联网的前身(ARPA网)中,TCP/IP协定取代了旧的网络控制协定(NCP,Network Control Protocol),从而成为今天的互联网的基石。
http://baike.baidu.com/view/7649.htm百度知道里面有着介绍,里面有产生背景。 摘录原文:1983年1月1日,运行较长时期曾被人们习惯了的NCP被停止使用,TCP/IP协议作为因特网上所有主机间的共同协议,从此以后被作为一种必须遵守的规则被肯定和应用。

两台电脑B机无法在网络邻居看到对方!!!
我也刚遇到这种情况,去找了一编文章,看了之后试着解决了,我把它帖出来,希望对你有一些帮助. (注意,文章来自于互联网,我找时出自<我是网管论坛> pengjijun 头衔: 论坛版主.现只作参考.)原文如下:计算机互连之XP与XP篇1. 硬件是否连通我们在计算机的连机之前首先要确认的就是这两台计算机在网络上是否已经连接好了,也就是说硬件部分是否连通。可以通过开始-运行中用ping命令来检测。将两台计算机都最好是各自手动设置IP(比如172.192.0.1 子网掩码 255.255.255.0 而另一个是 172.192.0.2 子网掩码相同)使用命令ping 172.192.1.2(在IP是172.192.0.1 的计算机上使用) 使用ping 172.192.0.1 (IP是172.192.0.2上使用)看两台电脑是否已经连通。若连通了就可以了,若没那就要检查硬件的问题了,比如网卡是不是好的 有没有插好 网线是不是好的 一般也就这3个情况了。关于IP的具体设置步骤:我的电脑-控制面板-网络连接-本地连接右键属性-常规-找到TCP/IP协议-点下面的属性-常规-选择使用下面的IP地址,然后填IP和子网掩码就可以了。2.在网络邻居看不到对方请确认自己的工作组是否正确 双方应在相同的工作组里面 具体的操作如下:电击“我的电脑右键-属性-计算机名”可以看到你的工作组。要修改的话就点“更改”就可以了。3. 出现字句“您可能没有权限使用网络资源,请与这台服务器的管理员联系以查明您是否有访问权限”在说明时没有特别指出的话我们都以默认的guest帐户连机⑴当你在自己的电脑上点机网络邻居的时候出现的,可能的原因有:① XP本身所自带的网络防火墙没有关闭,请关闭。设置如下:我的电脑-控制面板-网络连接-本地连接右键属性-高级 就可以看到了,把那个勾去掉,不用管它的提示。⑵当你在网络邻居的查看工作组计算机里面看到了对方,但点击的时候出现上面字句的原因:①恭喜你原因是出在对方的计算机上的②对方没有关掉防火墙(自身的,后来装的都有可能)③对方没有开启guest帐户④位于我的电脑-控制面板-管理工具-安全设置-本地安全策略-用户权利指派 中的“拒绝从网络登陆”看看有没,有guest 就删除⑸对方在注册表里做过一些修改如下:[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa]"restrictanonymous"=dword:00000001 ;禁止空连接 若改2则匿民用户无法连接你的IPC共享把这个删除就可以了。4.连机是不是一定要开启guest帐户答案是否定的,连机不一定非要开启guest帐户。只要你愿意,你甚至可以有管理员帐户登陆,只要更改相关的设置就可以了。设置如下:我的电脑-控制面板-管理工具-安全设置-本地安全策略-安全选项中“网络访问:本地帐户的共享和安全模式”(默认是来宾)改为“经典”即可。然后连机点击对方的时候,用户那一栏是可以自己填的,可以用对方电脑上的任何已经开启了的用户进行登陆。不过需要注意的一点是在这个安全选项中还有一项那就是“帐户:使用空白密码的本地帐户只允许进行控制台登陆”也就是说对方电脑上的别的帐户,比如说管理员帐户密码是空的反而不能登陆。这时可以关掉这个项或者让对方给需要登陆的帐户设置个密码。5.关于guest帐户的一些问题一要使用guest帐户登陆,需要开启guest帐户。可以用两种方法去开启。方法一.我的电脑-控制面板-管理工具-计算机管理-本地用户和组-用户找到guest点击右键属性,将帐户已停用前面的勾去掉。方法二.我的电脑-控制面板-用户帐户 中直接开启guest 不过需要指出的是这两种方法在连机上效果是一样的。但对于本机还是有一些区别的,稍后就会讲到。二关于guest的一些认识首先我们要涉及到3个东西,先在前面说下后面就直接用简写。a.位于计算机管理-本地用户和组-用户中的guest的开启。b.位于控制面板中的用户帐户中的来宾帐户开启机制。 c.位于我的电脑-控制面板-管理工具-安全设置-本地安全策略-用户权利指派中的“拒绝从网络本地登陆”。请看下图:a********************计算机管理-本地用户和组**的用户中的guest的开启 ********************b * * c***************** *********************控制面板中的用户帐户 * *本地安全策略用户权利指派**中的来宾帐户开启机制 * *中的拒绝从网络本地登陆 ******************* ********************说明:关于guest帐户的开启有两个等级 。第一个等级(最高等级)就是a它的管制权利是最高的 ;第二级就是b和c 。现在来说下它们,a就是管理这台计算机到底要不要开启guest 帐户,不管是你自己本地用guest帐户登陆还是网络用guest帐户登陆,要是a说我禁止了,那就都不行。假设a已经打开了,那么你说我要在自己的电脑上用guest登陆,那就需要把b打开了,这样你就可以在本机上用guest帐户登陆了。接着你又要求别人能通过网络用guest帐户来登陆你的电脑,那你就在c里面看看,有guest那就登陆不了了,删除就可以了。三 关于guest的另外一个问题d.位于我的电脑-控制面板-管理工具-安全设置-本地安全策略-用户权利指派中的“拒绝本地登陆”。我发现在d与b是互通的。比如说你在“拒绝本地登陆”中添加了guest那么b中的来宾帐户就会自动关闭。如果你又把来宾帐户打开,那“拒绝本地登陆”中的guest就会自动消失。但是如果你在计算机管理中禁止了guest,那在“拒绝本地登陆”中设置就没用。细心的人应该发现其实还有“本地登陆”这一项,不过经过我实验发现根本没什么用,起不到任何的效果。另外在默认的时候计算机管理中的guest是禁止的,“拒绝本地登陆”和 “拒绝从网络登陆”“本地登陆”中都有guest 。我的系统是这样的。补充:在实际的网络运用中,安装Windows XP系统的电脑有时会出现不能与Windows 98、Windows 2000的电脑互相访问的问题,即使是开启Guest账号、安装NetBEUI协议、设置共享文件夹,问题也得不到解决。今天,e博士就来说说这个常见的网络故障。右键点击Windows桌面上的“我的电脑”,选择“属性”,进入“计算机名”选项卡,查看该选项卡中出现的局域网工作组名称,如“MSHOME”,然后点击“网络ID”按钮,进入“网络标识向导”,单击“下一步”,选择“本机是商业网络的一部分,用它连接到其他工作着的计算机”,再单击“下一步”选择 “公司使用没有域的网络”,随后输入局域网的工作组名,如“MSHOME”,再次单击“下一步”按钮。最后点击“完成”按钮完成设置。重新启动计算机后,局域网内的计算机就可以互访了。经过这样的设置后,即使局域网内的计算机设置了不同的工作组,但在“网上邻居”中单击“查看工作组计算机”,在“其它位置”再单击“Microsoft Windows Network”,右面的窗口中就会出现所有工作组的名称,从而实现了对不同工作组的互访。 参考资料:<我是网管论坛> pengjijun 头衔: 论坛版主.
在2台计算机上的点开网络邻居,点设置家庭或小型办公网络,然后选通过其他计算机连接网络,然后其他的看情况选,然后看他的要求重启和设密码,重启以后就可以了 重要的一点要设了密码才可以显示
共享:网上邻居-设置家庭或小型办公网络,A、B都设置一下 然后重新启动。把上网的把防火墙关闭了。 添加端口:找到你的连接,右健属性-高级-设置-列外-添加端口 右健共享与安全就可以了
把A机服务里的server改成启用。 启用了就重新启用下再重起下看看。A能看到B说明网络没问题。那就是共享了。 可能A机没启用共享,别的机器不能访问。
使用网络安装向导: 网上邻居-设置家庭或小型办公网络,A、B都设置一下

计算机网络知识点
一、计算机网络概述 1.1 计算机网络的分类按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN);按照网络使用者:公用网络、专用网络。1.2 计算机网络的层次结构TCP/IP四层模型与OSI体系结构对比:1.3 层次结构设计的基本原则各层之间是相互独立的;每一层需要有足够的灵活性;各层之间完全解耦。1.4 计算机网络的性能指标速率:bps=bit/s 时延:发送时延、传播时延、排队时延、处理时延 往返时间RTT:数据报文在端到端通信中的来回一次的时间。二、物理层物理层的作用:连接不同的物理设备,传输比特流。该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。物理层设备:中继器【Repeater,也叫放大器】:同一局域网的再生信号;两端口的网段必须同一协议;5-4-3规程:10BASE-5以太网中,最多串联4个中继器,5段中只能有3个连接主机;集线器:同一局域网的再生、放大信号(多端口的中继器);半双工,不能隔离冲突域也不能隔离广播域。信道的基本概念:信道是往一个方向传输信息的媒体,一条通信电路包含一个发送信道和一个接受信道。单工通信信道:只能一个方向通信,没有反方向反馈的信道;半双工通信信道:双方都可以发送和接受信息,但不能同时发送也不能同时接收;全双工通信信道:双方都可以同时发送和接收。三、数据链路层3.1 数据链路层概述数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括: 物理地址寻址、数据的成帧、流量控制、数据的检错、重发 等。有关数据链路层的重要知识点:数据链路层为网络层提供可靠的数据传输;基本数据单位为帧;主要的协议:以太网协议;两个重要设备名称:网桥和交换机。封装成帧:“帧”是 数据链路层 数据的基本单位:透明传输:“透明”是指即使控制字符在帧数据中,但是要当做不存在去处理。即在控制字符前加上转义字符ESC。3.2 数据链路层的差错监测差错检测:奇偶校验码、循环冗余校验码CRC奇偶校验码–局限性:当出错两位时,检测不到错误。循环冗余检验码:根据传输或保存的数据而产生固定位数校验码。3.3 最大传输单元MTU最大传输单元MTU(Maximum Transmission Unit),数据链路层的数据帧不是无限大的,数据帧长度受MTU限制.路径MTU:由链路中MTU的最小值决定。3.4 以太网协议详解MAC地址:每一个设备都拥有唯一的MAC地址,共48位,使用十六进制表示。以太网协议:是一种使用广泛的局域网技术,是一种应用于数据链路层的协议,使用以太网可以完成相邻设备的数据帧传输:局域网分类:Ethernet以太网IEEE802.3:以太网第一个广泛部署的高速局域网以太网数据速率快以太网硬件价格便宜,网络造价成本低以太网帧结构:类型:标识上层协议(2字节)目的地址和源地址:MAC地址(每个6字节)数据:封装的上层协议的分组(46~1500字节)CRC:循环冗余码(4字节)以太网最短帧:以太网帧最短64字节;以太网帧除了数据部分18字节;数据最短46字节;MAC地址(物理地址、局域网地址)MAC地址长度为6字节,48位;MAC地址具有唯一性,每个网络适配器对应一个MAC地址;通常采用十六进制表示法,每个字节表示一个十六进制数,用 - 或 : 连接起来;MAC广播地址:FF-FF-FF-FF-FF-FF。四、网络层网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。数据交换技术是报文交换(基本上被分组所替代):采用储存转发方式,数据交换单位是报文。网络层中涉及众多的协议,其中包括最重要的协议,也是TCP/IP的核心协议——IP协议。IP协议非常简单,仅仅提供不可靠、无连接的传送服务。IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP。具体的协议我们会在接下来的部分进行总结,有关网络层的重点为:1、网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能;2、基本数据单位为IP数据报;3、包含的主要协议:IP协议(Internet Protocol,因特网互联协议);ICMP协议(Internet Control Message Protocol,因特网控制报文协议);ARP协议(Address Resolution Protocol,地址解析协议);RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)。4、重要的设备:路由器。路由器相关协议4.1 IP协议详解IP网际协议是 Internet 网络层最核心的协议。虚拟互联网络的产生:实际的计算机网络错综复杂;物理设备通过使用IP协议,屏蔽了物理网络之间的差异;当网络中主机使用IP协议连接时,无需关注网络细节,于是形成了虚拟网络。IP协议使得复杂的实际网络变为一个虚拟互联的网络;并且解决了在虚拟网络中数据报传输路径的问题。其中,版本指IP协议的版本,占4位,如IPv4和IPv6;首部位长度表示IP首部长度,占4位,最大数值位15;总长度表示IP数据报总长度,占16位,最大数值位65535;TTL表示IP数据报文在网络中的寿命,占8位;协议表明IP数据所携带的具体数据是什么协议的,如TCP、UDP。4.2 IP协议的转发流程4.3 IP地址的子网划分A类(8网络号+24主机号)、B类(16网络号+16主机号)、C类(24网络号+8主机号)可以用于标识网络中的主机或路由器,D类地址作为组广播地址,E类是地址保留。4.4 网络地址转换NAT技术用于多个主机通过一个公有IP访问访问互联网的私有网络中,减缓了IP地址的消耗,但是增加了网络通信的复杂度。NAT 工作原理:从内网出去的IP数据报,将其IP地址替换为NAT服务器拥有的合法的公共IP地址,并将替换关系记录到NAT转换表中;从公共互联网返回的IP数据报,依据其目的的IP地址检索NAT转换表,并利用检索到的内部私有IP地址替换目的IP地址,然后将IP数据报转发到内部网络。4.5 ARP协议与RARP协议地址解析协议 ARP(Address Resolution Protocol):为网卡(网络适配器)的IP地址到对应的硬件地址提供动态映射。可以把网络层32位地址转化为数据链路层MAC48位地址。ARP 是即插即用的,一个ARP表是自动建立的,不需要系统管理员来配置。RARP(Reverse Address Resolution Protocol)协议指逆地址解析协议,可以把数据链路层MAC48位地址转化为网络层32位地址。4.6 ICMP协议详解网际控制报文协议(Internet Control Message Protocol),可以报告错误信息或者异常情况,ICMP报文封装在IP数据报当中。ICMP协议的应用:Ping应用:网络故障的排查;Traceroute应用:可以探测IP数据报在网络中走过的路径。4.7网络层的路由概述关于路由算法的要求:正确的完整的、在计算上应该尽可能是简单的、可以适应网络中的变化、稳定的公平的。自治系统AS: 指处于一个管理机构下的网络设备群,AS内部网络自治管理,对外提供一个或多个出入口,其中自治系统内部的路由协议为内部网关协议,如RIP、OSPF等;自治系统外部的路由协议为外部网关协议,如BGP。静态路由: 人工配置,难度和复杂度高;动态路由:链路状态路由选择算法LS:向所有隔壁路由发送信息收敛快;全局式路由选择算法,每个路由器计算路由时,需构建整个网络拓扑图;利用Dijkstra算法求源端到目的端网络的最短路径;Dijkstra(迪杰斯特拉)算法距离-向量路由选择算法DV:向所有隔壁路由发送信息收敛慢、会存在回路;基础是Bellman-Ford方程(简称B-F方程);4.8 内部网关路由协议之RIP协议路由信息协议 RIP(Routing Information Protocol)【应用层】,基于距离-向量的路由选择算法,较小的AS(自治系统),适合小型网络;RIP报文,封装进UDP数据报。RIP协议特性:RIP在度量路径时采用的是跳数(每个路由器维护自身到其他每个路由器的距离记录);RIP的费用定义在源路由器和目的子网之间;RIP被限制的网络直径不超过15跳;和隔壁交换所有的信息,30主动一次(广播)。4.9 内部网关路由协议之OSPF协议开放最短路径优先协议 OSPF(Open Shortest Path First)【网络层】,基于链路状态的路由选择算法(即Dijkstra算法),较大规模的AS ,适合大型网络,直接封装在IP数据报传输。OSPF协议优点:安全;支持多条相同费用路径;支持区别化费用度量;支持单播路由和多播路由;分层路由。RIP与OSPF的对比(路由算法决定其性质):4.10外部网关路由协议之BGP协议BGP(Border Gateway Protocol)边际网关协议【应用层】:是运行在AS之间的一种协议,寻找一条好路由:首次交换全部信息,以后只交换变化的部分,BGP封装进TCP报文段.五、传输层第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。传输层的任务是根据通信子网的特性,最佳的利用网络资源,为两个端系统的会话层之间,提供建立、维护和取消传输连接的功能,负责端到端的可靠数据传输。在这一层,信息传送的协议数据单元称为段或报文。网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口。有关网络层的重点:传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题;包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol,用户数据报协议);重要设备:网关。5.1 UDP协议详解UDP(User Datagram Protocol: 用户数据报协议),是一个非常简单的协议。UDP协议的特点:UDP是无连接协议;UDP不能保证可靠的交付数据;UDP是面向报文传输的;UDP没有拥塞控制;UDP首部开销很小。UDP数据报结构:首部:8B,四字段/2B【源端口 | 目的端口 | UDP长度 | 校验和】 数据字段:应用数据5.2 TCP协议详解TCP(Transmission Control Protocol: 传输控制协议),是计算机网络中非常复杂的一个协议。TCP协议的功能:对应用层报文进行分段和重组;面向应用层实现复用与分解;实现端到端的流量控制;拥塞控制;传输层寻址;对收到的报文进行差错检测(首部和数据部分都检错);实现进程间的端到端可靠数据传输控制。TCP协议的特点:TCP是面向连接的协议;TCP是面向字节流的协议;TCP的一个连接有两端,即点对点通信;TCP提供可靠的传输服务;TCP协议提供全双工通信(每条TCP连接只能一对一);5.2.1 TCP报文段结构:最大报文段长度:报文段中封装的应用层数据的最大长度。TCP首部:序号字段:TCP的序号是对每个应用层数据的每个字节进行编号确认序号字段:期望从对方接收数据的字节序号,即该序号对应的字节尚未收到。用ack_seq标识;TCP段的首部长度最短是20B ,最长为60字节。但是长度必须为4B的整数倍TCP标记的作用:5.3 可靠传输的基本原理基本原理:不可靠传输信道在数据传输中可能发生的情况:比特差错、乱序、重传、丢失基于不可靠信道实现可靠数据传输采取的措施:差错检测:利用编码实现数据包传输过程中的比特差错检测 确认:接收方向发送方反馈接收状态 重传:发送方重新发送接收方没有正确接收的数据 序号:确保数据按序提交 计时器:解决数据丢失问题;停止等待协议:是最简单的可靠传输协议,但是该协议对信道的利用率不高。连续ARQ(Automatic Repeat reQuest:自动重传请求)协议:滑动窗口+累计确认,大幅提高了信道的利用率。5.3.1TCP协议的可靠传输基于连续ARQ协议,在某些情况下,重传的效率并不高,会重复传输部分已经成功接收的字节。5.3.2 TCP协议的流量控制流量控制:让发送方发送速率不要太快,TCP协议使用滑动窗口实现流量控制。5.4 TCP协议的拥塞控制拥塞控制与流量控制的区别:流量控制考虑点对点的通信量的控制,而拥塞控制考虑整个网络,是全局性的考虑。拥塞控制的方法:慢启动算法+拥塞避免算法。慢开始和拥塞避免:【慢开始】拥塞窗口从1指数增长;到达阈值时进入【拥塞避免】,变成+1增长;【超时】,阈值变为当前cwnd的一半(不能<2);再从【慢开始】,拥塞窗口从1指数增长。快重传和快恢复:发送方连续收到3个冗余ACK,执行【快重传】,不必等计时器超时;执行【快恢复】,阈值变为当前cwnd的一半(不能<2),并从此新的ssthresh点进入【拥塞避免】。5.5 TCP连接的三次握手(重要)TCP三次握手使用指令:面试常客:为什么需要三次握手?第一次握手:客户发送请求,此时服务器知道客户能发;第二次握手:服务器发送确认,此时客户知道服务器能发能收;第三次握手:客户发送确认,此时服务器知道客户能收。建立连接(三次握手):第一次: 客户向服务器发送连接请求段,建立连接请求控制段(SYN=1),表示传输的报文段的第一个数据字节的序列号是x,此序列号代表整个报文段的序号(seq=x);客户端进入 SYN_SEND (同步发送状态);第二次: 服务器发回确认报文段,同意建立新连接的确认段(SYN=1),确认序号字段有效(ACK=1),服务器告诉客户端报文段序号是y(seq=y),表示服务器已经收到客户端序号为x的报文段,准备接受客户端序列号为x+1的报文段(ack_seq=x+1);服务器由LISTEN进入SYN_RCVD (同步收到状态);第三次: 客户对服务器的同一连接进行确认.确认序号字段有效(ACK=1),客户此次的报文段的序列号是x+1(seq=x+1),客户期望接受服务器序列号为y+1的报文段(ack_seq=y+1);当客户发送ack时,客户端进入ESTABLISHED 状态;当服务收到客户发送的ack后,也进入ESTABLISHED状态;第三次握手可携带数据;5.6 TCP连接的四次挥手(重要)释放连接(四次挥手)第一次: 客户向服务器发送释放连接报文段,发送端数据发送完毕,请求释放连接(FIN=1),传输的第一个数据字节的序号是x(seq=x);客户端状态由ESTABLISHED进入FIN_WAIT_1(终止等待1状态);第二次: 服务器向客户发送确认段,确认字号段有效(ACK=1),服务器传输的数据序号是y(seq=y),服务器期望接收客户数据序号为x+1(ack_seq=x+1);服务器状态由ESTABLISHED进入CLOSE_WAIT(关闭等待);客户端收到ACK段后,由FIN_WAIT_1进入FIN_WAIT_2;第三次: 服务器向客户发送释放连接报文段,请求释放连接(FIN=1),确认字号段有效(ACK=1),表示服务器期望接收客户数据序号为x+1(ack_seq=x+1);表示自己传输的第一个字节序号是y+1(seq=y+1);服务器状态由CLOSE_WAIT 进入 LAST_ACK (最后确认状态);第四次: 客户向服务器发送确认段,确认字号段有效(ACK=1),表示客户传输的数据序号是x+1(seq=x+1),表示客户期望接收服务器数据序号为y+1+1(ack_seq=y+1+1);客户端状态由FIN_WAIT_2进入TIME_WAIT,等待2MSL时间,进入CLOSED状态;服务器在收到最后一次ACK后,由LAST_ACK进入CLOSED;为什么需要等待2MSL?最后一个报文没有确认;确保发送方的ACK可以到达接收方;2MSL时间内没有收到,则接收方会重发;确保当前连接的所有报文都已经过期。六、应用层为操作系统或网络应用程序提供访问网络服务的接口。应用层重点:数据传输基本单位为报文;包含的主要协议:FTP(文件传送协议)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议(Hyper Text Transfer Protocol)。6.1 DNS详解DNS(Domain Name System:域名系统)【C/S,UDP,端口53】:解决IP地址复杂难以记忆的问题,存储并完成自己所管辖范围内主机的 域名 到 IP 地址的映射。域名解析的顺序:【1】浏览器缓存,【2】找本机的hosts文件,【3】路由缓存,【4】找DNS服务器(本地域名、顶级域名、根域名)->迭代解析、递归查询。IP—>DNS服务—>便于记忆的域名域名由点、字母和数字组成,分为顶级域(com,cn,net,gov,org)、二级域(baidu,taobao,qq,alibaba)、三级域(www)(12-2-0852)6.2 DHCP协议详解DHCP(Dynamic Configuration Protocol:动态主机设置协议):是一个局域网协议,是应用UDP协议的应用层协议。作用:为临时接入局域网的用户自动分配IP地址。6.3 HTTP协议详解文件传输协议(FTP):控制连接(端口21):传输控制信息(连接、传输请求),以7位ASCII码的格式。整个会话期间一直打开。HTTP(HyperText Transfer Protocol:超文本传输协议)【TCP,端口80】:是可靠的数据传输协议,浏览器向服务器发收报文前,先建立TCP连接,HTTP使用TCP连接方式(HTTP自身无连接)。HTTP请求报文方式:GET:请求指定的页面信息,并返回实体主体;POST:向指定资源提交数据进行处理请求;DELETE:请求服务器删除指定的页面;HEAD:请求读取URL标识的信息的首部,只返回报文头;OPETION:请求一些选项的信息;PUT:在指明的URL下存储一个文档。6.3.1 HTTP工作的结构6.3.2 HTTPS协议详解HTTPS(Secure)是安全的HTTP协议,端口号443。基于HTTP协议,通过SSL或TLS提供加密处理数据、验证对方身份以及数据完整性保护原文地址:https://blog.csdn.net/Royalic/article/details/119985591

HTTP 基础摘要
注:以下内容摘自《图解 HTTP》,仅作学习记录。若有断章取义之处,望阅原文。通常使用的网络(包括互联网)是在 TCP/IP 协议族的基础上运作的。而 HTTP 属于它内部的一个子集。TCP/IP 是互联网相关的各类协议族的总称。TCP/IP 协议族:EEEE 802.3、IP、ICMP、PPPoE、DNS、TCP、UDP、FTP、FDDI、HTTP、SNMP...TCP/IP 协议族按层次分为 4 层:应用层、传输层、网络层和数据链路层。按层次分,IP(Internet Protocol)网际协议位于网络层。IP 协议的作用是把各种数据包传送给对方。而要保证确实传送到对方那里,则需要满足各类条件。其中两个重要的条件是IP 地址和MAC 地址(Media Access Control Address)。IP 地址指明了节点被分配到的地址,MAC 地址是指网卡所属的固定地址。IP 地址可以和 MAC 地址进行配对。IP 地址可变换,但 MAC 地址基本上不会更改。IP 间的通信依赖 MAC 地址。在网络上,通信的双方在同一局域网 (LAN)内的情况是很少的,通常是经过多台计算机和网络设备中转才能连接到对方。而在进行中转时,会利用下一站中转设备的 MAC 地址来搜索下一个中转目标。这时,会采用ARP 协议(Address Resolution Protocol)。ARP 是一种用以解析地址的协议,根据通信方 的 IP 地址就可以反查出对应的 MAC 地址。按层次分,TCP 位于传输层,提供可靠的字节流服务。所谓的字节流服务(Byte Stream Service)是指,为了方便传输,将大块数据分割成以报文段(segment)为单位的数据包进行管理。而可靠的传输服务是指,能够把数据准确可靠地传给对方。为了准确无误地将数据送达目标处,TCP 协议采用了三次握手(three-way handshaking)策略。用 TCP 协议把数据包送出去后,TCP 不会对传送后的情况置之不理,它一定会向对方确认是否成功送达。握手过程中使用了 TCP 的标志(flag) ——SYN(synchronize) 和ACK(acknowledgement)。发送端首先发送一个带 SYN 标志的数据包给对方。接收端收到后,回传一个带有 SYN/ACK 标志的数据包以示传达确认信息。最后,发送端再回传一个带 ACK 标志的数据包,代表“握手”结束。若在握手过程中某个阶段莫名中断,TCP 协议会再次以相同的顺序发送相同的数据包。除了上述三次握手策略,TCP 协议还有其他各种手段来保证通信的可靠性。DNS(Domain Name System)服务是和 HTTP 协议一样位于应用层的协议。它提供域名到 IP 地址之间的解析服务。DNS 协议提供通过域名查找 IP 地址,或逆向从 IP 地址反查域名的服务。URI 是 Uniform Resource Identifier 的缩写。URI 是由某个协议方案表示的资源的定位标识符。URI用字符串标识某一互联网资源,而URL表示资源的地点(互联 网上所处的位置)。可见URL 是 URI 的子集。HTTP 是一种不保存状态,即无状态(stateless)协议。HTTP 协议自身不对请求和响应之间的通信状态进行保存。也就是说在 HTTP 这个级别,协议对于发送过的请求或响应都不做持久化处理。HTTP/1.1 虽然是无状态协议,但为了实现期望的保持状态功能,于是引入了Cookie 技术。有了 Cookie 再用 HTTP 协议通信,就可以管理状态了。HTTP 协议的初始版本中,每进行一次 HTTP 通信就要断开一次 TCP 连接。每次的请求都会造成无谓的 TCP 连接建立和断开,增加通信量的开销。为解决上述 TCP 连接的问题,HTTP/1.1 和一部分的 HTTP/1.0 想出了持久连接(HTTP Persistent Connections,也称为 HTTP keep-alive 或 HTTP connection reuse)的方法。持久连接的特点是,只要任意一端没有明确提出断开连接,则保持 TCP 连接状态。持久连接的好处在于减少了 TCP 连接的重复建立和断开所造成的额外开销,减轻了服务器端的负载。另外,减少开销的那部分时间,使 HTTP 请求和响应能够更早地结束,这样 Web 页面的显示速度也就相应提高了。????在 HTTP/1.1 中,所有的连接默认都是持久连接。持久连接使得多数请求以管线化(pipelining)方式发送成为可能。从前客户端发送请求后,需要等待并收到服务端的响应后,才能发送下一个请求。管线化技术出现后,不用等待响应亦可直接发送下一个请求。这样就能够做到同时并行发送多个请求,而不需要一个接一个地等待响应了。HTTP 是无状态协议,它不对之前发生过的请求和响应的状态进行管理。也就是说,无法根据之前的状态进行本次的请求处理。Cookie 技术通过在请求和响应报文中写入 Cookie 信息来控制客户端的状态。Cookie 会根据从服务器端发送的响应报文内的一个叫做Set-Cookie的首部字段信息,通知客户端保存 Cookie。当下次客户端再往该服务器发送请求时,客户端会自动在请求报文中加入Cookie值后发送出 去。服务器端发现客户端发送过来的Cookie后,会去检查究竟是从哪一 个客户端发来的连接请求,然后对比服务器上的记录,最后得到之前的状态信息。HTTP 在传输数据时可以按照数据原貌直接传输,但也可以在传输过程中通过编码提升传输速率。通过在传输时编码,能有效地处理大量的访问请求。但是,编码的操作需要计算机来完成,因此会消耗更多的 CPU 等资源。HTTP 协议中有一种被称为内容编码的功能也能进行类似压缩邮件文件的操作。内容编码指明应用在实体内容上的编码格式,并保持实体信息原样压缩。内容编码后的实体由客户端接收并负责解码。在 MIME 扩展中会使用一种称为多部分对象集合(Multipart)的方法,来容纳多份不同类型的数据。HTTP 协议中也采纳了多部分对象集合,发送的一份报文主体内可含有多类型实体。通常是在图片或文本文件等上传时使用。在 HTTP 报文中使用多部分对象集合时,需要在首部字段里加上Content-type字段。使用boundary字符串来划分多部分对象集合指明的各类实体。多部分对象集合包含的对象如下:内容协商机制是指客户端和服务器端就响应的资源内容进行交涉,然后提供给客户端最为适合的资源。内容协商会以响应资源的语言、字符集、编码方式等作为判断的基准。包含在请求报文中的某些首部字段(如下)就是判断的基准:内容协商技术有以下 3 种类型:HTTP 首部字段是构成 HTTP 报文的要素之一。在客户端与服务器之间以 HTTP 协议进行通信的过程中,无论是请求还是响应都会使用首部字段,它能起到传递额外重要信息的作用。使用首部字段是为了给浏览器和服务器提供报文主体大小、所使用的语言、认证信息等内容。在 HTTP 协议通信交互中使用到的首部字段,不限于 RFC2616 中定义的 47 种首部字段。还有Cookie 、 Set-Cookie和Content-Disposition等在其他 RFC 中定义的首部字段,它们的使用频率也很高。HTTP 首部字段将定义成缓存代理和非缓存代理的行为,分成 2 种类型。下面列举了 HTTP/1.1 中的逐跳首部字段。除这 8 个首部字段之外,其他所有字段都属于端到端首部。HTTP/1.1 使用的认证方式如下所示:

如何理解计算机网络通信
1. 以太网协议以太网协议规定,一组电信号构成一个数据包,我们把这个数据包称之为帧。每一个桢由标头(Head)和数据(Data)两部分组成。帧的大小一般为 64 – 1518 个字节。假如需要传送的数据很大的话,就分成多个桢来进行传送。对于表头和数据这两个部分,他们存放的都是一些什么数据呢? 毫无疑问,我们至少得知道这个桢是谁发送,发送给谁的等这些信息吧?所以标头部分主要是一些说明数据,例如发送者,接收者等信息。而数据部分则是这个数据包具体的,想给接收者的内容。一个桢的长度是 64~1518 个字节,也就是说桢的长度不是固定的,但是标头部分的字节长度是固定的,每个桢都是单独发的,并且固定为18个字节。把一台计算的的数据通过 物理层 和 链路层 发送给另一台计算机,究竟是谁发给谁的,计算机与计算机之间如何区分,,你总得给他们一个唯一的标识吧?于是,MAC 地址出现了。2. MAC 地址连入网络的每一个计算机都会有网卡接口,每一个网卡都会有一个唯一的地址,这个地址就叫做 MAC 地址。计算机之间的数据传送,就是通过 MAC 地址来唯一寻找、传送的。MAC地址 由 48 位二进制数所构成,在网卡生产时就被唯一标识了。3. 广播与ARP协议(1). 广播如图,假如计算机 A 知道了计算机 B 的 MAC 地址,然后计算机 A 想要给计算机 B 传送数据,虽然计算机 A 知道了计算机 B 的 MAC 地址,可是它要怎么给它传送数据呢?计算机 A 不仅连着计算机 B,而且计算机 A 也还连着其他的计算机。 虽然计算机 A 知道计算机 B 的 MAC 地址,可是计算机 A 却不知道计算机 B 是分布在哪边路线上,为了解决这个问题,于是,有了广播的出现。在同一个子网中,计算机 A 要向计算机 B 发送一个 数据包 ,这个数据包会包含接收者的 MAC 地址。当发送时,计算机 A 是通过广播的方式发送的,这时同一个子网中的计算机 C, D 也会收到这个数据包的,然后收到这个数据包的计算机,会把数据包的 MAC 地址取出来,与自身的 MAC 地址对比,如果两者相同,则接受这个数据包,否则就丢弃这个数据包。(2). ARP 协议。那么问题来了,计算机 A 是如何知道计算机 B 的 MAC 地址的呢?这个时候就得由 ARP 协议这个家伙来解决了,不过 ARP 协议会涉及到IP地址,我们下面才会扯到IP地址。因此我们先放着,就当作是有这么一个 ARP 协议,通过它我们可以知道子网中其他计算机的 MAC 地址。上面我们有说到子网这个关键词,实际上我们所处的网络,是由无数个子网络构成的。广播的时候,也只有同一个子网里面的计算机能够收到。假如没有子网这种划分的话,计算机 A 通过广播的方式发一个数据包给计算机 B , 其他所有计算机也都能收到这个数据包,然后进行对比再舍弃。世界上有那么多台计算机,每一台计算机都能收到其他所有计算机的数据包,那就不得了了。那还不得奔溃。 因此产生了子网这么一个东西。那么问题来了,我们如何区分哪些 MAC 地址是属于同一个子网的呢?假如是同一个子网,那我们就用广播的形式把数据传送给对方,如果不是同一个子网的,我们就会把数据发给网关,让网关进行转发。为了解决这个问题,于是,有了 IP 协议。1. IP协议IP协议,它所定义的地址,我们称之为IP地址。IP协议有两种版本,一种是 IPv4,另一种是 IPv6。不过我们目前大多数用的还是 IPv4,我们现在也只讨论 IPv4 这个版本的协议。这个 IP 地址由 32 位的二进制数组成,我们一般把它分成4段的十进制表示,地址范围为0.0.0.0~255.255.255.255。每一台想要联网的计算机都会有一个IP地址。这个IP地址被分为两部分,前面一部分代表网络部分,后面一部分代表主机部分。并且网络部分和主机部分所占用的二进制位数是不固定的。假如两台计算机的网络部分是一模一样的,我们就说这两台计算机是处于同一个子网中。例如 192.168.43.1 和 192.168.43.2, 假如这两个 IP 地址的网络部分为 24 位,主机部分为 8 位。那么他们的网络部分都为 192.168.43,所以他们处于同一个子网中。可是问题来了,你怎么知道网络部分是占几位,主机部分又是占几位呢?也就是说,单单从两台计算机的IP地址,我们是无法判断他们的是否处于同一个子网中的。这就引申出了另一个关键词————子网掩码。子网掩码和IP地址一样也是 32 位二进制数,不过它的网络部分规定全部为 1,主机部分规定全部为 0.也就是说,假如上面那两个IP地址的网络部分为 24 位,主机部分为 8 位的话,那他们的子网掩码都为 11111111.11111111.11111111.00000000,即255.255.255.0。那有了子网掩码,如何来判端IP地址是否处于同一个子网中呢。显然,知道了子网掩码,相当于我们知道了网络部分是几位,主机部分是几位。我们只需要把 IP 地址与它的子网掩码做与(and)运算,然后把各自的结果进行比较就行了,如果比较的结果相同,则代表是同一个子网,否则不是同一个子网。例如,192.168.43.1和192.168.43.2的子码掩码都为255.255.255.0,把IP与子码掩码相与,可以得到他们都为192.168.43.0,进而他们处于同一个子网中。2. ARP协议有了上面IP协议的知识,我们回来讲一下ARP协议。有了两台计算机的IP地址与子网掩码,我们就可以判断出它们是否处于同一个子网之中了。假如他们处于同一个子网之中,计算机A要给计算机B发送数据时。我们可以通过ARP协议来得到计算机B的MAC地址。ARP协议也是通过广播的形式给同一个子网中的每台电脑发送一个数据包(当然,这个数据包会包含接收方的IP地址,这个 IP地址 怎么来的,往下看)。对方收到这个数据包之后,会取出IP地址与自身的对比,如果相同,则把自己的MAC地址回复给对方,否则就丢弃这个数据包。这样,计算机A就能知道计算机B的MAC地址了。可能有人会问,知道了MAC地址之后,发送数据是通过广播的形式发送,询问对方的MAC地址也是通过广播的形式来发送,那其他计算机怎么知道你是要传送数据还是要询问MAC地址呢?其实在询问MAC地址的数据包中,在对方的MAC地址这一栏中,填的是一个特殊的MAC地址,其他计算机看到这个特殊的MAC地址之后,就能知道广播想干嘛了。假如两台计算机的IP不是处于同一个子网之中,这个时候,我们就会把数据包发送给网关,然后让网关让我们进行转发传送3. DNS服务器这里再说一个问题,我们是如何知道对方计算机的IP地址的呢?这个问题可能有人会觉得很白痴,心想,当然是计算机的操作者来进行输入了。这没错,当我们想要访问某个网站的时候,我们可以输入IP来进行访问,但是我相信绝大多数人是输入一个网址域名的,例如访问百度是输入http://www.baidu.com这个域名。其实当我们输入这个域名时,会有一个叫做DNS服务器的家伙来帮我们解析这个域名,然后返回这个域名对应的IP给我们的。因此,网络层的功能就是让我们在茫茫人海中,能够找到另一台计算机在哪里,是否属于同一个子网等。通过物理层、数据链路层以及网络层的互相帮助,我们已经把数据成功从计算机A传送到计算机B了,可是,计算机B里面有各种各样的应用程序,计算机该如何知道这些数据是给谁的呢?这个时候,端口(Port)这个家伙就上场了,也就是说,我们在从计算机A传数据给计算表B的时候,还得指定一个端口,以供特定的应用程序来接受处理。也就是说,传输层的功能就是建立端口到端口的通信。相比网络层的功能是建立主机到主机的通信。也就是说,只有有了IP和端口,我们才能进行准确着通信。这个时候可能有人会说,我输入IP地址的时候并没有指定一个端口啊。其实呢,对于有些传输协议,已经有设定了一些默认端口了。例如http的传输默认端口是80,这些端口信息也会包含在数据包里的。传输层最常见的两大协议是 TCP 协议和 UDP 协议,其中 TCP 协议与 UDP 最大的不同就是 TCP 提供可靠的传输,而 UDP 提供的是不可靠传输。终于说到应用层了,应用层这一层最接近我们用户了。虽然我们收到了传输层传来的数据,可是这些传过来的数据五花八门,有html格式的,有mp4格式的,各种各样。你确定你能看的懂?因此我们需要指定这些数据的格式规则,收到后才好解读渲染。例如我们最常见的 Http 数据包中,就会指定该数据包是 什么格式的文件了。喜欢点个赞原文看这里

本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/42531.html。