正文之前
最近沉迷火影,无法自拔。主要责任在抖音,每天给我推送那些剪辑好的催泪视频。。真是日了。。寒假回家只怕要全部重刷一遍了,Naruto!Hinata!!好吧,雏田的图留着自己看,给你们看看鸣人的就好。。哎,以前忙于学业没看到他俩结婚,这次回家一定要看完。
正文
(网络实体)命名与定位
直接定位与解析定位
-
因特网是全球单一可寻址的抽象网络
- 必须连接全球所有计算机或其它设备
- 必须给每个计算机或设备(路由器等)一个全球唯一ID
- IP协议希望这样,故有IPv4 = 232个地址,A/D/C/E类
- IP 地址结构 = Net号 + Host号
- 位置与身份合一
-
IP地址引发问题(简单,但重载)
- 不便记忆:域名产生解析需要
- 局域网早先出现:导致 MacIP变换ARP协议
- IP地址分配不均不够:NAT,三个段公用私网地址:17621775个IP
10/8:1个A
172.16.—172.31/16:15个B 192.168.—192.168/16:1个B
因特网的三地址
- 用户/网络及物理地址
- 域名:公司/机关/团体/个人注册的因特网可访问的世界唯一ID
- 网络(接口)地址:同一体系结构中的可访问的计算机ID:IP地址
- 物理地址:同一体系结构中物理媒体可访问的计算机某端口的唯一 ID:MAC地址
物理地址的配置和作用
- 作用:
- 过滤:指明网卡NIC,过滤不属于本主机接收的数据
- 广播:识别广播地址标志,接收广播报文并送主机
- 地址配置:
- 固定方式:物理地址由厂商决定。不可改变
- 可配置方式:通过EPROM内程序进行交互命令配置
- 动态配置方式:可自动修改和管理物理地址,启动网 络时,通过程序配置一个不冲突的物理地址
域名解析
域名:标识计算机的名字
IP互连与分组交换
- 多个网络互连的2个主要问题:
- 异构:
- 以太网、令牌环、点-点链路及各种交换网络,每个都有自己 的地址模式、媒体访问协议及服务模式等
- 传输介质不同/网络拓扑结构不同
- 介质访问方式不同/网络编址方式不同
- 分组长度/有连接/无连接服务的区别
- 传输控制方式不同
- 各层协议的功能定义、格式、接口与调用方式不同
- 可扩展:
- 网络不断扩大,路由规模指数增(100万—22.7亿个节点)
- 异构:
Internet网络层协议
- 在网络层,Internet可以看成是自治系统的集合,是由网络组成的网络。
- 网络之间互连的纽带是IP(Internet Protocol)协议。
网络互连层的功能
- 功能目标
- 把多个异构或同构的网络连接成更大网络
- 直接支持传输层的端到端服务。
- 关键问题
- 掌握通信子网的拓扑结构,选择路由;
- Hop by Hop 寻址到目的主机
- 为传输层提供何种服务?
- 面向连接服务:
- 将复杂的功能放在网络层
- 传统电信观点:通信子网应该提供可靠的、面向连接的服务
- 无连接服务:将复杂的功能放在传输层
- Internet的观点:通信子网无论怎么设计都是不可靠的,因此网络 层只需提供无连接服务。
- 面向连接服务:
错误报告协议(ICMP)
- ICMP 报文分类
- 差错和控制报文协议:
- 报告IP传输中发生的(差错报文+控制报文+测试报文)
- ICMP报文=头部+数据部分
-
ICMP报文封装在IP数据包中进行传输
- IP头中的包类型=1;
- ICMP并不是IP的上一层协议,仅用IP的转发功能
- 差错和控制报文协议:
- ICMP最典型的应用
- PING:通过发送回送请求报文(echo request)和回送回答报文( echo reply)来检测源主机到目的主机的链路是否有问题,目的地是否 可达,以及通信的延迟情况。
- traceroute:通过发送探测报文来获取路由信息。第一个探测报 文TTL为1,到达第一个路由器时,TTL减1为0所以丢掉这个探测包,同 时向源主机发回ICMP时间超过报文,这时源主机就获得了第一个路由器 的IP地址;接着源主机发送第二个探测报文,TTL增1为2,到达第一个 路由器TTL减1为1并转发探测包到第二个路由器,这时TTL减1为0,丢掉 这个探测包并向源主机发回ICMP时间超过报文,源主机就获得了第二个 路由器的IP地址;以此类推,直到探测报文到达traceroute的目的地, 这时源主机就获得了到目的地的每一跳路由的IP地址。
路由与寻址
- IP寻址
- 每包经每路由器都要决定从哪个端口到下一节点?
- 路由器需要匹配包之目址与路由表, 选择最佳出端口
- 路由器:网络层互连设备,丰富灵活,可扩展
- 静态路由:手工配置/简单拓扑/直观;不适合大规模/多变网络
- 动态路由:实时自动动态更新,并算出当前最佳路由
- 问题:
- 路由器怎样实时知道变化着的网络拓扑?
- 路由器怎样从全局选择每个包的最优出端口?
- 方法:
- 通过<u>路由协议</u>获得节点和链路的信息
- 通过<u>路由算法</u>选择走向目的地的最优下一出口
路由协议
- 自治域AS
- 在一个权威管理机构下运行的网络,分配唯一编号。全球所有AS组成 因特网。
- 内部网关协议IGP:在一个AS内运行
- RIP(Routing Information Protocol)适应小规模网络:定时只向邻 居说(如30s),说知道的所有(自路由表);
- OSPF(Open Shortest Path First Protocol)适应较大规模网络: (链路)变时向所有人说(区内路由器组播),只说邻居的事(链路 状态)
- 外部网关协议EGP:在AS间运行
- 原因:因特网规模大AS间直接OSPF收敛时间很长;AS间最佳路由不现 实(cost意义不统一);各AS管理策略不同。
- BGP4:只寻求一条能到达目网的较好路由(不循环),并不最佳;
- BGP采用路径向量(Path Vector)路由选择协议;
- 变动触发BGP发言人(对接路由器)间交换彼此的路由信息
两大重点
- RIP 距离向量算法 Routing Information Protocol
- OSPF 链路状态算法 Open Shortest Path First
链路状态路由协议(也可以说OSPF)工作原理:
- 每台路由器通过使用Hello报文与它的邻居之间建立邻接关系
- 每台路由器向每个邻居发送链路状态通告(LSA),有时叫链路状态报文(LSP). 每个邻居在收到LSP之后要依次向它的邻居转发这些LSP(泛洪)
- 每台路由器要在数据库中保存一份它所收到的LSA的备份,所有路由器的数据库应该相同
- 依照拓扑数据库每台路由器使用Dijkstra算法(SPF算法)计算出到每个网络的最短路径,并将结果输出到路由选择表中
OSPF的简化原理:发Hello报文——建立邻接关系——形成链路状态数据库——SPF算法——形成路由表。
LSP产生的原因主要有两个:
- 1)路由器定期产生,由于flooding会影响性能,所以这个周期很长
- 2)路由器定期向邻居发hello报文,探测邻居可达性,一旦发现拓扑变化 ,就发出LSP
路由区
因为OSPF路由器之间会将所有的链路状态(LSA)相互交换, 毫不保留,当网络规模达到一定程度时,LSA将形成一个庞大 的数据库,势必会给OSPF计算带来巨大的压力;
为了能够降低复杂程度,OSPF将Domain分为区,采用分区域 计算
每个区域负责各自区域精确的LSA传递与路由计算,然后再将 一个区域的LSA简化和汇总之后转发到另外一个区域
在区域内部,拥有网络精确的LSA,而在不同区域,则传递简 化的LSA
OSPF为了防止环路产生,以采用了Hub-Spoke的拓朴架构来组织各个区, 主干是一个特别区--Area 0
其它区域称为Normal区域(常规区域),在理论上,所有的常规区域应该直接和骨干区域相连,常规区域只能和骨干区域交换LSA,常规区域与 常规区域之间即使直连也无法互换LSA
OSPF 区域是基于路由器的接口划分的,而不是基于整台路由器划分的 ,一台路由器可以属于单个区域,也可以属于多个区域
传输层
- 问题:怎样实现远程进程间的数据传输
- 主机-主机的包传输转化成进程-进程通信通道
- 网络层结构,支持端应用程序--端到端协议
- 什么是连接?
- 一条连接就是不同系统内的两个实体之间的一个临时性的逻辑关联 通路(目IP,源IP,目端口,源端口,TCP/UDP,五元组)
- 在连接持续期间,每个实体都跟踪从对方到达和发送到对方的PDU ,以便调节PDU的流量以及对丢失和损坏的PDU进行恢复。
- 互联网的全部功能,最基本、最小粒度的服务 –
- 端到端数据传
简单多路器-Multiplexer UDP 协议
- 最简单的传输层协议 .
- 主机-主机的传输服务在IP协议上扩展成进程-进程的直接通信服务 .
- 一台主机上可运行多进程, 需加一多路开关层,区别它们并共享网络
- 传输层协议 .
- best-effort未加任何功能.如User Datagram Protocol-UDP
- UDP: .
- 最小/简单分路协议 .
- just port numbers, and an optional checksum .
- no flow control, no congestion control, no reliability or ordering
- 提供无连接服务,不保证数据完整到达目的地,减轻了网络的通信负担
- 适应C/S模式的简单请求/响应通信需要
- 应用程序要实施超时重传机制,并对数据包编号,但增加 了应用程序的复杂性
- UDP可保留各报文间的边界,不把应用多次发送的数据合并 成一个包发出去,且发包后不对该包缓存,这对简单请求/ 响应很方便
- 组播应用、多数音视频都建立在UDP之上。
可靠字节流协议(TCP)
- TCP:更成熟的传输协议
- 提供可靠,面向连接,按序字节流
- 全双工,每个连接支持一对字节流,每个流一个方向
- 流控机制:允许每个字节流的接收端在给定时间内限制其发送 端的数据速率
- 支持多路输出机制,允许一个主机上同时有多个会话对
- 还提供拥塞控制机制
- <u>流控与拥控之差别</u>:
- 流控:防止发送超过接收者能力(速/量), 是端到端的发送
- 拥控:防止过多数据注入到网络中,从而引起交换机或链路超 载,拥控是关于主机到网络的发送
https://blog.csdn.net/xy010902100449/article/details/48274635
TCP:连接需要建立和拆除
TCP:是有状态的协议,状态机保证合理状态转换
TCP:滑动窗口(图中字节顺序从左到右)
TCP报文格式
TCP结束(event/action)交换四个报文,四次握手
TCP:序列号回绕问题、发送窗口太小问题解决方法
- Window Scale
- 选项Timestamps表示 发送这个报文的时间 是4字节:1545573来 自虚拟的时钟
-
选项最后一字节表示 Window Scale=07,表 示Window Size要乘以 2的7次方
正文之后
然后其实我还在沉迷美剧。。我是不是已经废了。。。然后我今晚竟然还妄想去健身。。明天就要交了啊。。。LaTex格式的排版我还没整。。胆子真肥啊我啊啊啊啊啊