目录

  • 框架
  • 一、计算机网络
    • 1、 层次结构设计
    • 2、 现代互联网拓扑
    • 3、 网络性能指标
  • 二、物理层
  • 三、数据链路层
    • 2、最大传输单元MTU
    • 3、以太网协议详解
  • 四、网络层 - 链接
  • 五、传输层 - 链接
  • 六、应用层
    • 1、DNS详解
    • 2、DHCP详解
    • 3、HTTP详解
    • 4、HTTP工作结构
    • 5、HTTPS工作结构
    • 5、HTTPS 过程
  • 七、实践 - 网络嗅探工具

框架

端口号标识了进程;

一、计算机网络

分类:(作用范围)

广域网 WAN 几十到几千公里 ;跨省、跨国
城域网 MAN 5~50KM;城市间
局域网 LAN 1KM内;地区内

分类:(使用者)

公用网络
专用网络

点这里国际网络连接光缆拓扑

  • 我国1980年开始互联网实验、1989年第一个公共网络建立运行、1994年接入国际互联网;

ISP:互联网服务提供商(Internet Service Provider):

电信:中国公用计算机互联网(CHINANET,即中国电信网)
网通:中国网通公用互联网(CNCNET,包括金桥网CHINAGBN)
移动:中国移动互联网(CMNET)
联通:中国联通互联网(UNINET)
铁通:中国铁通互联网(CRCNET)
卫星:中国卫星集团互联网(CSNET)
科技:中国科技网(CSTNET)
教育:中国教育和科研计算机网(CERNET)
贸易:中国国际经济贸易互联网(CIETNET)
长城:中国长城互联网(CGWNET)

1、 层次结构设计

  • 使得每层解耦

2、 现代互联网拓扑


网络使用方式:

  • 客户-服务器模式
  • 对等连接(p2p)模式

3、 网络性能指标

  • 时延:

发送时延 :数据长度/发送速率
传播时延 :路径距离/传播速率
排队时延 :
处理时延 :

  • 指标:

RTT :route- trip time:数据报文在端到端通信来回一次的时间;
ping命令可以查看RTT;

二、物理层

物理层的作用

物理介质:双绞线、同轴电缆、光纤、红外线、无线、激光;

信道的基本概念

信道是往一个方向传送信息的媒体
一个通信电路,往往包含着一个接受信道和一个发送信道

信道:分用-复用技术

  • 为了提高信道利用率

频分复用
时分复用
波分复用
码分复用

三、数据链路层

管理相邻节点之间的数据通信;通过MAC地址;MAC 地址表

负责: 封装成帧、透明传输、差错监测

封装成帧

  • 物理层以比特位作为数据基本单位
  • 链路层以”帧“作为数据的基本单位

发送端在网络层数据牵头加上特定标记形成 帧
接收端根据前后标记识别出 帧
帧首部和尾部是特定的控制字符:特定比特流
SOH:00000001
EOT:00000100

透明传输

  • 控制字符在帧数据中,但是要当作不存在的去处理

数据中出现SOH、EOT;就在之前加一个转义字符;

解码的时候,根据转义字符和控制字符成对,来解析;

差错监测

物理层只管传输比特流;无法控制是否出错;数据链路层来做差错检测;
数据链路层只进行数据检测,不进行纠正;

  • 奇偶校验码;

奇校验:加上校验位使其成为奇数个1;
偶数错误无法检测;

  • 循环冗余校验码CRC

根据传输或保存的数据而产生固定位数校验码的方法;
生成校验位,附加在数据后

  1. 选定校验多项式;并在位数加R个0;(CRC32就是一种多项式,且尾部加32个0)
  2. 使用 模 2 除法除以多项式;取余-除-取余-除->直到最后的余数;(模 2 除法:异或)
  3. 得到的余数填充至原数据尾部的0处;
  • 对于接收方,把整个串对校验多项式 模 2 除法,余数不为零则为出错;

  • CRC 的错误检测能力,与校验码阶数有关;阶数为1,就退化成了奇偶校验

2、最大传输单元MTU

  • 数据帧过大:时延过大

  • 数据帧过小:效率低;(全是头部了没有数据了)

  • 以太网MTU一般是1500字节;

  • 路径MTU由链路中最小的MTU所决定;

3、以太网协议详解

MAC 地址

  • 物理地址、硬件地址;每个设备唯一;
  • ipconfig /all -> 查看计算机内MAC地址
  • 48位;6个8位用-分开;16进制表示

以太网协议

  • 广泛应用的局域网技术;
  • 应用与数据链路层;
  • 使用以太网可以完成相邻设备的数据帧传输;
  • 而非相邻的,想要传输到另一个路由器下的设备时候,就需要网络层IP 来实现;


四、网络层 - 链接

【学习笔记】【计算机网络】【网络层】IP协议详解;IP分类;子网划分;ARP、ICMP、NAT、RIP、OSPF、BGP协议详解;

1、IP协议
2、逐跳 hop-by-hop
3、ARP协议、RARP 协议
4、IP分类、子网划分
5、网络地址转换NAT技术
6、ICMP协议
7、网络层的路由概述

1、RIP协议
2、OSPF协议
3、BGP协议

  • IP分类、子网划分;

五、传输层 - 链接

【学习笔记】【计算机网络】【传输层】UDP、TCP差异详解;TCP的可靠传输、流量控制、拥塞控制、三次握手、四次挥手;timewait中2MSL的必要性;

1、 UDP协议详解

2、 TCP协议详解

1、传输控制协议(Transmission Control Protocol)
2、基本原理
3、可靠传输
4、流量控制
5、拥塞控制
6、三次握手 - 建立连接;
6、四次挥手- 断开连接;

3、套接字编程

  • timewait中2MSL的必要性;
  • 其他进程间通信对比

六、应用层

1、DNS详解

域名系统(Domain Name System)

dns 是一个基于客户 服务器模式的分布式数据库系统,(域名对ip的映射);

  • 域名被分割成不同的域;域名可以分为顶级域、二级域、三级域
  • DNS协议运行在DUP之上,使用53号端口。
  • 纯递归方式对根域名服务器造成过大负载,现在都用的是递归与迭代相结合的方式。由本地域名服务器来迭代。
  • 各个域名服务器中有高速缓存,缓存DNS信息。因为主机名和IP地址之间映射不是永久的,所以将在一段时间后丢弃缓存信息。

顶级域:

国家:cn、us、uk、ca
通用:com、net、gov、org

二级域:

aliyun、qq、baidu、、、

域名服务器:

2、DHCP详解

(dynamic host configuration protocol,动态主机配置协议)是应用层协议。(分配临时IP地址)

  • 使用客户/服务器方式。是一个局域网协议应用层有两种工作方式,客户/服务器方式与p2p方式。
  • DHCP是采用UDP协议广播(全1的IP)发送的,因为还没分配IP。端口:主机68,服务器67;分配的IP是临时的,有租期;
  • 启动方DHCP客户机,向DHCP服务器广播发送报文。DHCP服务器回答这个广播保文,回答的报文叫提供报文。
  • 网络中可以有多个DHCP服务器。客户机广播请求时候可能收到多个应答,通常挑选最先的回复。
  • 能找到这个计算机的配置信息的话就返回该信息,找不到的话,就从IP地址池中取一个分配给该计算机;

过程:

四个过程都是广播255.255.255.255

  1. 主机使用UDP协议广播DHCP发现报文 Discover
  2. DHCP服务器发出DHCP提供报文 Offer
  3. 主机向DHCP服务器发出DHCP请求报文 Request
  4. DHCP服务器回应并提供IP地址;ACK

3、HTTP详解

超文本传输协议(Hyper Text Transfer Protocol,HTTP)

  • 超文本:超级文本;带超链接文本;
  • web服务就是提供内容的服务,内容就是超文本;包含了图片、文本、音频视频、动图等;
  • 内容都有统一的路径(地址),表示为http 的资源;
  • http:// <主机>:<端口>/<路径>;主机为域名/IP;端口为80/443;路径指向内容
  • HTTP协议是可靠的数据传输协议;(依靠TCP)
  • HTTP协议运行在CS架构上面(客户端-服务端模式)

web服务器:

接受客户端连接、接受请求报文、处理请求、访问web资源、构造应答、发送应答;

请求方法:

  1. GET: 获取指定的服务器资源;
  2. POST:提交数据到服务端;
  3. DELETE:删除指定的服务器资源;
  4. UPDATE: 更新指定的服务端资源;

指定资源:

  • 地址中指定资源 与 请求数据中指定资源

    状态码:

4、HTTP工作结构

web缓存

  • 内容存在二八原则;应该优先缓存热门内容;
  • Redis:基于主存的Key -V 数据库;还有memcached;或者内存、SSD 自己开发;

web 代理

屏蔽server部署结构、架构;实现防火墙等;

  • 正向代理:代表客户端访问server;对于客户端来说是正向代理;
  • 反向代理:代表server将数据返回给客户端;
  • 代理软件:Nginx、HAProxy;

CDN(Content Delivery Network,内容分发网络)

  • 实现多媒体内容的加速;
  • 将部分内容部署在其他地方,留备份,让其他地方访问更快;

爬虫

百度、谷歌本质就是爬虫,将内容爬下来,做索引;然后内容提供给大家;

不好的爬虫可能造成:增加网络拥塞、损耗服务器资源

5、HTTPS工作结构

HTTP是明文传输的;HTTPS 是安全的HTTP协议
https:// <主机>:<端口>/<路径>; 端口由80变为443;

加密模式:

  • 对称加密

加密、解密秘钥相同

  • 非对称加密

加密、解密秘钥不同
A、B是拥有一定数学关系的一组秘钥;分为私钥、公钥;
公钥加密、私钥解密的时候,公钥只能加密,无法解密;

概念:

  • 数字证书:

可信任组织颁发给特定对象的认证;

  • SSL:(Secure Sockets Layer 安全套接字协议)
  • 在应用层与传输层之间;
  • 保证数据安全和数据完整;
  • 对传输层数据进行加密后传输;

5、HTTPS 过程

  1. 443端口的TCP连接
  2. SSL安全参数握手
  1. 客户端发送随机数1、协议版本、加密算法;
  2. 服务端发送随机数2、数字证书、确定加密算法;
  3. 客户端确认证书是否有效、生成随机数3、用公钥加密随机数3;并发送给服务器;
  4. 双方通过随机数1、2、3 和相同的算法,生成对称秘钥;之后就可使用对称秘钥进行通信;
  • 综合的使用了对称加密和非对称加密;随机数交流时,使用非对称加密 ;且双方分别生成秘钥,没有经过传输;
  1. 客户端发送数据(包括加密解密)
  2. 服务端发送数据(包括加密解密)

七、实践 - 网络嗅探工具

捕获IP、TCP、UDP协议报文;

网卡工作模式:

  • 混杂模式:接受所有经过网卡设备的数据;

  • 非混杂模式:只接受目的地址指向自己的数据;

  • 大端字节序:高字节放前面;(网络中常用)(人类习惯读写大端字节序)

  • 小端字节序:低字节放前面;(主机中常用)(计算机电路先处理低字节效率高)

【学习笔记】【计算机网络【总】】物理层;链路层;网络层;传输层;应用层;详解相关推荐

  1. JDBC学习笔记01【JDBC快速入门、JDBC各个类详解、JDBC之CRUD练习】

    黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...

  2. ESL3.5 学习笔记(主成分回归,偏最小二乘回归步骤详解)

    3.5 运用派生输入方向的方法 这是一篇有关<统计学习基础>,原书名The Elements of Statistical Learning的学习笔记,该书学习难度较高,有很棒的学者将其翻 ...

  3. python的messagebox的用法_Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解...

    本文实例讲述了Python GUI编程学习笔记之tkinter中messagebox.filedialog控件用法.分享给大家供大家参考,具体如下: 相关内容: messagebox 介绍 使用 fi ...

  4. Apollo 5.5 源码学习笔记(五) | transform模块 | Apollo中的坐标系统详解

    本系列博客旨在记录自己在学习百度无人驾驶开源框架Apollo的心得和体会,欢迎大家阅读和点赞,并提出宝贵意见,大家相互学习,如需转载,请注明出处,谢谢! 文章目录 1.前言 2.车辆传感器布局 3.传 ...

  5. [转载] python学习笔记(三)- numpy基础:array及matrix详解

    参考链接: Python中的numpy.fv Numpy中的矩阵和数组 numpy包含两种基本的数据类型:数组(array)和矩阵(matrix).无论是数组,还是矩阵,都由同种元素组成. 下面是测试 ...

  6. 前端学习笔记(11)之过渡属性(transition)详解

    有四个transition属性可以影响过渡效果 指定要执行过渡的属性 transition-property: 过渡效果持续的时间 transition-duration: 过渡的时序函数 trans ...

  7. 【Linux学习笔记】8. Linux查找命令:find和grep详解

    Linux查找命令 find查找文件 grep查找字符串 1. find命令 有多种使用方式: 根据文件名搜索 根据文件大小搜索 根据文件类型搜索 根据修改时间搜索 根据文件权限搜索 根据文件所有者搜 ...

  8. 《王道计算机组成原理》学习笔记和总目录导航

    <王道计算机组成原理>学习笔记和总目录导读 本篇文章是阅读和学习<王道计算机组成原理>后总结的理论知识笔记导航,专门用于遗忘后复习 下面的文章是我在学习了<王道计算机组成 ...

  9. 《计算机网络 自顶向下》第三章==传输层==随堂笔记

    文章目录 第三章 传输层 3.1 传输层概述 传输层提供什么服务? 传输层协议 3.2 多路复用和解复用 多路复用 解复用 3.3 UDP(User Datagram Protocol) 3.4 可靠 ...

  10. osi七层网络层_OSI层速成课程

    osi七层网络层 介绍 (Introduction) Have you ever wondered how data is sent through the network from one mach ...

最新文章

  1. python数据科学和机器学习常用库的官方文档
  2. Java 连接数据库(SQL Server)ODBC配置详情
  3. 关于js禁止浏览器缩放
  4. 扔掉老破V100、A100,英伟达新一代计算卡H100来了!
  5. 详解Linux环境软RAID 5建立过程
  6. 干货!一文讲清楚电商商品生产和库存的数据分析
  7. Bailian2765 POJ NOI0113-03 八进制小数【进制】
  8. 【js高三】---js模块模式
  9. oracle优化策略一般包括,一些很实用的Oracle数据库优化策略总结篇
  10. Eclipse离线安装Svn插件
  11. 网络蚂蚁的最基本原理nbsp;-nbsp;httpnbsp;1.1
  12. 杨柳目-杨柳科-柳属-柳树:柳树
  13. 软件测试中的接口分析,软件测试接口测试之管理类—叩丁狼分享
  14. ceph的 cache tier实现分析
  15. 试试这些方法,误删文件怎么恢复?
  16. jzoj 4638. 第三条跑道
  17. 万字长文:人脸识别综述(学习笔记)
  18. Actor模式理解与使用
  19. Unity背包系统-2:数据库存储方法ScriptableObject和显示背包物品InventoryManager
  20. indesign照片放入太大_Indesign排版文件非常大,怎么解决

热门文章

  1. 2021-11-14剑指OfferII014.字符串中的变位词
  2. Android之ExpandableList扩展用法(基于BaseExpandableListAdapter)
  3. 如何安装mysql在linux,如何在Linux中安装MySQL?
  4. android自定义空的view,ListView android中的自定义空视图
  5. 流量变现的最佳工具——小程序直播
  6. 为什么要做微信小程序
  7. NCDA和计算机设计大赛,“未来设计师”全国高校数字艺术设计大赛(NCDA大赛)参赛流程...
  8. java 分转换元_java 金钱元和分互相转换
  9. python生成和为1的随机数_生成0.1到1.0之间的随机数。Python
  10. 网段不同计算机名共享win7,Win7系统不同网段共享打印机的操作方法