博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网络编程
阅读量:5095 次
发布时间:2019-06-13

本文共 1685 字,大约阅读时间需要 5 分钟。

1. 软件开发架构 : C/S 架构  B/S架构

  1. C/S架构 其中c(client:客户端),S(server : 服务端)  比如说电脑上的一些QQ.微信.大型网络游戏等,都是客户端.

  2. B/S架构  其中B(browser:浏览器),S(server:服务器) 比如说电脑中的各种浏览器

  所谓服务端就是24小时不间断的提供服务,他是一直运行等待命令请求的

  PS: B/S架构的本质也是C/S架构

   网络编程的发展史 : 任何先进的技术都是最早都是用再军事上的.后来一步步发展成为现在的网络编程

2. OSI协议:计算机与计算机之间交流除了需要物理连接介质之外还需要一套公共的协议,这个协议就叫做OSI协议

  1.OSI协议的划分:

  2. 物理连接层: 基于电信号传输的二进制数据

  3. 数据链路层:1.规定电信号的分组形式

         2. 规定了任何一台接入互联网的计算机都必须有一块网卡,每一块网卡上面都刻有世界上独一无二的编号,这个编号是12为16进制数.前6为是厂商编号.后6位是流水线编号,我们管这12位数叫mac地址

    ps:以上两点合称为以太网协议

    

    在局域网内传输数据一般要用到交换机作为介质.交换机是基于以太网协议通信,不能跨局域网传输,当一台计算机要与局域网内另一台计算机通讯时会把对方的mac地址提供给交换机,交换机就以广播的方式去查找,然后查找的这台机器接收到后就会把自己的mac地址返回给交换机,再由交换机返会给要寻找他的计算机,这个过程就是单播,当同时请求的计算机数量过多时就可能会产生广播风暴

    互联网就是由多个局域网连接而成的

  4.网络层       

    IP协议

    规定了只要是接入互联网的计算机都必须有一个IP地址
    ip地址特点:点分十进制

    ip地址范围是 0.0.0.0~255.255.255.255

    ip地址目前有两个版本:IPV4 IPV6(由于IPV4已经不够表示目前存在的计算机了 所以推出了IPV6版本)
    IP地址是动态分配的

    arp 协议:

      根据IP地址解析对方的mac地址

  5 . 传输层

    TCP\UDP都是基于端口工作的协议

    端口(port) :用来唯一标识一台计算机上的某个应用程序  端口号的范围:0~65535
    注意:0~1024这些都是操作系统默认使用的端口号  建议:使用8000之后的端口 端口号是动态分配的 
    MySQL默认端口:3306
    Redis默认端口:6379
    django默认端口:8000
    flask默认端口:5000

    ps:ip地址:用来唯一标识接入互联网的一台计算机

      port端口:用来唯一标识一台计算机上的某个应用程序
      ip+port:唯一标识接入互联网一台计算机上的某个应用程序
  6. 应用层: HTTP协议, FTP协议

3.TCP协议:流式协议,可靠协议基于TCP协议通信 必选先建立双向通道

三次握手: 是由client端向server端发起请求,我可以连接你吗?然后服务端同意后他也会反馈给客户端可以,这样由客户端到服务端的单向通道就完成了,然后服务端会再向客户端发起请求,然后客户端同意后这样就建立起了全双工,可以把服务端反馈同意和与客户端发起请求合并,这样就称之为三次握手

 

四次挥手,就是由客户端

先由主动方向被动方发送一个请求关闭数据传输。

当被动方接收到主动方的请求后,返回同意.这条主动方到被动方的通道就关闭了.

被动方会等待一段时间检测自身是否还有未发完的数据

当检测完成没有后被动方会向主动方发送一个请求关闭数据传输。

当主动方接收到被动方的请求后,返回同意.这条被动方到主动方的通道就关闭了.

 

这样就完成了4次挥手

 

转载于:https://www.cnblogs.com/yanglingyao/p/11312706.html

你可能感兴趣的文章
size和len
查看>>
4种方式配置不同作用域的jvm的堆栈内存!
查看>>
Java学习日记----交通灯管理系统
查看>>
禁止浏览器的前进与后退
查看>>
ajax 设置Access-Control-Allow-Origin实现跨域访问
查看>>
截图方式预览文件
查看>>
opencv中的高维矩阵Mat
查看>>
vm ubuntu如何设置全屏
查看>>
selenium webdriver ChromeOptions
查看>>
课堂练习—数组最大值
查看>>
[HNOI2007]最小矩形覆盖
查看>>
人生难免有几次踩到大便的时候
查看>>
安卓开发利器 谷歌发布Android Studio工具
查看>>
超时设置
查看>>
工程代码目录结构及框架
查看>>
Ruby程序设计语言快速入门之变量与赋值
查看>>
比赛:小奔与不等四边形solution
查看>>
html块级元素和内联元素区别详解
查看>>
bzoj 1072状压DP
查看>>
用Java实现网络爬虫
查看>>