互联网协议

互联网协议


1.C/S B/S 架构

client ---基于网络通信--- server
browser ---基于网络通信--- server

server端必须满足的条件:
    1. 稳定运行(网络. 硬件. 操作系统. 服务端软件)
    2. 服务端必须绑定一个固定的地址

2.什么是互联网

两大要素:
1. 底层的物理链接介质. 为通信铺路
2. 一套统一的互联网通信标准 --> 互联网通信协议
互联网协议就是计算机界的英语

3. 网络通信过程(ios五层协议)

	物理层: 发送电信号. 将传入的信息通过高低电频的方式进行传输 -> 高电频(1) 低电频(0)
        数据由大量的1010101011100101传输. 其中head包括16个字节(发送者6. 接受者6. 数据类型6). data至少包括64个字节

    数据链路层: 分组. 主要是靠ethernet网通过广播的方式传递信息(以太网协议有报头和数据).规定每台计算机都配有一个mac地址(物理地址)
        且只能在一个局域网内可以通过mac地址传输信息. 互联网由众多局域网组成. 各局域网之间通过各种设备链接

    网络层: IP协议规定每台计算机都有一套ip地址(点分十进制组成). ip地址和ip子网掩码的按位与可以定位当前地址的局域网地址也就是子网地址.
        所以想要进行网络通信: 第一件事就是拿到对象的ip地址和ip子网掩码来计算出子网地址.
            1. 如果一样 -> 在一个局域网内 -> 基于mac地址通信
            2. 如果不一样 -> 就通过ip地址定位到对方的区域网. 然后通过mac地址进行通信
        arp协议可以使ip地址解析出对应的mac地址. 这样基本一个ip地址就可以定位一个计算机. 通常使用ping 192.168.11.181
        arp是怎么获取mac地址的:
            1. 在同一个局域网中. 直接通过广播的方法发送一个通信携带目标ip的地址. 收到自己ip地址的计算机会将mac地址返回给发送的计算机
            2. 不在同一个局域网中. 计算机发送arp协议给网关(相当于是每一个局域网的管理者. 每个班级的班主任).
            网关通过路由协议传递给该局域网的对应ip地址. 并将自己的mac地址按照原路返回

    传输层: 基于TCP/UDP协议. 赋予每一应用软件一个端口(port).

    应用层: 基于HTTP/FTP/mail协议对软件进行包装

标识地址的方式:
    ip地址和mac地址就可以定位唯一一台计算机
    ip+mac+port可以定位计算机唯一一个基于互联网通信的软件
    网络通信中: 发送网络信息的一端一直在打包信息. 接收的一端一直在拆包.
    其各种层级操作都是由操作系统去调用的. 所以应用层在将数据交给操作系统的时候应用层数据就已经发送完毕. 后面的他都控制不了了

    url(Universal Resource Locator)是统一资源定位符. 用来定位全世界唯一的资源. 其默认端口是80. 浏览器会自动补全省略
    url中的域名对应一个ip地址.
    浏览器访问url的过程:
        1. 浏览器接收用户操作产生一个url地址.
        1. 先将url的域名提交给DNS服务器. 然后会收到一个ip+port.
        2. 然后会根据这个ip地址和端口定位到唯一的计算机软件.
        3. 然后通过url中携带的path找到计算中想要的文件
        4. 服务器将文件返回给客户端

    计算机之间通过交换机传递信息. 但是一个包发送给目标计算机后. 不会按照原来的方法继续发送广播. 其原因是交换机存在一个mac地址学习.
    来解决重复发广播的问题. 其中会存一张mac地址表. 将每一次通信的双方记录下来. 长期下来所有的mac地址都会被学习到交换机中

4.tcp协议

三次握手建立链接
四次握手断开链接

面试常问问题:
1. 为何建立链接需要三次而断开需要四次
    答案: 建立链接的时候没有真正的数据传输. 所以中间两步可以合成一步.
    断开连接的时候由于有数据传输. 如果客户端数据先传输完就客户端先断. 但是服务端数据可能还没有传输完成. 所以不能同时发请求. 有四次
2. 为何tcp协议是可靠协议而udp是不可靠协议
    因为udp协议发送请求不等待对方响应直接把缓存删除掉. tcp会等待响应之后再将缓存删除
    tcp协议的优点: 安全可靠  udp协议: 速度快
3. tcp协议建立链接与断开链接的状态信息及其表示意义

5.半连接池(backlog)

限制的是同一时刻的请求.而非连接数

6.DDos攻击(Distributed denial of service attack)简述

​ 就是基于上文tcp协议的好人性质(所有外部发送的请求都会接收并返回). 攻击者制造大量请求发送给服务器. 造成了服务器产生大量的堆积请求. 有的网站的并发量不够. 真正的用户就访问不进来了.相当于很多假的请求挡在服务器门口. 导致服务器产生宕机这种的情况就是ddos攻击. ddos攻击半连接池的增大对他的效果是微乎其微的

​ 一般网站收到这种攻击服务器就会跟着倒霉. 有的就会直接被商家解约. 然后网站被迫下线之后去别的地方买服务器也买不着. 导致这个网站就消失了. 但是为什么天猫. 淘宝就不会倒闭. 服务器并发流量强大只是原因之一. 另外一个就是有国家撑腰. 可以查到攻击源进而来躲避

7.拓展

  • ipv4 DHCP服务器会接收浏览器发送的域名. 然后转交给本地DNS服务器解析成ip地址(会缓存一些域名对应的IP地址).
  • DNS服务器解析是基于DNS递归查询或者迭代查询. 如果本地没有查询到就到根DNS服务器(root. 存着所有顶级DNS服务器)查询.将2-3台根DNS服务器干倒. 就可能会导致别的服务器压力过大累死. 导致世界互联网消失
  • 为什么只有13台根DNS服务器?
    所有的查询都是局域udp协议. 而udp协议最大只能支持512个字节. 13个服务器信息已经是最大极限了.

posted on 2022-07-26 12:33  huxiaofeng  阅读(238)  评论(0编辑  收藏  举报

导航