计算机网络(8) --- IP与IP协议_哈里沃克的博客-CSDN博客IP与IP协议https://blog.csdn.net/m0_63488627/article/details/132155460?spm=1001.2014.3001.5502
目录
1.MAC帧
1.MAC地址
2.MAC帧报头
3.资源碰撞
4.MTU
1.对IP协议的影响
2.对UDP协议的影响
3.对TCP协议的影响
2.ARP协议
1.网络传输的本质
2.ARP协议
3.APR和MAC帧的关系
3.其他协议或技术
1.DNS
4.ICMP协议
3.ping命令
4.NAT技术
NAT
NAPT
1.MAC帧
1.MAC地址
1.在局域网内的主机可以直接通信
2.而标识每一个不同的主机是通过MAC地址所确定的
3.IP是表示去向最终地址的,而MAC地址是用与传输直接的下一个连接的节点
2.MAC帧报头
MAC帧是用于封装MAC地址的报文协议
在局域网中,所有的主机都收到了数据,但是由于mac地址而都在数据链路层中断了,只有mac地址一致的才被确定是需要传输的。
3.资源碰撞
1.那么在局域网中,发送的数据所有的主机都能看见,其实把整个网络看成操作系统,那么传输的数据就是临界资源。这种之间连接的主机,可以直接进行数据传输的区域被称之为临界区
2.数据发送之时,并不是只有两台主机进行交互,而是多台主机进行交互。而不同的主机在同时发送的时候,会出现数据碰撞问题。碰撞的数据就是无效的数据。
3.为了减少数据碰撞的问题,在局域网中出现了一种设备:交换机,它用于缩小碰撞的概率。这样就可以划分出碰撞域。
4.我们在看待网络设备时,应该更加宏观,所谓的网线传输数据其实速度极快,毕竟是光速的,那么数据碰撞的概率其实比较低的。要知道发送数据是有长有短的,我们不能将数据设置的太长,因为一旦过长,所谓的发送中的时间就会加长,碰撞的概率增大,所以MAC帧向上的网络层中IP协议的数据不可以超过1500字节。
5.当然为了减少出现数据碰撞的问题,我们有一些决策来进行减低概率。如:令牌环和以太网
4.MTU
MTU: 以太网的最大传输单元1.对IP协议的影响
1.将较大的IP包分成多个小包, 并给每个小包打上标签;2.每个小包IP协议头的 16位标识(id) 都是相同的;3.每个小包的IP协议头的3位标志字段中, 第2位置为0, 表示允许分片, 第3位来表示结束标记4.到达对端时再将这些小包, 会按顺序重组, 拼装到一起返回给传输层;5.一旦这些小包中任意一个小包丢失, 接收端的重组就会失败. 但是IP层不会负责重新传输数据2.对UDP协议的影响
1.一旦UDP携带的数据超过1472(1500 - 20(IP首部) - 8(UDP首部)), 那么就会在网络层分成多个IP数据报.2.这多个IP数据报有任意一个丢失, 都会引起接收端网络层重组失败. 那么这就意味着, 如果UDP数据报在 网络层被分片, 整个数据被丢失的概率就大大增加了3.对TCP协议的影响
1.TCP的一个数据报也不能无限大, 还是受制于MTU。TCP的单个数据报的最大消息长度, 称为MSS。也就是说,滑动窗口的大小其实是受:MSS,网络拥塞,接收方窗口大小2.TCP在建立连接的过程中, 通信双方会进行MSS协商.3.最理想的情况下, MSS的值正好是在IP不会被分片处理的最大长度3.双方在发送SYN的时候会在TCP头部写入自己能支持的MSS值. 然后双方得知对方的MSS值之后, 选择较小的作为最终MSS. MSS的值就是在TCP首部的40字节变长选项中
2.ARP协议
1.网络传输的本质
1.所谓的网络传输,就是在一个一个的局域网中传输。而中间的桥梁就是路由器,它分开了两个局域网,却联通了两个局域网。那么在局域网之间传输就需要依靠mac地址。
2.当前的MAC帧协议没有包含mac地址的任何数据,只知道IP地址,那么此时就需要引入ARP协议
2.ARP协议
1.以太网目的IP和源IP提供在局域网内部判断是否为自己要接收的依据,帧类型表示MAC帧的类型。这些字段作为以太网的首部。2.硬件类型指链路层网络类型,1为以太网;协议类型指要转换的地址类型,0x0800为IP地址。硬件地址长度对于以太网地址为6字节;;协议地址长度对于和IP地址为4字节。这些数据基本上是固定不变的3.op字段为1表示ARP请求,op字段为2表示ARP应答4.发送端发送时,不知道目的以太网的mac地址,所以全部位设计为F;而发送mac地址是知道的5.接收应答方返回自己对应的mac地址和对方的目的mac地址3.APR和MAC帧的关系
可以用这图表示
也就是说,如果想要传输数据,需要先封装ARP协议再对MAC帧进行封装
3.其他协议或技术
1.DNS
1.DNS 是一整套从域名映射到 IP 的系统2.TCP/IP 中使用 IP 地址和端口号来确定网络上的一台主机的一个程序 , 但是 IP 地址不方便记忆。于是人们发明了一种叫主机名的东西, 是一个字符串 , 并且使用 hosts 文件来描述主机名和 IP 地址的关系有两种方法:
1.通过互连网信息中心来管理这个hosts文件的,即自己的本地存放hosts映射
2.DNS系统:一个组织的系统管理机构, 维护系统内的每个主机的IP和主机名的对应关系;
如果新计算机接入网络, 将这个信息注册到数据库中;用户输入域名的时候, 会自动查询DNS服务器, 由DNS服务器检索数据库, 得到对应的IP地址4.ICMP协议
ICMP 协议是一个 网络层协议一个新搭建好的网络 , 往往需要先进行一个简单的测试 , 来验证网络是否畅通 ; 但是 IP 协议并不提供可靠传输 . 如果丢包了, IP 协议并不能通知传输层是否丢包以及丢包的原因3.ping命令
1.ping 的是域名, 而不是url,一个域名可以通过DNS解析成IP地址2.ping命令不光能验证网络的连通性, 同时也会统计响应时间和TTL(IP包中的Time To Live, 生存周期).3. ping 命令基于 ICMP, 是在网络层 . 而端口号 , 是传输层的内容 . 在 ICMP 中根本就不关注端口号这样的信息4.NAT技术
NAT
NAT路由器将源地址从10.0.0.10替换成全局的IP 202.244.174.37;NAT路由器收到外部的数据时, 又会把目标IP从202.244.174.37替换回10.0.0.10;在NAT路由器内部, 有一张自动生成的, 用于地址转换的表;当 10.0.0.10 第一次向 163.221.120.9 发送数据时就会生成表中的映射关系具体原理之前解释过~NAPT
那么 NAT 路由器如何判定将这个数据包转发给哪个局域网的主机1. 为了找到之前的地址返回消息,NAT路由器中存储四元组。针对内网:四元组包含内网IP和内网PORT 以及 路由器的LAN口IP和LAN口PORT;针对公网:四元组包含公网IP和公网PORT 以及 路由器的WAN口IP和WAN口PORT
2.那么当访问特定服务器,NAT路由器会得出转换表,该表存储两份四元组为key值,这样双方都能找到彼此文章来源:https://www.toymoban.com/news/detail-661323.html
3.同一个子网下的不同客户端访问相同的服务器,那么该NAT转换表对应的服务器四元组不同的点就在于路由器的WAN口IP地址的PORT不同文章来源地址https://www.toymoban.com/news/detail-661323.html
到了这里,关于计算机网络(9) --- 数据链路层与MAC帧的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!