IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> TCP/IP学习笔记 -> 正文阅读

[网络协议]TCP/IP学习笔记

1 引言

1.协议(Protocol):一组控制数据通信的规则(三要素:语法、语义、时序)

标准(standard):一致同意的规则(事实上的标准、合法标准)

2.ISO国际标准化组织,ANSI美国国家标准化局

??Internet标准:RFC文档

2 OSI模型和TCPIP协议族

1.OSI参考模型:open system interconnection开放系统互连

目的:使两个不同的系统能够互相通信,而不需要改变底层的硬件或软件逻辑。

包括:(1)物理层 (2)数据链路层 (3)网络层 (4)传输层 (5)会话层 (6)表示层 (7)应用层

2.对等层、对等实体、对等层协议、协议数据单元(PDU)

3.TCP/IP四层结构:网络接口层(LAN、MAN、WAN)、网络层(IP、RAP、RAPR、ICMP、IGMP)、传输层(TCP、UDP)、应用层(FTP、HTTP、SMTP、DNS、TFTP、SNMP)

4.编址

物理地址:标识通信节点,节点所属LAN或WAN指定,LAN或WAN唯一;

IP地址:标识通信节点的网络连接,Internet指定,Internet内唯一;

端口地址:标识通信的进程,操作系统指定,一台计算机内唯一

5.IPv4:地址空间不足(32位)、低效率、对服务质量和安全等方面支持弱;

??IPv6:扩大了地址空间(128位),改进了IPv4的弱点

3 底层网络技术

1.局域网(LAN):允许一些独立设备在受限地理范围内彼此能够直接通信;共享介质——广播式

? 广域网(WAN):在一个很大的地理范围内提供数据、话音、视频信息的长距离传输;交换网络——点到点式

2.以太网(Ethernet)帧:(8字节控制)+14字节首部+DATA+4字节校验尾部

最大限制:1518字节(DATA_max=MTU=1500字节),最小帧长:64字节(2τc)

3.交换(switching):电路交换 VS 分组交换(数据包、虚电路)

4. 连接设备

?? 转发器(Repeater)物理层 ?转发器越多,冲突域越大,网络性能越差

?? 网桥(Bridge) ???链路层 ?分割冲突域,网络性能提升

? ?路由器(Router) ?网络层

?? 网关(Gateway) ??应用层

4 IP编址

1. IP地址—通用标识 ?唯一标识互联网上的主机或路由器

32位地址,常用点分十进制表示

2. IP地址分类

A类:0 Net^7 Host^24? ????0.0.0.0 ~ 127.255.255.255???? 单播

B类:10 Net^14 Host^16 ???128.0.0.0 ~ 191.255.255.255?? 单播

C类:110 Net^21 Host^8 ???192.0.0.0 ~ 223.255.255.255?? 单播

D类:1110 Multicast ??????224.0.0.0 ~ 239.255.255.255?? 多播

E类:1111 Reserved?????? ?240.0.0.0 ~ 255.255.255.255?? 保留地址

3.特殊IP地址

①网络地址:Net id特定,Host id全0

②直接广播地址:Net id特定,Host全1

③受限广播地址(源所在的网络内广播):255.255.255.255

④本网络上的本主机:0.0.0.0 获取地址时临时使用

⑤环回地址:127.xxx.xxx.xxx 测试机器软件

5 构成子网和超网

1.构成子网(subnetting):将一个IP类网划分几个较小的子网(subnet),多个物理网共享同一个IP类网前缀

构成:三层结构(Net id + Subnet id + Host id)

子网地址:特定的Net id + Subnet id + 全0的Host id

子网广播地址:特定的Net id + Subnet id + 全1的Host id

2.掩码(表示子网的大小):全1的Net id + Subnet id + 全0的Host id

? 位与运算:①网络地址=IP地址 & 掩码

??????????? ②主机地址=IP地址 & 掩码的反=IP地址-网络地址

??????????? ③地址范围=(网络地址,网络地址+掩码的反)

3.默认掩码 VS 子网掩码

4.最小的IP子网的掩码=255.255.255.252(4个IP地址中只有2个主机地址)

??变长子网划分所需IP地址个数=主机数+路由器数+2个特殊地址

5.构成超网(Supernetting):偶数个C类网合并+地址块连接

??方法:将Net id中的某些1改为0

6 IP组的交付和路由选择

1.交付(Delivery):对分组的物理转发

路由选择(Routing):为分组寻找路由

2.面向连接(虚电路):建立时选路 VS 无连接(数据报):每个分组独立选路

3.直接交付(目的IP-物理地址):分组目的和分组发送接口在同一IP网络中

??间接交付(下一跳IP-物理地址):分组目的和分组发送接口在不同IP网络中

??交付方式判断:目的IP & 发送口掩码 = 发送口IP & 发送口掩码

4.静态路由选择(手动更新) VS 动态路由选择(路由协议自动更新)

5.路由选择算法:用IP分组中的目的IP地址查找路由表,使用匹配表项的下一跳IP地址完成

??匹配条件:目的IP & Mask(i) = Net(i) 顺序查找

7 网际协议(IP) ?无连接、不可靠

1.数据报(datagram):信息字段(版本4+长度20+服务类型8)+分片控制字段(标识16+标志3+片偏移13)+生存时间字段(TTL8+协议8+校验和16)+源IP地址(32bits)+目的IP地址(32bits)

2.分片:仅有路由器操作 data+header<=MTU

??重组:仅有目的主机操作

8 ARP和RARP

地址解析:逻辑地址à物理地址

1.ARP(IPàMAC):主机发送一个包含目的IP的请求,以广播形式在物理网内扩散。网内所有主机检查是否与目的IP相匹配,若匹配则将自己的MAC地址返回给请求者

①ARP缓存表永远认为新的就是正确的,直接更新

②只有ARP请求和ARP应答才能更新缓存表

2.RARP(MACàIP):广播发送请求,sIP和tIP不填,sMAC=tMAC;RARP服务器单播发送应答

用途:无盘机器的引导,动态IP地址配置

9 ICMP

1. IP的辅助协议,为IP提供差错报告机制。为其它层(TCP/UDP 应用)提供辅助功能 。

2. ICMP在IP之上实现,逻辑上与IP同在网络层。与IP传递过程一致,无连接通信。ICMP差错报告只能送给IP分组的源站,沿途的转发路由器不能获知ICMP报文内容。

10 UDP用户数据报协议 ?无连接、不可靠

1.端点(endpoint)=协议端口(port)+IP地址

2.校验和:伪首部+UDP首部+数据

伪首部:根据IP首部的部分信息形成,不与UDP报文一起发送到网络上。进一步确保UDP报文送到正确主机的正确端口上。

11 TCP 面向连接、可靠、有缓冲、数据流

1.可靠性保证

(1)采用面向连接的通信方式;

(2)滑动窗口协议,以提高通信性能;

(3)携带确认方式;

(4)只有一种报文格式。

2.端口、端点概念与操作方式和UDP完全一样,通信双方抽象的虚电路连接(全双工)。

3.分割数据流产生报文段发送出去,接收处将报文段恢复成数据流

??报文段采用序号标号,上一段序号X,长度L,则下一段序号为X+L

4.MSS(最大报文长度)影响网络传输性能

? 太小:降低网络利用率(报文开销)

? 太大:降低网络性能(分片降低成功传输概率)

5.窗口比例因子:针对高吞吐量和高时廷传输介质上的数据传输,增大窗口大小

? 比例因子max=16? 最大窗口大小=2^32

6.差错控制

? 检测:校验和、确认、超时

? 纠正:重传

7.确认机制—带重传的肯定确认

? 接收方收到正确的数据后,向源站回送ACK报文。

? 源站一段时间未收到ACK报文,发送方重传错误数据(受损报文,丢失报文)

? 累计确认:ACK number是接收方希望接收到的下一个字节,对ACK number以前的所有字节的确认

8.超时重传机制

? 发送方发送数据时启动一个定时器,定期期间,发送方收到确认后,再发送后续数据;定期期满,发送方重传未确认数据(受损报文,丢失报文)

问题1:重复报文段(精确估计报文往返时间RTT)

问题2:失序报文段(直到收到报文之前的所有报文再确认)

9.TCP的流控:收发速率匹配,防止接收方被数据流淹没

? 方法:收发速率匹配—滑动窗口协议

? TCP的拥塞控制:表现为接收时廷增加,超时重传机制会进一步加重网络拥塞

? 方法:减少报文段的发送量—滑动窗口协议

10.窗口:发送方在收到确认前,其发送缓冲区可以发送的数据流长度

?? 滑动:随着确认的不断到达,窗口也不断的向后移动

?? 动态可变窗口:发送窗口大小可变

?? ①超时重传:动态可变窗口导致重传报文与原报文不一致

?? ②流量控制:窗口机制可能不会立即起作用,无法确切知道和防止拥塞

?? ③拥塞避免:发送窗口=min(窗口通告值,拥塞窗口)

???? 没有收到确认,加速递减;收到确认后,慢启动

?? 糊涂窗口综合征(SWS):通信双方的应用进程以不同速率工作时,会出现严重的性能问题。

11.三次握手,四次挥手

12.UDP和TCP的特点比较

UDP:无连接、不可靠、无拥塞控制、报文、支持多目标并发通信

TCP:面向连接、可靠、有拥塞控制、数据流、点对点通信、全双工

12 路由协议

1.Metric(度量):衡量路径的长短

??Convergence(收敛):采用特定路由协议的所有路由器对整个网络拓扑具有一致性的认识

2.自治系统(AS):处于一个管理机构控制下的网络和路由器集合

??内部网关协议:RIP(距离向量路由算法D-V)、OSPF(链路状态路由算法L-S)

??外部网关协议:BGP-4

3.RIP选路信息协议:周期性向邻居路由器发送自己的路由表,封装在UDP中

??计算路径:累计距离向量

??Version1通告信息:IP地址+到达目的的跳数(先加1再发送)

??问题:路由环路&无限计数

??解决方法:触发更新、水平分割、毒性逆转、抑制定时器

4.OSPF开放最短路径优先:事件驱动,向整个区域内的路由器发布链路状态通告分组(LSA),封装在IP分组中

? 计算路径:SPF-最短路径优先算法

??OSPF Tables:邻接表、链路状态数据库,转发表

??操作步骤:①建立路由器邻接关系;②选择DR/BDR(可选);③路由发现;④选择适当路由;⑤路由信息维护

5.RIP VS OSPF

①网络拓扑:RIP只了解自己的邻居和可到网络,OSPF了解整个网络;

②路由计算方法:RIP跳数累加,OSPF计算最短路径优先树

③路由更新方式:RIP周期更新+触发更新,OSPF事件驱动更新

④路由更新内容:RIP更新自有的所有,OSPF只更新有变动的

⑤收敛速度:OSPF快于RIP

⑥适用环境:OSPF适用规模大于RIP

6.BGP-4边界网关协议:封装在TCP中可靠传输,基于策略的选路——路径属性

13 客户/服务器模型

1.一个server可以同时向多个client提供服务,一个client不可以同时向多个server请求服务

2.循环:程序一个接一个的运行,使用UDP服务器

??并发:同时运行多个程序,使用TCP服务器

14 BOOTP和DHCP

1.BOOTP引导协议,静态配置协议(服务器上预先设置了客户端物理地址和IP地址的绑定),引导无盘计算机或第一次启动的计算机

2.DHCP动态主机配置协议:静态IP池+动态IP

15 DNS

1.域名:用.分开的标号序列(节点à根的顺序)

? 域:域名空间中的一颗子树

??域名服务器:存放所授权区的信息

??区:一个域名服务器所负责或授权的范围

2.DNS解析:将域名映射到IP地址

??反向查询:将IP地址映射为域名

??方法:递归解析(更优)、迭代解析

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-07-15 16:36:12  更:2021-07-15 16:37:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/6 15:32:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码