您的位置:首页 > 理论基础 > 计算机网络

一些网络相关问题的总结

2016-03-16 19:02 549 查看
OSI七层模型

应用层:直接面向用户,负责向用户提供各种网络应用服务,为用户提供通信的接口

表示层:主要是定义数据格式及加密

会话层:对传输的报文提供同步管理服务,在不同系统中互相通信的两个进程之间提供建立、连接、控制会话的功能

传输层:向高层屏蔽了通信细节。为端到端系统之间提供报文的传输方式,以及选择传输协议TCP、UDP

网络层:为数据报的传输提供路由功能,即为数据包选择合适的点到点链路

数据链路层:在通信实体之间建立链路连接,传输数据帧

物理层:为数据链路层提供物理连接,传输的是比特流

TCP/IP四层模型

应用层:直接面向用户,负责向用户提供各种网络应用服务,为用户提供通信的接口

传输层:为端到端用户之间提供应用程序之间的通信

网络层:负责相邻主机之间的点到点通信,主要提供路由和拥塞控制的功能

网络接口层:负责数据帧的发送和接收,即接收IP数据包向网络中发送,或从网络接收数据帧向IP层提交

基于TCP的应用层协议有:

FTP、HTTP、Telnet、SMTP、POP3、HTTPS

基于UDP的应用层协议有:

DNS、SNMP、NFS

TCP和UDP的区别:

TCP是有连接的,两台主机在进行数据交互之前必须先通过三次握手建立连接;而UDP是无连接的,没有建立连接这个过程

TCP是可靠的传输,TCP协议通过确认和重传机制来保证数据传输的可靠性;而UDP是不可靠的传输

TCP还提供了拥塞控制、滑动窗口等机制来保证传输的质量,而UDP都没有

TCP是基于字节流的,将数据看做无结构的字节流进行传输,当应用程序交给TCP的数据长度太长,超过MSS时,TCP就会对数据进行分段,因此TCP的数据是无边界的;而UDP是面向报文的,无论应用程序交给UDP层多长的报文,UDP都不会对数据报进行任何拆分等处理,因此UDP保留了应用层数据的边界

输入URL之后都发生了什么:

1)根据URL进行DNS解析,找到域名对应的服务器主机IP地址

2)Http都是基于TCP的,因此需要进行三次握手与服务器端建立连接

3)将TCP包从本机传输到服务器主机的过程中,必须还要进行路由

4)三次握手成功后,就可以发送HTTP请求了

5)服务器端收到HTTP请求后,就会恢复一个HTTP响应,主机收到响应后就会对响应进行解析,然后在浏览器中显示出来

当访问了一个网址后,关掉这个tab,然后马上再次访问这个网址还需要进行DNS吗?

不需要,因为在短期之内(时间不定,可能几分钟,可能几小时),本地主机会有DNS缓存,可直接到DNS缓存中进行查找

DNS缓存中每条记录一般都会保存URL到服务器IP的映射,以及生存时间timetolive

Windows上查看和清除本机DNS缓存记录:

ipconfig /displaydns

ipconfig /flushdns
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: