美文网首页
网络协议学习笔记

网络协议学习笔记

作者: 经天纬地 | 来源:发表于2021-07-02 17:17 被阅读0次

一、基本概念

1.1 什么是网络协议?

  • 互联网上端对端实现互联过程中,必须有各种各样的协议规定传输的方式,其中最常见的协议就是 HTTP

1.2 Java跨平台原理

  • 利用各个平台安装的JVM(Java虚拟机),运行Java程序, 一次编译,多端运行


    Java跨平台原理.png

1.3 C/C++ 跨平台原理

  • 使用平台自己的编译器生成对应平台的可执行文件


    C/C++ 跨平台原理.png

1.4 网络互连模型

image.png

1.5 请求过程

  • 每一层对数据进行包装后,传给下一层,下一层再进行包装,依次类推
  • 每一次向上回传时,解除自己对应层的包装后,传给上一层,以此类推


    image.png

1.6 每个层对应的协议和应用

image.png

1.7 计算机互连方式

  1. 网线直连

  2. 同轴电缆

    • 半双工通信
    • 容易冲突
    • 不安全
    • 中间断了,整个瘫痪


      image.png
  3. 集线器(Hub)

    • 跟同轴电缆一样


      image.png
  4. 网桥

    • 能够通过自学习得知每个接口那侧的地址,从而起到隔绝冲突域的作用


      image.png
  5. 交换机

    • 相当于更多接口的网桥
    • 全双工通信
    • 比集线器安全
  6. 路由器

    • 多个不同网段之间转发数据。(网线直连,同轴电缆、集线器、网桥、交换机只能在同一网段,连接设备处于同一广播域)
    • 隔绝广播域(ARP广播)

二、MAC地址和IP地址

2.0 网络连接流程:由对方IP地址解析成MAC物理网卡地址再进行连接通信

2.1 ARP

  • 通过IP地址发出ARP广播,获取设备的MAC地址

2.2 RAPP、DHCP

  • 逆地址解析,由MAC地址解析出IP地址

2.2 ICMP

  • 互联网控制消息协议
  • 用于返回错误信息

2.3 IP地址的组成

  • 网络ID + 主机ID (由子网掩码计算出来)

2.4 IP地址的分类

  1. A类:1 ~ 126
  2. B类:127 ~ 191
  3. C类:192 ~223
  4. D类:224 ~ 239

2.5 子网掩码的CIDR表示法

2.6 为什么要进行子网划分

  • 让更多同类IP划分到同一网段,节省IP地址资源

三、路由

3.0 作用:跨网段通信

3.1 公网IP、私网IP

  • 公网IP由ISP(通信运营商向Inter NIC(因特网信息中心)申请)
  • 私网IP主要用于局域网
  • Internet上的路由器只有达到公网的路由表,没有达到私网的路由表
  • 公网就是我们日常上网用到的IP,私网就是公司内部服务器的私有IP

3.2 NAT

  • 私网IP访问公网IP需要进行NAT转换
  • 可以节约公网IP资源
  • 会隐藏内部正式IP
  • 静态转换
  • 动态转换
  • PAT,多对一转换,采用端口多路复用,是目前使用最广泛的方式

四、物理层

4.0 主要定义了接口标准、线缆标准、传输速率、传输方式

4.1 数字信号、模拟信号

主要是物理设备,比如光猫,把模拟信号转化为数字信号,这部分没什么好说的

五、数据链路层

5.0 从1个节点到相邻节点的一段物理路线(有线或无线),中间没有其他交换交点

六、网络层

6.0 决定数据的路径选择和转寄,将网络表头(NH)加至数据包,以形成分组。网络表头包含了网络资料。例如:互联网协议(IP)等。

七、传输层

7.0 主要有两个协议

  • TCP
  • UDP


    image.png

详情请看:

  1. 面试官:TCP如何实现可靠性传输
  2. 这一次,彻底搞懂TCP3次握手、4次挥手好吗

八、应用层

8.1 应用场景

  • 超文本传输:HTTP、HTTPS
  • 文件传输:FTP
  • 电子邮件:SMTP、POP3、IMAP
  • 动态主机配置:DHCP
  • 域名系统:DNS

8.0 DNS

  • 将域名转化为IP地址
  • 基于UDP或TCP协议,占用53端口

8.1 DHCP

  • 动态主机配置协议
  • 基于UDP协议,客户端口为68端口
  • DHCP服务器会从IP地址池中,挑选一个IP地址“出租“给客户端一段时间,时间到期就回收它们
  • 平时家里上网的路由器就可以充当DHCP服务器

九、HTTP

9.0 超文本传输协议

  • 是互联网中应用最广泛的应用层协议之一
  • 设计HTTP最初的目的是:提供一种发布和接收HTML页面的方法,由URI来标识具体的资源
  • 后面用HTTP来传递的数据格式不仅仅是HTML,应用非常广泛
  • HTML( Hyper Text Markup Language):超文本标记语言
  • 用以编写网页

9.1 历代版本

  1. 1991年 HTTP/0.9:只是Get请求
  2. 1996年 HTTP/1.0 :
    • 支持POST、HEAD等请求方法,支持请求头、响应头等,支持更多种数据类型(不再局限于文本数据)
    • 浏览器的每次请求都需要与服务器建立一个TCP连接,请求处理完成后立即断开TCP连接
  3. 1997年,HTTP/1.1(最经典、使用最广泛的版本)
    • 支持PUT、DELETE等请求方法
    • 采用持久连接(Connection: keep-alive),多个请求可以共用同一个TCP连接
  4. 2015年,HTTP/2.0
  5. 2018年,HTTP/3.0

9.2 报文

9.3 请求方式

9.4 状态码

9.5 代理

  • 正向代理:代理的对象是客户端
    • 作用:隐藏客户端身份、绕过防火墙、Internet访问控制、数据过滤
  • 反向代理:代理的对象是服务器
    • 作用:隐藏服务器身份、安全防护、负债均衡

9.6 抓包工具的原理

  • Fiddler、Charles等抓包工具的原理:在客户端启动了正向代理服务
  • Wireshark的原理是:通过底层驱动,拦截网卡上流过的数据

9.7 CDN 内容分发网络

  • 利用最靠近每位用户的服务器
  • 更快更可靠地将音乐、图片、视频等资源文件(一般是静态文件)放到CDN服务器,再由CDN服务器传递给用户

十、网络安全

10.1 网络层---ARP欺骗

  • 可让攻击者获取局域网上的数据包甚至可篡改数据包
  • 可让网络上特定电脑之间无法正常通信(例如网络执法官这样的软件)
  • 让送至特定IP地址的流量被错误送到攻击者所取代的地方

10.2 ARP欺骗---防护

  • 静态ARP
  • DHCP Snooping
  • 网络设备可借由DHCP保留网络上各电脑的MAC地址,在伪造的ARP数据包发出时即可侦测到
  • 利用一些软件监听ARP的不正常变动

10.3 Dos、DDos攻击

  • DoS攻击(拒绝服务攻击,Denial-of-Service attack)
  • 使目标电脑的网络或系统资源耗尽,使服务暂时中断或停止,导致其正常用户无法访问
  • DDoS攻击(分布式拒绝服务攻击,Distributed Denial-of-Service attack)
  • 黑客使用网络上两个或以上被攻陷的电脑作为“僵尸”向特定的目标发动DoS攻击 -
  • 2018年3月,GitHub遭到迄今为止规模最大的DDoS攻击
  • DoS攻击可以分为2大类
    1. 带宽消耗型:UDP洪水攻击、ICMP洪水攻击
    2. 资源消耗型:SYN洪水攻击、LAND攻击

10.4 Dos、DDos防御

  • 防御方式通常为:入侵检测、流量过滤、和多重验证

    • 堵塞网络带宽的流量将被过滤,而正常的流量可正常通过
  • 防火墙

    • 防火墙可以设置规则,例如允许或拒绝特定通讯协议,端口或IP地址
    • 当攻击从少数不正常的IP地址发出时,可以简单的使用拒绝规则阻止一切从攻击源IP发出的通信
    • 复杂攻击难以用简单规则来阻止,例如80端口遭受攻击时不可能拒绝端口所有的通信,因为同时会阻止合法流量
    • 防火墙可能处于网络架构中过后的位置,路由器可能在恶意流量达到防火墙前即被攻击影响
  • 交换机:大多数交换机有一定的速度限制和访问控制能力

  • 路由器:和交换机类似,路由器也有一定的速度限制和访问控制能力

  • 黑洞引导

    • 将所有受攻击计算机的通信全部发送至一个“黑洞”(空接口或不存在的计算机地址)或者有足够能力处理洪流的网络设备商,以避免网络受到较大影响
  • 流量清洗

    • 当流量被送到DDoS防护清洗中心时,通过采用抗DDoS软件处理,将正常流量和恶意流量区分开
    • 正常的流量则回注回客户网站

10.5 应用层 --- DNS挟持

  • DNS劫持,又称为域名劫持
    攻击者篡改了某个域名的解析结果,使得指向该域名的IP变成了另一个IP
    导致对相应网址的访问被劫持到另一个不可达的或者假冒的网址
    从而实现非法窃取用户信息或者破坏正常网络服务的目的
  • 为防止DNS劫持,可以考虑使用更靠谱的DNS服务器,比如:114.114.114.114
    谷歌:8.8.8.8、8.8.4.4
    微软:4.2.2.1、4.2.2.2
    百度:180.76.76.76
    阿里:223.5.5.5、223.6.6.6
  • HTTP劫持:对HTTP数据包进行拦截处理,比如插入JS代码
    比如你访问某些网站时,在右下角多了个莫名其妙的弹窗广告

10.5 HTTP协议的安全问题

◼ HTTP协议默认是采取明文传输的,因此会有很大的安全隐患 常见的提高安全性的方法是:对通信内容进行加密后,再进行传输
◼ 常见的加密方式有
不可逆
✓ 单向散列函数:MD5、SHA等 可逆
✓ 对称加密:DES、3DES、AES等 ✓ 非对称加密:RSA等
其它
✓ 混合密码系统
✓ 数字签名
✓证书

TODO:待续

相关文章

  • (软考网络工程师)06网络互联与互联网

    本系列为个人学习笔记,如需转载请注明出处 --aport 考点 01 网络协议神图网络协议神图 02 常用网络互联...

  • 网络协议学习笔记

    定义 网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。网络协议主要由三个要素组成:语义、语法及时...

  • 网络协议学习笔记

    一、基本概念 1.1 什么是网络协议? 互联网上端对端实现互联过程中,必须有各种各样的协议规定传输的方式,其中最常...

  • 通信协议综述

    本篇作为学习笔记,文章内容来自“极客时间”专栏《趣谈网络协议》,如有侵权,请告知,必即时删除。 1、常用的网络协议...

  • 趣谈网络协议之通信过程

    刘超《趣谈网络协议》第一讲|为什么要学习网络协议的学习笔记 计算机语言作为程序员控制一台计算机工作的协议,具备了协...

  • 网络协议学习笔记2

    带着4个问题学习: 1.TCP在进行三次握手的时候,IP层和MAC层对应都有什么操作呢? 2.学习第三层的时候会提...

  • 学习笔记:网络协议之IP协议

    本文仅供学习交流使用,侵权必删。不作商业用途,转载请注明出处 IP地址,又称网际协议地址,由32位组成。IP地址是...

  • 学习笔记:网络协议之ARP协议

    本文仅供学习交流使用,侵权必删。不作商业用途,转载请注明出处 ARP(Address Resolution Pro...

  • ICMP协议与ping

    本文作为学习笔记,文章内容来自“极客时间”专栏《趣谈网络协议》,如有侵权,请告知,必即时删除。 ICMP协议的格式...

  • 网络协议(1) - 基础知识

    学习笔记,整理自网络 定义: 网络协议(Network Protocol)为计算机网络中进行数据交换而建立的规则、...

网友评论

      本文标题:网络协议学习笔记

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