《图解TCP/IP》笔记

这本书适合作为计算机网络的入门书籍,书中形象生动地讲解了TCP/IP的基本知识,对TCP/IP的各个知识点都有概述,相较于《计算机网络:自顶向下方法》、《TCP IP详解卷1:协议》,这本书还是很适合我这种没有计算机基础的新手入门,我准备在这篇笔记中记录关于IP协议TCP/UDP协议的知识点。

1.OSI参考模型和TCP/IP分层模型的区别?
网络分层模型对比
OSI参考模型注重“通信协议必要的功能是什么”,而TCP/IP强调“在计算机上实现协议应该开发哪种程序”。

2.TCP/IP五层模型中每层的作用?

  • 物理层(硬件):负责数据传输的硬件,相当于以太网或电话线路等物理层设备;
  • 数据链路层(网络接口层):负责利用以太网进行通信;
  • 网络层(互联网层):负责转发分组数据包;
  • 传输层:负责应用程序之间的通信;
  • 应用层:负责应用程序通信数据的处理(通信控制,数据表示,数据处理)。

3.数据链路层中的知识点

  • MAC地址:MAC地址用于识别数据链路中的不同节点,其长度为48bit,结构如下:MAC地址结构
  • 以太网帧格式:以太网帧格式
    这里的类型 是指上一层网络协议的类型(一般为ipv4\ipv6等ip协议)。

4.IP协议知识点

  • 网络层与数据链路层的关系:
    数据链路层是为同一数据链路中的两个设备上提供通信功能,而网络层则负责在没有直连的两个网络之间进行通信,网络层的通信一般需要借助许多不同的数据链路来实现(当通信的两个节点不在同一数据链路中时)。

  • IP协议的三大模块——IP地址、路由、IP分包与组包:
    IP地址:用于表示连接到网络中的所有主机进行通信的目标地址,而MAC地址则是标识同一个链路中不同计算机的识别码;
    路由控制:指将分组数据发送到最终目标地址的功能,因为IP数据包需要经过多个路由器或主机(它们之间依靠数据链路连接)转发才能到达目标地址,在数据包每到达一个路由器或主机时,需要知道下一个路由器的地址,所以就需要路由控制功能。
    分包与组包:由于数据链路具有MTU限制(即数据链路的最大传输单元大小有限制),所以需要对较大的IP包进行分片处理,当这些包到达目标地址后会被组合起来传给上一层。

  • IP协议采用面向无连接的原因:简单化和高速化。一可以避免面向连接的管理,二可以避免面向连接的建立。

  • IP地址(IPv4)的组成: IPv4地址由32位正整数表示,由“网络标识”和“主机标识”构成,网络标识用于区分数据链路中不同的网段,而主机标识用于区分同一网段内的不同主机。

  • IP地址的分类
    A类:首位以“0”开头,前8位表示网络标识,后24位表示主机标识,A类网络地址范围:0.0.0.0~127.0.0.0;
    B类:前两位以“10”开头,前16位表示网络标识,后16位表示主机标识,网络地址范围:128.0.0.0~191.255.0.0;
    C类:前三位以“110”开头,前24位为网络标识,后8位为主机标识,网络地址范围:192.168.0.0~223.255.255.0;
    D类:前四位以“1110”开头,32位全是网络标识,地址范围:224.0.0.0~239.255.255.255,常被用作多播。
    主机标识全为0表示对应的网络地址或IP地址不可获知的情况,全为1的主机地址一般用作广播地址。

  • 本地广播与直接广播:本地广播是指在本网络内的广播,通过将本地网络的主机标识全设置为1,直接广播是在不同网络之间的广播,通过将外部网络的主机标识全设置为1。

  • 多播与广播的区别:广播一次只能发送数据包给同一网段内的所有主机,由每个主机IP的上一层决定是否接收数据包,也不能跨网段;多播则没有这些缺点,可以实现穿透路由器,跨网段,有目标的发送数据包到多个主机上。

  • 子网掩码: 子网掩码是通过自定义网络地址长度,细分出比分类地址更小的网络粒度,子网掩码必须是IP地址的首位开始连续的“1”。子网掩码

  • 全局地址和私有地址:私有IP

  • 环回地址:在同一台计算机中的程序之间进行网络通信时所使用的一个默认地址,一般使用“127.0.0.1”作为环回地址,有一个相同意义的主机名“localhost”,当使用这个IP地址或主机名时,数据包不会流向网络。

  • 路径MTU发现的实现原理:
    首先,在发送端主机第一次发送IP数据包时将分片禁止标志设置为1,使转发它的路由器不会对它进行分片处理,当数据包的长度大于链路的MTU,则通过ICMP不可达消息将这个限制它转发的MTU值传回发送端主机,发送端主机在调整数据包大小,再次尝试,直到IP数据包能顺利到达目标主机。

  • IPv4首部结构:IPv4首部格式
    5.IP协议的相关技术

  • DNS域名系统:用于管理主机名与IP地址之间关系的数据库系统,可以通过域名检索IP地址,也可以通过IP地址查询域名,还有许多其他的信息。

  • ARP协议:以目标IP地址为线索,用来定位下一个应该接收数据分包的网络设备对应的MAC地址;只适用于IPv4,不能用于IPv6,IPv6使用ICMPv6进行邻居探索。

  • ICMP协议:用于确认IP包是否成功送达目标地址,通知在发送过程中IP包被丢弃的具体原因,改善网络设置,主要的消息类型有:通知出错原因的错误消息和用于诊断的查询消息。

  • NAT:用于在本地网络中使用私有地址,在连接互联网时转而使用全局IP地址的技术,从而实现一个全局IP地址与多个主机通信。为了转换TCP\UDP端口号,还出现了NAPT技术。

  • NAT的潜在问题:
    a. 无法从NAT的外部向内部服务器建立连接;
    b. 转换表的生成与转换操作都会产生一定开销;
    c. NAT一旦在通信过程中发生异常需重新启动时,所有的TCP连接都将被重置;
    d. 即使准备两台NAT做容灾备份,TCP连接还是会断开;

  • IP隧道:为了解决IP数据包与当前网络环境中所支持的IP协议的区别,可以在数据包的IP首部后追加一个IP首部,这样,一个IP数据包就可以同时支持在IPv4和IPv6的网络环境中转发。

6.传输层协议TCP/UDP

  • 端口号的作用:用来识别同一台计算机中进行通信的不同应用程序。

  • UDP(用户数据报协议):面向无连接,没有复杂的控制机制(流量控制、拥塞控制等),将应用程序发来的数据加上UDP首部直接转发到网络上的协议。虽然UDP没有复杂的控制机制,但是可以通过应用程序的处理实现有效的控制。

  • UDP首部的格式:UDP首部格式

  • TCP(传输控制协议):是面向连接的可靠传输协议,具有顺序控制、重发控制、窗口控制、流量控制、连接管理等保证可靠性传输的控制机制。

  • TCP首部格式:TCP首部格式

  • 序列号和确认应答号:序列号是当前传输的数据包起始字节的编号,这个编号不是从0或1开始,而是在TCP连接建立时,由计算机产生的随机数指定,而确认应答号的作用是告诉发送端,已经接收到了数据包和下次应该接收的数据包的序列号。

  • 超时重传机制:当发送端超过某个时间还没有收到接收端返回的确认应答,将会进行数据重发的机制。

  • 连接管理:TCP连接管理

  • 窗口控制:为了解决TCP传输的每个数据段都需要有确认应答而导致网络吞吐量低的问题,提出滑动窗口的办法,使用大量缓冲区,实现可以同时接收多个数据段和同时对它们做出确认应答。当窗口中有某个序列号的数据段在传输中丢失或阻塞时,具有高速重发机制,相对于超时重传机制,高速重发机制要快很多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值