计算机网络是由美国军方使用,自苏联解体之后无竞争对手,因前期投入大量资本然后将该项目投入民用,让资本回流。
网络是将每台计算机当做一个模块使用,比如说这台计算机是I/O型,那台计算机做CPU业务处理型。然后将两台计算使用网络连接就可以充分发挥某一个性能。
物理层:
那么设计计算机的通讯,需要物理连接使得两台计算机可以沟通,这就需要一种介质来支持这个想法,即使用到了物理知识,一种使用什么样的信息来沟通,一个使用什么样的载体,信息选择了01来表示,载体就是
1. 双绞铜线 (两根绝缘铜线)
2. 同轴电缆 (两根铜导体)
3. 光纤 (光脉冲)
物理层的编码方式:
- 不归零制
当前编码规则不可用,因为不知道中途传多个0,我可以说传三个也可以说传四个
- 归零制
当前编码规则可用,但是存在中间状态,而起这个中间状态比 0 和 1 表示的状态多
- 曼彻斯特
当前一个跳变代表 0 或者 1
- 差分曼彻斯特
跳变则说明该比特是0,不跳变则说明该比特是1
调幅:现实情况下 会有毛刺,浮动表示 1 毛刺表示 0
调频:浮动比较大表示 1 浮动比较小 0
调相:
通信复用技术:
- 频分复用
以频率高低来复用
- 时分复用
某一段时间内有某个用户占有
- 统计时分复用
数据组成:
EOT 作为结尾,如果中间出现 EOT 则会被转义。
差错检测:
现实的通信链路都不会是理想的。这就是说,比特在传输过程中可能会产生差错:1可能会变成0,而0也可能变成1。
而这里的物理介质分为三大类:
- 单工 单向通道发消息
- 半双工 你发送消息的时候,对方不能发消息
- 全双工 双方都可以随便发消息
这个权威认证机构就是 ISP,而中国的运营商就是
- 电信
- 联通
- 移动
数据链路层:
研究两台服务器互相沟通。
链路层是操作的MAC地址,跳转目标路由器是需要找到的是物理设备的MAC。IP是端点之间,MAC地址是节点间的。
ARP IP地址MAC地址的映射 目标MAC地址:FFFFFFFF 会被广播,目标地址如果广播后,其中一台计算机接受到该广播消息,如果IP地址不是自己,该计算机将会丢弃该数据包。
数据包中含有:源地址,目标地址。
包装数据包:进程号,IP地址 端口号,MAC地址
对应关系:
源端口号 -> 目标端口号
源IP地址 -> 目标IP地址
源MAC地址 -> 目标MAC地址
这三者便可以找到网络中的一台主机
PPP协议:
点对点,主要用于ISP收费。
CSMA/CD协议:
以太网是将计算机连接到总线上的协议。
以太网提供的是尽最大努力的交付,不可靠协议。
碰撞检测:
网桥:
当网桥收到一个帧时,并不是向所有的接口转发此帧,而是根据此帧的目的MAC地址,查找网桥中的地址表,然后确定将该帧转发到哪一个接口,或者是把它丢弃。
交换机:
多接口的网桥,以太网交换机的每个接口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式。
交换机的学习功能:
VLAN:
在相同 VLAN 上消息会转发,不同组消息不会转发。
网络层:
IP:
地址解析协议:
IP 数据报:
ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。
IP 分组转发:
下一跳机制:
每一个互联网设备,不需要存储整个互联网的拓扑结构都存储起来,只需要将自己下一步的的拓扑结构存储起来(资本推动了该机制的发展)
当一个访问目标不在一个网段内,这时候计算机会匹配路由表,从第一条开始匹配。每个路由表都有一个默认网关,0.0.0.0,
将目标地址与默认网关进行按位与
(举例: 目标网段 192.168.150.0 网关 0.0.0.0 掩码255.255.255.0 该条目用于一个局域网内
目标网段 0.0.0.0 网关 192.168.150.2 掩码0.0.0.0 该条目用于一个网络与网络之间的交互,证明目标地址不在同一个局域网内)
则会得到默认网关,192.168.150.2,指的是如果想要到目标地址,则现在需要从该网段中出去,该网段的出口就是192.168.150.0这个网关
路由协议:路由器具有学习功能
学习 port -> mac(网络工程师需要做路由表的路由表规划)
子网:
最长匹配:
应当从匹配结果中选择具有最长网络前缀的路由 。这叫做最长前缀匹配 (longest-prefix matching),这是因为网络前缀越长,其地址块就越小,因而路由就越具体(more specific)。最长前缀匹配又称为最长匹配或最佳匹配 。
二叉线索查找路由表搜索:
给定一个操作字符串数组
定义:一个节点:一个节点中有个两个数,P:表示该字符在字符串出现了多少次,E:以该字符结尾的字符串多少次
遍历数组中的每一个字符串。
1.如果这个字符串在前缀树上没有该节点则在该树上创建一个节点初始化,初始化该节点的P
2.如果有该节点,则将该节点的P值增加1
3.如果该字符串是以该节点作为结束字符,将P值增加1,并将E值增加1
前缀树结构与Map结构的对比,Map和前缀树都可以实现查询字符串,但是前缀树可以实现。
例如:该字符在字符串中出现了多少次,或者是以该字符结尾的字符串有多少个。
网际控制报文协议ICMP
为了更有效地转发IP数据报和提高交付成功的机会,在网际层使用了网际控制报文协议ICMP (Internet Control Message Protocol)。ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP是互联网的标准协议。但ICMP不是高层协议(看起来好像是高层协议,因为ICMP报文是装在IP数据报中,作为其中的数据部分),而是IP层的协议。ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。
ICMP差错报告报文和ICMP询问报文
互联网的路由选择协议
自治系统之间的路由选择也叫做域间路由选择 ( interdomainrouting ) , 而在自治系统内部的路由选择叫做域内路由选择(intradomain routing)。
内部网关协议 IGP
即在一个自治系统内部使用的路由选择协议,而这与在互联网中的其他自治系统选用什么路由选择协议无关。目前这类路由选择协议使用得最多,如RIP和OSPF协议。
RIP协议
RIP(Routing Information Protocol)是内部网关协议IGP中最先得到广泛使用的协议[RFC 1058],它的中文名称叫做路由信息协议,但很少被使用。RIP是一种分布式的基于距离向量的路由选择协议 ,是互联网的标准协,其最大优点就是简单。
RIP协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。从一路由器到直接连接的网络的距离定义为1。从一路由器到非直接连接的网络的距离定义为所经过的路由器数加1。RIP协议的“距离”也称为“跳数 ”(hop count) (14),因为每经过一个路由器,跳数就加1。RIP认为好的路由就是它通过的路由器的数目少,即“距离短”。RIP允许一条路径最多只能包含15个路由器。因此“距离”等于16时即相当于不可达。可见RIP只适用于小型互联网 。
RIP协议的这一特点叫做:好消息传播得快,而坏消息传播得慢 。
距离向量算法
RIP协议让一个自治系统中的所有路由器都和自己的相邻路由器定期交换路由信息,并不断更新其路由表,使得从每一个路由器到每一个目的网络的路由都是最短的 (即跳数最少)。这里还应注意:虽然所有的路由器最终都拥有了整个自治系统的全局路由信息,但由于每一个路由器的位置不同,它们的路由表当然也应当是不同的。
OSPF
这个协议的名字是开放最短路径优先 OSPF(Open Shortest PathFirst)
“最短路径优先 ”是因为使用了Dijkstra 提出的最短路径算法SPF 。
OSPF的第二个版本OSPF2已成为互联网标准协议。
外部网关协议 EGP
若源主机和目的主机处在不同的自治系统中(这两个自治系统可能使用不同的内部网关协议),当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议EGP。目前使用最多的外部网关协议是BGP的版本4(BGP-4)。
- 互联网的规模太大,使得自治系统AS之间路由选择非常困难 。
- 自治系统AS之间的路由选择必须考虑有关策略 。
路由器:
“转发 ”就是路由器根据转发表把收到的IP数据报从路由器合适的端口转发出去。
“路由选择 ”则涉及到很多路由器,路由表则是许多路由器协同工作的结果。
VPN:
NAT 网络
运输层:
UDP:不可靠传输协议
TCP/IP:可靠协议
有连接
超时重传机制:滑动窗口、流量控制和拥塞控制机制
滑动窗口:连续ARQ协议
拥塞控制:
拥塞控制机制快启动,慢开始:
应用层:
DNS:
域名系统 DNS(Domain Name System)是互联网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。域名系统其实就是名字系统。为什么不叫“名字”而叫“域名”呢?这是因为在这种互联网的命名系统中使用了许多的“域”(domain),因此就出现了“域名”这个名词。“域名系统”很明确地指明这种系统是用在互联网中的。
文件传输协议 FTP:
万维网:
万维网 WWW(World Wide Web)并非某种特殊的计算机网络。万维网是一个大规模的、联机式的信息储藏所 ,英文简称为Web。万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点(也就是所谓的“链接到另一个站点 ”),从而主动地按需获取丰富的信息。
远程终端协议TELNET:
超文本传送协议HTTP:
代理服务器: