OSI七层参考模型
OSI/RM
ISO——国际公有化组织
分层:降低层次之间关联性,上一层都在下层的基础上提供增值服务
大而化小的思想
应用层——应用程序
表示层——将抽象语言转化为二进制
会话层——建立维护和断开一次会话连接(主机和服务器之间建立的会话通讯)
传输层——建立端到端的传输,应用到应用之间的传输,区分进程和服务。
端口号:16位二进制构成0-65535,1-1023端口号(知名端口号,著名端口号)
端口号:区分不同的协议
HTTP——web访问需要用到的协议(超文本传输协议)用来访问网站的 :TCP80端口
HTTPS——比HTTP更加安全 (安全的超文传输协议)(相当于HTTP协议多了加密的功能):TCP443端口
Telent——远程登陆协议:TCP 23端口
SSH——安全的远程登陆协议:TCP22端口
DHCP——动态主机配置协议:UDP 67 68端口
DNS——域名解析协议:TCP/UDP 53端口
FTP——文件传输协议:TCP20/21端口
封装——每一层都把上层的协议包当成数据部分,加上主机的协议头部,组成自己的协议包
网络层——
数据链路层——介质访问控制层+逻辑链路控制层LLC
物理层——端口
TCP/IP对等模型
应用层——(包括应用层,表示层,会话层)
传输层
网络层
数据链路层 (掉帧——数据帧丢失)
物理层
PDU——协议数据单元
应用层——数据报文
传输层——数据段
网络层——数据包
数据链路层——数据帧
物理层——比特流
应用层:
传输层:TCP协议 UDP协议(无高低上下之分)
网络层:IP协议
数据链路层:以太网协议
物理层:
TCP和UDP协议的区别:
1.TCP是面向连接的协议(喊话),而UDP是无连接的协议——TCP的三次握手
2.TCP是可靠的传输层协议,而UDP是一种”尽力而为“的协议,排序,确认,重传
3.TCP可以进行流控(流量控制),而UDP不能
4.TCP可以进行分段,UDP不能进行数据分段(TCP可以防止网络不好影响到数据传输中段带来的危害)
5.TCP传输速率慢,而UDP传输速率快,TCP资源占用比较大,而UDP资源占用小
总结:TUP传输可靠(确保数据包一定可以发送成功)但是速率慢,UDP传输速率快
即时通讯类会采用UDP
文件,邮件传输类会采用TCP
TCP的三次握手——1.向对方发送连接的请求. 2.对方回应. 3.发送数据.(总共发送三个数据包)
TCP的四次挥手——1.向对方发送一个FIN置为1的数据包表示想断开连接. 2.对方回复ACK置为1的数据包表示已收到. 3.对方再发送一个FIN置为1的数据包. 4.再向对方发送一个ACK置为1的数据包.
类型:标注上层协议类型,解封装时重要的参数(区分对应的协议)
FCS:校验和,校验数据完整性的参数:算法SRC(循环冗余算法)
伪头部校验——除了校验自身协议头部内容外,还会校验部分IP协议的内容(即校验传输层的数据和数据层的一部分)
一个字节相当于八位二进制
可变长头部——首部长度:标注TCP头部大小
URG——紧急标志位——当注为1时就会让16位紧急指针标注出来,会导致这个数据被加急处理
ACK———确认标志位——确认对方是否受到(置为1则表示这个数据包是回复的数据包)
PSH———推送
RST——特殊情况标志位
SYN——想建立连接的数据包才会置位1否则为0(1即向对方喊话确定对方是否同意建立连接)
FIN——正常断开连接(为1则表示想断开连接,代表我数据已经发送完了,然后对方就会发送ACK为1的数据包来回复)
流控时会用到16位窗口大小
流控:滑动窗口机制
网络层:IP
生存时间——每经过一个路由器的转发这个TTL值会减1,减到0则这个数据会发不出去
协议——标注上层协议类型,解封装时的重要的参数
MTU——最大传输单元:默认1500字节
默认携带的最大数据量——1500-20-20=1460
MSS——最大段长度