计算机网络
通信子网与资源子网
通信子网一般是指的用于连接网络的物理设备,网卡 服务器等等。
资源子网是网络中的资源.网站 电影 软件等等。
资源子网需要通信子网实现资源的共享,通信子网为资源子网提供网络服务。
ipv6、ipv4区别
地址长度不同 ipv6(128)、ipv4(32)
进制表示不同 ipv6(16进制)、ipv4(10进制)
地址类型不同 ipv6(单播地址、组播地址和任播地址)、ipv4(单播地址、组播地址和的广播地址)
网络的分类
广域网(WAN),局域网(LAN),城域网(MAN),个人区域网(PAN)
数据传输方式有哪些
串行传输,并行传输,异步传输,同步传输,单工数据传输(只能延一个方向传输),半双工数据传输(可以两个方向传输,但是不能同时进行),全双工数据传输(可以两个方向传输,但是可以同时进行)
网络协议(对等实体之间通信的一种规则)的三个要素
语法,确定通信双方"如何讲",定义了数据格式,编码和信号电平等.
语义,确定通信双方"讲什么源",定义了用于协调同步和差错处理等控制信息
同步,确定通信双方"讲话的次序",定义了速度匹配和排序等.
OSI模型有三个明确的概念:服务,接口,协议
计算机网络中用到了哪些数据结构
图:最短路径算法---OPFS中使用到地杰斯特拉算法
队列
栈
堆
介绍一下交换技术
电路交换技术:独占信道,没有存储转发时延,它是面向连接的,必须经过建立连接,通信,释放连接的三个步骤(有建立连接的时延),可以即时通信,但是信道利用率低,
报文交换技术:存储转发方式,无需建立连接(无建立时延),提高了线路利用率,但是会存在存储转发时延,需要额外的缓冲区来接受报文
分组交换技术:存储转发方式,无需建立连接(无建立时延),提高了线路利用率,可以用流水线的方式,减少传播时延,相当于报文交换,缓冲区的管理更方便,但是存在分组转发的时延,
网络7层架构模型(OSI)
1、物理层:
主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的模数转换与数模转换)。这一层的数据叫做比特。
2、数据链路层:
主要将从物理层接收的数据进行MAC地址(网卡的地址)的封装与解封装。常把这一层的数据叫做帧。在这一层工作的设备是交换机,数据通过交换机来传输。
3、网络层:
主要将从下层接收到的数据进行IP地址(例如:192.168.0.1)的封装与解封装。在这一层工作的设备是路由器,常把这一层的数据叫做数据包。
4、传输层:
定义了一些传输数据的协议和端口号(WWW端口80等),如:TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP(用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。主要是将从下层接收的数据进行分段进行传输,到达目的地址后进行重组。常常把这一层数据叫做段。
5、会话层:
通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接收会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)
6、表示层:
主要是进行对接收的数据进行解释、加密与解密、压缩与解压缩等(也就是把计算机能够识别的东西转换成人能够识别的东西。如图片、声音等)
7、应用层:
主要是一些终端的应用,比如说FTP(各种文件下载),WEB(IE浏览),QQ之类的(你就把它理解成我们在电脑屏幕上可以看到的东西,就是终端应用)。
TCP/IP原理
TCP/IP协议不是TCP和IP这两个协议的合称,而是因特网整个TCP/IP协议族。从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网络层、传输层、应用层。
网络访问层(Network Access Layer):
在TCP/IP参考模型中并没有详细描述,只是指出主机必须使用某种协议与网络相连。
网络层(Internet Layer):
是整个体系结构的关键部分,其功能是使主机可以把分组发往任何网络,并使分组独立地传向目标。这些分组可能经由不同的网络,到达顺序和发送顺序也可能不同。高层如果需要顺序收发,那么就必须自行处理对分组的排序。互联网层使用因特网协议(IP,Internet Protocol)。
传输层(Transport Layer):
使源端和目的端机器上的对等实体可以进行会话。在这一层定义了两个端到端的协议:传输控制协议(TCP, Transmission Control Protocol)和用户数据报协议(UDP, User Datagram Protocol)。TCP是面向连接的协议,它提供可靠的报文传输和对上层应用的连接服务。为此,除了基本的数据传输外,它还有可靠性的保证、流量控制、多路复用、优先权和安全性控制等功能。UDP是面向无连接的不可靠传输的协议,主要用于不需要TCP的排序性和流量控制等功能的应用程序。
应用层(Application Layer):
应用层包含所有的高层协议,包括:虚拟终端协议(TELNET, TELecommunications NETwork)、文件传输协议(FTP, File Transfer Protocol)、电子邮件传输协议(SMTP,Simple Mail Transfer Protocol)、域名服务(DNS,Domain Name Service)、网上新闻传输协议(NNTP, Net News Transfer Protocol)和超文本传送协议(HTTP,HyperText Transfer Protocol)等。
机器A和机器B之间是如何收发数据的
程序在发送信息时,应用层按既定的协议打包数据,随后由传输层加上双方的端口号,由网络层加上双方的IP地址,由链路层加上双方的MAC地址,并将数据拆分成数据帧,经过多个路由器和网关后,到达目标机器。简而言之,就是按“端口—>IP地址—>MAC地址”这样的路径进行数据的封装和发送,解包的时候反过来即可。
在手机端上给某个PC端上的朋友发送信息时
在手机上给某个PC端的朋友发送一个信息,经过无线网的IEEE 802.1x认证,转到光纤通信上,然后进入内部企业网802.3,并最终到达目标PC。
TCP三次握手、四次挥手
三次握手
第一次握手:
主机A发出一个数据包并将SYN置1,表示希望建立连接。这个包中的序列号假设是x;
第二次握手:
主机B收到A机器发送来的数据包后,通过SYN得知这是一个建立连接的请求,于是发送一个响应包并将SYN和ACK标记都置1。假设这个包中的序列号是y,而确认序列号必须是x+1,表示收到了A发过来的SYN。在TCP中,SYN被当作数据部分的一个字节。
第三次握手:
A收到B的响应包后需进行确认,确认包中将ACK置1,并将确认序列号设置为y+1,表示收到了来自B的SYN。
四次挥手
TCP建立连接要进行三次握手,而断开连接要进行四次。这是由于TCP的半关闭造成的。因为TCP连接是全双工的(即数据可在两个方向上同时传递)所以进行关闭时每个方向上都要单独进行关闭。这个单方向的关闭就叫半关闭。当一方完成它的数据发送任务,就发送一个FIN来向另一方通告将要终止这个方向的连接。
1、关闭客户端到服务器的连接:首先客户端A发送一个FIN,用来关闭客户端到服务器的数据传送,然后等待服务器的确认。其中终止标志位FIN=1,序列号seq=u
2、服务器收到这个FIN=1,它发回一个ACK=1,确认号ack为收到的序号加1,ack=u+1。
3、关闭服务器到客户端的连接:同时发送一个FIN=1给客户端,seq=w。
4、客户端收到FIN后,并发回一个ACK报文确认,并将确认序号ack设置为收到序号加1,ack=w+1。首先进行关闭的一方将执行主动关闭,而另一方被动关闭。
A机器想要关闭连接,则待本方数据发送完毕后,传递FIN信号给B机器(第一次挥手)。
B机器应答ACK,告诉A机器可以断开,但是需要等B机器处理完数据,再主动给A机器发送FIN信号(第二次挥手)。
这时,A机器处于半关闭状态(FIN_WAIT_2),无法再发送新的数据。B机器做好连接关闭前的准备工作后,发送FIN给A机器,此时B机器也进入半关闭状态(CLOSE_WAIT)(第三次挥手)。
A机器发送针对B机器FIN的ACK后,进入TIME_WAIT状态,经过2MSL后,没有收到B机器传来的报文,则确定B机器已经收到A机器最后发送的ACK指令,(第四次挥手)此时TCP连接正式释放。
解释TCP、IP、UDP协议
TCP(Transmission Control Protocol 传输控制协议)
是一种面向连接的、可靠的、基于字节流的传输层通信协议,它完成第四层传输层所指定的功能。
IP(Internet Protocol 网络之间互连的协议)
网络之间互连的协议也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它能够使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则,位于网络层:IP、ICMP、IGMP
UDP(User Data Protocol 用户数据报协议)
是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接把数据报发送过去。
TCP和UDP的特点及区别
1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接。
2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付
TCP通过校验和,重传机制,序号标识,滑动窗口,确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。
3、UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高要求的通信或广播通信。
4、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信。
5、TCP对系统资源要求较多;UDP对系统资源要求较少。
为什么UDP有时比TCP更有优势
UDP以其简单、传输快的优势,在越来越多场景下取代了TCP,如实时游戏。
(1) 网速的提升给UDP的稳定性提供可靠网络保障,丢包率会很低,如果使用应用层重传,能够保证传输的可靠性。
(2)TCP为实现网络通信的可靠性,使用了复杂的拥塞控制算法,建立了繁琐的握手过程,由于TCP内置的系统协议栈中,极难对其进行改进。采用TCP,一旦发生丢包,TCP会将后续的包缓存起来,等前面的包重传并接收到后再继续发送,延时会越来越大,基于UDP对实时性要求较为严格的情况下,采用自定义重传机制,能够把丢包产生的延迟降到最低,尽量减少网络问题对游戏造成的影响。
人与人之间视频用的是TCP还是UDP
TCP和UDP是质量和实时性的权衡。
拿视频网站来说,你完全可以缓冲20秒再播放,不会带来什么影响,但如果画面有马赛克之类的东西肯定是不好的,所以用TCP。
而对于视频聊天,如果缓冲5秒,相信整个聊天已经没法愉快的进行了,而这时出现一些画面质量的损失也是可以被接受,所以用UDP。
TCP和IP协议在哪一层,这一层还有哪些协议,OSI七层划分
TCP/IP
(1)数据链路层:ARP(地址解析协议)、RARP(逆地址解析协议)
(2)网络层:IP(因特网互联协议)、ICMP(因特网控制报文协议)、IGMP
(3)传输层:TCP(传输控制协议)、UDP(用户数据报协议)、UGP
(4)应用层:FTP(文件传送协议)、HTTP(超文本传送协议)、DNS(域名解析协议)、SMTP(邮件传送协议)、SNMP、Telnet(远程登录协议)
OSI七层划分
(1)物理层:通过传输媒介传输比特,确定机械及电气规范,传输单位为bit,主要包括的协议为:IEE802.3 CLOCK RJ45
(2)数据链路层:将比特组装成帧和点到点的传递,传输单位为帧,主要包括的协议为:MAC VLAN PPP
(3)网络层:负责数据包从源到宿的传递和网际互连,传输单位为包,主要的协议为:IP ARP ICMP
(4)传输层:提供端到端的可靠报文传递和错误恢复,传输单位为报文,主要包括的协议为:TCP UDP
(5)会话层:建立、管理和终止会话,传输单位为SPDU,主要包括的协议为:RPC NFS
(6)表示层:对数据进行翻译、加密和压缩,传输单位为PPDU,主要包括的协议为:JPEG ASII
(7)应用层:允许访问OSI环境的手段,传输单位为APDU,主要包括的协议为FTP HTTP DNS
请问TCP用了哪些措施保证其可靠性
1、序列号、确认应答、超时重传
数据到达接收方,接收方需要发出一个确认应答,表示已经收到该数据段,并且确认序号会说明它下一次需要接收的数据序列号。如果发送迟迟未收到确认应答,那么可能是发送的数据丢失,也可能是确认应答丢失,这时发送方在等待一定时间后会进行重传。这个时间一般是2*RTT(报文段往返时间)+一个偏差值。
2、窗口机制与高速重发控制/快速重传(重复确认应答)
TCP会利用窗口控制来提高传输速度,意思是在一个窗口大小内,不用一定要等到应答才能发送下一段数据,窗口大小就是无需等待确认而可以继续发送数据的最大值。如果不使用窗口控制,每一个没收到确认应答的数据都要重发。
使用窗口控制,如果数据段1001-2000丢失,后面数据每次传输,确认应答都会不停地发送序号为1001的应答,表示我要接收1001开始的数据,发送端如果收到3次相同应答,就会立刻进行重发;但还有种情况有可能是数据都收到了,但是有的应答丢失了,这种情况不会进行重发,因为发送端知道,如果是数据段丢失,接收端不会放过它的,会疯狂向它提醒…
3、拥塞控制
如果把窗口定的很大,发送端连续发送大量的数据,可能会造成网络的拥堵(大家都在用网,你在这狂发,吞吐量就那么大,当然会堵),甚至造成网络的瘫痪。所以TCP在为了防止这种情况而进行了拥塞控制。
慢启动:定义拥塞窗口,一开始将窗口大小设为1,之后每次收到确认应答(经过一个RTT),将拥塞窗口大小*2。
拥塞避免:设置慢启动阈值,一般开始都设置为65536。拥塞避免是指当拥塞窗口大小到达这个阈值,拥塞窗口的值不再指数上升,而是加法增加(每次确认应答/每个RTT,拥塞窗口大小+1),以此来避免拥塞。
将报文段的超时重传看做拥塞,则一旦发生超时重传,我们需要先将阈值设置为当前窗口大小的一半,并且将窗口大小设为初值1,然后重新进入慢启动过程。
快速重传:在遇到3次重复应答(高速重发控制)时,代表收到了3个报文段,但是这之前的1个段丢失了,便对它进行立即重传。
然后,先将阈值设为当前窗口大小的一半,然后将拥塞窗口大小设为慢启动阈值+3的大小。
这样可以达到:在TCP通信时,网络吞吐量呈现逐渐的上升,并且随着拥堵来降低吞吐量,再进入慢慢上升的过程,网络不会轻易的发生瘫痪。
DHCP协议原理及其实现流程
DHCP(Dynamic Host Configuration Protocol):动态主机配置协议
网络管理的协议有什么
网络管理系统中最重要的部分是网络管理协议,它定义了网络管理者与网络代理间的通信方法。
简单网络管理协议(SNMP: Simple Network Management Protocol)是由互联网工程任务组定义的一套网络管理协议。该协议基于简单网关监视协议(SGMP: Simple Gateway Monitor Protocol)。利用SNMP,一个管理工作站可以远程管理所有支持这种协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件警告等。在IP网络管理中,主要是针对网络设备(路由器、交换机、防火墙)进行性能故障监测管理。
CMIP协议是在OSI制定的网络治理框架中提出的网络治理协议。与其说它是一个网络治理协议,不如说它是一个网络治理体系。这个体系包括以下组成部分:一套用于描述协议的模型,一组用于描述被管对象的注册、标识和定义的治理信息结构,被管对象的具体说明以及用于远程治理的原语和服务。
IP地址分类
网络之间的互联协议(IP)是Internet Protocol的外语缩写,网络之间互连的协议也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能够把所有连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则,位于网络层:IP,ICMP,IGMP
A类:8位网络号,24位主机号
B类:16位网络号,16位主机号
C类:24位网络号,8位主机号
HTTP原理
HTTP是一个无状态的协议。无状态是指客户机(Web浏览器)和服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后服务器返回响应(response),连接就被关闭了,在服务器端不保留连接的有关信息。HTTP遵循请求(Request)/应答(Response)模型。客户机(浏览器)向服务器发送请求,服务器处理请求并返回适当的应答。所有HTTP连接都被构成一套请求和应答。
传输流程
1:地址解析
如用客户端浏览器请求这个页面:http://localhost.com:8080/index.html从中分解出协议名、主机名、端口、对象路径等部分,对于我们的这个地址,解析得到的结果如下:
协议名:http
主机名:localhost.com
端口:8080
对象路径:/index.html
在这一步,需要域名系统DNS解析域名localhost.com得主机的ip地址。
2:封装HTTP请求数据包
把以上部分结合本机自己的信息,封装成一个HTTP请求数据包
3:封装成TCP包并建立连接
封装成TCP包,建立TCP连接(TCP的三次握手)
4:客户机发送请求命令
客户机发送请求命令:建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号、后边是MIME信息包括请求修饰符、客户机信息和内容。
5:服务器响应
服务器接到请求后,给予响应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
6:服务器关闭TCP连接
服务器关闭TCP连接:一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行代码Connection:keep-alive,TCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。
HTTP请求/响应的步骤如下:
1、客户端连接到Web服务器
一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。例如:http://www.baidu.com
2、发送HTTP请求
通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。
3、服务器接受请求并返回HTTP响应
Web服务器解析请求,定位请求资源。服务器将资源副本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。
4、释放TCP连接
若connection模式为close,则服务器主动关闭TCP连接,客户端被动关闭,释放TCP连接;若connection模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求;
5、客户端浏览器解析HTML内容
客户端浏览器首先解析状态行,查看表明请求是否成功的状态码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中进行显示。
举例:
在浏览器地址栏键入URL,按下回车之后会经历以下流程:
1、浏览器向DNS服务器请求解析该URL中的域名以及所对应的IP地址;
2、解析出IP地址后,根据该IP地址和默认端口80,和服务器建立TCP连接;
3、浏览器发出读取文件(URL中域名后面部分对应的文件)的HTTP请求,该请求报文作为TCP三次握手的第三个报文的数据发送给服务器;
4、服务器对浏览器请求作出响应,并把对应的HTML文本发送给浏览器;
5、释放TCP连接;
6、浏览器将该HTML文本解析并显示内容。
HTTPS
HTTPS(全称:Hypertext Transfer Protocol Socket Layer),是以安全为目标的HTTP通道,简单讲就是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL。其所用的端口号是443。过程大致如下:
建立连接获取证书:
(1)SSL客户端通过TCP和服务器建立连接之后(443端口),并且在一般的tcp连接协商(握手)过程中请求证书。即客户端发出一个消息给服务器,这个消息里面包含了自己可实现的算法列表和其它一些需要的信息,SSL的服务器端会回应一个数据包,这里面确定了这次通信所需要的算法,然后服务器向客户端返回证书。(证书里面包含服务器信息:域名。申请证书的公司,公共秘钥)。
证书验证
(2)Client在收到服务器返回的证书后,判断签发这个证书的公共签发机构,并使用这个机构的公共秘钥确认签名是否有效,客户端还会确保证书中列出的域名就是它正在连接的域名。
数据加密和传输
(3)如果确认证书有效,那么生成对称秘钥并使用服务器的公共秘钥进行加密。然后发送给服务器,服务器使用它的私钥对它进行解密,这样两台计算机可以开始进行对称加密进行通信。
请回答一下HTTP和HTTPS的区别,以及HTTPS有什么优缺点?
HTTP协议和HTTPS协议区别如下:
(1)HTTP协议是以明文的方式在网络中传输数据,而HTTPS协议传输的数据则是经过TLS加密后的,HTTPS具有更高的安全性。
(2)HTTPS在TCP三次握手阶段之后,还需要进行SSL的握手,协商加密使用的对称加密秘钥
(3)HTTPS协议需要服务端申请证书,浏览器端安装对应的根证书
(4)HTTP协议端口是80,HTTPS协议端口是443
HTTPS优点:
HTTPS传输数据过程中使用密钥进行加密,所以安全性更高
HTTPS协议可以认证用户和服务器,确保数据发送到正确的用户和服务器
HTTPS缺点:
HTTPS握手阶段延时较高:由于在进行HTTP会话之前还需要进行SSL握手,因此HTTPS协议握手阶段延时增加
HTTPS部署成本高:一方面HTTPS协议需要用证书来验证自身的安全性,所以需要购买CA证书;另一方面由于采用HTTPS协议需要进行加密的计算,占用CPU资源较多,需要的服务器配置或数目高。
说一说HTTP返回码
HTTP协议的响应报文由状态行、响应头部和响应包体组成,其响应状态码总体描述如下:
1XX:指示信息–表示请求已接收,继续处理
2XX:成功–表示请求已被成功接收、理解、接受
3XX:重定向–要完成请求必须进行更进一步的操作
4XX:客户端错误–请求有语法错误或请求无法实现
5XX:服务器端错误–服务器未能实现合法的请求
请说一说IP地址的作用,以及MAC地址作用
MAC地址是一个硬件地址,用来定义网络设备的位置,主要由数据链路层负责。
IP地址是IP协议提供的一种统一的地址格式,为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
搜索baidu,会用到计算机网络中的什么层?每层是干什么的
1:浏览器中输入URL
2:浏览器要将URL解析为IP地址,解析域名就要用到DNS协议,首先主机会查询DNS的缓存,如果没有就给本地DNS发送查询请求。DNS查询分为两种方式,一种是递归查询,一种是迭代查询。如果是迭代查询,本地的DNS服务器,向根域名服务器发送查询请求,然后依次类推直到查询到该域名的IP地址。DNS服务器是基于UDP的,因此会用到UDP协议。
3:得到IP地址后,浏览器就要与服务器建立一个HTTP连接。因此要用到HTTP协议,HTTP协议报文格式上面已经提到。HTTP生成一个get请求报文,将该报文传给TCP层处理,所以还会用到TCP协议。如果采用HTTPS还会使用HTTPS协议先对HTTP数据进行加密。TCP层如果有需要先将HTTP数据分包片,分片依据路径MTU和MSS。TCP的数据包然后会发送给IP层,用到IP协议。IP通过路由选路,一跳一跳发送到目的地址。当然在一个网段内的寻址是通过以太网协议实现(也可以是其他物理层协议,比如PP,SLIP),以太网协议需要知道目的IP地址的物理地址,又需要ARP协议。
其中:
-1、DNS协议、HTTP协议、HTTPS协议属于应用层
应用层是体系结构中的最高层。应用层确定进程之间通信的性质满足用户的需要。这里的进程就是指正在运行的程序。应用层不仅要提供应用进程所需要的信息交换和远地操作,而且还要作为互相作用的应用程序的用户代理,来完成一些为语义上的信息交换所必须的功能。应用层直接为用户的应用进程提供服务。
-2、 TCP/UDP属于传输层
传输层的任务就是负责主机中两个进程之间的通信。因特网的传输层可使用两种不同的协议:即面向连接的传输控制协议TCP,和无连接的用户数据报协议UDP。面向连接的服务能提供可靠的交付,但无连接服务则不保证提供可靠的交付,它只是“尽最大努力交付”。这两种服务方式都很有用,各有其优缺点。在分组交换网内各个交换机都没有传输层。
-3、 IP协议,ARP协议属于网络层
网络层负责为分组交换网上的不同主机提供通信。在发送数据时,网络层将运输层产生的报文段或用户数据封装成分组或包进行传送。在TCP/IP体系中,分组也叫作IP数据报,或简称为数据报。网络层的另一个任务就是要选择合适的路由,使源主机运输层所传下来的分组能够交付到目的主机。
-4、数据链路层
当发送数据时,数据链路层的任务是将网络层交下来的IP数据报组装成帧,在两个相邻结点间的链路上传送以帧为单位的数据。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制、以及流量控制信息等)。控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。控制信息还使接收端能够检测到所收到的帧中有无差错。
-5、物理层
物理层的任务就是透明地传送比特流。在物理层上所传数据的单位是比特。传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆等,并不在物理层之内而是在物理层的下面。因此也有人把物理媒体当做第0层。
请说一下GET和POST的区别
1、概括
对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
2、区别
(1)get参数通过url传递,post放在request body中
(2)get请求在url中传递的参数是有长度限制的,而post没有
(3)get比post更不安全,因为参数直接暴露在url中,所以不能用来传递敏感信息
(4)get请求只能进行url编码,而post支持多种编码方式
(5)get请求参数会被完整保留在浏览历史记录里,而post中的参数不会被保留
(6)get和post本质上就是tcp连接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致它们在应用过程中出现一些不同。
(7)get产生一个tcp数据包;post产生两个tcp数据包
路由器的主要功能?
路由器主要完成两个功能:一是路由选择(确定哪一条路径),二是分组转发(当一个分组到达时所采取的动作)。前者是根据特定的路由选择协议构造出路由表,同时经常或定期地和相邻路由器交换器由信息而不断地更新和维护路由表。后者处理通过路由器的数据流,关键操作是转发表查询、转发相关的队列管理和任务调度等。
1、路由选择。
指按照复杂的分布式算法,根据从各相邻路由器所得到的关于整个网络拓扑的变化情况,动态地改变所选择的路由。
2、分组转发
指路由器根据转发表将用户的IP数据报从合适的端口转发出去。路由表是根据路由选择算法得出的,而转发表是从路由表得出的。转发表的结构应当使查找过程最优化,路由表则需要对网络拓扑变化的计算最优化。在讨论路由选择的原理时,往往不去区分转发表和路由表,而是笼统地使用路由表一词。
————————————————
版权声明:本文为CSDN博主「Nlper_Zhao」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_40605573/article/details/105397877
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?