首页 > 其他分享 >TCP/IP 网络协议栈基础

TCP/IP 网络协议栈基础

时间:2023-03-11 22:34:28浏览次数:47  
标签:IP 网络协议 TCP mac IP地址 DHCP 数据包

1、TCP/IP 5层模型

2、封包

① 网络层:建立主机到主机之间的通信。传输层:建立端口到端口的通信。套接字 socket = 主机 + 端口。

② ip 数据包的是放在以太网的数据包里面。所以将数据包发给目标机器,必须要知道目标机器的mac 地址。

通常目标的 ip 地址是已知的,如果目标机器在同一个子网络, 则 mac 地址可以通过 ARP 协议获取。
不在同一个子网络,则发送给网关处理。

当一台机器给另一个机器发送数据时:

场景 数据包地址
同一个子网络 对方的mac地址,对方的IP地址
非同一个子网络 网关的mac地址,对方的IP地址

③ TCP 与 UDP 比较

TCP UDP
面向连接 无连接(不需要预先建立连接
提供可靠服务 不保证可靠
- 实时性高
点对点 一对一、多对一、多对多
资源消耗较高 资源消耗较少

其中 TCP 可靠性由下列机制保证:
校验和,重传机制,序号标识,滑动窗口,确认应答

④ DHCP 协议

DHCP 协议是应用层协议,建立在 UDP 协议之上。

一开始请求方机器会发送一个广播,在局域网内的服务器在收到广播的数据包时。

对于接收方,如果是 DHCP服务器,会分析其中的IP地址,发现发送方IP为 0.0.0.0,接收方IP为 255.255.255.255,即知道该数据包是发给自己的。DHCP服务器返回一个响应,将分配给请求方的IP地址与网关等网络参数包含在DHCP数据包的data部分响应给请求方。非DHCP服务器则通常会丢弃该数据包。

参考文章

https://microchipdeveloper.com/tcpip:tcp-ip-five-layer-model
https://users.exa.unicen.edu.ar/catedras/comdat1/material/TP1-Ejercicio5-ingles.pdf

标签:IP,网络协议,TCP,mac,IP地址,DHCP,数据包
From: https://www.cnblogs.com/lemos/p/17207196.html

相关文章

  • TCP
    参考博文https://juejin.cn/post/7138287951288467469https://www.elecfans.com/d/1887056.htmljava3y《对线面试官》什么是TCP传输控制协议(TCP,TransmissionContr......
  • DeepShip
    Abstract水声分类是一个具有挑战性的问题,因为在海洋环境中存在高背景噪声和复杂的声音传播模式。过去几年提出的各种算法都使用了自己私人收集的数据集进行设计和验证。这......
  • PipeCAD ISO 连接信息
    PipeCADISO连接信息[email protected],IsoAlgo,三维管道设计软件,三维工厂设计软件,三维配管软件1概述管道的起点、终点及一些连接点处需要在在ISO图......
  • 十字路口,呼吁IP地址自动化部署和集中管理​
    IPv4移植到IPv6和IP成本逐步提高,这两大趋势也让全球范围内的企业IP地址管理走到了十字路口。​IP地址迁移势在必行。为了更好地支持5G、云服务、智慧城市、物联网的快速发展......
  • 十字路口,呼吁IP地址自动化部署和集中管理​
    IPv4移植到IPv6和IP成本逐步提高,这两大趋势也让全球范围内的企业IP地址管理走到了十字路口。​IP地址迁移势在必行。为了更好地支持5G、云服务、智慧城市、物联网的快速发展......
  • Planning Screens and Their Relationships 规划屏幕和它们的关系
    Mostappshaveaninherentinformationmodelthatcanbeexpressedasatreeorgraphofobjecttypes.Inmoreobviousterms,youcandrawadiagramofdifferen......
  • TypeScript——Record类型
    前言阅读vue源码的时候再次看到了TS这个类型,之前整理TS的时候简单了解了下,只知道是TS的高级类型,当时因为其他的事情也并没有正儿八经的的梳理完TS的东西,这时候来填下坑吧;......
  • ChIP-seq 分析:GO 功能测试与 Motifs 分析(12)
    动动发财的小手,点个赞吧!1.包加载我们可以使用rGREAT包中提供的GREATBioconductor接口。library(rGREAT)2.GO和功能测试要提交作业,我们可以使用Myc峰的GRan......
  • TypeScript tsconfig.json declaration All In One
    TypeScripttsconfig.jsondeclarationAllInOne.d.tstsconfig.json{"compilerOptions":{"declaration":true,"declarationDir":"./types"}}......
  • 【JavaScript】41_包装类与垃圾回收机制
    10、包装类在JS中,除了直接创建原始值外,也可以创建原始值的对象通过newString()可以创建String类型的对象通过newNumber()可以创建Number类型的对象通过newBoolean()......