【学习笔记】【计算机网络【总】】物理层;链路层;网络层;传输层;应用层;详解
目录
- 框架
- 一、计算机网络
- 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
根据传输或保存的数据而产生固定位数校验码的方法;
生成校验位,附加在数据后
- 选定校验多项式;并在位数加R个0;(CRC32就是一种多项式,且尾部加32个0)
- 使用 模 2 除法除以多项式;取余-除-取余-除->直到最后的余数;(模 2 除法:异或)
- 得到的余数填充至原数据尾部的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
- 主机使用UDP协议广播DHCP发现报文 Discover
- DHCP服务器发出DHCP提供报文 Offer
- 主机向DHCP服务器发出DHCP请求报文 Request
- DHCP服务器回应并提供IP地址;ACK
3、HTTP详解
超文本传输协议(Hyper Text Transfer Protocol,HTTP)
- 超文本:超级文本;带超链接文本;
- web服务就是提供内容的服务,内容就是超文本;包含了图片、文本、音频视频、动图等;
- 内容都有统一的路径(地址),表示为http 的资源;
- http:// <主机>:<端口>/<路径>;主机为域名/IP;端口为80/443;路径指向内容
- HTTP协议是可靠的数据传输协议;(依靠TCP)
- HTTP协议运行在CS架构上面(客户端-服务端模式)
web服务器:
接受客户端连接、接受请求报文、处理请求、访问web资源、构造应答、发送应答;
请求方法:
- GET: 获取指定的服务器资源;
- POST:提交数据到服务端;
- DELETE:删除指定的服务器资源;
- 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 过程
- 443端口的TCP连接
- SSL安全参数握手
- 客户端发送随机数1、协议版本、加密算法;
- 服务端发送随机数2、数字证书、确定加密算法;
- 客户端确认证书是否有效、生成随机数3、用公钥加密随机数3;并发送给服务器;
- 双方通过随机数1、2、3 和相同的算法,生成对称秘钥;之后就可使用对称秘钥进行通信;
- 综合的使用了对称加密和非对称加密;随机数交流时,使用非对称加密 ;且双方分别生成秘钥,没有经过传输;
- 客户端发送数据(包括加密解密)
- 服务端发送数据(包括加密解密)
七、实践 - 网络嗅探工具
捕获IP、TCP、UDP协议报文;
网卡工作模式:
混杂模式:接受所有经过网卡设备的数据;
非混杂模式:只接受目的地址指向自己的数据;
大端字节序:高字节放前面;(网络中常用)(人类习惯读写大端字节序)
小端字节序:低字节放前面;(主机中常用)(计算机电路先处理低字节效率高)
【学习笔记】【计算机网络【总】】物理层;链路层;网络层;传输层;应用层;详解相关推荐
- JDBC学习笔记01【JDBC快速入门、JDBC各个类详解、JDBC之CRUD练习】
黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...
- ESL3.5 学习笔记(主成分回归,偏最小二乘回归步骤详解)
3.5 运用派生输入方向的方法 这是一篇有关<统计学习基础>,原书名The Elements of Statistical Learning的学习笔记,该书学习难度较高,有很棒的学者将其翻 ...
- python的messagebox的用法_Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解...
本文实例讲述了Python GUI编程学习笔记之tkinter中messagebox.filedialog控件用法.分享给大家供大家参考,具体如下: 相关内容: messagebox 介绍 使用 fi ...
- Apollo 5.5 源码学习笔记(五) | transform模块 | Apollo中的坐标系统详解
本系列博客旨在记录自己在学习百度无人驾驶开源框架Apollo的心得和体会,欢迎大家阅读和点赞,并提出宝贵意见,大家相互学习,如需转载,请注明出处,谢谢! 文章目录 1.前言 2.车辆传感器布局 3.传 ...
- [转载] python学习笔记(三)- numpy基础:array及matrix详解
参考链接: Python中的numpy.fv Numpy中的矩阵和数组 numpy包含两种基本的数据类型:数组(array)和矩阵(matrix).无论是数组,还是矩阵,都由同种元素组成. 下面是测试 ...
- 前端学习笔记(11)之过渡属性(transition)详解
有四个transition属性可以影响过渡效果 指定要执行过渡的属性 transition-property: 过渡效果持续的时间 transition-duration: 过渡的时序函数 trans ...
- 【Linux学习笔记】8. Linux查找命令:find和grep详解
Linux查找命令 find查找文件 grep查找字符串 1. find命令 有多种使用方式: 根据文件名搜索 根据文件大小搜索 根据文件类型搜索 根据修改时间搜索 根据文件权限搜索 根据文件所有者搜 ...
- 《王道计算机组成原理》学习笔记和总目录导航
<王道计算机组成原理>学习笔记和总目录导读 本篇文章是阅读和学习<王道计算机组成原理>后总结的理论知识笔记导航,专门用于遗忘后复习 下面的文章是我在学习了<王道计算机组成 ...
- 《计算机网络 自顶向下》第三章==传输层==随堂笔记
文章目录 第三章 传输层 3.1 传输层概述 传输层提供什么服务? 传输层协议 3.2 多路复用和解复用 多路复用 解复用 3.3 UDP(User Datagram Protocol) 3.4 可靠 ...
- osi七层网络层_OSI层速成课程
osi七层网络层 介绍 (Introduction) Have you ever wondered how data is sent through the network from one mach ...
最新文章
- python数据科学和机器学习常用库的官方文档
- Java 连接数据库(SQL Server)ODBC配置详情
- 关于js禁止浏览器缩放
- 扔掉老破V100、A100,英伟达新一代计算卡H100来了!
- 详解Linux环境软RAID 5建立过程
- 干货!一文讲清楚电商商品生产和库存的数据分析
- Bailian2765 POJ NOI0113-03 八进制小数【进制】
- 【js高三】---js模块模式
- oracle优化策略一般包括,一些很实用的Oracle数据库优化策略总结篇
- Eclipse离线安装Svn插件
- 网络蚂蚁的最基本原理nbsp;-nbsp;httpnbsp;1.1
- 杨柳目-杨柳科-柳属-柳树:柳树
- 软件测试中的接口分析,软件测试接口测试之管理类—叩丁狼分享
- ceph的 cache tier实现分析
- 试试这些方法,误删文件怎么恢复?
- jzoj 4638. 第三条跑道
- 万字长文:人脸识别综述(学习笔记)
- Actor模式理解与使用
- Unity背包系统-2:数据库存储方法ScriptableObject和显示背包物品InventoryManager
- indesign照片放入太大_Indesign排版文件非常大,怎么解决
热门文章
- 2021-11-14剑指OfferII014.字符串中的变位词
- Android之ExpandableList扩展用法(基于BaseExpandableListAdapter)
- 如何安装mysql在linux,如何在Linux中安装MySQL?
- android自定义空的view,ListView android中的自定义空视图
- 流量变现的最佳工具——小程序直播
- 为什么要做微信小程序
- NCDA和计算机设计大赛,“未来设计师”全国高校数字艺术设计大赛(NCDA大赛)参赛流程...
- java 分转换元_java 金钱元和分互相转换
- python生成和为1的随机数_生成0.1到1.0之间的随机数。Python
- 网段不同计算机名共享win7,Win7系统不同网段共享打印机的操作方法