《图解TCP&IP》读书笔记

Posted by Waynerv on

category: 计算机网络

Tags: TCP 读书笔记

第1章网络基础知识

1.1 计算机网络出现的背景

1.1.1 计算机的普及与多样化
1.1.2 从独立模式到网络互连模式
1.1.3 从计算机通信到信息通信
1.1.4 计算机网络的作用

单台计算机通过交换机及路由器连接组成LAN,多个LAN组成WAN。

1.2 计算机与网络发展的7个阶段

  1. 批处理:将程序与数据写入卡带,由计算机按顺序处理
  2. 分时系统:多台终端共用一台计算机系统
  3. 计算机之间的通信:计算机之间建立相互连接
  4. 计算机网络的产生:80年代计算机网络诞生
  5. 互联网的普及:连接异构型计算
  6. 以互联网技术为中心的时代:与通信网络、家用电器等融合
  7. 从单纯建立连接到安全建立连接:安全及稳定性日趋重要

1.3 协议

  1. TCP/IP就是IP、TCP、HTTP等协议的集合
  2. 协议就是计算机与计算机之间通过网络实现通信时事先达成的一种“约定”
  3. 明确定义协议,并遵循既定的协议设计软件和制造计算机硬件,才能实现计算机间的互相通信
  4. 分组交换是指将大数据分割为一个个叫做包(Packet)的较小单位进行传输的方法(拆散打上标签传输,接收时根据标签重组)

1.4 协议由谁规定

  1. TCP/IP是一种业界标准,并非国际或国家标准。

1.5 协议分层与OSI参考模型

  1. 协议的分层:上下层之间进行交互时所遵循的约定叫做接口。同一层之间的交互所遵循的约定叫做协议
  2. OSI参考模型

OSI分层模型

实际的TCP/IP分层模型与OSI有所区别 3. OSI参考模型中各个分层的作用

OSI参考模型作用

1.6 OSI参考模型通信处理举例

  1. 7层通信

传输数据时由最上层往下传输数据,并附上当前层首部信息;接收时从下往上逐层分离首部与内容,最终将数据复原 2. 会话层以上的处理 - 应用层 输入及展示邮件内容 - 表示层 将输入的内容转换格式供网络传输,接收再转换予以显示 - 会话层 决定采用何种连接方法,何时建立连接、发送数据,但不具有实际传输数据功能 3. 传输层以下的处理 - 传输层 在两个主机间创建逻辑上的通信连接,保证数据传输的可靠性 - 网络层 在网络连接环境中,将数据从发送端主机发送到接收端主机。确定目的地址,进行数据包的发送处理

1.7 传输方式的分类

  1. 面向有连接型与面向无连接型
  2. 面向有连接型 必须在通信传输前后,专门进行建立和断开连接的处理。TCP
  3. 面向无连接型 不需要确认对端是否存在。分组数据、以太网、IP
  4. 电路交换与分组交换
  5. 电路交换 独占线路进行数据传输
  6. 分组交换 路由器接收到数据后按顺序缓存到队列中,再以顺序逐一发送。
  7. 根据接收端数量分类
  8. 单播 一对一对话
  9. 广播 同一数据链路内一对多对话
  10. 多播 对特定组内进行通信
  11. 任播 与特定组内任意一台(最符合网络条件)计算机通信

1.8 地址

  1. 地址的唯一性
  2. 一个地址必须明确表示一个主体对象
  3. 层次分类帮助更快定位某一地址
  4. MAC地址是无分层地址
  5. IP地址通过网络号与主机号实现分层
  6. MAC寻址参考根据自学自动生成的地址转发表
  7. IP寻址参考更根据路由协议自动生成的路由控制表

MAC与IP寻址

1.9 网络的构成要素

网络构成要素

  1. 通信媒介与数据链路
  2. 电缆光纤等不同媒介建立不同的数据链路
  3. 传输速率并非媒介的信号流动速率,而是指带宽(由于分组数据)
  4. 网卡
  5. 任何一台计算机连接网络都必须使用网卡
  6. 中继器
  7. 物理层面上延长网络,放大衰减的信号
  8. 虽然能转换信号,但是无缓冲区所以不能在带宽不同的媒介间转发
  9. 网桥/2层交换机
  10. 数据链路层面上连接两个网络
  11. 识别数据帧,转存后重新发送全新帧,可以连接不同链路
  12. 核验数据帧FCS数据位,丢弃损坏数据
  13. 地址自学,保存转发过的MAC所在地址
  14. 路由器/3层交换机
  15. 网络层面上连接两个网络,并转发分组数据
  16. 连接不同的数据链路,分担网络负荷
  17. 4~7层交换机
  18. 以TCP等协议的传输层及其上面的应用层为基础,分析收发数据,并对其进行特定的处理
  19. 服务器负载均衡器(将一个域名地址接收的数据转发到多个服务器)、广域网加速器、特殊应用访问加速以及防火墙
  20. 网关
  21. 对传输层到应用层的数据进行转换和转发的设备(协议翻译和转发数据)
  22. eg:互联网邮件与手机邮件的转换服务
  23. 代理服务器也是网关的一种(缓存服务器数据,代为响应)

1.10 现代网络实态

  1. 网络构成
  2. 高速路由器构成骨干网,2/3层交换机构成边缘网络
  3. 移动通信
  4. 手机网络构成与互联网接入服务很相似
  5. 从信息发布者的角度看网络
  6. 将服务器托管于数据中心,剥离运维,只关注信息和内容

第2章TCP/IP基础知识

2.1 TCP/IP出现的背景及其历史

  1. 诞生于美国国防部对军用技术的研发,目的是为了通信线路的可靠性(容灾性)
  2. 1969年ARPANET(4个节点)诞生,全球互联网的雏形
  3. TCP/IP于1982年确定规范,1983年被应用于ARPNET唯一指定协议
  4. TCP/IP协议的扩张得益于UNIX系统的普及

2.2 TCP/IP的标准化

  1. TCP/IP的具体含义:利用IP进行通信时所必须用到的协议群的统称
  2. TCP/IP标准化精髓:
  3. 开放性:任何都可参与讨论提出标准
  4. 实用性:以实现通信为目标,先实验应用再标准化
  5. TCP/IP规范——RFC级标准化流程
互联网草案-->提议标准-->草案标准-->真正标准
不是制定为标准后才投入应用,而是成为标准时,已经被充分地试验并得到普及

2.3 互联网基础知识

  1. 互联网定义:由ARPANET发展而来,互联全世界的计算机网络
  2. 互联网的协议就是TCP/IP, TCP/IP就是互联网的协议
  3. 互联网的结构:骨干网和末端网组成,众多异构网络通过IX(网络交换中心)连接成的巨型网络

互联网结构 4. 普通用户通过ISP接入互联网

2.4 TCP/IP协议分层模型

  1. TCP/IP与OSI参考模型

TCP分层模型

  1. 硬件(物理层)
  2. 最底层负责数据传输的硬件
  3. 物理层没有明确的定义和既定指标

  4. 网络接口层(数据链路层)

  5. 让NIC(网卡)起作用的驱动程序

  6. 互联网层(网络层)

  7. 将分组数据通过IP协议发送到目的主机
  8. 转发分组数据包功能通过路由器实现
  9. 所有主机和路由器都必须实现IP功能
  10. 不具有重发机制,属于非可靠性传输协议

  11. 传输层

  12. 通过端口号实现计算机中应用程序间的通信
  13. 保证两端通信主机之间的通信可达(3次握手4次结束至少7次的发包收包)

  14. 应用层(会话层以上的分层)

  15. TCP/IP应用的架构绝大多数属于客户端/服务端模型
  16. WWW中的HTTP属于OSI应用层的协议,而HTML属于表示层的协议
电子邮件
文件传输FTP:进行文件传输时建立数据和控制两个连接
远程登录TELNET和SSH
网络管理SNMP:进行网络配置、诊断管理

2.5 TCP/IP分层模型与通信示例

  1. 数据包首部
  2. 每个分层中,都会对发送的数据附加一个首部
  3. 首部结构由协议具体规范定义,标明协议应该如何读取数据
  4. 发送数据包
  5. 应用程序处理:对内容进行编码,决定建立通信连接,转发下一层
  6. TCP模块处理:根据应用指示建议连接、发送数据、断开连接。附加首部后转发IP层
TCP首部中包括源端口号和目标端口号(用以识别发送主机跟接
收主机上的应用)、序号(用以表示发送的包中数据的顺序)以及校验和(用以判断数据是否被损坏) 。
  • IP模块的处理:附加IP首部,包含发送端与接收端IP地址,参考路由决定下一发送节点,转发至连接这些节点网络接口的驱动程序。
  • 以太网驱动的处理:附加以太网首部进行发送处理,通过物理层传输给接收端。
以太网首部中包含接收端MAC地址、发送端MAC地址以及标志以太网类型的以太网数据的协议
  1. 经过数据链路的包
  2. 每个包首部至少会包含:一是发送端和接收端地址,二是上一层的协议类型。
  3. 经过每个协议分层时, 都必须有识别包发送端和接收端的信息。

分层中包的结构 4. 数据包接收处理 - 包的接收流程是发送流程的逆序处理 - 如果无法识别该层首部或识别的地址有误则丢弃处理

第3章数据链路

3.1 数据链路的作用

  1. 定义通过通信媒介互连的设备间传输的规范
  2. 可被视为网络传输中最小单位

3.2 数据链路相关技术

  1. MAC地址
  2. 用于识别数据链路中互连的节点
  3. 任何一个网卡的MAC地址都是唯一的(理论上)
  4. 共享介质型网络
  5. 争用方式:先到先得,冲突即放弃发送,随机延时后重新发送
  6. 令牌传递方式:只有获得令牌的站才能发送数据
  7. 非共享介质网络
  8. 由交换机负责转发数据帧,发送端与接收端不共享介质
  9. 可以实现全双工通信:允许同一时间发送和接受数据
  10. 根据MAC地址转发
  11. 以太网交换机:持有多个端口的网桥,连接多台主机
  12. 自学过程:将MAC地址和对应接口记录到转发表中
  13. 连接多个终端可以划分多个数据链路进行分层管理
  14. 环路检测技术
  15. 生成树方式
  16. 源路由法
  17. VLAN
  18. 通过VLAN的VID标签在同一个交换集线器中划分不同网段

3.3 以太网

  1. 以太网连接形式

以太网连接形式 2. 以太网的分类 - 基于通信电缆和通信速度的差异分类 3. 以太网的历史 - 非共享介质网络成为主流 4. 以太网帧格式

以太网帧体格式

3.4 无线通信

  1. 无线通信的种类
  2. 无线PAN:蓝牙
  3. 无线LAN:Wi-Fi
  4. 无线MAN
  5. 无线RAN
  6. 无线WAN:手机通信3G\4G
  7. 都使用MAC地址

3.5 PPP

  1. PPP定义:点对点连接协议,纯粹数据链路层,物理层无关
  2. LCP与NCP:负责建立断开连接和设置IP地址等
  3. PPP的帧格式:插入删除数据帧中0的操作会给计算机带来大量负荷
  4. PPPoE:采用PPPoE管理以太网连接,利用PPP的验证等功能使ISP可以管理终端用户的连接和计时收费

3.6 其他数据链路

3.6.1 ATM:面向连接,容易拥堵
3.6.2 POS:POS机加密线路?
3.6.3 FDDI:令牌环双环
3.6.4 Token Ring
3.6.5 100VG-AnyLAN
3.6.6 光纤通道:搭建服务器和存储设备间高速连接
3.6.7 HIPPI
3.6.8 IEEE1394
3.6.9 HDMI
3.6.10 iSCSI
3.6.11 InfiniBand
3.6.12 DOCSIS
3.6.13 高速PLC:利用电力线路进行数据传输

3.7 公共网络

  1. 模拟电话线路:利用固定电话线路,需要将数字信号转换为模拟信号的调制调制器(猫)
  2. 移动通信服务:手机和PHS(类似于小灵通)
  3. ADSL:在电话线路上附加分离器隔离音频信号和数字信号,实现更高速度
  4. FTTH:光纤到户,需要ONU进行光信号和电子信号转换(光猫)
  5. VPN:对IP包附加标签进行验证和加密,在互联网上构造一个封闭的私有网络。
6. 有线电视
7. 专线:一对一连接
8. 公共无线LAN
9. 其他公共无线通信服务

第4章IP协议

4.1 IP即网际协议

  1. IP相当于OSI参考模型的第3层
  2. 主要作用:实现终端节点之间的通信
  3. 可以跨越不同数据链路
  4. 主机和路由器统称节点
  5. 网络层与数据链路层的关系
  6. 数据链路层提供直连两个设备之间的通信功能
  7. 类似于火车票机票和旅行的行程表

4.2 IP基础知识

  1. IP地址属于网络层地址
  2. 用于在“连接到网络中的所有主机中识别出进行通信的目标地址”
  3. 所有主机和路由器需要设定IP地址,网桥或交换集线器等转发设备不需要
  4. 路由控制
  5. 将分组数据发送到最终目标地址的功能
  6. 路由器或主机在转发IP数据包时只指定下一个路由器或主机
  7. 路由控制表:所有主机都维护一张路由控制表,记录IP数据在下一步应该发给哪个路由器
  8. 数据链路的抽象化
  9. 不同数据链路最大的区别是它们各自的MTU不同
  10. IP进行分片处理,将较大的IP包分成多个较小的IP包
  11. IP属于面向无连接型
  12. 面向有连接的情况下,需要事先建立连接。如果对端主机关机或不存在, 也就不可能建立连接(TCP)
  13. 采用面向无连接原因:简化和提速

4.3 IP地址的基础知识

  1. IP地址的定义:32位二进制数,每个网卡都需要设置IP地址
  2. IP地址由网络和主机两部分标识组成,均不能重复
  3. IP地址的分类:ABCD类,主机地址不可以全部为0或1
  4. 广播地址:将主机地址全部设置为1,分为本地和直接广播
  5. IP多播:1对N将包发送给特定组内的所有主机,D类地址
  6. 子网掩码:扩大IP地址的类别
  7. CIDR与VLSM:将多个同类地址划分一个网络内,降低路由器负担
  8. 全局地址与私有地址:全局IP地址在整个互联网范围内保持唯一,私有地址不需要;通过NAT技术互换全局和私有IP
  9. 全局地址由谁决定:ICANN

4.4 路由控制

  1. IP地址与路由控制
  2. IP本身并没有定义制作路由控制表的协议,依赖于路由协议
  3. 路由控制表中记录着网络地址与下一步应该发送至路由器的地址
  4. 环回地址:127.0.0.1或localhost在本机内的程序间通信
  5. 路由控制表的聚合
  6. 想要构建大规模、高性能网络,则需要尽可能削减路由表的大小

4.5 IP分割处理与再构成处理

  1. 数据链路不同,MTU则相异
  2. IP报文的分片与重组
  3. 任何一台主机都有必要对IP分片进行相应处理
  4. 路由器只做分片不会进行重组
  5. 路径MTU发现
  6. 不希望路由器分片处理
  7. 通过路径MTU发现提前确定最大MTU,发送后无需再分片
  8. MTU值缓存10分钟后,过后重新做路径MTU发现

4.6 IPv6

  1. IPv6的必要性:IPv4地址将耗尽
  2. IPv6的特点
  3. IP地址扩大与路由控制表的聚合
  4. 性能提升:简化首部结构,减轻路由负担,路由器不再做分片处理(通过路径MTU发现只由发送端主机进行分片处理)
  5. 支持即插即用功能:没有DHCP服务器也可以实现自动分配IP地址。
  6. 采用认证与加密功能:应对伪造IP地址的网络安全功能以及防止线路窃听的功能
  7. 多播、 Mobile IP成为扩展功能
  8. IPv6中IP地址的标记方法
  9. 地址长度为128位,使用十六进制表示
  10. IPv6地址的结构
  11. 使用全局单播地址,是互联网中唯一的一个地址,不需要正式分配IP地址
  12. 全局单播地址

IPV6地址 接口ID保存MAC地址的值,也可设置为临时地址 6. 链路本地单播地址:在同一链路中使用,接口ID保存MAC地址的值 7. 唯一本地地址:不进行互联网通信时使用的地址 8. IPv6分段处理:只在作为起点的发送端主机上进行,路由器不参与 分片(通过路径MTU发现)

4.7 IPv4首部

IPV4首部 - TOS字段:目前基本被无视 - IP包最大长度为65535字节 - TTL经过一个路由器减1,避免在网内无线传递

4.8 IPv6首部格式

IPV6首部 - 无可选项,用拓展首部代替

第5章IP协议相关技术

5.1 仅凭IP无法完成通信

  1. 人们通常不习惯使用IP地址
  2. 数据链路层不使用IP地址,而是通过MAC地址传输数据

5.2 DNS

  1. IP地址不便记忆,规模较小时由互联网信息中心管理主机名对应IP地址的host文件
  2. DNS的产生:需要一个可以有效管理主机名和IP地址对应关系的系统
  3. 域名的构成:分层并设有各自的域名服务器,根域名服务器注册了管理域名服务器的IP地址
  4. DNS查询:解析器向域名服务器进行查询,如无结果再向上一层根域名服务器查询。
  5. DNS如同互联网中的分布式数据库,保存了各自了解到的域名信息

5.3 ARP

  1. 底层数据链路层进行实际通信时需要了解每个IP地址对应的MAC地址
  2. ARP只适用于IPv4,IPv6使用ICMPv6以代替
  3. ARP的工作机制:同一链路内借助ARP请求包(广播)与响应包确定MAC地址,并缓存一定时限
  4. IP地址和MAC地址缺一不可:路由器会阻隔ARP请求,请求MAc地址不便于跨链路传输,也无法承受这么巨大的流量
    • 以IP地址作为目标指引,在每个不同的链路更换数据链路目标地址这种分节分层的做法是更优选择
  5. RARP:从MAc地址定位Ip地址的一种协议,需要架设RARP服务器注册MAC地址和IP地址并供查询。
  6. 代理ARP:通常ARP包会被路由器隔离,但是采用代理ARP(Proxy ARP)的路由器可以将ARP请求转发给邻近的网段。

5.4 ICMP

  1. 辅助IP的ICMP:确认IP包是否成功送达目标地址,发送过程中IP包被废弃的原因,由路由器通过IP向主机发送
  2. 主要的ICMP消息
    • 目标不可达
    • 重定向(重新选择更优路由)
    • 超时(IP包中的TTL减为0)
    • 回送消息(ping测试延迟)
  3. 其他ICMP消息:路由器探索、地址掩码
  4. ICMPv6:为IPv6提供ARP、ICMP重定向及ICMP路由器选择等功能

5.5 DHCP

1.DHCP实现即插即用,设置DHCP服务器,接入网络后自动进行IP地址、子网掩码、默认路由、DNS服务器等设置,通常架设多台 2. DHCP的工作机制:客户端发现包要求配置——服务器提供包通知配置——请求包确认配置——提供包允许配置 3. DHCP中继代理:每个网络可设置一个中继代理(单播传递信息到DHCP服务器)如宽带路由器,实现不同链路统一管理。

5.6 NAT

  1. NAT定义:将本地网络中的私有地址在互联网通信时转换为全局IP地址
  2. NAT的工作机制:NAT路由器中自动生成私有IP和公有IP的映射关系,转发数据时进行转换(转换IP首部或TCP/UDP首部地址)。通过增加端口号区分私有网络内的不同客户端
  3. NAT-PT(NAPT-PT):将IPV6的首部转换为IPv4
  4. NAT的主要问题:无法主动从外部向内部服务器建立连接(因为不知道准确地址)
  5. 解决NAT的潜在问题与NAT穿越:使用IPv6或NAT穿越(多种实现方式,不深入了解)

5.7 IP隧道

  1. 在网络层首部追加网络层首部对原数据包进行封装(如IPv6数据包追加IPv4首部)以穿越不同v4、v6协议(也可用于长距离多播用单播IP首部封装)

5.8 其他IP相关技术

  1. IP多播相关技术:使用MLD技术发现接收端一边面流量浪费
  2. IP任播:主要用于报警电话及消防电话,DNS根域名服务器(IP地址相同,联系最近的)
  3. 通信质量控制:通过IntServ与DiffServ进行通信质量的控制,不深入了解
  4. 显式拥塞通知:将IP首部的TOS字段置换为ECN字段、在TCP首部中追加CWR、ECE标志通知网络堵塞
  5. Mobile IP:主机所连接的子网IP发生变化,但主机地址仍保持不变(需要外部代理转发数据包)

第6章TCP与UDP

6.1 传输层的作用

  1. TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输
  2. 传输层定义:接受网络层数据包,并根据端口号识别在传输层应用层中所要进行处理的具体程序(一个程序可以使用多个端口。)
  3. 通信处理:传输协议TCP、UDP通过接收数据中的目标端口号识别目标处理程序。传输协议的数据可被传递给HTTP、TELNET以及FTP等应用层协议(对应服务端程序httpd\sshd\ftpd等守护进程)。
  4. TCP特性:面向连接、可靠的流协议,有顺序控制重发控制等机制
  5. UDP特性:不具有可靠性,但传输速度和实时性更优
  6. 套接字(Socket):应用程序利用套接字,可以设置对端的IP地址、端口号,并实现数据的发送与接收(即调用TCP/IP协议)。

6.2 端口号

  1. 定义:识别同一台计算机中进行通信的不同应用程序,也被称为程序地址
  2. 根据端口号识别应用: 根据端口号识别应用
  3. TCP/IP或UDP/IP通信中采用“源IP地址”、“目标IP地址”、“协议号”、“源端口号”、“目标端口号”5个信息来识别一个通信,只要其中某一项不同,则被认为是其他通信。
  4. 端口号如何确定:标准既定(通常是1-1024);时序分配,有操作系统进行分配(通常49152-65535之间)
  5. 端口号与协议:不同协议可以使用同一端口号

6.3 UDP

  1. 无法进行流量控制,也无法纠正包的到达顺序
  2. 通常用途:
    • 包总量较少的通信(DNS、SNMP等)
    • 视频、音频等多媒体通信(即时通信)
    • 限定于LAN等特定网络中的应用通信
    • 广播通信(广播、多播)

6.4 TCP

  1. 连接:当连接建立后,应用程序只使用这个虚拟的通信线路发送接收数据。TCP则通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制,负责控制连接的建立、断开、保持等管理工作并确保可靠传输
  2. 通过序列号与确认应答提高可靠性:发送端将数据发出之后会等待对端的确认应答(ACK),接收端根据序列号和数据长度将应接受的序号作为确认应答号返回
  3. 重发超时如何确定:每次发包时都会计算往返时间及其偏差(抖动)往返时间和偏差相加的稍大值即为重发超时。一定重发次数无返回后会强制关闭连接
  4. 连接管理:一个连接的建立与断开,正常过程至少需要来回发送7个包才能完成(建立一个TCP连接需要发送3个包。这个过程也称作“三次握手”。) TCP传输控制
  5. TCP以段为单位发送数据:传送大量数据时以MSS(最大消息长度)将数据进行分割发送,MSS在三次握手时被计算(协商)得出
  6. 利用窗口控制提高速度:以多个分段等待确认应答提升网络性能,发送端需要设置缓冲区保留被发送未确认的数据
  7. 窗口控制与重发控制:发送端主机连续3次收到同一个确认应答会将其所对应的数据进行重发(已发送过的数据),一个直接忽略(确认应答可能传输中丢失)
  8. 流控制:让发送端根据接收端的实际接收能力控制发送的数据量即控制窗口大小(与确认应答号一同返回),发送端主机会时不时的发送窗口探测的数据段获取最新的窗口大小
  9. 拥塞控制:通过慢启的算法得出的数值,逐渐调整发送窗口以控制发送数据量
  10. 提高网络利用率的规范:Nagle算法、延迟确认应答(每两个数据段返回一次应答)、捎带应答

6.5 其他传输层协议

  1. UDP-Lite:可以只针对不允许发生错误的部分进行校验和的检查
  2. SCTP:支持多重宿主,可以为具备多个NIC的主机提供更可靠的传输
  3. DCCP:辅助UDP进行拥塞控制

6.6 UDP首部的格式

UDP首部

6.7 TCP首部格式

  1. TCP首部不表示长度,需要通过IP层计算
  2. 序列号:建立连接时生成随机数,然后累加
  3. 控制位:字段长为8位,分别为CWR、ECE、URG、ACK、PSH、RST、SYN、FIN TCP首部

第7章路由协议

7.1 路由控制的定义

  1. IP地址与路由控制:为了能让数据包通过IP地址正确达到达目标主机,路由器必须在途中通过路由控制进行正确地转发。
  2. 静态路由与动态路由:
    • 静态路由:在路由器上实现设置好路由控制信息
    • 动态路由:设置路由协议让其在运行过程中自动设置路由控制信息
  3. 动态路由的基础:根据路由协议给相邻的路由器发送自己已知的网络连接信息

7.2 路由控制范围

  1. 区域网络、ISP是典型的自治系统,在内部制定自己的路由策略并进行控制
  2. 自治系统(路由选择域)内部动态路由采用的协议是域内路由协议IGP。自治系统之间的路由控制采用的是EGP域间路由协议
  3. IGP与EGP
    • 像根据IP地址中的网络部分在网络之间进行路由选择、根据主机部分在链路内部进行主机识别一样
    • 根据EGP在区域网络之间(或ISP之间)进行路由选择,根据IGP在区域网络内部(或ISP内部)进行主机识别
    • IGP中可以使用RIP(Routing Information Protocol)、RIP2、OSPF(Open Shortest Path First)等协议。EGP使用的是BGP(Border Gateway Protocol)协议。

7.3 路由算法

  1. 距离向量算法:根据距离(代价)和方向决定目标网络或目标主机位置,网络构造复杂时获得稳定的路由信息时间长
  2. 链路状态算法:所有路由器持有相同的网络拓扑信息(连接结构位置)并不断同步。处理代理信息需要较大运算量
  3. 主要路由协议

主要路由协议

7.4 RIP

  1. 定期向全网广播路由控制信息,并自动累加距离
  2. 根据距离向量数据库(选择较小跳数)生成路由控制表
  3. 使用子网掩码时的RIP处理:网络地址不同以IP地址的分类所确定的网络地址长度为准
  4. RIP中路由变更时的处理:
    • 最长距离不超过16,避免无线计数问题
    • 规定路由器不再把所收到的路由消息原路返还给发送端
    • 毒性逆转、触发更新
  5. RIP2:广播改成多播,交换路由信息中包括子网掩码,路由选择域等改良

7.5 OSPF

  1. OSPF是链路状态型路由协议,路由器之间交换链路状态生成网络拓扑信息,然后再根据这个拓扑信息生成路由控制表。RIP选择路由器个数最少的路径,而OSPF是选择总的代价较小的路径
  2. OSPF基础知识:5张不同类型的包来交换更新路由信息
  3. OSPF工作原理:HELLO进行连接确认,链路状态更新包通知其他路由器网络变化(网络LSA和路由LSA),每个路由器生成链路状态数据库,再根据算法生成相应的路由控制表
  4. OSPF可在一个自治系统内部划分多个逻辑区域,以实现分层化细分管理(必须有一个主干区域)

7.6 BGP

  1. BGP与AS号:ISP、区域网络等会将每个网络域编配成一个个自治系统进行管理。它们为每个自治系统分配一个16比特的AS编号(在日本由JPNIC管理着这些AS编号。)。BGP根据这个编号进行相应的路由控制
  2. BGP是路径向量协议,BGP扬声器(路由器)为了在AS之间交换BGP信息,必须与所有AS建立对等的BGP连接

7.7 MPLS

  1. 标记交换不同于路由技术,它对每个IP包都设定一个叫做“标记”的值,然后根据这个“标记”再进行转发。最具代表性的当属多协议标记交换技术(MPLS)
  2. MPLS的网络基本动作:实现MPLS功能的路由器叫做标记交换路由器(LSR),对数据根据标记转发。与外部网路连接的那部分LSR叫做标记边缘路由器(LER),MPLS在LER上对数据包进行追加标记和删除标记的操作。
  3. MPLS的优点:硬件处理简单,转发速度快;利用标记生成虚拟路径,并实现IP数据包通信保证通信质量

第8章应用协议

8.1 应用层协议概要

  1. 应用层协议为了实现某种应用而设计和创造的协议
  2. 根据所开发模块的功能和目的,可以利用现有的应用协议,也可以自己定义一个新的应用协议

8.2 远程登录

  1. TELNET:利用TCP的一条连接向主机发送文字命令并在主机上执行。本地用户好像直接与远端主机内部的Shell相连着似的,直接在本地进行操作。登录主机或路由器等设备时需要注册用户名和密码到服务端 远程登录TELNET
  2. SSH:加密登录后的通信内容防止被窃听。认证机制更强,可以转发文件,可以实现端口转发(起网关作用,使用SSH连接的TCP通信连接ssh客户端程序,使用一般TCP通信连接别的服务端程序比如邮件POP3服务器) SSH

8.3 文件传输FTP

  1. 使用两条TCP连接:一条用来控制(登录用户名和密码的验证、发送文件的名称、发送方式的设置),另一条用于数据(文件)的传输
  2. 在TCP21号端口上进行文件GET、PUT、以及文件一览(LIST)等操作时,每次都会建立一个用于数据传输的TCP连接(通常在20端口)。数据传输在新建的连接上进行,数据传送完毕之后连接会被断开

8.4 电子邮件

  1. 电子邮件的工作机制:SMTP传输层使用TCP协议实现可靠传输,但客户端和服务端都必须保持在线状态,因此引进了相当与网关的邮件服务器
  2. 邮件地址:名称@通信地址
  3. MIME:将传输格式从文本拓展到多种形式数据,相当与OSI中的表示层。首部和正文通过空行分隔,如果首部的“Content-Type”中指定“Multipart/Mixed”,可以将多个MIME消息组合成为一个MIME消息
  4. SMTP:使用TCP的25号端口,建立一个TCP连接以后,在这个连接上进行控制和应答以及数据的发送。客户端以文本的形式发出请求,服务端返回一个3位数字的应答,每个指令和应答的最后都必须追加换行指令(CR、LF)

    SMTP

  5. POP:发送端的邮件根据SMTP协议转发给一直处于插电状态的POP服务器。客户端再根据POP协议从POP服务器接收对方发来的邮件。过程中需要进行用户验证。POP也是通过建立一个TCP连接完成相应操作
  6. IMAP:使用IMAP时,可以不必从服务器上下载所有的邮件也可以阅读,可以直接在服务器上进行已读、分类管理,适用与同时使用多台设备管理邮件

8.5 WWW

  1. 万维网(WWW,World Wide Web)是将互联网中的信息以超文本(HyperTetxt)形式展现的系统。也叫做Web
  2. WWW基本概念:访问信息的手段与位置(URI)、信息的表现形式(HTML)以及信息转发(HTTP)等操作。
  3. URI:不局限于标识互联网资源,它可以作为所有资源的识别码
  4. HTML:可以认为HTML属于WWW的表示层
  5. HTTP:默认使用80端口,从HTTP1.1开始,允许在一个TCP连接上发送多个命令和应答
  6. JavaScript、CGI、Cookie:了解概念

8.6 网络管理

  1. SNMP:通过SNMP管理器,可以对代理设备进行远程管理,如修改设置和确认是否运行正常
  2. MIB:MIB相当于SNMP的表示层,它是一种能够在网络上传输的结构
  3. RMON:由监控网络上线路的众多参数构成
  4. SNMP应用举例:MRTG(Multi Router Traffic GRAPHER)-利用RMON定期收集网络中路由器的网络流量信息的工具

8.7 其他应用层协议

  1. 实时多媒体通信当中采用UDP,主要采用H.323与SIP协议实现呼叫控制,及RTP协议(结合多媒体数据本身的特性行传输的一种协议)和压缩技术(在网络上传输音频、视频等大型多媒体数据时进行压缩)的支持
  2. P2P:P2P中主机具备客户端和服务端两方面的功能,以对等的关系相互提供服务(BitTorrent协议下载)
  3. LDAP:定义了目录树的结构、数据格式、命名规则、目录访问顺序和安全认证

第9章网络安全

9.1 TCP/IP与网络安全、

  1. “便利性”和“安全性”作为两个对立的特性兼容并存

9.2 网络安全构成要素

  1. 各要素 构造安全系统的要素
  2. 防火墙:专门过滤(不过滤)特定数据包的包过滤防火墙、数据到达应用以后由应用处理并拒绝非法访问的应用网关。
  3. IDS(入侵检测系统):可以监控网络上流动的所有数据包
  4. 反病毒/个人防火墙:既可以监控计算机中进出的所有包、数据和文件,也可以防止对计算机的异常操作和病毒入侵(如电脑上安装的杀毒软件)

9.3 加密技术基础

  1. 加密技术的逐层分类 加密技术
  2. 各层加密应用举例 各层加密应用距离
  3. 对称密码体制与公钥密码体制(图解http中详细介绍过) 对称加密和公钥加密

9.4 安全协议

  1. IPsec与VPN:在IP首部的后面追加“封装安全有效载荷”和“认证首部”对此后的数据进行加密,不被盗取者轻易解读,从而构造一个虚拟的专用网络
  2. TLS/SSL与HTTPS:使用TLS/SSL的HTTP通信叫做HTTPS通信。HTTPS中采用对称加密方式,而在发送其公共密钥时采用的则是公钥加密方式
  3. IEEE802.1X:机场wif认证

注:转载本文,请与作者联系




如果觉得文章对您有价值,请作者喝杯咖啡吧

|
donate qrcode

欢迎通过微信与我联系

wechat qrcode

0 Comments latest

No comments.