面试中那些计算机网络常考问题

1. OSI,TCP/IP,五层协议的体系结构,以及各层协议及作用?
OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
TCP/IP分层(4层):网络接口层、网际层、运输层、 应用层。
五层协议 (5层):物理层、数据链路层、网络层、运输层、 应用层。
每一层的协议如下:
物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器)
数据链路:PPP、CSMA/CD、FR、HDLC、VLAN、MAC (网桥,交换机)
网络层:IP、ARP、ICMP、IGRP、RARP、OSPF、RIP、(路由器)
传输层:TCP、UDP
会话层:NFS、SQL、NETBIOS、RPC
表示层:JPEG、MPEG、ASII
应用层:HTTP、FTP、DNS、Telnet、RDP、SMTP、WWW、NFS
每一层的作用如下:
物理层:如何通过媒介传输比特流,确定传输媒体的接口特性。包括:机械,电气,功能及过程特性(比特Bit)
数据链路层:将比特组装成帧和点到点的传递(帧Frame)
网络层:负责数据包从源到宿的传递和网际互连(包Packet)
传输层:提供端到端的可靠报文传递和错误恢复(段Segment)
会话层:建立、管理和终止会话
表示层:对数据进行翻译、加密和压缩
应用层:允许访问OSI环境的手段,人机交互

2. ARP地址解析协议工作原理?
1:首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。
2:当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机 IP地址,源主机MAC地址,目的主机的IP 地址。
3:当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。
4:源主机收到ARP响应包后。将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
广播发送ARP请求,单播发送ARP响应。

3. TCP三次握手建立连接过程?
TCP三次握手
具体文字描述如下:
第一次握:客户端发送syn包到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包,即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
seq:代表数据包本身的序列号;
ack:期望对方继续发送哪个数据包的序列号。

4. TCP四次挥手断开连接过程?
TCP四次挥手
具体文字描述如下:
第一次挥手:主动关闭方发送一个FIN,用来关闭主动方到被动关闭方的数据传送,也就是告诉被动关闭方:已经不会再给你发数据了(当然,在fin包之前发送出去的数据,如果没有收到对应的ack确认报文,主动关闭方依然会重发这些数据),但是,此时主动关闭方还可以接受数据。
第二次挥手:被动关闭方收到FIN包后,发送一个ACK给对方,确认序号为收到序号+1。
第三次挥手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了。
第四次挥手:主动关闭方收到FIN后,发送一个ACK给被动关闭方,确认序号为收到序号+1,至此,完成四次挥手。

5. 一些关于TCP三次握手和四次挥手的常考问题?
1、 为什么是三次握手?二次行不行?
我们知道二次肯定是不行,原因如下:
第一,三次握手是为了确保客户端和服务器双方的收发能力正常,如果是两次握手,那么只有客户端知道自己的收发能力正常,而服务器不知道。
第二,为了防止失效的请求传送到服务器从而造成服务器资源的浪费。因为会出现以下情况:客户端第一次发送的连接请求并没有丢失,而是因为网络节点而延迟到达服务器,此时服务器会判定这是客户端发起的新连接,于是服务器同意建立连接并向客户端发送同意确认,但是此时客户端不会理会,于是服务器就会一直等待客户端的回应,从而造成资源浪费。
2、什么是半连接队列和全连接队列?
半连接队列:第一次握手完成后,服务器处于SYN-RECEIVE状态,此时通信双方还没有完全建立连接。服务器把这种状态的请求连接放在一个队列里,这个队列即半连接队列。
全连接队列:全部三次握手完成后,建立的链接也会放在一个队列里,称为全连接队列。
3、四次挥手中主动关闭方的TIME-WAIT状态为什么要等待2个MSL(报文最长生存时间)?
第一,可以确保被动关闭方(服务器)一定能收到主动关闭方(客户端)的回应。
比如第四次挥手的报文丢失了,服务器会超时重传三次挥手的报文段,如果客户端没等待2MSL,就会收不到这个报文段,从而客户端就不能重传第四次挥手请求,无法正常关闭连接。
第二,确保本次连接的所有数据从网络中消失。
刚关闭一个连接立即发起新的连接是不能保证新旧连接的端口号是不同的。如果前一次连接的数据仍留在网络里,那这些延迟的数据在建立新连接之后才到达服务器,此时TCP协议会认为该延迟数据时属于新连接的,发生数据包的混淆。

6. 如果已经建立了连接,但客户端突然出现故障了怎么办?
TCP设有一个保活计时器,客户端如果出现故障,服务器不能一直等下去浪费资源。服务器每收到一次客户端的请求后都会重新复位这个计时器,时间通常是设置为2小时,若两小时还没有收到客户端的任何数据,服务器就会发送一个探测报文段,以后每隔75秒钟发送一次。若一连发送10个探测报文仍然没反应,服务器就认为客户端出了故障,接着就关闭连接。

7. TCP(传输控制协议)和UDP(用户数据报协议)的区别?
TCP和UDP是OSI模型中传输层协议;
TCP提供面向连接的(传输时建立会话,需将传输的文件分段)、可靠的数据流传输,而UDP提供的是非面向连接的(传输时不建立会话,无需将文件分段)、不可靠的数据流传输;
TCP是点对点连接的,UDP一对一,一对多,多对多都可以;
TCP数据传输慢,UDP传输快,因为不需要连接等待,少了许多操作,但其安全性一般;
TCP有流量控制和拥塞控制,UDP没有;
TCP支持的协议:FTP、Telnet、SMTP、POP3、HTTP(s)等;
UDP支持的协议:DNS、SNMP、TFTP等;
应用场景:
TCP:收发邮件,收发文本文件;
UDP:音频和多媒体,QQ语音和视频等。

8. TCP和UDP头部相关介绍?
UDP头部介绍:
UDP数据报分为首部用户数据部分:
UDP首部有8个字节,由4个字段构成,每个字段都是两个字节。
1.源端口:源端口号,需要对方回信时选用,不需要时全部置0。
2.目的端口:目的端口号,在终点交付报文的时候需要用到。
3.长度:UDP数据报的长度(包括首部和数据)其最小值为8(只有首部)。
4.校验和:检测UDP数据报在传输中是否有错,有错则丢弃。
该字段是可选的,当源主机不想计算校验和,则直接令该字段全为0。

当传输层从IP层收到UDP数据报时,就根据首部中的目的端口,把UDP数据报通过相应的端口,上交给应用进程。
如果接收方UDP发现收到的报文中的目的端口号不正确(不存在对应端口号的应用进程0,),就丢弃该报文,并由ICMP发送“端口不可达”差错报文给对方。

TCP头部介绍:
TCP头部
逐个分析:
16位源端口号16位目的端口号
32位序号:一次TCP通信过程中某一个传输方向上的字节流的每个字节的编号,通过这个来确认发送的数据有序,比如现在序列号为1000,发送了1000,下一个序列号就是2000;
32位确认号:用来响应TCP报文段,给收到的TCP报文段的序号加1,三握时还要携带自己的序号;
4位头部长度:标识该TCP头部有多少个4字节,共表示最长15*4=60字节。同IP头部;
6位保留
6位标志。URG(紧急指针是否有效)ACK(表示确认号是否有效)PSH(提示接收端应用程序应该立即从TCP接收缓冲区读走数据)RST(表示要求对方重新建立连接)SYN(表示请求建立一个连接)FIN(表示通知对方本端要关闭连接);
16位窗口大小:TCP流量控制的一个手段,用来告诉对端TCP缓冲区还能容纳多少字节;
16位校验和:由发送端填充,接收端对报文段执行CRC算法以检验TCP报文段在传输中是否损坏;
16位紧急指针:一个正的偏移量,它和序号段的值相加表示最后一个紧急数据的下一字节的序号。

9. 什么是拥塞控制和流量控制?
流量控制:控制发送方别把数据发送得过快,否则会造成数据的丢失。
TCP的流量控制是利用滑动窗口机制实现的,接收方在返回的数据中会包含自己的接收窗口的大小,以控制发送方的数据发送。
拥塞控制:拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载
两者的区别:流量控制是为了预防拥塞。如:在马路上行车,交警跟红绿灯是流量控制,当发生拥塞时,如何进行疏散,是拥塞控制。流量控制指点对点通信量的控制。而拥塞控制是全局性的,涉及到所有的主机和降低网络性能的因素。

拥塞解决的两种方法:
发送方控制拥塞窗口的原则是:只要网络没有出现拥塞,拥塞窗口就再增大一些,以便把更多的分组发送出去。但只要网络出现拥塞,拥塞窗口就减小一些,以减少注入到网络中的分组数。通常解决拥塞的两种方式是慢开始+拥塞避免以及快重传+快恢复

第一,慢开始+拥塞避免:
慢开始+拥塞避免

无论在慢开始阶段还是在拥塞避免阶段,只要发送方没有收到确认,就认为这时候拥塞了
1.就要把慢开始门限设置为此时窗口值的一半;
2.然后把拥塞窗口重新设置为1,执行慢开始算法。

第二,快重传+快恢复:
快重传
快重传要求接收方在收到一个失序的报文段后就立即发出重复确认。
如果没有快速重传和快速恢复,TCP将会使用定时器来要求传输暂停。在暂停这段时间内,没有新的数据包被发送。所以快速重传和快速恢复旨在快速恢复丢失的数据包

上图是快重传的机制,接收方发现M3丢失,则立即发送对M2的重复确认。一旦发送方一连收到三个M2的重复确认就应当立即重传M3,也就是发送方收到第四个对M2的确认时。

在这里插入图片描述
与快重传配合使用的还有快恢复算法,结合上图来分析,其过程有以下两个要点:
1.当发送方连续收到三个重复确认时,就把门限减半;
2.考虑到如果网络出现拥塞的话就不会收到好几个重复的确认,所以发送方现在认为网络可能没有出现拥塞。所以此时不执行慢开始算法,而是将拥塞窗口设置为门限的大小,然后执行拥塞避免算法(加法)。

10. TCP粘包相关问题?
1、什么是粘包现象?
TCP粘包是指发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾。
2、为什么出现粘包现象?
TCP接收到分组时,并不会立刻送至应用层处理,或者说,应用层并不一定会立即处理;实际上,TCP将收到的分组保存至接收缓存里,然后应用程序主动从缓存里读收到的分组。这样一来,如果TCP接收分组的速度大于应用程序读分组的速度,多个包就会被存至缓存,应用程序读时,就会读到多个首尾相接粘到一起的包。
3、什么时候需要处理粘包现象?
如果发送方发送的多个分组本来就是同一个数据的不同部分,比如一个很大的文件被分成多个分组发送,这时,当然不需要处理粘包的现象。如果多个分组本毫不相干,甚至是并列的关系,就一定要处理粘包问题。
比如,我当时要接收的每个分组都是一个有固定格式的商品信息,如果不处理粘包问题,每个读进来的分组我只会处理最前边的那个商品,后边的就会被丢弃。
4、如何处理粘包?
转到应用层进行处理,有两种途径:
1)格式化数据:每条数据有固定的格式(开始符、结束符),这种方法简单易行,但选择开始符和结束符的时候一定要注意每条数据的内部一定不能出现开始符或结束符;
2)发送长度:发送每条数据的时候,将数据的长度一并发送,比如可以选择每条数据的前4位是数据的长度,应用层处理时可以根据长度来判断每条数据的开始和结束。

11. 在浏览器地址栏输入一个URL后回车,背后会进行哪些技术步骤?
DNS域名解析 -->
发起TCP 3次握手建立连接 -->
建立TCP连接后浏览器发起http请求 -->
服务器响应http请求,浏览器得到html代码 -->
浏览器解析html代码,并请求html代码中的资源 -->
浏览器对页面进行渲染并呈现给用户 -->
传输完成,TCP四次挥手断开连接。

12. DNS域名系统,简述其工作原理?
当一个应用进程需要把某个域名解析为IP地址时,该应用进程就会调用解析程序,并成为一个DNS用户,把待解析的域名放在DNS请求报文中,以UDP数据报的形式发送给本地域名服务器,本地域名服务器查找到相应域名的IP地址后,就将该域名的IP地址信息放入应答报文中返回给客户进程,如果本地域名服务器没有直接查找到对应的IP地址,则向根域名服务器发出迭代查询(DNS服务器之间的交互查询就是迭代查询),再将查询到的IP地址信息回传给客户程序。

13. 简述HTTP中GET和POST方法的区别?
GET是从服务器上获取数据,POST是向服务器传送数据;
GET对服务器资源的简单请求,POST用于发送包含用户提交数据的请求,有可能对服务器的数据进行更改;
GET请求的数据会附在URL后面,POST的数据放在HTTP包体;
POST安全性比GET安全性高;
GET请求页面后退时不产生影响,而POST则会重新提交请求;
GET传输数据大小不超过2–4K,POST传输数据理论上不受限制。

其实,GET和POST本质并无区别,他们都是TCP连接,只是由于HTTP的规定及浏览器或者服务器的限制,导致在使用时有一些区别。只要给GET加上请求体,给POST带上url参数,技术上是行得通的。

14. HTTP常见的状态码?http常见状态码
301:永久重定向; 302:临时重定向;
401:发送的请求要有http的验证信息;
402:请求报文中有语法错误;
403:无权访问; 404:没有对应的资源;
500:服务器执行请求时发生错误;
503:服务器停机或正在维护。

15. 一些常见的服务及使用的端口?
FTP文件传输协: TCP 21
Telnet远程登录服务: TCP 23
SMTP简单邮件传输协议: TCP 25
DNS域名服务: UDP 53
HTTP超文本传输协议: TCP 80
POP3邮件协议: TCP 110
HTTPS: TCP 443
RDP远程桌面协议: TCP 3389

16. HTTP请求报文和响应报文包含哪些内容?
HTTP请求报文3部分组成(请求行+请求头+请求体)
请求行
① 是请求方法,GET和POST等
②为请求对应的URL地址
③是协议名称及版本号
请求头
包含若干个属性,比如user-agent,cookie,referer,connection等,服务端据此获取客户端的信息
请求体
将页面表单中的组件值通过键值对形式编码成一个格式化串,它承载多个请求参数的数据

HTTP的响应报文也由三部分组成(响应行+响应头+响应体)
响应行
①报文协议及版本 ②状态码及状态描述
响应头:响应报文头,也是由多个属性组成, 比如server信息
响应体:真正要的“干货”

17. TCP和HTTP的关系?
TCP是传输层协议,定义的是数据传输和连接方式的规范;
HTTP是应用层协议,定义的是传输数据的内容的规范;
HTTP建立在TCP基础之上,当浏览器需要从服务器获取数据的时候,会发出一次HTTP请求。HTTP会通过TCP建立起一个到服务器的连接通道,当本次请求需要的数据完毕后,HTTP会立即将TCP连接断开,这个过程是很短的。所以HTTP连接是一种短连接,无状态的连接。

18. HTTP协议是有状态的么?
它是无连接,无状态的。
1、无连接:指的是每次连接只处理一个请求,服务端处理完客户端一次请求,等到客户端作出回应之后便断开连接。
这种方式有利于节省传输时间,但随着互联网的发展,一台服务器同一时间处理的请求越来越多,如果依然采用原来的方式,将会在建立和断开连接上花费大部分时间。

为了避免这一劣势,
HTTP/1.0持久连接被提出来;客户端会在请求Header中携带Connection: Keep-Alive向服务器请求持久连接。简单说,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,再对服务器请求时,该功能避免了重新建立连接;
Keep-Alive不会永久保持连接,它有一个保持时间

HTTP/1.1:持久连接的弊病是所有的连接都是串行的;当某一个请求阻塞时就会导致同一条连接的后续请求被阻塞;
为了解决这问题,提出了pipellining的概念;客户端发起一次请求时不必等待响应便直接发起第二个请求;服务端按照请求的顺序一次返回结果;

SPDY和HTTP/2:multiplexing多路复用技术出现;能够让多个请求和响应的传输完全混杂在一起进行;通过streamID来互相区别;
HTTP借助于底层的TCP虚拟连接,HTTP协议本身无需连接;

2、无状态:是指服务端对于客户端每次发的请求都认为它是一个新的请求,上一次会话和下一次会话没有联系;这种特性优点在于解放了服务器,每一次请求不会造成不必要连接占用,缺点在于每次请求会传输大量重复的内容信息。

3、如何解决HTTP无状态问题?
使用CookieSession
应用场景
登录网站,今输入用户名密码登录了,第二天再打开很多情况下就直接打开了。这个时候用到的一个机制就是cookie。(内存中是会话cookie,闭浏览器窗口,cookie就消失了,硬盘中是持久cookie,可以设定过期时间。)
浏览器跳转保持登录和短时间免登陆。
session一个场景是购物车,添加了商品之后客户端处可以知道添加了哪些商品,而服务器端如何判别呢,所以也需要存储一些信息就用到了session。

1、什么是cookie
cookie就是一小段文本信息,客户端请求服务器,如果服务器需要记录该用户状态,就向客户端浏览器发一个Cookie。客户端会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。

2、什么是Session
Session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构来保存信息。当程序需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否已包含了一个session标识—称为 sessionid,如果已包含一个session id则说明以前已经为此客户端创建过session,服务器就按照session id把这个 session检索出来使用,如果客户端请求不包含sessionid,则为此客户端创建一个session并且生成一个与此session相关联的session id,这个session id将被在本次响应中返回给客户端保存。

Session的实现方式:
1、使用Cookie来实现服务器给每个Session分配一个唯一的session id,并通过Cookie发送给客户端。当客户端发起新的请求的时候,将在Cookie头中携带这个session id。这样服务器能够找到这个客户端对应的Session。
2、使用URL回写来实现
URL回写是指服务器在发送给浏览器页面的所有链接中都携带session id的参数,这样客户端点击任何一个链接都会把session id带会服务器。如果直接在浏览器输入服务端资源的url来请求该资源,那么Session是匹配不到的。

两者区别:
1) Cookie将状态保存在客户端,Session将状态保存在服务器端;
2) Session 的运行依赖 session id, 而 session id 是存在 Cookie 中的, 也就是说, 如果浏览器禁用了Cookie , 同时 Session也会失效(但是可以通过其它方式实现, 比如在 url 中传递session_id);
3) Cookie不是很安全,别人可以分析存放在本地的Cookie并进行Cookie欺骗,考虑到安全应当使用Session;
4) Session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用Cookie;
5)Cookie有大小限制(4K),Session是没有大小限制和服务器的内存大小有关。

19. 为什么有了cookie还需要session?
1)用session只需要在客户端保存一个id,实际上大量数据都是保存在服务端。如果全部用cookie,数据量大的时候客户端没有那么多空间;
2)数据全部在客户端保存,服务端无法验证,这样伪造和仿冒会更加容易。(伪造一个随机的id很难,但伪造另一个用户名很容易);
3)全部保存在客户端,那么一旦被劫持,全部信息都会泄露;
4)cookie需要在网络中传输,当客户端数据量变大,网络传输的数据量也会变大。

20. HTTP和HTTPS的区别?
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,它以明文方式发送内容,不提供数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可直接读懂其中信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。
为解决这一缺陷,需使用另一种协议:安全套接字层超文本传输协议HTTPS,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,为浏览器和服务器之间的通信加密。
主要区别如下:
1、HTTP是超文本传输协议,信息是明文传输,HTTPS则是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全;
2、端口不一样,HTTP是80,HTTPS是443;
3、HTTPS协议需要申请证书,一般免费证书较少,因而需要一定费用。

21. TCP与IP的区别?
TCP:传输控制协议(Transmission Control Protocal)是一种面向连接的、点对点的、可靠的、基于IP的传输层协议。具有流量控制和拥塞控制能力。主要特点是3次握手建立连接,4次挥手断开连接。
IP:因特网协议(Internet Protocol),IP协议位于网络层,它不提供可靠的传输服务,没有差错控制,它只使用报头的校验码,它不提供重发和流量控制。IP主要实现两个基本功能:寻址和分片。
寻址,即路由,负责数据包选择哪个路径传送;
分片,有些网络内只能传送小数据包,IP可以将数据包重新组装在传输。
TCP和IP的关系:IP提供基本的数据传送,而高层的TCP对这些数据包做进一步加工。

22. 对称加密和非对称加密?
对称加密:加密和解密用相同的秘钥,快速但是不安全;
非对称加密:加密和解密使用不同的秘钥(公钥和私钥),加密速度慢但是更安全。

23. 中继器,集线器,网桥,交换机,路由和网关?
冲突域:每个时间点只能有两个计算机通信,其他的要想通信得等这两个通信结束。
广播域:是一个逻辑上的计算机组,该组内的所有计算机都会收到同样的广播信息。
(1) 中继器
工作在物理层,用来连接两个速率相同且数据链路层协议也相同的网段,连接起来的几个网段仍然是一个局域网。
主要功能:是将信号放大,让其传输更远。
中继器:既不能隔离冲突域,也不能隔离广播域。

(2) 集线器(最大传输距离100m)
工作在物理层,相当于一个多接口的中继器。
主要功能:实现多台计算机互联,信号放大和重发,扩大传输范围。
集线器:既不能隔离冲突域,也不能隔离广播域。

(3) 网桥
工作在数据链路层,可以连接两个以太网成为一个覆盖范围更大的以太网,而原来的每个以太网就可称为一个网段。
主要功能:过滤帧以及存储转发帧的功能。
网桥:可以隔离冲突域,但不能隔离广播域。

(4) 交换机
工作在数据链路层,相当于一个多端口的网桥。
交换机一般以全双工方式工作,具有存储转发数据帧的功能,且端口带宽独享,利用交换机可以实现虚拟局域网(VLAN),VLAN可以隔离冲突域,也可以隔离广播域。不启用VLAN只能隔绝冲突域。

(5) 路由器
一种具有多个输入输出端口的网络层设备
主要功能:转送和路由。
前者将路由器输入端的数据包移送至适当的路由器输出端;后者可以决定数据包从来源端到目的端所经过的路由路径。
路由器:既能隔离冲突域,也能隔离广播域。

(6) 网关
网关是连接两个网络的设备,好比是个门,对家庭来说门是门,对国家来说海关是门。在局域网里来说集线器就是网关,在2层网络里,交换机就是网关,在3层网络里路由就是网关,说网关要看你的网是多大的,要拿中国来说,连着美国那台世界服务器的设备就是网关。

24.常见的路由选择协议,以及它们的区别?
常见的路由选择协议有:RIP(路由信息)协议、OSPF(开放式最短路径优先)协议。
RIP协议:底层是贝尔曼福特算法,它选择路由的度量标准是跳数,最大跳数是15跳,如果大于15跳,它就会丢弃数据包。不适用大规模网络。
OSPF协议:底层是迪杰斯特拉算法,是链路状态路由选择协议,它选择路由的度量标准是带宽,延迟,无跳数限制。适合于大规模网络。

25. MTU和MSS?
MTU: Maximum Transmit Unit,最大传输单元,即数据链路层提供给网络层(通常是IP层)最大一次传输数据的大小;一般 MTU=1500 Byte,这是以太网接口对IP层的约束,如果IP层有 <= 1500 Byte 需要发送,只需要一个IP包就可以完成发送任务;如果有 > 1500 Byte 数据需要发送,需要分片发送。

MSS:Maximum Segment Size ,最大报文段长度,传输层的概念,表示TCP数据包的最大分段大小。如果MTU = 1500 Byte,则 TCP 包的大小就应该是 MSS = 1500 - 20(IP 头) - 20 (TCP 头) = 1460 Byte,UDP 包的大小是 1500 - 20(IP 头) - 8(UDP 头) = 1472 Byte。

 
 
 

**看完啦,大伙儿点个赞在走呗!**

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值