什么是协议栈
在网络中,为了完成通信,必须使用多层上的多种协议。这
些协议按照层次顺序组合在一起,构成了协议栈
(Protocol
Stack)
,也称为协议族
(Protocol Suite)
。
协议的作用
一个网络协议的作用主要有两个:一是建立对等层 之间的虚拟通信,二是实现层次之间的无关性。
层次间的无关性
所谓层次间无关性,就是指较高层次和相邻的相低 层次进行通信时,只是利用较低层次提供的接和服务,而 不需了解低层实现该功能所采用的算法和协议的细节;较
低层次也仅是使用从高层系统传送来的参数和控制信息,这就是层次间的无关性。
TCP/IP
:工业标准、开放式协议,
Internet
网络的标准
IPX/SPX
:
Novell
开发的
Netware
操作系统使用的协 议,IPX
为网际数据包交换协议,工作在网
络层,
SPX
为序列数据包交换协议,工作在 传输层
NetBIOS/NetBEUI
:较小的协议栈,应用于
IBM
和早期的Windows
系统,现在
Windows 仍然支持
AppleTalk
:
Apple
公司的
Mac OS
中所采用的网络协
议
应用层
应用层是
TCP/IP
协议组的顶层,所有的应用 程序包含在这一层中;它们包括:HTTP
,
FTP
,
Telnet
,
SMTP
,
SNMP
,
DNS
等。
Telnet
Telnet
是
TCP/IP
中的一种应用协议,可以为终端
仿真提供支持。
Telnet
可使用户连接到主机上,使主机响应起来
就像它直接连接在终端上一样。
Telnet
在发送端和接收端使用
TCP
的
23
号端口以进
行专用的通信。
文件传输协议
FTP
协议使用
TCP20
号和
21
号端口
20
号端口用于数据交换
21
号端口用于建立连接
允许目录和文件访问,上传下载,不能远程执行文件
简单文件传输协议(
Trivial File Transfer Protocol
,
TFTP
)
TFTP
是无连接的,使用
UDP
的
69
号端口
用于当数据传输错误无关紧要而且无须安全性时的小型 文件的传输
SMTP
简单邮件传输协议(
Simple Mail Transfer Protocol
,
SMTP
)
是为网络系统间的电子邮件交换而设计的。使用
25
端口 。 SMTP只需要在接收端的一个电子邮件地址即可发送邮件
.
POP3
协议用来接收邮件
.
使用
110
端口
DNS
域名服务(
Domain Name Service, DNS
)
将域名转换为
IP
地址,或将
IP
地址转换为域名,用于解析
完全合格域名(
FQDN
),例如
www.163.com
。
使用
53
号端口
DHCP
动态主机配置协议
(DHCP)
服务器可以提供的信息
有
:
1.IP
地址
2.
子网掩码
(subnet mask)
3.
域名
(domain name)
4.
默认网关
(default gateway)
5.DNS
传输层概述
链接服务的类型
面向连接的服务
(TCP)
◦
源端与目的端在通信前要先建立连接,然后在此连接上 互相传输数据帧,每一个帧都被编号,数据链路层保证 传送的帧被对方收到,且只收到一次,双方通信完毕后
拆除连接。
无确认、无连接的服务
(UDP)
源端不需要建立连接就向目的端发送独立的数据帧,而 目的端也不需要对收到的帧进行确认
端口概述
端口号的范围:
1-1023 >1023
在
TCP/IP
协议的通信中,端口号是为了识别应用程序和
各种服务而使用的号码,它包含在
TCP
协议和
UDP
协议的报
头中
.
端口
端口:由于网络通信所用的协议较多,且一台主机可能同时提供多种服务,为了标识和区分这些协议,引入了端口 的概念,即每个协议都对应着一个端口,用端口号予以标 识,因此每种服务也都有其自己的工作端口。若一台服务 器提供多种服务,客户端可根据端口号访问到它所需要的
服务。
端口号由
16
位二进制数组成,范围:
1~65535
知名端口:网络协议默认使用的端口,用户不可随意使用。
范围:
1~1023
动态端口:计算机根据需要随机打开的端口,使用完毕即关闭。
范围:
1024~65535
TCP连接过程与三次握手
TCP三次握手
TCP简单确认
TCP窗口
TCP流量控制
TCP流量控制
数据结构
TCP段格式
TCP段格式
Version:0.9 StartHTML:0000000105 EndHTML:0000006337 StartFragment:0000000141 EndFragment:0000006297
源端口
(Source Port)
:呼叫端口号
目的端口
(Destination Port)
:被叫端口号
序号
(Sequence Number)
:标记数据段的顺序
确认号
(Acknowledgment Number)
:下一个段的序号
报头长度
(HLEN)
:报头的字节数
,
又称偏移量
保留域
(Reserved)
:为
0
编码位
(Code Bits)
:控制功能
(
会话的建立和终止
)
窗口
(Window)
:发送的字节数
校验和
(Checksum)
:报头和数据字段的校验和
紧急指针
(Urgent Pointer)
:紧急数据的末尾
选项
(Option)
:当前定义项,
TCP
段的最大值
数据
(Data)
:上层协议的数据
UDP
UDP协议的是无连接(connectionless),即不可靠, 因为它不与对方进行协商并连接,它也不会给数据段 标号,也不关心数据段是否到达接受方
UDP段结构
UDP协议的用途和特征
UDP
协议只是使用
IP
协议提供了无连接的通信服务,所以
无论何时都能够发送数据。而且,由于它处理比较简单,
所以能够进行高速的处理。
UDP
协议适合以下几方面的应
用:
总包数比较小的通信;
动画和声音的多媒体通信;
没有顺序号和确认号
由上层应用(应用层程序)来保证传输的可靠性
TCP与UDP比较
Version:0.9 StartHTML:0000000105 EndHTML:0000003798 StartFragment:0000000141 EndFragment:0000003758
1.TCP
协议在传送数据段的时候要给段标号
;UDP
协议没有
2.TCP
协议可靠
;
UDP
协议不可靠
3.TCP
协议是面向连接
;
UDP
协议采用无连接
4.TCP
协议负载较高
;
UDP
协议低负载
5.TCP
协议的发送方要确认接受方是否收到数据
段
;
UDP
反之
6.TCP
协议采用窗口技术和流量控制
;
UDP
协议没
有
IP数据
IP包说明
Version
◦
版本
(VER)
。表示的是
IP
版本﹐目前的
IP
规格多为版本
4 (version 4)
﹐
所以这里的数值通常为
0x4 (
注意﹕封包使用的数字通常都是十六进制的
)
。
Internet Header Length
◦
表头长度
(IHL)
。我们从
IP
包规格中看到前面的
6
行为
header
﹐如果
Options
沒有设定的話﹐也就只有
5
行的长度
;
我们知道每行有
32bit
也就
是
4byte;
那么,
5
列就是
20byte
了。
Type of Service
服务类型
(TOS)
。这里指的是
IP
封包在传送过程中要求的服务类型,其中
一共由
8
个
bit
組成﹐每组
bit
组合分別代表不同的意思
:
IP包说明
Total Length
◦
封包总长
(TL),
包括表头和数据的总和
.
Identification
◦
识别码
(ID)
。每一个
IP
封包都有一個
16bit
的唯一识别码。当程序产生的
数据通过网络传送时,都会在网络层拆散成封包形式发送,当封包进行重
组时,这个
ID
就是依据。
Flag
◦
标志
(FL)
。这是当封包在传送过程中进行最佳组合时使用的三个
bit
的识别
记号。
IP包说明
Version:0.9 StartHTML:0000000105 EndHTML:0000003358 StartFragment:0000000141 EndFragment:0000003318
Fragment Offset
◦
分割定位
(FO)
。当一个大的封包在经过一些传输单位较小的路径
时。会被切割为碎片再进行传送,由于网络情况或其他因素的影响,
其抵达顺序并不一定会和发送时相同,所以当封包进行切割时,会
对各片段做好定位记录,这样在重组的时候就可以对号入座了。
如果封包沒有被切割﹐那么
FO
的值为“
0”
。
Time To Live
◦
存活時間
(TTL)
。
Protocol
◦
协议类型
(PROT)
。这里指的是该封包所封装的协议类型。
协议域
协议域
ICMP协议
ICMP
的全称是
Internet Control Message Protocol (
网络控制信息协议
)
。从技
术角度来说,
ICMP
就是一个“错误侦测与回报机制”,其目的就是让我们能够
监测网络的连线状况,也不能确保连线的准确性。
ICMP协议
Ping
命令用于检查网络的可达性,
Icmp Echo Reply
消息表示目的节点可
达。
Ping命令的结论
Ping
的主要功能是确定一个给定的
IP
地址是否可以到达。如
果
ping
执行成功,则暗示:
1
)
从源到目的节点
存在一条可以工作的路径;
2
)目标
IP
地址对应的机器在正常工作;
3
)
从目标节点到源节点
存在一条可以工作的路径。
但是,从源到目标的路径与从目标回源节点的路径可能不一
致。即不对称路由。
ARP协议--提出问题
IP
地址将不同的物理地址统一起来,将物理地址隐藏.上
层软件使用
IP
地址标识节点。
只有两台机器知道物理地址时才能进行实际的通信。
分组到达目的物理网络后,发送分组的计算机需把目的主
机的
IP
地址映射到它的物理地址上。
需经中介路由器的发送,发送方必须将中介路由器的
IP
地址
映射到它的物理地址上。
IP地址和mac地址的区别文章来源:https://www.toymoban.com/news/detail-827634.html
物理地址是在单个网络内部对一个计算机进行寻址时所使用的地址。
在局域网中物理地址被固化在网卡的
ROM
中,物理地址也称为硬件地
址或
MAC
地址。
IP
地址有
32 bit
,物理地址有
48 bit
。
在
IP
层的互连网上,我们看到的是
IP
数据报,在数据报的首部中写
明源地址和目的地址。
在具体的物理网络的链路层,我们看到的是
MAC
帧,
IP
数据报被封装
在
MAC
帧里面。
互连在一起的网络的硬件地址体系可能各不相同,但
IP
层抽象的互
连网却屏蔽了下层的这些很复杂的细节。
ARP协议
正常情况下,
PC
机只对本地网络主机 进行ARP
广播来查找目标主机的
MAC
地
址,对非本地目标主机,直接把
IP
数 据包发给默认网关,由该路由器来转
发
IP
包。
RARP协议
文章来源地址https://www.toymoban.com/news/detail-827634.html
在
DHCP
环境中,
PC
机只知道自己的
MAC
地址,需要通过
RARP
协议发送
广播来获取自己的
IP
地址。
RARP协议
RARP协议
到了这里,关于网络协议的重要内容1的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!