网络

作者: 李永开 | 来源:发表于2018-07-19 13:40 被阅读0次

一.常识

  • TCP/IP协议(簇):
    四层 : 链路层 - 网络层 - 传输层 - 应用层
    物理层 - 链路层 - 网络层 - 传输层 - 会话层 - 表示层 - 应用层
  • 端口 : 程序的入口,用来区分不同的程序.
  • 192.168.1.0 : 网络号 ------- 192.168.1.255 : 广播地址 -----C类地址
  • 低地址存低位数据为小端,低地址存高位数据为大端
  • 子网掩码和ip地址 按位 与 ,可以得到网络号
  • 集线器:广播找到目标ip ---- 交换机:可以记录ip地址
  • 路由器:连接不同的网络
  • ARP根据ip找mac地址,RARP根据mac地址找ip,ICMP协议用来 ping.

二.http

  • 请求报文
    包含了: 方法, URL, 版本协议, CRLF, 首部字段, 请求主体.
  • 响应报文
    包含了:版本, 状态码, 短语, CRLF, 首部字段, 响应主体.
  • http请求方式
    get,post,head,put,delete,options
  • get和post的区别
    1.get请求参数放在url后面,post放在body里面
    2.get请求的参数长度是有限制的(2048字符),post没有
    get:获取资源-->安全的不会引起服务端相关数据变化,幂等的执行一次和执行多次结果一样,可缓存的
    post:处理资源-->非安全的,非幂等的,不可缓存的
  • 三次握手:
    1.客户端发送syn
    2.服务端返回syn+1,ack
    3.客户端回复ack
    三次握手:防止客户端的重发机制
    如果网络延迟,客户端第一次发送给服务器的syn信号没有得到回复,那么客户端就可以进行重发一次;这时候服务器会给客户端发送两条 syn + ack ,导致连理了两条连接...................如果是三次握手的话,第三次握手的时候客户端就可以判断是否丢弃一个连接.
  • 四次挥手:
    1.客户端发送syn
    2.服务端发送ack
    3.服务端发送确认断开连接fin,ack
    4.客户端回复ack
    因为全双工的特性,需要两方都释放
  • http特点
    1.无连接 2.无状态
    保持持久连接: connection:keep-alive time:20 max:10
  • 怎么判断一个请求是否结束
    1.判断content-length
    2.判断chunked,最后会有一个空的chunked.
  • charles抓包工具原理
    利用中间人攻击的漏洞.
  • https建立连接的过程
    1.Client发送TLS版本号、支持加密算法、random number c到 Server.
    2.Server返回握手消息 商定的算法、random number s、证书到Client.
    3.Client 验证 Server的公钥.
    4.Client组装会话密钥
    5.使用Server的公钥对预主密钥进行加密传输
    6.Server通过自己的私钥解密预主密钥
    7.Server拿到预主密钥组成合成会话密钥
    8.发送加密的握手消息

三.TCP & UDP

---------------------TCP:传输控制协议
都是传输层协议:---------
---------------------UDP:用户数据报协议

  • UDP特点: 无连接, 尽最大努力交付, 面向报文原封不动的发送*
  • UDP功能: 复用多端口复用
    ----------分用一个UDP数据包可以发送给多个端口
    ----- 差错检测12字节伪首部

  • TCP特点: 面向连接, 可靠传输, 面向字节流
  • 可靠传输是指:无差错, 不丢失, 不重复, 按序到达
  • 面向字节流:不管发送方一次性提交给tcp的缓冲有多大,tcp会根据实际的情况进行划分.
  • 滑动窗口协议: 按序到达就是通过滑动窗口协议实现的
  • TCP慢启动特性:慢开始、拥塞避免 : 先发送1个,再发送2个,4个,8个,16个指数增长.
    等到16个后,开始17个,18 ,19个,,,,,,2 3个.
    等到24个后就拥塞了,然后就重新开始1个,2个,4个-----到12个....13个..
  • 快重传、快恢复

四.DNS

  • dns解析过程
    1.Client发送域名到dns服务器
    2.dns服务器返回域名对应的ip地址
    3.Client访问ip
  • DNS解析查询方式
  1. 递归查询
    "我去帮你问一下,我帮你去查"
    1.查询本地dns
    2.根域dns,返回给本地dns
    3.顶级dns,返回给根域dns
    4.权限dns,返回给顶级dns
  2. 迭代查询
    "我告诉你谁可能知道,你自己去查"
    1.查询本地dns
    2.本地dns不知道,查询顶级dns
    3.顶级dns不知道,说:根域dns会知道,你去问根域dns
    4.本地dns查询根域dns
  • DNS劫持
    钓鱼dns服务器,返回错误ip地址
  • DNS劫持和http完全没有关系
  • 怎样解决dns劫持
    1.httpDNS直接连接服务器的ip,参数有:服务器域名、Client的ip地址
    2.长连接

五.session、cookie

http无状态特点的补偿

  • cookie : 记录用户状态、区分用户;状态保存在客户端
    cookie覆盖.
    cookie删除也是通过cookie覆盖来实现的.
  • session : 记录用户状态、区分用户;状态保存在服务器端
    session需要依赖cookie实现.
  • session、cookie的关系
    1.Client发送信息到Server
    2.Server记录用户状态,生成sessionID,并把sessionID颁发给Client
    3.Client发送cookie:sessionID
    4.Server通过SessionID辨别是哪个Client.

相关文章

  • 网络!网络!

    ...

  • 网络,网络

    敲击键盘,滴滴答答,行云流水,我和你在无形的世界中产生了存在着的联系。落日,似乎看不到,看到的,只是手中的那块屏幕...

  • 网络?网络!

    网络是一片浩瀚的海,在网络初建之时,如一片处女地,在上面初生了各种各样文化的苗,虽星星点点却也清新。或许是审...

  • 网络—网络婴儿

    在餐馆你可能看到,专注的母亲盯着手机,而在她臂弯里的儿童却不知所措;在家里,母亲在厨房里忙碌,而婴儿在拨弄着平板自...

  • 网络啊网络

    下午,天突降大雨。 其时我正打开电脑在听音乐,声音戛然而止,我以为是网络卡住了,就照样一边忙碌着一边等待音乐声再次...

  • 网络-网络层

    网络层 网络层数据包(IP数据包,Packet)由首部、数据2部分组成数据:很多时候是由传输层传递下来的数据段(S...

  • 测试网络

    测试网络测试网络测试网络测试网络测试网络测试网络

  • 网络 和网络笔记

    ifconfig -a 查看物理网卡硬件地址 比如 ether 00:0c:29:ab:6e:72 更改M...

  • 【网络】集群网络排错

    前几天实验室网络抽风,卡的要死要死的,做实验也做的要死要死的(跟十几台小集群在一个屋里通宵,这种酸爽简直终身难忘)...

  • Android网络——网络状态

    1. 判断网络是否可用 2. 判断网络类型

网友评论

      本文标题:网络

      本文链接:https://www.haomeiwen.com/subject/ijlqpftx.html