2018-11-07 计算机网络面试常考

TCP与UDP的区别

https://www.cnblogs.com/-wang-cheng/p/5421988.html

  1. 连接性(Connectivity)
    TCP是面向连接(Connection oriented)的协议,UDP是无连接(Connection less)协议。
    TCP用三次握手建立连接:1) Client向server发送SYN;2) Server接收到SYN,回复Client一个SYN-ACK;3) Client接收到SYN_ACK,回复Server一个ACK。到此,连接建成。UDP发送数据前不需要建立连接。
  2. 可靠性(Reliability)
    TCP可靠,UDP不可靠;TCP丢包会自动重传,UDP不会。
  3. 有序性(Ordering)
    TCP有序,UDP无序。消息在传输过程中可能会乱序,后发送的消息可能会先到达,TCP会对其进行重排序,UDP不会。
  4. 有界性(Boundary)
    TCP无界,UDP有界;TCP通过字节流传输,UDP中每一个包都是单独的。
  5. 拥塞控制(Congestion or Flow control)
    TCP有流量控制(拥塞控制),方式有滑动窗口以及慢开始、拥塞避免、快重传、快恢复,UDP没有;
  6. 传输速度(Speed)
    TCP传输慢,UDP传输快;
    因为TCP需要建立连接、保证可靠性和有序性,所以比较耗时。这就是为什么视频流、广播电视、在线多媒体游戏等选择使用UDP。
  7. 量级(Heavy/Light weight)
    TCP是重量级的,UDP是轻量级的;
    TCP要建立连接、保证可靠性和有序性,就会传输更多的信息,如TCP的包头比较大。
  8. 头部大小(Header size)
    TCP首部开销20字节,UDP的首部开销小,只有8个字节

TCP什么情况会重传

https://www.cnblogs.com/virusolf/p/4335613.html
发端计时器超时
快重传

ARP协议

https://blog.csdn.net/woshifennu1234/article/details/78256395
ARP(Address Resolution Protocol)即地址解析协议, 用于实现从 IP 地址到 MAC 地址的映射,即询问目标IP对应的MAC地址。
ARP是通过一个查找表(ARP缓存)来执行这种转换的。当在ARP缓存中没有找到地址时,则向网络发送一个广播请求,网络上所有的主机和路由器都接收和处理这个ARP请求,但是只有相同IP地址的接收到广播请求的主机或路由器,发回一个ARP应答分组,应答中包含它的IP地址和物理地址,并保存在请求主机的ARP缓存中。其他主机或路由器都丢弃此分组。
具体过程如下:

  1. 本地主机在局域网中广播ARP请求,ARP请求数据帧中包含目的主机的IP地址。意思是“如果你是这个IP地址的拥有者,请回答你的硬件地址”。
  2. 目的主机的ARP层解析这份广播报文,识别出是询问其硬件地址。于是发送ARP应答包,里面包含IP地址及其对应的硬件地址。
  3. 本地主机收到ARP应答后,知道了目的地址的硬件地址,之后的数据报就可以传送了。

滑动窗口作用

流量控制

静态IP配置

需要的配置:
IP地址
子网掩码
网关
DNS服务器

OSI参考模型

应用层:所有能产生网络流量的程序
表示层:压缩,加密,编码
会话层:查木马 netstat -n
传输层:可靠传输,不可靠传输,流量控制
网络层:选择最佳路径,规划IP地址
数据链路层:帧的开始和结束,透明传输,差错校验
物理层:接口标准,电气标准,如何在物理链路上传输更快的速度


image.png

数据传输过程

应用层:message(消息);
传输层:segment(数据段);
网络层:datagram(数据报),packet(数据包);
数据链路层:frame(数据帧)
物理层:比特流


image.png

HTTP状态码描述

200: 请求已成功,请求所希望的响应头或数据体将随此响应返回。
302: 重定向
304: 指浏览器有缓存的情况下,直接返回缓存内容而不请求服务器
403: 服务器已经理解请求,但是拒绝执行它。
505: 服务器不支持,或者拒绝支持在请求中使用的 HTTP 版本。

五类地址的划分

image.png

HTTP建立会话的过程

  1. 建立tcp连接
  2. 发出请求文档
  3. 发出响应文档
  4. 释放tcp连接

HTTPS

https://blog.csdn.net/jinrumorijuesha/article/details/79655561

image.png

应用层协议端口

Http = TCP + 80
https = TCP + 443
RDP = TCP + 3389
FTP = TCP + 21
共享文件夹 = TCP + 445
SMTP = TCP + 25 发邮件
POP3 = TCP + 110 收邮件
TELNET = TCP + 23
SQL = TCP + 1433
DNS = UDP + 53


image.png

协议字段号

image.png

TCP协议

面向连接的传输层协议
点对点连接,连接的端点叫套接字或插口
套接字 socket = (IP地址:端口号)
提供可靠交付的服务
全双工通信
SYN攻击,LAND攻击

TCP三次握手和四次挥手

image.png

image.png

慢开始,拥塞避免,快恢复和快重传

滑动窗口

image.png

慢开始

image.png

快重传

image.png

DNS服务器

负责解析域名,将域名解析成IP
域名:根
顶级域名 com, edu, net, cn
二级域名 inhe
三级域名 dba
www.dba.inhe.com
域名解析测试
ping www.baidu.com
nslookup命令查找DNS服务器

DHCP服务器

ipconfig /all 查看DHCP服务器
使用UDP协议
可创建子网域,为不同子网分配IP地址

FTP

File Transfer Protocol 文件传送协议
TCP控制连接:服务器21端口,用于发送FTP命令信息,比如删除,下载
TCP数据连接:
主动模式,FTP客户端告诉服务器使用什么端口侦听,FTP服务器端口为20
被动模式,FTP服务器打开指定范围内端口,FTP客户端连接服务器
有防火墙,需要在防火墙开20和21端口,且必须使用主动模式进行数据连接。

在浏览器输入网址请求的过程

当我们在浏览器中输入一个网址,比如www.google.cn,浏览器就会加载出百度的主页。那么浏览器背后完成的具体是怎么样的呢?
总结起来大概的流程是这样的:
(1)浏览器本身是一个客户端,当你输入URL的时候,首先浏览器会去请求DNS服务器,通过DNS获取相应的域名对应的IP
(2)然后通过IP地址找到IP对应的服务器后,要求建立TCP连接
(3)浏览器发送完HTTP Request(请求)包后,服务器接收到请求包之后才开始处理请求包
(4)在服务器收到请求之后,服务器调用自身服务,返回HTTP Response(响应)包
(5)客户端收到来自服务器的响应后开始渲染这个Response包里的主体(body),等收到全部的内容随后断开与该服务器之间的TCP连接。

两种 HTTP 请求方法:GET 和 POST

在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。
• GET - 从指定的资源请求数据。
• POST - 向指定的资源提交要被处理的数据

你可能感兴趣的:(2018-11-07 计算机网络面试常考)