栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

计算机网络

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

计算机网络

计算机网络
  • OSI协议
  • 应用层
    • DNS协议
    • DHCP
    • Web页面的请求过程
    • HTTP状态码
    • HTTP长连接和短连接
    • Cookie&&Session
    • HTTP1.1和1.0主要区别
    • 请求转发和重定向
  • 参考

OSI协议

横向看(为哪两个平行的东西提供服务)
纵向看(为上层提供什么服务)

专有名词

报文应用层
报文段(TCP),数据报(UDP)传输层
分组,包,数据报网络层
数据链路层
数据单元物理层
  • 应用层
    。为应用程序提供通讯和交互的协议
    。DNS, HTTP, SMTP,DHCP,FTP
  • 传输层
    。为两台主机之间的进程提供通用的数据传输服务
    。为上层:把应用层的报文封装成TCP报文段或UDP数据报进行传送
    。TCP, UDP
  • 网络层
    。为两台主机间的通信提供服务
    。为上层:把报文段或数据报封装成IP数据报进行传送
    。ICMP, ARP
  • 数据链路层
    。也是为两台主机之间的数据传输提供服务。两台主机之间的传输,总是在一段一段的链路上传送的,这就需要链路层协议。
    。为上层:把IP数据报封装成帧,在链路上进行传递。
    。CSMA, PPP
  • 物理层
    。在传输媒体上进行比特流传输
    。为上层:把帧拆分成比特流在传输媒介上进行传输。尽可能为数据链路层屏蔽传输媒体和通信手段的差异。
    。时分复用,频分复用
应用层 DNS协议

域名解析协议,提供了域名和IP之间的相互转换

可以使用UDP或TCP,但一般使用UDP
1.UDP更快,一个请求,一个应答就可以了
而TCP三次握手连接。
2.但UDP协议传输的内容不能超过512字节,一般客户端向DNS服务器查域名,返回的内容都不超过512字节,UDP就够了。

但区域传送要用TCP

区域传送:主DNS服务器上的数据有变化了,要向下传送变化的那部分数据时,因为1.数据很大,2.要保证可靠传输,所以不能用UDP。

DHCP

自动为用户配置IP地址,子网掩码,网关等信息。用户不需要再手动配置IP地址。

Web页面的请求过程

特别详细深入的过程

1.DHCP获取主机自己的IP,DNS服务器IP,默认网关IP
主机生成一个DHCP请求报文放入UDP报文中,然后再封装成IP数据报,再封装成帧,将该帧广播到与交换机连接的所有设备上,DHCP服务器收到后发送报文给主机包括(主机IP,DNSIP, 默认网关IP),主机收到后配置自己的相关信息。
2. 主机生成一个DNS查询报文
将字符串www.google.com放入DNS报文段,封装成UDP数据报,放入具有DNS服务器为目的IP地址的IP数据报,封入帧,将帧发送到默认网关路由器,但刚刚只拿到了IP,不知道MAC地址。
3.主机生成一个具有默认网关IP的ARP查询报文
将该ARP报文放在帧中广播,网关路由器收到后,准备一个ARP回答。主机从回答报文中抽取网关路由器的MAC地址。
4.拿到网关地址后,把生成的DNS查询报文转发给网关
网关路由器根据DNS查询的IP数据报,把它转发给对应的DNS服务器。DNS服务器在它的数据库中找www.google.com对应的IP,并反向转发给主机。
5.主机从DNS报文中抽出服务器(google)的IP
主机首先与服务器进行三次握手连接

主机服务器
向服务器发送TCP SYN报文段
服务器收到,回一个SYN ACK报文段
主机收到,再发送一个ACK确认连接报文段到HTTP服务器三次连接建立完毕
HTTP GET报文写入套接字,交给HTTP服务器
服务器从套接字读取HTTP GET 报文,生成一个响应报文,将对应的WEB资源放入HTTP响应体,并将报文写进TCP套接字
浏览器收到HTTP响应,抽取WEB页面的内容进行渲染
HTTP状态码
1xx浏览器可以忽略或继续请求
2xx成功
3xx重定向
4xx客户端请求错误(404资源没找到)
5xx服务器错误
HTTP长连接和短连接
  1. 长连接: 当浏览器访问一个包含多张图片的网站时,如果是短连接就会建立大量TCP连接,这样很消耗资源,长连接允许只建立一个TCP连接,就能进行多次HTTP通信。
    1.1之前默认短连接,1.1之后默认长连接
  2. 流水线: 默认情况下,HTTP请求按顺序发送,只有当当前请求收到响应,才会发送下一个请求。
    而流水线就是在一个HTTP长连接下连续发出请求,不用等待响应返回,减少延迟。
Cookie&&Session

cookie是保存在客户端浏览器里的一种信息载体。可以实现免登陆功能。

how?:服务器发送的响应报文段首部有一个set-cookie字段。客户端拿到这个响应后,把这个字段保存在浏览器,当客户端再次发送请求相同资源时,会把cookie一起携带在请求中,发送到服务端。

Session: 服务器给每个浏览器创建一个session对象,保存在服务器里,存储在浏览器的cookie不安全,一些js脚本可能拿到cookie。

how?

  1. 用户登陆时,把用户名密码表单放入http请求报文中。
  2. 服务器收到后,为其创建一个session,并创建一个sessionID映射这个session。
  3. 把这个sessionID作为cookie发给客户端,客户端会保存在自己的cookie。
  4. 之后客户端对同一个服务器进行请求时,会带上这个cookie,服务器收到后提取sessionID,找到对应session,读取用户信息。

浏览器如果禁用了cookie,可以用URL重写技术,把sessionID作为URL的参数进行传递

session,cookie的作用域(哪些路径支持)可以设置;生命周期(过期时间)可以设置。

HTTP1.1和1.0主要区别
1.01.1
长连接短连接
支持断点续传,指定字节位置传送
新增一些错误状态响应码
增加了host信息(此时一台物理机可以存在多个虚拟主机)
请求转发和重定向
参考


https://blog.csdn.net/u011386173/article/details/123901024

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/882408.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号