名词解释:

MTU(Maxium Transmission Unit)最大传输单元

TCP (Transmission Control Protocal)传输控制协议

UDP (Usage Datagram Protocal)用户数据报协议

IP (Internet Protocal) 因特网协议

TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层(TCP/IP是一个协议簇,并不是代表TCP协议和IP协议)

以太网(Ethemet)的数据帧在链路层

IP包在网络层

TCP或UDP包在传输层

TCP或UDP中的数据(Data)在应用层

1.链路层:以太网的数据帧的长度为(64+18)~(1500+18)字节,其中18是数据帧的帧头和帧尾,所以数据帧的内容最大为1500字节(不包括帧头和帧尾),即MUT为1500字节

图2 IEEE802.3以太帧头
字段
字段长度(字节)
目的
前导码(Preamble)
7
同步
帧开始符(SFD)
1
标明下一个字节为目的MAC字段
目的MAC地址
6
指明帧的接受者
源MAC地址
6
指明帧的发送者
长度(Length)
2
帧的数据字段的长度(长度或类型)
类型(Type)
2
帧中数据的协议类型(长度或类型)
数据和填充(Data and Pad)注
46~1500
高层的数据,通常为3层协议数据单元。对于TCP/IP是IP数据包
帧校验序列(FCS)
4
对接收网卡提供判断是否传输错误的一种方法,如果发现错误,丢弃此帧

2.网络层:IP包的首部要占用20字节,所以这里的MTU=1500-20=1480字节

3.传输层:UDP包的首部要占有8字节,所以这里的MTU=1480-8=1472字节

转载于:https://www.cnblogs.com/amwadyvi/p/3820711.html

关于网络编程中MTU、TCP、UDP、IP相关推荐

  1. Python核心编程(第3版)第2章网络编程中关于tcp/udp服务器和客户端实现代码的运行出错的修正

    在Python核心编程(第3版)第2章网络编程中, 关于tcp/udp服务器和客户端实现代码的运行会出现 ['str' does not support the buffer interface]之类 ...

  2. 用java网络编程中的TCP方式上传文本文件及出现的小问题

    自己今天刚学java网络编程中的TCP传输,要用TCP传输文件时,自己也是遇到了一些问题,抽空把它整理了一下,供自己以后参考使用. 首先在这个程序中,我用一个客户端,一个服务端,从客户端上传一个文本文 ...

  3. 关于网络编程中MTU、TCP、UDP优化配置的一些总结

    首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层.  其中以太网(Ethernet)的数据帧在链路层 IP包在网络层 TCP或UDP包在传输层 TCP或UDP中的数据(Data)在 ...

  4. linux网络编程中端口号和ip地址转换方法

    0.字节序 网络字节序:是大端序,即:高字节放在低地址位置 比如:0x7F000101 对于一个整型,如上,我们看到的该形式,只是在大小端主机中存储的顺序是相反的. 网络序的存储方式是  7F 00 ...

  5. 【python网络编程】创建TCP/UDP服务器进行客户端/服务器间通信

    客户端/服务器网络编程介绍 套接字:通信端点 实例:客户端发送数据,接收服务器返回的时间戳 用Python 编写FTP 客户端程序 客户端/服务器网络编程介绍 软件服务器也运行在一块硬件之上,但是没有 ...

  6. 【Java 网络编程】Socket TCP UDP 联系

    文章目录 I 信息传输关注点 II Socket 与 TCP UDP 关系 III Socket 连接组成 ( IP地址 + 端口号 ) IV Socket TCP V Socket UDP VI C ...

  7. 网络编程:概述TCP/UDP以及端口号的作用

    TCP/UDP对比 1. TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前 不需 要建立连接 2. TCP提供可靠的服务.也就是说,通过TCP连接传送的数据,无差错,不丢失 ...

  8. Linux下Tcp保活时间默认多少,C/C++网络编程中的TCP保活

    在默认的情况下,TCP连接是没有保活的心跳的.这就是说,当一个TCP的socket,客户端与服务端谁也不发送数据,会一直保持着连接.这其中如果有一方异常掉线,另一端永远也不可能知道.这对于一些服务型的 ...

  9. C/C++网络编程中的TCP保活

    原博客:http://blog.csdn.net/weiwangchao_/article/details/7225338 Linux环境下的TCP Keepalive参数设置 为什么说是系统默认值的 ...

最新文章

  1. include和require的区别
  2. Ambari安装之部署3个节点的HA分布式集群
  3. 3. 什么是icmp?icmp与ip的关系_「2020.12.3」黄俊捷热搜被爆料?郭俊辰交往女朋友?为什么三只跨年不合体?郝富申和王俊凯关系?Naomi和alracco?...
  4. 【完结】给新手的12大深度学习开源框架快速入门项目
  5. pccad自定义图框_(PCCAD自定义标题栏详细方法.doc
  6. ActiveMQ反序列化漏洞(CVE-2015-5254)复现
  7. Python+matplotlib自定义坐标轴位置、颜色、箭头
  8. iphone查看删除的短信_手机里的短信不小心删除了怎么才能恢复?此文为你解答...
  9. pr如何跳到关键帧_pr怎么跟踪?pr怎么做运动跟踪怎么用?
  10. win7控件无法安装怎么办【系统天地】
  11. 分段点处导数怎么求,导数和导函数的极限有关系吗?
  12. android-c2手机,[视频]最新Android One手机Nokia C2登场:搭载紫光展锐处理器
  13. CentOS7挂载光盘
  14. 微服务swoft打造腾讯云短信网关
  15. jQuery技巧之让任何组件都支持类似DOM的事件管理
  16. 手机数据线种类有哪些
  17. 启明欣欣STM32开发板闪烁LED实验
  18. linux下硬件检测工具,Linux硬件检测工具
  19. 小程序背景图满屏_手机秒变闪屏弹幕,撩妹小程序,赶快来学!
  20. 美国研究生统计学专业申请及就业情况浅析

热门文章

  1. .NET完全手动搭建三层B/S架构
  2. 使用命令行编译打包运行自己的MapReduce程序 Hadoop2.4.1
  3. 面试真题:搜索旋转数组
  4. UML几个关系图表示
  5. 了解linux内核必读的5本书
  6. shell编程中crontab用法超级详解!
  7. 数据结构与算法:链表,队列,栈,递归,有序表
  8. python二十四:python练习题
  9. C++ Const指针学习
  10. 哥本哈根能效中心:阿里云用清洁的计算能力改变世界