《计算机网络,自顶向下方法》笔记(一)
# 前言
本人非科班出身,虽然平时敲代码的过程中经常使用到 TCP
、UDP
、HTTP等网络协议
,但是对他们的原理我一直是一知半解,至于更底层的实现更是一窍不通,加上最近折腾nas和docker发现很多地方踩的坑都和网络有关,因此需要补充学习一下计算机网络相关的知识。
在知乎搜索了一下计算机网络的书单后,推荐书目有: 《计算机网络:自顶向下》
《图解TCP/TP》
《图解HTTP》
谢希仁《计算机网络》
等书。
根据评价我选择了《计算机网络:自顶向下》
这本书开始入门。
# 封面
《计算机网络:自顶向下》第七版
# 第一章 计算机网络和因特网
# 什么是因特网
- 因特网的具体构成,构成因特网的基本硬件和软件组件
- 为分布式应用提供服务的联网基础设施
# 具体构成
在现代计算机网络中,计算设备被称为 主机(host)
或 端系统
端系统
间的连接方式:通信链路(communication link)
和分组交换机(packet switch)
通信链路
: 由不同的物理媒介组成,如同轴电缆、铜线、光纤和无线电频谱。通信链路的传输速率: 比特/秒 bit/s bps
分组
: 当一台端系统向另一台端系统发送数据时,发送端会将数据分段并加上首部字节,由此形成的信息包被称作分组
。 分组到达目标端系统后会被装配成初始数据。分组交换机
: 从 入通信链路接收到分组, 从 出通信链路 转发该分组。
主要类型:
路由器
和链路层交换机
路由器:用于网络核心中
链路层交换机:用于接入网中
路径
: 一个分组经历的一系列通信链路和分组交换机称为通过该网络的路径
书中原文:
分组类似于卡车,通信链路类似于高速公路和公路,分组交换机类似于交叉口,而端系统类似于建筑物。就像卡车选取运输网络的一条路径前行一样,分组则选取计算机网络的一条路径前行。
因特网服务提供商(Internet Service Provider, ISP)
:包括如:本地电缆、住宅区ISP、公司ISP、大学ISP,机场、旅馆等公共场所提供的WIFI接入的ISP,手机等移动设备提供的移动接入的蜂窝数据ISP。
ISP
: 每台ISP自身就是一个由多台分组交换机和多端通信链路组成的网络。并为端系统提供不同类型的网络接入。ISP也为内容提供这提供因特网接入服务,把web站点和视频服务器直接连入因特网。
因特网就是将端系统彼此互联, 因此为端系统提供接入的ISP必须互联。
较低层的ISP通过国家的、国际的较高层 ISP互连起来。
较高层ISP由通过告诉光纤链路互联的高速路由器组成。
无论较高层还是较底层ISP,都是独立管理的,运行着 IP 协议。
协议
: 端系统、分组交换机和其他因特网部件都要运行一系列协议,这些协议控制因特网中学习的接收和发送。
因特网的主要协议统称为TCP/IP,控制因特网中信息的接收和发送:
TCP (Transmission Control Protocol, 传输控制协议)
IP (Internet Protocol, 网际协议)
# 服务描述
从为应用程序提供服务的基础设施角度描述因特网。
传统应用
:电子邮件、web冲浪等。
分布式应用程序
:涉及多个相互交换数据的端系统,应用程序运行在端系统上,不在意作为数据的源或宿。
如:即时通讯、实时道路流量映射、云音乐流、视频流、在线社交网络、视频会议、多人游戏、基于位置的推荐系统。
套接字接口
:规定了运行在一个端系统上的程序请求因特网基础设施向运行在另一个端系统上的特定目的地程序交付程序的方式。
# 什么是协议
协议 (protocol)
: 定义了在两个或多个通信实体之间交换的报文的格式和顺序,以及报文发送和/或接收一条报文或其他时间所采取的动作。
- 物理上连接的计算机,硬件实现的协议控制了在两块网络接口卡见的比特流。
- 端系统中,拥塞控制协议控制了在发送方和接收方之间传输的分组发送的速率。
- 路由器中协议决定了分组从源到目的地的路径。
# 网络边缘
因为端系统位于因特网的边缘,故而被称为端系统。
因特网的端系统包括了桌面计算机(例如,桌面PC、Mac和Linux设备)、服务器(例如,Web和电子邮件服务器)和移动计算机(例如,便携机、智能手机和平板电脑)。
端系统(主机):有时进一步划分为两类
客户端 (client)
: 通常为桌面pc、移动pc、智能手机服务器 (server)
: 通常是更为强大的机器,用于存储和发布Web页面、流视频、中继电子邮件等(今天,大部分提供搜索结果、电子邮件、Web页面和视频的服务器都属于大型数据中心)
# 接入网
接入网
:指将端系统物理连接到其边缘路由器的网络
边缘路由器
:端系统到任何其他远程端系统的路径上的第一台路由器。