初识网络协议
此文是大部分原创,有些文段摘自于网络协议相关书目,若有侵权,还望及时留言,敬谢指正
网络协议
在计算机网络中一系列的通信规则称为网络协议,如数据的格式是怎样的,以什么样的控制信号联络,具体传送方式是什么,发送方怎样保证数据的完整性、正确性,接收方如何应答等等。
网络协议定义了通信时信息必须采用的格式和这些格式的意义。大多数网络都采用分层的体系结构,每一层都建立在它的下层之上,向它的上一层提供一定的服务,而把如何实现这一服务的细节对上一层加以屏蔽。一台设备上的第n层与另一台设备上的第n层进行通信的规则就是第n层协议。在网络的各层中存在着许多协议,接收方和发送方同层的协议必须一致,否则一方将无法识别另一方发出的信息。网络协议使网络上各种设备能够相互交换信息。
网络协议有三大要素:
(1) 语义。语义是解释控制信息每个部分的意义。它规定了需要发出何种控制信息,以及完成的动作与做出什么样的响应。
(2) 语法。语法是用户数据与控制信息的结构与格式,以及数据出现的顺序。
(3) 时序。时序是对事件发生顺序的详细说明。(也可称为“同步”)。
人们形象地把这三个要素描述为:语义表示要做什么,语法表示要怎么做,时序表示做的顺序。
提示:以下是本篇文章正文内容,如有问题,还请批评指正
一、网络协议分层模型
OSI七层模型
OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
每一层的作用:
物理层:透明的传输比特流(比特Bit)
数据链路层:将比特组装成帧和点到点的传递(帧Frame)
网络层:子网的运行控制,确认从源端到目的端如何选择路由(包Packet)
传输层:第一个端到端、进程到进程,报文传递和错误恢复(段Segment)
会话层:建立、管理和终止会话(会话协议数据单元SPDU)
表示层:对数据进行翻译、加密和压缩(表示协议数据单元PPDU)
应用层:提供访问网路服务的接口(应用协议数据单元APDU)
每一层所对应的相关协议:
物理层:RJ45、CLOCK、IEEE802.3
数据链路:PPP、FR、HDLC、VLAN、MAC
网络层: ARP、IP、ICMP、IGMP、OSPF、IPX、RARP、RIP、IGRP
传输层: TCP、UDP、SPX
会话层:NFS、SQL、NETBIOS、RPC
表示层:JPEG、MPEG、ASII
应用层: HTTP、FTP、DNS、 Telnet、SMTP、WWW、NFS
提示:本专题将陆续更新对上述网络协议中常见协议的分析讲解
TCP/IP五层模型
TCP/IP分层 (5层):物理层、数据链路层、网络层、传输层、应用层
每一层的作用:
物理层:负责光电信号传递方式
数据链路层:负责设备之间的数据帧的传输和识别
网络层:负责设备之间的数据帧的传输和识别
传输层:负责两台主机之间的数据传输
应用层:负责应用程序之间的沟通
每一层所对应的相关协议:
物理层:IEEE802.2,Ethernet v.2,Internetwork…
数据链路:CSMA/CD、CDP、ATMP、L2F、L2TP ,PPTP…
网络层: ARP、IP、ICMP、IGMP、OSPF、IPX、RARP、RIP、IGRP,AH,ESP,IS-IS,BGP…
传输层:TCP,UDP…
应用层: HTTP、FTP、DNS、 Telnet、SMTP、WWW、NFS…
二、引言
1.前期准备
推荐书目:
《网络是怎么连接的》、《图解 TCP/IP 》
计算机网络-自顶向下方法
代码能力:
在接下来的博客中将陆续更新对于各层常用协议的分析解释,其过程将会尽量用代码去实现。博主对python情有独钟,因此会使用python作为主语言
2.殷切期望
希望各位大佬多多指正,多多关注
总结
提示:希望大家在我评论区留言,多多指正
第一次在csdn发帖,想着能够在知识分享中不断梳理自己的知识~,因为还是学生,并没有实际工作经验,所以能力有所欠缺,如果在今后的创作中有写错的地方,还望大佬们在评论区指出问题,也希望能帮到刚开始接触网络协议的朋友们,谢谢