【专业课复习】计算机网络主干和重点

计算机网络:

面试常见题目:https://juejin.im/post/5cfa5014e51d4510a37babb5

https://www.cnblogs.com/superpig0501/p/4257234.html

目录

 

1.数据链路层是干什么的

2.输入数据在网络层叫什么

3.分组的生命期,为什么要设置这个生命期

4.DNS的工作过程

5.点击一个链接的网络过程;

第一次

扫描二维码关注公众号,回复: 12445539 查看本文章

第二次

第三次

6.网络模型,网络层协议有哪些,应用层协议有哪些

7.两台计算机中的进程进行通信,需要解决什么问题?

8.GET和POST的区别

9、比较TCP与UDP 

10.网络协议的三个核心要素,及概念各起什么作用?


 

1.数据链路层是干什么的

  数据链路层是OSI参考模型中的第二层,介乎于物理层网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。

传输单位帧,IP数据包组成帧,成帧,差错控制,流量控制。


2.输入数据在网络层叫什么

传输单位数据报(datagram),对分组进行路由选择,并实现流量控制、拥塞控制、差错控制、网际互联。

3.分组的生命期,为什么要设置这个生命期

IP数据报

存活时间(TTL) 这个8位字段避免报文在互联网中永远存在(例如陷入路由环路)。存活时间以秒为单位,但小于一秒的时间均向上取整到一秒。在现实中,这实际上成了一个跳数计数器。报文经过的每个路由器都将此字段减一,当此字段等于0时,报文不再向下一跳传送并被丢弃。


4.DNS的工作过程

下面举例说明域名解析的过程。假定某客户机想获知域名为y.abc.com主机的IP地址,域名解析的过程(共使用8个UDP报文)如下:
①客户机向其本地域名服务器发出DNS请求报文。
②本地域名服务器收到请求后,查询本地缓存,若没有该记录,则以DNS客户的身份向根域名服务器发出解析请求。
③根域名服务器收到请求后,判断该域名属于.com域,将对应的顶级域名服务器dns.com的IP地址返回给本地域名服务器。
④本地域名服务器向顶级域名服务器dns.com发出解析请求报文。
⑤顶级域名服务器dns.com收到请求后,判断该域名属于abc.com域;故将对应的授权域名服务器dns.abc.com的IP地址返回给本地域名服务器。
⑥本地域名服务器向授权域名服务器dns.abc.com 发起解析请求报文。
⑦授权域名服务器dns.abc.com收到请求后,将查询结果返回给本地域名服务器。
⑧本地域名服务器将查询结果保存到本地缓存,同时返回给客户机。
为了提高DNS的查询效率,并减少因特网上的DNS查询报文数量,在域名服务器中广泛地使用了高速缓存。当一个DNS服务器接收到DNS查询结果时,它能将该DNS信息缓存在高速缓存中。这样,当另一个相同的域名查询到达该DNS服务器时,该服务器就能够直接提供所要求的IP地址,而不需要再去向其他DNS服务器询问。因为主机名和IP地址之间的映射不是永久的,所以DNS服务器将在一段时间后丢弃高速缓存中的信息。


5.点击一个链接的网络过程;

输入URL访问

1、URL统一资源定位符(Uniform Resource Locator),是资源标识最常见的形式。URL描述了一台特定服务器上某资源的特定位置。它们可以明确说明如何从一个精确、固定的位置获取资源。

URL说明了协议、服务器和本地资源。

而浏览器都是基于HTTP协议,而HTTP是个应用层的协议。HTTP无需操心网络通信的具体细节都交给了TCP/IP。、

浏览器分析链接指向页面的URL:http://www.thu.com/index.html

1、域名解析为ip

 向DNS请求解析,域名系统DNS解析出THU的服务器的IP地址

ip 即为网络为每一台电脑分配的一个地址,你可以简单的理解为一个门牌号,要想找到某台电脑,就需要先知道它的 ip 地址。由于 ip 地址不方便被记住等原因,于是有了域名,理论上一个域名对应一个 ip。浏览器拿到域名后,第一件事就是要把域名解析成 ip,然后找到这个 ip 对应的机器。

通常使用 DNS 解析来帮域名找到对应 ip 地址,为了让这个查找过程更高效,浏览器和操作系统都会将每次的解析结果缓存起来。

即下次再要解析某个域名时,就会先去缓存里去看下,如果缓存里没有对应数据,就再去根域名服务器、顶级域名服务器等查找 ip。

2、浏览器与该服务器建立TCP连接

 由于 http 是基于 tcp 协议的,tcp 建立连接需要经历三次握手。

第一次

客户端发送一个syn报文,设置发送序号为X,客户端进入SYN_SENT状态,等待服务器回应。

第二次

服务端收到syn报文,但是服务端必须确定客户端的syn(ack= X + 1), 因此服务端也要发送一个syn=Y给客户端进行确认,表示服务端已经收到客户端的请求。
服务端需要发送ack+syn给客户端,此时服务器进入SYN_RECV状态。

第三次

客户端收到服务器的syn+ack包,向服务器发送确认包ack(ack=Y+1),此包发送完毕,客户端和服务器进入ESTABLISHEDTCP连接成功)状态,完成三次握手。

tcp 属于传输层,其实传输层还有一种 udp 协议,udp 和 tcp 最大的区别就是不需要建立连接,也就是说 udp 无需像 tcp 通过三次握手建立连接才能开始通信,udp 发出包也不用确保能否得到有效响应,只管发出去就行了。udp 协议通常被用于对实时性要求性比较高的场景,比如直播等。

3、服务器响应和返回

浏览器发出HTTP请求 GET/THU/index.html

服务器通过HTTP响应把文件index.html

建立连接后,就可以互相传送数据了。浏览器按照 http 协议的格式将数据组装好向服务器发起请求,服务器接收到请求并将处理结果响应给浏览器。

服务端的 http 服务器软件一般有 Apache 和 Nginx,Apache 或 Nginx 又将请求交由具体的编程语言(Java、Python、PHP 等)去处理。

服务器又将程序处理的结果按照 http 协议格式原路返回给客户端浏览器,浏览器则再根据返回的数据渲染页面和数据。

4、断开连接

在完成了数据通信之后,就要考虑断开连接了,毕竟任务完成了就要空出系统资源来。tcp 的断开相对于连接来说,是有四次挥手。


原文链接:https://blog.csdn.net/samll_snail/article/details/87932943
参考链接:https://juejin.im/post/5c354b656fb9a049e553ce68


6.网络模型,网络层协议有哪些,应用层协议有哪些

IOS模型

网络层协议   路由选择 IP 

应用层协议  SMTP HTTP FTP DNS


7.两台计算机中的进程进行通信,需要解决什么问题?

  传输层协议的首要任务是提供进程到进程通信(process-to-process communication)。进程是使用传输层服务的应用层实体(运行着的程序)。

https://zhuanlan.zhihu.com/p/47358357

8.GET和POST的区别

1.数据传输大小。get传输数据的大小是2kb,而post一般没有限制,但是post会受内存大小影响,同时在PHP中可以通过修改php.ini配置文件来修改post传输的大小。
2.数据传输方式。get是通过url传递参数的,在url中可以查看到传递的参数。而post则不是,一般在表单提交中会使用到post方式。
3.数据安全性。get方式提交,传递的参数在url中有显示,可以明显看到参数,数据不够安全。然而post则是隐式传递,是不能查看到传递的参数。

在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。

  • GET - 从指定的资源请求数据。
  • POST - 向指定的资源提交要被处理的数据

GET 方法

请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:

/test/demo_form.asp?name1=value1&name2=value2

有关 GET 请求的其他一些注释:

  • GET 请求可被缓存
  • GET 请求保留在浏览器历史记录中
  • GET 请求可被收藏为书签
  • GET 请求不应在处理敏感数据时使用
  • GET 请求有长度限制
  • GET 请求只应当用于取回数据

POST 方法

请注意,查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的:

POST /test/demo_form.asp HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2

有关 POST 请求的其他一些注释:

  • POST 请求不会被缓存
  • POST 请求不会保留在浏览器历史记录中
  • POST 不能被收藏为书签
  • POST 请求对数据长度没有要求

 

9、比较TCP与UDP 

  TCP与UDP都是传输层的协议,且都用端口号标识数据所达的进程。

TCP提供的是面向连接服务,提供可靠交付。且具有流量控制和拥塞控制。可用于可靠要求高的场合如:SMTP,FTP,HTTP等。
UDP提供的是无连接服务,提供不可靠交付,且无确认机制。主要用于即时强的场合如:视频聊天,语音电话等。

10.网络协议的三个核心要素,及概念各起什么作用?

语法:定义了数据与控制信息的格式;
语义:定义了需要发出何种控制信息,完成何种响应动作以及作出何种相应;
同步:定义了事件实现顺序的详细说明;

11、TCP和UDP的区别

三次握手、四次挥手,为什么?

TCP如何保证传输的可靠性?

TCP的拥塞控制,具体过程是怎么样的?UDP有拥塞控制吗?如何解决?

猜你喜欢

转载自blog.csdn.net/weixin_40760678/article/details/100574357
今日推荐