TCP/IP系列之数据链路层
数据链路层是TCPIP4层协议中最底层的协议,它的主要功能为:
为IP模块发送和 接收IP数据报。
为ARP模块发送ARP请求和接收ARP应答。
为RARP发送RARP请 求和接收RARP应答
数据链路层的协议一般有以太网(目前最常用的)、令牌环网、F D D I(光纤分布式数据接口)
及R S-2 3 2串行线路等。
数据从IP层传到数据链路层在经过底层物理线路传输的示意图如下:
数据在一台网传输的时候是以以太网数据帧的格式传输的,在令牌环网则以令牌环网协议规定
的数据格式进行传输,连接两个异构网络的路由器负责转换.不过目前在数据链路层绝大多数都是
以太网.(如果是在同一个局域网内,则没有路由器IP路由)
下面是以太网RFC 894规定的以太网帧的格式:
下面是用Wireshark抓取的一个以太网帧:
RFC 894要求数据帧最小为60字节(48字节数据+12字节头),为了保证这一点,
必须在不足的空间插入填充pad字节.
同时每一种数据链路层协议,都有一个MTU(最大传输单元)定义,
在这个定义下面,如果IP数据报过大,则要进行分片(fragmentation).
下图是在Linux下用netstat -in看到的eth0的MTU为1500字节.
环回接口(loopback)概念,大多数的产品都支持环回接口( Loopback Interface),以允许运行在同一台主机上的客户
程序和服务器程序通过TCP/IP进行通信.A类网络号127就是为环回接口预留的.根据惯例,
大多数系统把IP地址127.0.0.1分配给这个接口,并命名为localhost.一个传给环回接口的IP数
据报不能在任何网络上出现.
我们想象,一旦传输层检测到目的端地址是环回地址时,应该可以省略部分传输层和所
有网络层的逻辑操作.但是大多数的产品还是照样完成传输层和网络层的所有过程,只是当
IP数据报离开网络层时把它返回给自己.
1) 传给环回地址(一般是127.0.0.1)的任何数据均作为I P输入。
2) 传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以太网上。这是
因为广播传送和多播传送的定义包含主机本身。
3 ) 任何传给该主机I P地址的数据均送到环回接口。
*通过ping 127.0.0.1可以检测本机的TCP/IP是否工作正常.
*不仅仅是127.0.0.1代表本机,127开头的合法IP都代表本机,如127.12.13.1
在JDK提供的API中通常不能对链路层进行操作,可以通过jpcap来操作ARP包.
参看 http://blog.csdn.net/kkdelta/article/details/7717930
TCP/IP系列之数据链路层相关推荐
- 跟我学TCP/IP系列5
前面四篇文章大致写完了TCP/IP的大部分内容,今天恰好有空,又给可爱的小伙伴们写推文了.按照现在的知识点分类的话,应该还两到三篇的文章,今天这篇会讲讲TCP和UDP异同以及TCP的三次握手和四次挥手 ...
- 1.2 TCP/IP协议(数据链路层)
数据链路层将不可靠的物理层转变为一条无差错的链路,传输的是帧(frame),高层的协议数据被封装在以太网帧的数据字段发送. 1.数据链路层解决三个问题 1.1封装成帧 (1)解释 网络层的IP数据报传 ...
- TCP/IP系列——长连接与短连接的区别
1 什么是长连接和短连接 三次握手和四次挥手 TCP区别于UDP最重要的特点是TCP必须建立在可靠的连接之上,连接的建立和释放就是握手和挥手的过程. 三次握手为连接的建立过程,握手失败则连接建立失败. ...
- 接收二进制数据_漫话TCP/IP:数据链路层-以太网(1)
序言 TCP/IP中对于数据链路层及以下部分(物理层)未作定义.因为TCP/IP以这两层的功能是透明的为前提.然而,数据链路的知识对于深入理解TCP/IP与网络起着至关重要的作用.本篇文章我们主要介绍 ...
- TCP/IP学习入门笔记
近期需要做一个用到UDP的工程,之前的情况是上位机计算出的车速(左右轮速),发送给各个小车(具体实现还不知道,等下去问硬件的同学),现在我们要改成用WIFI通信,大致的想法是:以后电脑和小车都连接好手 ...
- Linux下套接字详解(补充)--OSI七层与TCP/IP五层网络架构详解
OSI七层模型 OSI是Open System Interconnect的缩写,意为开放式系统互联. OSI是Open System Interconnect的缩写,意为开放式系统互联. OSI七层参 ...
- socket,TCP/IP的理解(转)
TCP/IP 要想理解socket首先得熟悉一下TCP/IP协议族, TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间 ...
- TCP/IP协议族 详解(TCP/IP四层模型、OSI七层模型)
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. TCP/IP协议族(TCP/IP Protocol Suite,或TCP/IP Protocols) ...
- TCP/IP四层模型与OSI七层模型
0. 前言 TCP/IP协议族(TCP/IP Protocol Suite),简称TCP/IP. 该协议族的两个核心协议为:TCP(传输控制协议,Transmission Control Protoc ...
最新文章
- 输入字符串,包含数字,大小写字母,编程输出出现做多的数字的和
- PhpStorm+Homestead+Xdebug调试Laravel
- php 去重_php求两数组交集的四种方法详解
- 【Python】【应用 01】使用python初步处理文件数据就那么简单!(本文以处理excel和目录为例)
- Express请求处理-静态资源的处理
- GIMP永久保存选择的办法
- 地址转换算法 C++实现
- mvvm 后端_ZK实际应用:MVVM –与ZK客户端API一起使用
- 纵横安卓刷机界的CM,如今转行做无人车了,还获得了加州路测许可
- 贾俊平统计学思维导图- 第二章 数据搜集
- 电脑在指定时间关机的指令代码
- 做项目中遇到过得难点
- configure: error: --with-openssl was given but OpenSSL could not be detected 解决方法(Curl交叉编译到Arm板)
- Python语言:散修笔记
- MyBatis第N+1种分页方式,全新的MyBatis分页
- 浙商证券显示计算机丢失,无法启动此程序,计算机丢失d3dx-942.dll,这个怎么解决啊?...
- [HAOI2006]聪明的猴子 题解
- Python(十)函数
- Ubuntu利用Xorg.conf配置双屏扩展显示
- office 2016 for Mac打开时 出现隐藏模块中出现编译错误: link
热门文章
- 计数排序:时间复杂度仅为 O(n) 的排序算法
- 处理 __iob_func 无法链接的问题
- CentOS7 安装 TomCat 7
- drupal用户注册邮件smtp及社会化登录模块安装
- 羊了个羊品牌域名情况如何?
- IT:后端进阶技术路线图(初级→中级→高级)、后端开发工程师(技术方向分类之后台业务开发/中间件/内核/分布式架构)基础知识简介、技术路线/技术趋势指南(如何选择自己的技术方向)之详细攻略
- ES6读书笔记(下)
- Unity 数学基础
- 国产统信UOS系统运行小程序的探索
- 2013 HTML5 峰会,HTML5 守望者的盛宴