TCP/IP随笔

这篇博客介绍了TCP/IP协议的基础知识,包括网络基础知识、TCP/IP协议族、IP协议等内容。重点讲解了OSI 7层模型、IP地址的分类及IP协议的三大作用模块,帮助读者理解网络通信中的关键概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TCP/IP笔记

1. 网络基础知识

  • 计算机网络:WAN-广域网,LAN-局域网。

  • 协议:简单说,就是计算机与计算机之间通过网络实现通信时事先达成的一种“约定”。TCP/IP协议是IP、TCP、HTTP等协议的集合。

  • 通信协议中,通常会规定报文首部应该写入哪些信息、应该如何处理这些信息。相互通信的每一台计算机则根据协议构造报文首部、读取首部内容等,为了双方能正常通信,分组的发送方和接收方有必要对报文首部和内容保持一致的定义。

  • 协议的理解

在这里插入图片描述

  • OSI 7层模型
    在这里插入图片描述
    理解:发送方从第七层到第一层由上至下按照顺序传输数据,而接收端则从第一层到第七层由下至上向每个上一级分层传输数据。每个分层上,在处理由上一层传过来的数据时可以附上当前分层的协议所必须的“首部”信息。然后接收端对收到的数据进行数据的“首部”与“内容”的分离,再转发给上一层,并最终将发送端的数据恢复为原状。

  • OSI 7层模型理解

    (1)应用层:为应用程序提供服务并规定应用程序中通信相关的细节,包括文件传输、电子邮件等。

    (2)表示层:将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的格式(就是将设备固有的数据格式转换为网络标准传输格式),主要负责数据格式的转换——利用表示层,将数据从“某个计算机特定的数据格式”转换为“网络通用的标准数据格式”后再发送出去,接收端收到数据后将这些数据按相反的格式恢复为本机的数据格式。

    (3)会话层:负责建立和断开通信连接,以及数据的分割等数据传输相关的管理。

    (4)传输层:确立连接与断开连接,负责重发(起着可靠传输的作用)。传输层为确保所传输的数据到达目标地址,会在通信两端的计算机之间进行确认,若数据没有到达,传输层会负责将数据重发。

    注意:会话层负责决定建立连接和断开连接的时机,而传输层进行实际的建立和断开处理。
    

    (5)网络层:将数据从发送端传输到目标地址,目标地址可以是多个网络通过路由器连接而成的某个地址,主要负责寻址和路由选择。

    目标地址:是进行通信的网络中唯一指定的序号。只要这个目标地址确定了,就可以在众多计算机中选出该目标地址所对应的计算机发送数据。
    TCP/IP中,网络层与传输层相互协作以确保数据包能够传送到世界各地,实现可靠传输。
    

    (6)数据链路层:负责物理层面上互连的、节点之间的通信传输,将0、1序列划分为具有意义的数据帧传送给对端(数据帧的生成与接收)。

    (7)物理层:负责0、1比特流(0、1序列)与电压的高低、光的闪灭之间的互换。将数据的0、1转换为电压和脉冲光传输给物理的传输介质,而相互直连的设备之间使用地址实现传输,这种地址成为MAC地址,也称为物理地址或硬件地址。MAC地址是为了识别连接到同一个传输介质上的设备。
    在这里插入图片描述

  • 传输方式

    (1)面向有连接型:在发送数据之前,需要在收发主机之间连接一条通信线路,如果对端之间无法通信,就无法进行通讯。

    (2)面向无连接型:不要求建立和断开连接,发送端可以在任何时候自由发送数据,接收端就需要时常确认是否收到了数据(如电子邮件,发快递)。因此,不需要确认对端是否存在,即使接收端不存在或无法接收数据,发送端也能将数据发送出去。

    (3)分组交换:让连接到通信电路的计算机将所要发送的数据分成多个数据包,按照一定的顺序排序之后分别发送。
    在这里插入图片描述

发送端主机将数据分组发送给路由器,路由器收到这些分组数据后,缓存到自己的缓冲区,然后再转发给目标主机。
  • 地址

    IP地址由主机号和网络号两部分组成。在同一个通信网络中不允许有两个相同地址的通信主体存在。
    在这里插入图片描述

2. TCP/IP基础知识

  • TCP/IP协议族
    在这里插入图片描述

  • TCP/IP与OSI模型
    在这里插入图片描述

  • 数据包首部
    在这里插入图片描述

每个分层中,都会对所发送的数据附加一个首部,在这个首部中包含了该层必要的信息。一般,为协议提供的信息为包首部,要发送的内容为数据。

  • TCP/IP各层对邮件的收发处理例子

在这里插入图片描述
在这里插入图片描述
经过每个协议分层时,都必须有识别包发送端和接收端的信息。以太网使用MAC地址,IP使用IP地址,TCP/UDP使用端口号作为识别两端主机的地址。

3. IP协议

  • IP:网际协议,作用于网络层。网络层的主要作用是“实现终端节点之间的通信”,也称“点对点通信”。
    在这里插入图片描述

  • IP分为三大作用模块,分别是IP寻址、路由(最终节点为止的转发)和IP的分包与组包。IP地址用于在“连接到网络中的所有主机中识别出进行通信的目标地址”,在TCP/IP通信中所有主机或路由器必须设定自己的IP地址。

  • 路由控制:是指将分组数据发送到最终目标地址的功能。为了将数据包发送给目标主机,所有主机都维护着一张路由控制表,该表记录IP数据在下一步应该发给哪个路由器,然后IP包将根据这个路由表在各个数据链路上传输。

  • IP地址的定义

    IP地址(IPV4)有32位正整数表示。将32位的IP地址以每8位为一组,每组以“.”隔开,再将每组转换成十进制数,比如:

    2^82^82^82^8
    101011000001010000000001000000012进制
    10101100.00010100.00000001.00000001.2进制
    172.20.1.110进制
  • IP地址由“网络标识(网络地址)”和“主机标识(主机地址)”组成。相同段内相连的主机必须有相同的网络地址,IP地址的“主机标识”不允许在同一个网段内重复出现。因此,可以通过设置网络地址和主机地址,在相互连接的整个网络中保证每台主机的IP地址都不会相互重叠。
    在这里插入图片描述

  • IP地址的分类:A类、B类、C类以及D类,根据IP地址中从第1位到第4位的比特列对其网络标识和主机标识进行区分。
    在这里插入图片描述
    1)A类地址

    ​ A类IP地址是首位以“0”开头的地址。前8位是它的网络地址,用十进制表示:0.0.0.0~127.0.0.0是A类的网络地址,后24位是主机地址,因此,A类地址可容纳的主机地址上限为2^24-2个。

    2)B类地址

    ​ B类IP地址是前两位为“10”的地址。前16位是它的网络地址,用十进制表示:128.0.0.1~191.255.0.0是B类的网络地址,后16位是主机地址,因此,B类地址可容纳的主机地址上限为2^16-2个。

    3)C类地址

    ​ C类IP地址是前三位为“110”的地址。前24位是它的网络地址,用十进制表示:192.168.0.0~239.255.255.0是C类的网络地址,后8位是主机地址,因此,C类地址可容纳的主机地址上限为2^8-2个。

    4)D类地址

    ​ D类IP地址是前四位为“1110”的地址。前32位是它的网络地址,用十进制表示:224.0.0.0~239.255.255.255是D类的网络地址,D类没有主机地址,常被用于多播。

    注意:在分配IP地址中,要用比特位表示主机地址时,不可以全部为0或全部为1。因为全部为0在表示对应的网络地址或IP地址不可获知的情况下才使用,而全部为1的主机地址表示广播地址。因此,在分配IP地址过程中,要去掉这两种情况(这也是可容纳主机地址上限减2的原因)。
    
  • 广播地址:用于在同一个链路中相互连接的主机之间发送数据包,将IP地址中的主机地址部分全部设置为1。

  • IP多播:用于将包发送给特定组内的所有主机。多播使用D类地址。

  • 一个IP地址只要确定了分类,就确定了它的网络标识和主机标识。

    例)

    A类11111111.00000000.00000000.00000000
    B类11111111.11111111.00000000.00000000
    C类11111111.11111111.11111111.00000000

    用“1”表示IP网络地址的比特范围,用“0”表示IP主机地址的比特范围。用十进制表示,则如下:

    例)

    A类255.0.0.0
    B类255.255.0.0
    C类255.255.255.0
  • 子网掩码:是一个32位的数字,对应IP地址网络标识部分的位全部为“1”,对应IP地址主机标识部分的位全部为“0”。由此,一个IP地址不再受限于自己的类别,而是可以用这样的子网掩码自由地定位自己的网络识别长度。子网掩码必须是IP地址的首位开始连续的“1”。
    在这里插入图片描述

  • 路由控制:发送数据包时所使用的的地址是IP地址,然而仅仅有IP地址不足以将数据包发送到目标地址,还需要路由控制表。
    在这里插入图片描述

路由控制表中记录着网络地址与下一步应该发送至路由器的地址。在发送IP包时,首先要确认IP包首部中的目标地址,再从路由控制表中找到与该地址具有相同网络地址的记录,根据该记录将IP包转发给相应的下一个路由器。如果路由控制表中存在多条相同网络地址的记录,就选择一个最为吻合的网络地址。默认路由:标记为0.0.0.0或default。

本文参考:《图解TCPIP》。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值