前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >互联网协议

互联网协议

作者头像
全栈程序员站长
发布2022-07-07 08:22:34
2580
发布2022-07-07 08:22:34
举报
文章被收录于专栏:全栈程序员必看

## 互联网协议 – 概括:从上到下,越上越接近用户,越下越接近硬件 – 应用层: + 规定应用程序的数据格式 + [HEAD(以太网标头) [HEAD(IP标头) [HEAD(TCP标头) DATA(应用层数据包)]]]

– 传输层(端口到端口的通信): 定义端口号 + 端口: * 0到65535(2^16)的整数 * 进程使用网卡的编号 * 通过IP+mac确定主机,只要确定主机+端口(套接字socket),就能进行程序间的通信 + UDP协议: * 数据包中加入端口依赖的新协议 * 数据包[HEAD(发送、接收mac) [HEAD(发送、接收ip) [HEAD(发送、接收端口) DATA]]] * 简单,可靠性差,不知道对方是否接受包 + TCP协议: * 带有确认机制的UDP协议 * 过程复杂,实现困难,消耗资源 “` tcp/ip connect: tcp/ip的三次握手 标有syn的数据包 ————-> 标有syn/ack的数据包 client <————- server 标有ack的数据包 ————–> “`

– 网络层(主机到主机的通信):定义IP “` tcp/ip finish: tcp/ip的四次握手 fin <————- ack client ————-> server fin ————-> ack <————- “`

– 网络层(主机到主机的通信): + IP协议 * ipv4: – 32个二进制位表示,由网络部分和主机部分构成, – 子网掩码: 网络部分都为1,主机部分都为0,目的判断ip的网络部分,如255.255.255.0(11111111.11111111.11111111.00000000) – IP数据包:标头Head+数据Data,放进以太网数据包的Data部分[HEAD [HEAD DATA]] – IP数据包的传递: + 非同一网络:无法获得mac地址,发送数据到网关,网关处理 – ARP(Address Resolation Protocol): 解析地址协议,通过ip解析mac地址 + 同一网络:mac地址填写FF:FF:FF:FF:FF:FF:FF,广播数据,对比ip,不符合丢包

– 链接层:定义mac + 定义数据包(帧Frame) * 标头(Head):数据包的一些说明项, 如发送者、接收者、数据类型 * 数据(Data):数据包的具体内容 * 数据包:[HEAD DATA] + 定义网卡和网卡唯一的mac地址 * 以太网规定接入网络的所有终端都应该具有网卡接口,数据包必须是从一个网卡的mac地址到另一网卡接口的mac地址 * mac全球唯一,16位16位进制组成,前6厂商编号,后6网卡流水号 + 广播发送数据 * 向本网络内的所有设备发送数据包,对比接收者mac地址,不是丢包,是接受

– 实体层:物理层 + 终端(pc,phone,pad…)的物理连接(光缆,电缆,路由…),负责传递0和1信号

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/113825.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年10月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档