《网络编程懒人入门(一):快速理解网络通信协议(上篇)》

《网络编程懒人入门(二):快速理解网络通信协议(下篇)》

一:五层模型

物理层、数据链路层、网络层、传输层、应用层

1、物理层

使用光缆、电缆、双绞线、无线电波等连接电脑,负责传送0和1的电信号

2、数据链路层

多少个电信号为一组,确定六0和1的分组方式

a:以太网协议

规定一组电信号构成一个数据包,叫做帧。每一帧分成两个部分:标头和数据。

标头:包含数据的说明项

b:MAC地址

以太网规定,连入网络的所有设备,都必须具有网卡接口。网卡的地址,就是数据包的发送和接收地址,叫做MAC地址。(48个二进制位)

c:广播

一:一块网卡知道另一块网卡的MAC地址:ARP协议

二:怎么把数据包送到接收方:向本网络所有计算机发送,每台计算机自己判断

3、网络层

属于同一子网络:广播方式发送;否则采用路由转发

MAC地址是绑定在网卡上的,网络地址管理员分配

a:IP协议

规定网络地址的协议,叫做IP协议

子网掩码:32位二进制数字,网络部分全为1,主机部分为0。

判断两台计算机是否处于同一个子网络:将两个IP地址与子网掩码进行AND运算,结果相同在同一个子网络

b:IP数据包

把IP数据包直接放进以太网数据包的“数据”部分

c:ARP协议

IP数据包放在以太网数据包发送,必须知道对方的MAC地址和IP地址,从IP地址得到MAC地址:

1):两台主机不再同一个子网络,把数据包传到两个子网络的网关,网关处理

2):在同一个子网络。ARP发出一个数据包,包含要查询主机的IP地址,所在子网络的每一台主机都收到数据包,取出IP地址与自身IP比较,相同做出回复。

4、传输层

传输层的功能就是建立端到端的通信,网络层建立主机到主机的通信。

表示数据包供哪个程序(进程)使用的参数:端口。

端口有16个二进制位,0—1023的端口被系统占用。Unix系统把主机+端口,叫套接字

a:UDP协议

UDP协议几乎就是在数据前面加上端口号,也是由“标头”和“数据”组成。把UDP数据包放入IP数据包的数据部分。

b:TCP协议

UDP协议:比较简单,容易实现,可靠性差

TCP协议:数据不会遗失,过程复杂,实现困难

5、应用层

规定应用程序的数据格式

转载于:https://juejin.im/post/5b8540dae51d4538b204868e

计算机网络资料篇(二)——快速理解网络协议相关推荐

  1. 网络编程懒人入门(三):快速理解TCP协议一篇就够

    1.前言 本系列文章的前两篇<网络编程懒人入门(一):快速理解网络通信协议(上篇)>.<网络编程懒人入门(二):快速理解网络通信协议(下篇)>快速介绍了网络基本通信协议及理论基 ...

  2. 网络编程懒人入门(二):快速理解网络通信协议(下篇)

    1.前言 本文上篇<网络编程懒人入门(一):快速理解网络通信协议(上篇)>分析了互联网的总体构思,从下至上,每一层协议的设计思想.基于知识连贯性的考虑,建议您先看完上篇后再来阅读本文. 本 ...

  3. 网络编程懒人入门(一):快速理解网络通信协议(上篇)

    1.写在前面 论坛和群里常会有技术同行打算自已开发IM或者消息推送系统,很多时候连基本的网络编程理论(如网络协议等)都不了解,就贸然定方案.写代码,显得非常盲目且充满技术风险. 即时通讯网论坛里精心整 ...

  4. 计算机网络(二)Linux网络编程

    layout: post title: 计算机网络(二)Linux网络编程 description: 计算机网络(二)Linux网络编程 tag: 计算机网络 文章目录 资源共享 Linux高性能服务 ...

  5. 初学者如何理解网络协议

    初学者如何理解网络协议 网络协议是什么?协议分层是怎么回事?什么是协议的实现? 回想当年初识网络协议,被一张网络层次模型图中的"物理层.数据链路层.网络层.传输层--"搞得云里雾里 ...

  6. 初学者如何理解网络协议?

    初学者如何理解网络协议 网络协议是什么?协议分层是怎么回事?什么是协议的实现? 回想当年初识网络协议,被一张网络层次模型图中的"物理层.数据链路层.网络层.传输层--"搞得云里雾里 ...

  7. python爬虫入门教程--快速理解HTTP协议(一)

    http协议是互联网里面最重要,最基础的协议之一,我们的爬虫需要经常和http协议打交道.下面这篇文章主要给大家介绍了关于python爬虫入门之快速理解HTTP协议的相关资料,文中介绍的非常详细,需要 ...

  8. 同一个项目相互调接口_408计算机网络D3-第二章:网络体系结构与参考模型(上)分层结构-协议-接口-服务...

    网络体系结构是从功能上描述计算机网络结构. 计算机网络体系结构简称网络体系结构是分层结构:是计算机网络的各层及其协议的集合. 每层遵循某个/些网络协议以完成本层功能. 分层结构-协议-接口-服务 首先 ...

  9. 【计算机网络】——通信协议综述(网络协议、网络分层、ifconfige命令行、DHCP与PXE)

    一.为什么学习网络协议 协议三要素: 人类和计算机之间需要沟通的协议,只有通过这种协议,计算机才知道我们想让它做什么. 可以看得出,计算机语言作为程序员控制一台计算机工作的协议,具备了协议的三要素. ...

最新文章

  1. Sequence(组合数学,集合不同元素的个数)
  2. 迭代器和生成器的区别
  3. nagios报错汇总
  4. T-SQL | 你需要了解的执行计划
  5. linux 同步IO: sync msync、fsync、fdatasync与 fflush
  6. 和移动对接短信http协议和cmpp协议那个好_python网络爬虫之HTTP原理,爬虫的基本原理,Cookies和代理介绍...
  7. 前端解析ipa、apk安装包信息 —— app-info-parser
  8. Redis 不安全临时文件漏洞
  9. android手机计步器开发,超精准的Android手机计步器开发
  10. linux卸载usb声卡,Linux alsa 声卡驱动 安装 卸载 设置默认声卡
  11. Baas是什么?区块链Baas平台开发解决方案带你知晓
  12. Linux - Shell基本命令
  13. 《麦田里的守望者》--[美]杰罗姆·大卫·塞林格
  14. android gson工具包,Android Study 之 彻底解决 Gson解析 异常
  15. 瑞星微RK3288开发板
  16. 函数:判断一个整数是否既是5又是7的整倍数
  17. 若泽大数据-剑指数仓培训笔记1
  18. 给图像增加一种噪声并利用至少两种低通或高通滤波器实现频率域的滤波
  19. 使用quirc识别二维码
  20. Java微信公众号开发(一:接入平台,验证token)

热门文章

  1. windows切换git账号
  2. 获取对象的属性,并且判断对象属性是否存在
  3. 三维建模:方法之CSG与B-Rep比较
  4. windows tomcat 升级openssl_Linunx开发环境配置——Tomcat
  5. (转)用JQuery实现Fix表头表格
  6. 通过jquery-ui中的sortable来实现拖拽排序
  7. learn go anonymous function
  8. 输入控件tagsinput
  9. 算法专题(1)-信息学基本解题流程!
  10. ubuntu19.10升级