计算机网络-基础

目录

1 OSI参考模型

1.1 什么是OSI模型

1.2 层次划分的好处

1.3 层次结构及功能

2 TCP/IP参考模型

2.1 TCP/IP常见协议

2.2 与OSI模型的对应关系

2.3 TCP和UDP协议

2.3.1 TCP和UDP的报文格式

2.3.2 TCP的三次握手

2.3.3 TCP的四次挥手

3 IP地址

3.1 IP地址的构成

3.2 IP地址的划分

3.3 子网划分

3.4 小练习

3.4.1 练习1

3.4.2 练习2

3.4.3 练习3


1 OSI参考模型

1.1 什么是OSI模型

OSI模型(Open System Interconnect),即开放式系统互连。 一般都叫OSI参考模型,是国际标准化组织ISO在1985年研究的网络互连模型。该体系结构标准定义了网络互连的七层框架,即OSI开放系统互连参考模型。 

1.2 层次划分的好处
  • 各层之间相互独立,每一层都有独自的功能
  • 灵活性好,各层内部操作不会影响到其他层
  • 结构上可分割
  • 易于实现和维护
  • 便于模块化开发
1.3 层次结构及功能

OSI参考模型由下至上以此为:

  • 物理层:在设备之间传输比特流,规定了电平、速度和电缆针脚等物理特性
  • 数据链路层:将比特组合成帧,使用使用MAC地址来访问介质,并进行差错检测
  • 网络层:定义了逻辑地址(IP地址),提供路由选路功能,负责将数据从源网络传输到目的网络
  • 传输层:提供面向连接或非面向连接的数据传输以及进行重传前的差错检测
  • 会话层:负责建立、管理、维护和终止表示层之间的会话
  • 表示层:提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别
  • 应用层:OSI模型中的最高层,建立用户与数据之间的连接,为应用程序提供网络服务

 

2 TCP/IP参考模型

2.1 TCP/IP常见协议

TCP/IP协议定义了一系列的标准协议

应用层TelnetFTPTFTPSNMP
HTTPSMTPDNSDHCP
传输层TCPUDP
网络层ICMPIGMP
IP
数据链路层PPPoE
EthernetPPP
物理层……
2.2 与OSI模型的对应关系

TCP/IP协议在一定的程度上参考了OSI七层模型,将其简化为四层,即应用程、传输层、网络层和链路层。我们平时说的五层模型是将链路层在划分回了数据链路层和物理层。

2.3 TCP和UDP协议
2.3.1 TCP和UDP的报文格式

TCP报文头部:

  • Source Port:源端口,标识那个应用程序发送。长度为16比特

  • Destination Port:目的端口,标识由哪个应用程序接收。长度为16比特

  • Sequence Number:序号字段。TCP链接中传输的数据流每个字节都编上一个序号。序号字段的值指的是本报文段所发送数据的第一个字节的序号。长度为32比特

  • Acknowledgment Number:确认序号,是期望收到对方下一个报文字段的第1个字节的序号,即上次已成功接收到的数据段的最后一个字节数据的序号加1。只有Ack标识为1,此字段有效.长度为32比特

  • Header Length:头部长度,指出TCP报文头部长度,以32比特(4字节)为计算单位。若无选项内容,则该字段为5,即头部为20字节

  • Reserved:保留,必填0。长度为6比特

  • Control bits:控制位,包括FIN、ACK、SYN等标志位,代表不同状态下的TCP数据段

  • Window:窗口TCP的流量控制,这个值表明当前接收端可接受的最大的数据总数(以字节为单位)。窗口最大为65535字节。长度为16比特

  • Checksum:校验字段,是一个强制性的字段,由发端计算和存储,并由收端进行验证。在计算检验和时,要包括TCP头部和TCP数据,同时在TCP报文的前面加上12字节的伪头部。长度为16比特

  • Urgent:紧急指针,指出本报文段中紧急数据有多少个字节,长度为16比特

  • Options:可选字段,长度为0-40字节

UDP报文头部:

  • Source Port:源端口,标识由哪个应用程序发送。长度为16比特
  • Destination Port:目的端口,标识由哪个应用程序接收。长度为16比特
  • Length:指定了UDP报头和数据的总长度。可能的最小长度是8字节。长度为16比特
  • Checksum:校验字段,覆盖UDP头部和UDP数据的校验和。长度为16比特
2.3.2 TCP的三次握手

TCP建立连接分为三步

  1. 客户端发送一个SYN,序列号(Seq)为a,确认序列号(Ack)为0。a和后面的b都是由设备生成的一个随机的数字。
  2. 服务端在收到客户端的SYN后,回复一个SYN,序列号为b,确认序列号为a+1,表示确认收到SYN。
  3. 客户端在收到服务端回复的SYN后,在发送一个序列号为a+1,确认序列号为b+1的SYN,表示确认收到服务端的SYN。在服务端收到该SYN后,双方成功建立连接。

之后的数据中,双方的序列号和确认序列号成等差数列递增。

2.3.3 TCP的四次挥手

当双方的数据传输完毕后,双方通过以下四步断开连接:

  1. 客户端发送一个FIN标记的包,告知数据发送已经结束,其中包含Seq为x
  2. 服务端收到后将回复一个ACK标记的包,Ack为x+1,告知服务端还没准备好断开连接
  3. 服务端准备好断开连接时也发送一个FIN标记的包,包含Seq为y
  4. 客户端收到后也回复一个ACK标记的包,Ack为y+1。服务器在收到后关闭连接,客户端则在等待固定时间没有收到来自服务器的ACK包后断开连接

3 IP地址

3.1 IP地址的构成

IP地址是一个32位的二进制数,通常以8为为一组,以点分十进制的形式出现在我们的视野中。

一个IP地址有一下三部分组成

  • 网络号:用来标识一个网络
  • 主机号:用来表示网络内不同的主机
  • 子网掩码:区分一个IP地址中的网络号和主机号
3.2 IP地址的划分

为了方便管理和组网,IP地址被分为了A、B、C、D、E这五类,其二进制的起首分别是0、10、110、1110、1111,同过查看IP地址的前几位就可以轻松的判断这是哪类IP。

在ABCDE这五类IP中,ABC三类是单播地址,只有这三类地址才会分配给主机使用(部分特殊地址除外),此外的D类为组播IP,E类专门用于特殊的实验目的。

ABC三类IP的区分如下:

  • A类IP网络号为8比特,子网掩码为255.0.0.0,地址范围为0.0.0.0~127.255.255.255
  • B类IP网络号为16比特,子网掩码为255.255.0.0,地址范围为128.0.0.0~192.255.255.255
  • C类IP网络号为24比特,子网掩码为255.255.255.0,地址范围为192.0.0.0~223.255.255.255

为了解决地址池枯竭的问题,私有地址和公有地址的概念被提出,在ABC三类IP中各有各一网段被划分为私网地址,分别是10.0.0.0~10.255.255.255,172.16.0.0~172.16.31.255,192.168.0.0~192.168.255.255

3.3 子网划分

根据有类IP划分的子网大小固定,ip的利用率不高,因此诞生了VLSM(Variable Length Subnet Mask),可变长子网划分的概念,通过加长子网掩码来获得更合适的子网。

具体方法建议去看大佬的讲解

3.4 小练习
3.4.1 练习1

题目:

201.222.200.111/18计算主机数?子网掩码?说明计算方法。

解答:

主机数=2^(32-子网掩码位数)-2=2^14-2=16382
子网掩码=11111111.11111111.11000000.00000000=255.255.192

3.4.2 练习2

题目:

当A(10.0.1.1/16)与B(10.0.2.2/24)通信,A如何判断是否在同一个网段?A和B能否通信?

解答:

要判断它们是否在同一个网络段,需要比较它们的网络地址部分。
A 的IP地址是 10.0.1.1/16,网络地址为 10.0.0.0。
B 的IP地址是 10.0.2.2/24,网络地址为 10.0.2.0。
由于A和B的网络地址不同,它们并不在同一个网络段。在这种情况下,A 和 B 无法直接通信,需要经过路由才能实现通信

3.4.3 练习3

题目:

如何将10.0.0.0/8划分32个子网?求每个子网的掩码,主机数。

解答:

∵ 32=2^5

∴ 子网掩码为11111111.11111000.00000000.00000000

子网掩码:255.248.0.0
主机数:2^(3*8-5)-2=524286台

  • 16
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值