| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 网络编程模型基础 -> 正文阅读 |
|
[系统运维]网络编程模型基础 |
OSI七层模型: 应用层:http协议,电子文件传输,文件服务器等。 表示层: 解决我们不同系统之间语法的通讯兼容问题 会话层:建立与应用程序的会话连接 传输层:提供端口号和传输的协议(TCP和UDP) 网络层:为我们的数据实现路由(比如路由器,交换机) 数据链路层:传输的地址的桢以及错误的检测 物理层:所谓的物理层都是以二进制的形式,在屋里机器上实现传输(光纤,专线,各种物理介质实现) 什么是Socket技术 任何的编程语言都是支持socket(网络编程的技术)技术开发。目的就是解决两个应用程序通讯的问题:注意socket不属于某种协议,只是网络编程技术。 Socket技术支持两种协议(TCP和UDP) UDP和TCP区别 tcp协议是一个面相连接的可靠协议,因为建立连接的时候必须通过三次握手才可以实现数据传输:所以数据不会丢失。(应用场景:http协议,rpc框架) udp协议是一个面向无连接的协议,udp在通讯的时候不需要知道对方在不在,属于不可靠传输。可能会存在数据丢失问题。(应用场景某些聊天软件,消息提醒等等) tcp三次握手:白话文版 (1)第一次握手:客户端会向服务器端发送消息:你人在否? (2)第二次握手:服务器端接收到了客户端咨询的(你人在否) (3)第三次握手:客户端收到服务器端回复(我在的了)客户端就会给服务器端发送消息 ,好的我们开始建立传输数据。 Syn(建立连接) Ack(确认标记) fin(终止标记) (1)第一次握手:客户端会向服务器到端 发送代码syn=1,随机会产生一个随机数SEQ= X发送到我们的服务器端。 (2)第二次握手:服务器端确认收到sy和x值,回复给客户端ack=x+1和seq = y(随机数)发送给客户端 (3)第三次握手:客户端接收syn,ack,y值之后向服务器端发送ack=y+1,此包发送完毕之后就可以 开始建立连接。 ?既然有三次挥手,那么就有四次挥手: 三次挥手主要目的是,确保连接可靠 四次挥手 可靠关闭连接 第一次挥手:客户端向服务端发送一个释放连接通知 第二次挥手:服务端接收到 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 14:47:39- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |