物理层发二进制电信号,链路层解析分组(帧 head[from_mac、to_mac、type]+data),网络层ip协议定位局域网,mac+ip定位到网络中的主机后找应用程序(端口),于是到了传输层找到端口(tcp/udp),应用层决定了应用使用的协议(email/ftp/www)
HTTP协议属于应用层协议
协议栈中,从下到上依次为物理层、数据链路层、因特网层(网络层)、主机到主机层(传输层)、应用层,每一层的数据都封装在下一层的数据中。因为HTTP协议被封装在TCP包中,使用端口号80,因此HTTP协议属于传输层之上,即应用层
第一层:物理层
第二层:数据链路层 802.2、802.3ATM、HDLC、FRAME RELAY
第三层:网络层 IP、IPX、APPLETALK、ICMP
第四层:传输层 TCP、UDP、SPX
第五层:会话层 RPC、SQL、NFS 、X WINDOWS、ASP
第六层:表示层 ASCLL、PICT、TIFF、JPEG、 MIDI、MPEG
第七层:应用层 HTTP,FTP,SNMP等
1.物理层
中间的物理链接可以是光缆、电缆、双绞线、无线电波。中间传的是电信号,即010101...这些二进制位。8位一组解析在链路层
2.链路层
数据链路层就是来对电信号来做分组的。一组电信号称之为一个数据包,或者叫做一个“帧”,head包含:(固定18个字节)
发送者(源地址,6个字节)
接收者(目标地址,6个字节)
数据类型(6个字节)
data包含:(最短46字节,最长1500字节)
数据包的具体内容
head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送。
这就像写信,发送者的地址(源地址)就是你家的地址,接收者地址(目标地址)就是对方的收信地址,你家的路由器就相当于邮局。其实在计算机通信中的源地址和目标地址指的是mac地址。但是有很多局域网,怎么办?如何定位哪个局域网
3.网络层
网络层定义了一个IP协议,Mac地址是用来标识你这个教室的某个位置,IP地址是用来标识你在哪个教室(哪个局域网),Mac地址及IP地址唯一标识了你在互联网中的位置。
4.传输层
传输层的由来:网络层的ip帮我们区分子网,以太网层的mac帮我们找到主机,然后大家使用的都是应用程序,你的电脑上可能同时开启qq,暴风影音,等多个应用程序,
那么我们通过ip和mac找到了一台特定的主机,如何标识这台主机上的应用程序,答案就是端口,端口即应用程序与网卡关联的编号。
传输层功能:建立端口到端口的通信
补充:端口范围0-65535,0-1023为系统占用端口
tcp协议:
可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。
udp协议:
不可靠传输,”报头”部分一共只有8个字节,总长度不超过65,535字节,正好放进一个IP数据包。
5.应用层
应用层由来:用户使用的都是应用程序,均工作于应用层,互联网是开发的,大家都可以开发自己的应用程序,数据多种多样,必须规定好数据的组织形式 。
应用层功能:规定应用程序的数据格式。
例:TCP协议可以为各种各样的程序传递数据,比如Email、WWW、FTP等等。那么,必须有不同协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了”应用层”。
名称 | 作用 | 协议 | 所属设备 |
---|---|---|---|
应用层 | 用户接口应用成 | TELNET,HTTP,FTP,NFS,SMTP | 网关 |
表示层 | 定义数据格式,压缩,加密等 | 无协议 | 网关 |
会话层 | 会话的建立,控制结束 | 无协议 | 网关 |
传输层 | 选择差错恢复协议还是无差错恢复协议,提供端到端接口 | TCP,UDP,SPX | 网关 |
网络层 | 端到端的接口定义,选址 | IP,BGP,ICMP,RIP,OSPF,IGMP | 路由器 |
链路层 | 定义如何传输 | ARP,RAPP,MTU,PPP,SLIP | 交换机,网卡,网桥 |
物理层 | 通过物理介质传输而二进制流 | ISO2110,IEEE802,IEEE802.2 | 集线器,中继器 |