Top-Down笔记 #01# 计算机网络概述
【什么是因特网?】
具体构成描述
1、与因特网相连的设备被称作主机或者端系统。(host or end system)
2、连接这些设备的是通信链路和分组交换机。(communication link and packet switch)
3、典型的communication link包括同轴电缆、光纤等。
4、不同的communication link能以不同速率传输数据,传输的速率以bit/s度量。(即“bps”,bit per second)
5、当端对端发送数据的时候,发送端系统将数据分段,并为每段加上首部字节,由此生成的信息包用计算机网络的术语来说称为分组(packet)。(下文提到的分组指“信息包”,而非动词)
6、分组的传输:入通信链路 --> 分组交换机 --> 出通信链路。
7、两种最著名的分组交换机:路由器(router)和链路层交换机。
8、从发送端系统到接收端系统,一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径(route或path)
9、ISP=Internet Service Provider=因特网服务提供商=n条通信链路+n条分组交换机,以及为端系统提供不同类型的网络接入(无线、宽带等)、为内容提供者提供的因特网接入服务。特点:底层ISP通过高层ISP互联起来、各个ISP独立管理并各自运行着IP协议。
10、各个因特网部件都要运行一系列协议(protocal),这些协议控制着因特网中信息的接收与发送。
11、TCP和IP是因特网中两个最重要的协议,统称为TCP/IP。(Transmission Control Protocal,传输控制协议; Internet Protocal,网络协议)
12、IP协议定义了在路由器和端系统之间发送和接收的分组格式。
13、为了方便网络资源的共享,就需要在各个ISP中建立一个统一的标准,现在的Internet standard由IETF研发。
14、IETF的标准文档称为“Request For Comment”(RFC),该文档技术性很强,并相当详细,定义了TCP、IP等协议、目前有将近六千多个RFC。
服务描述
描述因特网大致有两个角度,一个是从具体的硬件出发,另一个是从使用因特网的软件出发。这里的“服务描述”就是指后者,从应用程序的角度出发描述因特网,与因特网相连的端系统提供了因特网API(应用程序编程接口),书里做了一个类比,把这种API类比为邮政的投信规则,只有遵循了这套API,数据(邮件)才能在因特网(快递网络)上传输。(是否可以想象成Java里的inteface,类似于要想被sorted就必须实现comparable接口,而在这里,要想数据被传输,就必须遵循特定的因特网规则?)。当然,这种因特网API也分为许多种,需要根据具体情况选择。
什么是协议
根据书上所描述,协议可以理解为一系列约定俗称的动作,就像人类活动中“问时间”这个行为需要遵循一定的规则一样,报文的接收和发送所采取的动作、报文的格式与次序同样需要由协议加以约束。
【网络边缘】
网络边缘指的是端系统,端系统也可以称作主机,主机可以进一步划分为客户和服务器(服务器通常是指更为强大的机器),许多服务器聚合在一起就成了数据中心。
接入网
接入网是指将端系统连接到其边缘路由器(路径上的第一台路由器)的物理链路。
1、家庭接入:DSL(电话线,本地电话公司充当ISP)、电缆(有线电视)、FTTH(光纤到户,电缆的升级版,超高速率)...
2、企业、学校:通过是两种局域网(LAN)以太网(以太网交换机)和WiFi接入。(WiFi:基于IEEE 802.11技术的无线LAN接入)
3、广域无线接入:3G、4G。
物理媒体:
双绞铜线、同轴电缆、光纤
【网络核心】
网络核心=分组交换机+通信链路。
Q:什么是分组交换?什么是电路交换?两者之间有什么区别?
A:Packet switching and circuit switching are two networking methods for transferring data between two nodes or hosts. For a packet-switched network, data is transferred by dividing the data into individual packets and passing it through the circuits to the other host. In packet-switched networks, the route is not exclusively determined when the packets hit the wire. Using routing algorithms, each packet may actually take a different route through the network to arrive at the destination host. Unlike a circuit-switched network where a static route is setup and pre-established prior to initializing connections to the host.(网络资源)
分组交换
1、存储转发机制。
p个分组经过n条链路序列的时延为(n+p-1)*L/R
2、排队时延和分组丢失(丢包)。
之所以会出现丢包的情况是因为输出队列的缓存空间是有限的,照书上所述,丢失的分组可能是队列的第一个也可能是最后一个。
3、转发表和路由选择协议。
转发表
报文在网络中转发的故事。
端系统:将长报文分组,并在分组首部包含目的地的IP地址。
各个路由器:检查分组包含的IP地址,通过转发表映射成为输出链路。
整个过程可以类比为“不使用地图而喜欢问路的汽车驾驶员”。
路由选择协议
转发表是如何设置的?是人工设置的还是更为自动的智能设置呢?
实践:查看到分组在因特网上的路线。通过:http://www.traceroute.org/
- traceroute to XXXXXX, hops max, byte packets
- 208.64.252.229.uscolo.com (208.64.252.229) 0.432 ms 0.705 ms 0.823 ms
- 199.197.10.6.uscolo.com (199.197.10.6) 0.852 ms 0.884 ms 0.916 ms
- las-b3-link.telia.net (80.239.192.93) 0.584 ms 0.657 ms 0.683 ms
- 213.248.92.130 (213.248.92.130) 101.923 ms 99.831 ms 101.803 ms
- 202.97.90.113 (202.97.90.113) 103.165 ms 103.216 ms 103.256 ms
- (202.97.51.249) 242.464 ms 241.331 ms 243.573 ms
- (202.97.35.105) 145.673 ms 145.697 ms 145.734 ms
- * (202.97.33.85) 212.074 ms 212.124 ms
- 202.97.82.62 (202.97.82.62) 216.307 ms * 202.97.82.62 (202.97.82.62) 266.873 ms
- * * *
- 220.160.92.134 (220.160.92.134) 267.069 ms 238.422 ms 238.512 ms
- * * *
- * * *
- * * *
- * * *
- * * *
- * * *
- * * *
- * * *
- * * *
【分组交换网中的时延、丢包和吞吐量】
分组交换网中的时延概述
1、处理时延:检查首部+分组导向+...
2、排队时延:与流量大小有关
3、传输时延:分组长度和传输速率的函数
4、传播时延:路由器之间的距离的函数
【协议层次及其服务模型】
【面对攻击的网络】
【计算机网络和因特网的历史】
【小结】
1、因特网的硬件基础:端系统 + 分组交换器 + 通信链路
2、因特网为应用程序提供服务。
3、通信实体间需要遵循一系列协议。协议的核心是“一系列约定俗成的动作”。
Top-Down笔记 #01# 计算机网络概述的更多相关文章
- 《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!【转】
转自:http://www.cnblogs.com/bitzhuwei/p/OS-in-30-days-01-hello-bitzhuwei-OS.html 阅读目录(Content) 最初的OS代码 ...
- Redis:学习笔记-01
Redis:学习笔记-01 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 1. Redis入门 2.1 ...
- Java:并发笔记-01
Java:并发笔记-01 说明:这是看了 bilibili 上 黑马程序员 的课程 java并发编程 后做的笔记 1. 进程与线程 本章内容 进程和线程的概念 并行和并发的概念 线程基本应用 1.1 ...
- Redis 笔记 01:入门篇
Redis 笔记 01:入门篇 ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
- Android快乐贪吃蛇游戏实战项目开发教程-01项目概述与目录
一.项目简介 贪吃蛇是一个很经典的游戏,也很适合用来学习.本教程将和大家一起做一个Android版的贪吃蛇游戏. 我已经将做好的案例上传到了应用宝,无病毒.无广告,大家可以放心下载下来把玩一下.应用宝 ...
- 软件测试之loadrunner学习笔记-01事务
loadrunner学习笔记-01事务<转载至网络> 事务又称为Transaction,事务是一个点为了衡量某个action的性能,需要在开始和结束位置插入一个范围,定义这样一个事务. 作 ...
- 《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!
<30天自制操作系统>笔记(01)——hello bitzhuwei's OS! 最初的OS代码 ; hello-os ; TAB=4 ORG 0x7c00 ; 指明程序的装载地址 ; 以 ...
- Java虚拟机JVM学习01 流程概述
Java虚拟机JVM学习01 流程概述 Java虚拟机与程序的生命周期 一个运行时的Java虚拟机(JVM)负责运行一个Java程序. 当启动一个Java程序时,一个虚拟机实例诞生:当程序关闭退出,这 ...
- 《The Linux Command Line》 读书笔记01 基本命令介绍
<The Linux Command Line> 读书笔记01 基本命令介绍 1. What is the Shell? The Shell is a program that takes ...
随机推荐
- MySQL- INSTR 函数的用法
测试数据库: MYSQL数据库 INSTR(STR,SUBSTR) 在一个字符串(STR)中搜索指定的字符(SUBSTR),返回发现指定的字符的位置(INDEX); STR 被搜索的字符串 SUBST ...
- Hibernate的大对象映射
1在持久类中直接声明是java.sql.Blob类型 2在.hbm.xml文件中配置一下信息 <!-- 映射大对象 (就是字符长度超过255和图片想转换成二进制的数据)--> <!- ...
- closure--- 闭包与并行运算
闭包有效的减少了函数所需定义的参数数目.这对于并行运算来说有重要的意义.在并行运算的环境下,我们可以让每台电脑负责一个函数,然后将一台电脑的输出和下一台电脑的输入串联起来.最终,我们像流水线一样工 ...
- 算法大神之路——排序
从今天开始,给自己立下一个目标,每天晚上写一篇算法与数据结构的博客,用来给自己以后的算法工程师的目标铺路! 今天晚上就以算法里面的排序,作为自己的第一章节吧. 排序,就是讲一组数据,按照特定的规则去调 ...
- rabbitmq延迟队列相关
https://blog.csdn.net/qq_26656329/article/details/77891793 --------------rabbitmq queue_decla ...
- 前端开发 - JavaScript - 上
1.js引入 <!DOCTYPE html> <html lang="cn"> <head> <meta charset="UT ...
- Web项目管理工具精选(下)
原文:Web项目管理工具精选(下) 我们在上篇中已推介『代码管理.任务管理.支付工具.数据记录.Dashboard Analytics.客户支持』六个方面的工具.本文将介绍剩下七类工具. A/B测试 ...
- 【Django错误】OSError: raw write() returned invalid length 14 (should have been between 0 and 7)
错误环境 使用Django框架创建完models类的之后,用python manage.py migrate命令来生成数据库表的时候出错 错误代码 Operations to perform: App ...
- Incorrect key file for table ' '; try to repair it
场景:为有150W的数据表增加字段时,报错 解决:在my.ini配置临时目录configure tmpdir. Where MySQL Stores Temporary Files
- ECMAScript 6 学习资料
ECMAScript 6入门 http://es6.ruanyifeng.com/ 30分钟掌握ES6/ES2015核心内容(上) 30分钟掌握ES6/ES2015核心内容(下)