网络安全编程基础 之 协议基础

协议基础


TCP/IP 协议

TCP/IP 协议(Transmission Control Protocol/Internet Protocol)既传输控制/网际协议,是Internet的基础,是一个协议族。在此协议中,基本胡数据传输单位是数据包或称数据报。TCP负责把数据分成若干个数据包,并给每个数据包分配首部数据,首部数据里面有编码,确保数据在接收端能够把数据还原为原来的数据格式。IP协议再在数据包的首部加上接收端的主机地址,在网络上进行传输时,网络把它送到指定的地方,通常是由路由协议完成的。如果再传输过程中出现了数据丢失和数据失真或者发生了拥塞等,tcp协议会进行数据胡重传或拥塞处理。所以,tcp主要负责数据传输的正确性,ip协议主要负责数据传输。

TCP/IP分为四层,他们的数据传输在每层之间要加上(或去掉)相应层的首部。

IP协议主要负责主机间的路由和网络数据的传输存储,提供分组转发服务。使得数据能够再网络上传输。

网络安全编程基础 之 协议基础_第1张图片
TCP/IP 分层和协议族中的部分协议

ARP协议

ARP协议为地址解析协议(Address Resoulution Protocol),它主要负责把IP协议的网络地址映射为硬件地址,也就是把IP地址转化为对应的MAC地址。网络中的每台主机都对应一个MAC和一个IP地址。数据传输的时候,是通过IP地址来进行定位。每个MAC地址都对应一个IP地址。

RARP协议

RARP协议是反向地址解析协议(Reverse Address Resolution Protocol),它负责主机硬件MAC地址映射为网络地址(ip)。它是让局域网主机从网关服务器ARP表或者缓存上请求对应的网络IP地址。而局域网网关服务器已经建好物理地址和网络地址的映射表。通过询问网关服务器找到对应ip地址,这样就自动给机器分配了IP地址。

ICMP协议

ICMP协议是网间报文控制协议(Internet Control Message Protocol),它是处理IP主机或者路由器之间的差错和传输控制,这些控制信息含义丰富。如网络不通,主机是否可达,路由是否可用等。

TCP协议

TCP协议是传输控制协议(Transmission Control Protocol),它主要负责用户进程的可靠全双工字节流的传输,是面向连接的协议。

UDP协议

UDP协议是用户数据报协议(User Datagram Protocol),它主要提供用户进程的无连接服务,用于传送数据,但不保证数据的正确性。

FTP协议

FTP协议是文件传输控制协议(File Transfer Protocol),它提供了文件的传输功能,是应用层协议,提供了传输文件的一些常用操作。

SMTP协议

SMTP协议是简单邮件传输协议(Simple Mail Transfer Protocol),它提供了邮件的传输服务。

TELNET协议

TELNET协议是终端协议(Telnet Terminal Protocol),它提供了远程登录服务,允许用户已终端方式访问远程主机。

HTTP协议

HTTP协议是超文本传输协议(Hypertext Transfer Protocol),它提供网络浏览服务。(HTTP协议详解(真的很经典))

OSI协议模型

OSI协议模型(Open System Interconnection)时开放系统互连模型,它是国际标准组织ISO(International Organization For standardization)提出的一套标准框架。

OSI模型将数据通信的各种功能分为七个层,每个层的职责都很明确,各层之间又相互联系。 

网络安全编程基础 之 协议基础_第2张图片
OSI模型

物理层(Physical Layer)

物理层定义了网络传输中的各种设备规格和采用何种布线方式,以及如何将硬件携带的信号转换为计算机可以理解的电子信号。(如网线,网卡等 属于该层范畴)

数据链路层(Data Link Layer)

数据链路层,这层指定了要采用的信息单元。通常在局域网上面的信息单元称为帧,还有它们的格式,以及如何通过网络。每一帧都会赋予一个MAC地址码和校验和。数据链路层要制定不同网络形态的数据帧格式,确保数据能够在不同的物理媒介上进行传输。

网络层(Network Layer)

网络层会定义出封包在网络层中传输的路由和处理过程,该层还决定了网络时如何发挥管理功能(如发送状态信息给节点和规范包的传输等)。

传输层(Transport Layer)

传输层设定如何控制节点之间的数据传递,还规定差错检测和改正的方法。(如对数据进行封包,重组数据等)。

会话层(Session Layer)

会话层定义了如何连接、终止连接和网络上的数据如何交换。该层负责建立和管理计算机与计算机之间的沟通模式既是建立数据传输之前的链接。(全双工或半双工)。

表示层(Presentation Layer)

表示层定义了数据的语法、变更和格式,还将翻译格式或语法不同时的差异。

你可能感兴趣的:(网络安全编程基础 之 协议基础)