七层模型介绍
规定数据的传输协议
常见的应用层协议:
协议 | 端口 | 说明 |
---|---|---|
HTTP | 80 | 超文本传输协议 |
HTTPS | 443 | HTTP+SSL,HTTP的安全版 |
FTP | 20,21,990 | 文本传输协议 |
telnet | 23 | 远程终端协议 |
应用层数据编码和转化,以确保以一个系统应用层发送的信息 可以被另一个系统应用层识别;
eg: 解决不同系统之间的通信,比如Linux下的QQ和Windows下的QQ可以通信;
建立一个连接(自动的手机信息、自动的网络寻址)
每一个应用程序都会在网卡注册一个端口号,该层就是端口与端口的通信!常用的(TCP/IP)协议;
此处需要确定计算机的位置,怎么确定?IPv4,IPv6!
规定了0和1的分包形式,确定了网络数据包的形式;
物理层负责最后将信息编码成电流脉冲或其它信号用于网上传输
eg:RJ45等将数据转化成0和1;
下面的图表显示了常见的不同的TCP/IP和其他的协议在最初OSI模型中的位置
协议 | 位置 |
---|---|
HTTP、FTP、 telnet、 SIP、 SSH | 应用层 |
NCP、AFP | 表示层 |
SSH、BSD socket | 会话层 |
TCP、UDP | 传输层 |
IP、ICMP、IGMP | 网络层 |
以太网、ARP、RARP | 数据链路层(负责数据帧的发送与接收) |
光纤、无线电 | 物理层 |
下面简单了解TCP/IP分层模型中四个协议层分别完成的功能
包括用于协作IP数据在已有网络介质上传输的协议。
它定义像地址解析协议(Address Resolution Protocol,ARP)这样的协议,提供供 TCP/IP 协议的数据结构和实际物理硬件之间的接口。
可以理解为:确定了网络数据包的形式。
以太网,令牌环网,FDDI,wifi,gps/2G/3G/4G,驱动(屏蔽硬件差异)
mac地址:48位,全球唯一,网络设备的身份标识
对应于OSI七层参考模型的网络层。本层包含IP协议、RIP协议(Routing Information Protocol,路由信息协议),负责数据的包装、寻址和路由。同时还包含网间控制报文协议(Internet Control Message Protocol,ICMP)用来提供网络诊断信息;
可以理解为:该层时确定计算机的位置,端到端传输
对应于OSI七层参考模型的传输层,它提供两种端到端的通信服务。其中 TCP 协议(Transmission Control Protocol)提供可靠的数据流运输服务,UDP 协议(Use Datagram Protocol)提供不可靠的用户数据报服务。
通过TCP、UDP决定传输到哪一个线程或进程
对应于OSI七层参考模型的应用层和表达层。因特网的应用层协议常见的有:FTP(文件传输协议)、HTTP(超文本传输协议)、Telent(远程终端协议)、SSH(远程登录)、DNS、STMP等。
IP(Internet Protocol,网际协议)是网间层的主要协议,任务是在源地址和和目的地址之间传输数据。IP 协议只是尽最大努力来传输数据包,并不保证所有的包都可以传输到目的地,IP并不维护任何关于后续数据包的状态信息。每个数据包的处理是相互独立的。IP数据包可以不按发送顺序接收【即不可靠,无连接】
ICMP(Internet Control Message Protocol,网络控制消息协议)是 TCP/IP 的 核心协议之一,用于在 IP 网络中发送控制消息,提供通信过程中的各种问题反馈。 ICMP 直接使用 IP 数据包传输,但 ICMP 并不被视为 IP 协议的子协议。常见的联网状态诊断工具比如依赖于 ICMP 协议;Ping命令属于ICMP
IGMP协议:Internet分组管理协议,广播和组波
TCP(TransmissionControlProtocol,传输控制协议)是一种面向连接的,可靠的, 基于字节流传输的通信协议。TCP 具有端口号的概念,用来标识同一个地址上的不同应用,提供不同主机上的进程间通信。 TCP 的标准文档是 RFC793。
UDP(UserDatagramProtocol,用户数据报协议)是一个面向数据报的传输层协议。UDP 的传输是不可靠的,发送数据之前不需要建立链接,简单的说就是发了不管,发送者不会知道目标地址的数据通路是否发生拥塞,也不知道数据是否到达,是否完整以及是否还是原来的次序,没有错误检测和重传机制。它同 TCP 一样有用来标识本地应用的端口号。所以应用 UDP 的应用,都能 够容忍一定数量的错误和丢包,但是对传输性能敏感的,比如流媒体、DNS服务器进行IP地址查询,广播/组播,无线网络,QQ等即时通讯软件点对点文本通讯以及音视频 等。
DHCP(DynamicHostConfigrationProtocol,动态主机配置协议)是用于局域 网自动分配 IP 地址和主机配置的协议。可以使局域网的部署更加简单。
DNS(DomainNameSystem,域名系统)是互联网的一项服务,可以简单的将用“.” 分隔的一般会有意义的域名转换成不易记忆的 IP 地址。一般使用 UDP 协议传输, 也可以使用 TCP,默认服务端口号 53。
FTP(FileTransferProtocol,文件传输协议)是用来进行文件传输的标准协议。FTP 基于 TCP使用端口号 20 来传输数据,21 来传输控制信息。
SSH(SecureShell,安全Shell),因为传统的网络服务程序比如TELNET本质上都极不安全,明文传输数据和用户信息包括密码,SSH 被开发出来避免这些问题, 它其实是一个协议框架,有大量的扩展冗余能力,并且提供了加密压缩的通道可以 为其他协议使用。
HTTP(HyperTextTransferProtocol,超文本传输协议)是现在广为流行的WEB 网络的基础,HTTPS 是 HTTP 的加密安全版本。协议通过 TCP 传输,HTTP 默认 使用端口 80,HTTPS 使用 443。
RTP/RSTP:嵌入式相关,用于传输音视频的协议(安防监控)
参考博文:简单了解OSI网络模型和深入浅出-网络七层模型
目的地址:目的mac地址
源地址:源mac地址
类型:确定以太网头后面跟的是哪个协议
注意
TCP协议可以通过使用socket网络编程实现:Linux 网络编程——socket 网络编程
理解TCP、HTTP、SOCKET之间的关系:计算机网络——SOCKET、TCP、HTTP之间的区别与联系